3cc245ed3c2854e525f6d2a1b5d95ab45e3f77b4
[gnulib.git] / ChangeLog
1 2011-04-29  Jim Meyering  <meyering@redhat.com>
2
3         test-hash.c: avoid a new shadowing warning
4         * tests/test-hash.c (main): Don't shadow "dup".
5
6 2011-04-28  Eric Blake  <eblake@redhat.com>
7
8         getaddrinfo: fix gai_strerror signature
9         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
10         and work around mingw with UNICODE defined.
11         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
12         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
13         * modules/netdb (Makefile.am): Substitute it.
14         * lib/netdb.in.h (gai_strerror): Declare replacement.
15         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
16         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17         the fix.
18
19         getsockopt: avoid compiler warning
20         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21         Reported by Matthias Bolte.
22
23         tests: drop unused link dependency
24         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
25         * modules/dirent-safer-tests (Makefile.am): Likewise.
26         * modules/fdopendir-tests (Makefile.am): Likewise.
27         * modules/mkfifoat-tests (Makefile.am): Likewise.
28         * modules/openat-safer-tests (Makefile.am): Likewise.
29         * modules/openat-tests (Makefile.am): Likewise.
30         * modules/readlinkat-tests (Makefile.am): Likewise.
31         * modules/symlinkat-tests (Makefile.am): Likewise.
32         * modules/linkat-tests (Makefile.am): Likewise.
33         (Depends-on): Switch to filenamecat-lgpl.
34         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
35         LIBINTL.
36         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
37         * tests/test-linkat.c (main): Don't require xalloc.
38
39         hash, mgetgroups: drop xalloc dependency
40         * lib/hash.c (includes): Adjust includes.
41         * lib/mgetgroups.c (includes): Likewise.
42         (xgetgroups): Move...
43         * lib/xgetgroups.c: ...to new file.
44         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
45         * modules/xgetgroups: New file, split from...
46         * modules/mgetgroups: ...here.
47         (Depends-on): Add xalloc-oversized.
48         * modules/hash (Depends-on): Likewise.
49         * modules/hash-tests (Depends-on): Drop xalloc.
50         (test_hash_LDADD): Drop unused library.
51         * tests/test-hash.c (main): Break xalloc dependency.
52         (includes): Drop unused include.
53
54         xalloc-oversized: new module
55         * modules/xalloc-oversized: New module.
56         * modules/xalloc (Depends-on): Add it.
57         * lib/xalloc.h (xalloc_oversized): Move...
58         * lib/xalloc-oversized.h: ...into new file.
59
60         utimecmp: drop dependency on xmalloc
61         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
62         due to memory pressure.
63         * modules/utimecmp (Depends-on): Drop xalloc.
64
65 2011-04-27  Eric Blake  <eblake@redhat.com>
66
67         getcwd: fix mingw bugs
68         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
69         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
70         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
71
72 2011-04-27  Bruno Haible  <bruno@clisp.org>
73
74         mkstemps: Ensure declaration on MacOS X 10.5.
75         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
76         * doc/glibc-functions/mkstemps.texi: Document header file problem on
77         MacOS X.
78
79 2011-04-27  Bruno Haible  <bruno@clisp.org>
80
81         mkstemp: More documentation.
82         * doc/posix-functions/mkstemp.texi: Document header file problem on
83         MacOS X.
84
85 2011-04-27  Bruno Haible  <bruno@clisp.org>
86
87         mkstemp: Tweak configure message when cross-compiling.
88         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
89         result as a guess.
90
91 2011-04-27  Bruno Haible  <bruno@clisp.org>
92
93         clean-temp: Clarify what it does.
94         * lib/clean-temp.h: Add more comments.
95         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
96         module.
97         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
98         * doc/glibc-functions/mkstemps.texi: Likewise.
99         * doc/glibc-functions/mkostemps.texi: Likewise.
100
101 2011-04-27  Eric Blake  <eblake@redhat.com>
102
103         fchdir: avoid extra chdir and fix test
104         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
105         getcwd-lgpl.
106         * lib/fchdir.c (get_name): Any absolute name will do; it does not
107         have to be canonical.
108         (canonicalize_file_name): Drop unused macro.
109         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
110
111         filenamecat-lgpl: fix licence
112         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
113         when it was first created.
114
115         linkat, renameat: add missing dependency
116         * modules/linkat (Depends-on): Require getcwd-lgpl.
117         * modules/renameat (Depends-on): Likewise.
118
119         tests: reduce dependencies
120         * tests/test-linkat.c (main): Use lighter-weight getcwd.
121         * tests/test-renameat.c (main): Likewise.
122         * modules/linkat-tests (Depends-on): Relax dependency.
123         * modules/renameat-tests (Depends-on): Likewise.
124         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
125         dependency explicit.
126
127         save-cwd: reduce default dependency
128         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
129         * lib/save-cwd.c: Update comments.
130         * NEWS: Document the semantic change.
131
132         getcwd: enhance tests
133         * tests/test-getcwd-lgpl.c: New file, taken from...
134         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
135         repeat long path stress tests from m4 probe.
136         * modules/getcwd-lgpl-tests: New module.
137         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
138         * m4/getcwd-abort-bug.m4: Update comment.
139         * m4/getcwd-path-max.m4: Likewise.
140
141         getcwd-lgpl: new module
142         * modules/getcwd-lgpl: New module.
143         * lib/getcwd-lgpl.c: New file.
144         * doc/posix-functions/getcwd.texi (getcwd): Document it.
145         * MODULES.html.sh (lacking POSIX:2008): Likewise.
146         * modules/getcwd (configure.ac): Set C witness.
147         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
148
149         getcwd: tweak comments
150         * m4/getcwd-abort-bug.m4: Fix comments.
151         * m4/getcwd-path-max.m4: Likewise.
152         * m4/getcwd.m4: Likewise.
153
154 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
155         and Eric Blake  <eblake@redhat.com>
156
157         mkstemp: replace if system version uses wrong permissions
158         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
159         read/write mode bits set in file created by mkstemp.
160         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
161
162 2011-04-27  Eric Blake  <eblake@redhat.com>
163
164         passfd: avoid compiler warning
165         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
166         Reported by Laine Stump.
167
168 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
169
170         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
171         required by the NetBSD (and perhaps other 4.4BSD derived) join.
172
173 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
174         and Eric Blake  <eblake@redhat.com>
175
176         mkstemp: mention clean-temp module
177         * lib/mkstemp.c: Add comment.
178         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
179
180 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
181
182         inttypes: also provide default values for 32-bit tests
183         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
184         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
185
186 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
187
188         strtoumax: remove dependency on strtoimax
189         This is like the strtoull change of yesterday.
190         * modules/strtoumax (Files): Add lib/strtoimax.c.
191         (Depends-on): Remove strtoimax and add verify.
192
193         inttypes-incomplete: new module
194         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
195         all but the PRI* and SCN* parts of gl_INTTYPES_H.
196         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
197         of gl_INTTYPES_H.
198         (gl_INTTYPES_H): Rewrite in terms of these new macros.
199         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
200         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
201         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
202         * modules/strtoumax, modules/xstrtol (Depends-on):
203         Depend on inttypes-incomplete, not inttypes.
204         * modules/inttypes-incomplete: New module, containing the contents
205         of the old modules/inttypes module, except that the Files: section
206         omits m4/inttypes-pri.m4, and the configure.ac section invokes
207         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
208         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
209         (Depends-on): Depend only on inttypes-incomplete.
210         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
211
212         inttypes: omit now-redundant strtoimax and strtoumax work
213         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
214         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
215
216         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
217         This supports apps that need pointers to strtoimax and strtoumax,
218         and ports to HP-UX 11.00 64.bit, which has macros that expand to
219         nonexistent functions.  See
220         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
221         et seq.
222         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
223         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
224         a macro.
225         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
226
227 2011-04-25  Simon Josefsson  <simon@josefsson.org>
228
229         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
230
231 2011-04-25  Bruno Haible  <bruno@clisp.org>
232
233         strtol, strtoul: Mark modules as obsolete.
234         * modules/strtol (Status, Notice): New sections.
235         * modules/strtoul (Status, Notice): New sections.
236
237 2011-04-25  Bruno Haible  <bruno@clisp.org>
238
239         strtod: Remove check for strtod, unless supporting old platforms.
240         * modules/strtod-obsolete: New file.
241         * m4/strtod-obsolete.m4: New file.
242         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
243         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
244         * modules/strtod (Depends-on): Add strtod-obsolete.
245         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
246
247 2011-04-25  Bruno Haible  <bruno@clisp.org>
248
249         strcase: Make module obsolete.
250         * modules/strcase (Status, Notice): New sections.
251
252 2011-04-25  Bruno Haible  <bruno@clisp.org>
253
254         dup2: Remove check for dup2, unless supporting old obsolete platforms.
255         * modules/dup2-obsolete: New file.
256         * m4/dup2-obsolete.m4: New file.
257         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
258         gl_FUNC_DUP2_OBSOLETE is not also defined.
259         * modules/dup2 (Depends-on): Add dup2-obsolete.
260         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
261
262 2011-04-25  Bruno Haible  <bruno@clisp.org>
263
264         strnlen: Avoid memchr related link error on old obsolete platforms.
265         * modules/memchr-obsolete: New file.
266         * m4/memchr-obsolete.m4: New file.
267         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
268         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
269         * modules/memchr (Depends-on): Add memchr-obsolete.
270         * modules/strnlen (Depends-on): Likewise.
271         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
272
273 2011-04-25  Jim Meyering  <meyering@redhat.com>
274
275         maint.mk: makefile_at_at_check extend and clean up
276         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
277         in addition to */Makefile.am.
278         Exempt legitimate uses of @VAR@ notation, e.g.,
279         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
280         Remove obsolete coreutils-specific comment.
281         Prompted by discussion here:
282         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
283
284 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
285
286         strtoul: remove dependency on strtol
287         This is so that 'configure' need not check for strtol merely because
288         the application needs strtoul.
289         * modules/strtoul (Files): Add lib/strtol.c.
290         (Depends-on): Remove strtol.
291
292         strtoull: remove dependency on strtoul
293         This is like the strtoll change.
294         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
295         (Depends-on): Remove strtoul.
296
297         strtoll: remove dependency on strtol
298         This is so that 'configure' need not check for strtol merely because
299         the application needs strtoll.
300         * modules/strtoll (Files): Add lib/strtol.c.
301         (Depends-on): Remove strtol.
302
303 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
304
305         inttypes: Move some configure check to module 'imaxdiv'.
306         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
307         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
308         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
309
310 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
311
312         inttypes: Move some configure check to module 'imaxabs'.
313         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
314         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
315         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
316
317 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
318
319         inttypes: Remove configure tests that are not needed since 2009-12-31.
320         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
321         gl_cv_header_working_inttypes_h.
322
323 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
324
325         * modules/strnlen (Depends-on): Remove memchr.
326         The strnlen implementation doesn't need the memchr module's fixes; see
327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
328
329         strtol: remove dependency on wchar
330         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
331         * modules/strtol (Depends-on): Remove wchar.
332
333 2011-04-21  Eric Blake  <eblake@redhat.com>
334
335         passfd: fix test regression on Linux
336         * modules/passfd-tests (configure.ac): Correct socketpair check.
337
338         passfd: speed up configure and drop unused code
339         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
340         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
341         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
342         Instead of probing at configure for unix_scm_rights_bsd44_way,
343         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
344         check to a struct member probe.
345         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
346         (sendfd, recvfd): Update preprocessor checks.
347         * modules/passfd (Files): Reflect rename, and drop unused file.
348         (Depends-on): Drop unused dependency.
349
350         passfd: allow compilation on mingw
351         * modules/sys_socket (Depends-on): Add sys_uio.
352         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
353         iovec and a minimal struct msghdr.
354         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
355         * tests/test-sys_socket.c (main): Enhance test.
356         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
357         guaranteed to provide what we need.
358         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
359         * modules/passfd-tests (Depends-on): Add sys_wait.
360         * tests/test-passfd.c (main): Skip test on mingw, for now.
361         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
362         partial 'struct msghdr' implementation.
363
364         sys_uio: new module
365         * modules/sys_uio: New module.
366         * modules/sys_uio-tests: Likewise.
367         * lib/sys_uio.in.h: New file.
368         * m4/sys_uio_h.m4: Likewise.
369         * tests/test-sys_uio.c: Likewise.
370         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
371         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
372
373 2011-04-20  Jim Meyering  <meyering@redhat.com>
374
375         useless-if-before-free: avoid false-positive
376         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
377         disjunct so that it too requires a terminating ";".  Without that,
378         this script would identify as useless one statement from gcc that
379         was not:
380           if (aligned_ptr)
381             free (((void **) aligned_ptr) [-1]);
382
383 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
384
385         doc: update users.txt.
386         * users.txt: Add barcode.
387
388 2011-04-19  Bruno Haible  <bruno@clisp.org>
389
390         ioctl: Remove link dependency on native Windows.
391         * lib/fd-hook.h: Renamed from lib/close-hook.h.
392         (gl_close_fn, gl_ioctl_fn): New types.
393         (struct fd_hook): Renamed from struct close_hook. Change type of
394         private_close_fn field. Add private_ioctl_fn field.
395         (close_hook_fn): Add parameter for primary close method.
396         (execute_close_hooks, execute_all_close_hooks): Likewise.
397         (ioctl_hook_fn): New type.
398         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
399         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
400         argument.
401         (unregister_fd_hook): Renamed from unregister_close_hook.
402         * lib/fd-hook.c: Renamed from lib/close-hook.c.
403         Don't include <unistd.h>.
404         (close): Remove undef.
405         (anchor): Update.
406         (execute_close_hooks): Add argument for primary close method.
407         (execute_all_close_hooks): Likewise.
408         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
409         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
410         argument. Allow each argument to be NULL.
411         (unregister_fd_hook): Renamed from unregister_close_hook.
412         * lib/close.c (rpl_close): Pass 'close' function pointer to
413         execute_all_close_hooks.
414         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
415         (primary_ioctl): New function.
416         (ioctl): Don't call ioctlsocket here. Instead, call
417         execute_all_ioctl_hooks.
418         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
419         close method.
420         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
421         (fd_sockets_hook): Renamed from close_sockets_hook.
422         (gl_sockets_startup, gl_sockets_cleanup): Update.
423         * modules/fd-hook: Renamed from modules/close-hook. Update.
424         * modules/close (Depends-on): Add fd-hook, remove close-hook.
425         * modules/sockets (Depends-on): Likewise.
426         * modules/ioctl (Depends-on): Add fd-hook.
427         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
428         GNULIB_SOCKET.
429
430 2011-04-19  Bruno Haible  <bruno@clisp.org>
431
432         Move the support of O_NONBLOCK in open() to the 'open' module.
433         * modules/nonblocking (Depends-on): Remove 'open'.
434         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
435         gl_cv_have_open_O_NONBLOCK.
436         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
437         O_NONBLOCK support.
438         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
439
440 2011-04-17  Bruno Haible  <bruno@clisp.org>
441
442         pipe2: Simplify code.
443         * lib/pipe2.c (pipe2): Reduce code duplication.
444
445 2011-04-17  Bruno Haible  <bruno@clisp.org>
446
447         nonblocking: Add comment.
448         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
449
450 2011-04-17  Bruno Haible  <bruno@clisp.org>
451
452         nonblocking: Add tests for sockets.
453         * tests/test-nonblocking-socket.sh: New file.
454         * tests/test-nonblocking-socket-main.c: New file.
455         * tests/test-nonblocking-socket-child.c: New file.
456         * tests/test-nonblocking-socket.h: New file.
457         * tests/socket-server.h: New file.
458         * tests/socket-client.h: New file.
459         * modules/nonblocking-socket-tests: New file.
460         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
461
462 2011-04-17  Bruno Haible  <bruno@clisp.org>
463
464         nonblocking: Add tests for pipes.
465         * tests/test-nonblocking-pipe.sh: New file.
466         * tests/test-nonblocking-pipe-main.c: New file.
467         * tests/test-nonblocking-pipe-child.c: New file.
468         * tests/test-nonblocking-pipe.h: New file.
469         * tests/test-nonblocking-writer.h: New file.
470         * tests/test-nonblocking-reader.h: New file.
471         * tests/test-nonblocking-misc.h: New file.
472         * modules/nonblocking-pipe-tests: New file.
473         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
474
475 2011-04-16  Bruno Haible  <bruno@clisp.org>
476
477         gettext: Clarify the needed programmer actions.
478         * modules/gettext (Notice): New field.
479         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
480
481 2011-04-16  Bruno Haible  <bruno@clisp.org>
482
483         strchrnul: Tweak last commit.
484         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
485         bug.
486         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
487         as in _GL_FUNCDECL_SYS.
488         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
489         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
490
491 2011-04-15  Eric Blake  <eblake@redhat.com>
492
493         strchrnul: work around cygwin bug
494         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
495         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
497         * modules/string (Makefile.am): Substitute it.
498         * lib/string.in.h (strchrnul): Use it.
499
500 2011-04-15  Bruno Haible  <bruno@clisp.org>
501
502         Don't require lib/stdio-write.c when only module 'stdio' is used.
503         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
504         invocation.
505         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
506
507 2011-04-14  Bruno Haible  <bruno@clisp.org>
508
509         Support non-blocking pipe I/O in read() on native Windows.
510         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
511         (read): New declaration.
512         * lib/read.c: New file.
513         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
514         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
515         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
516         vscanf): New declarations.
517         * lib/stdio-read.c: New file.
518         * m4/read.m4: New file.
519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
520         REPLACE_READ.
521         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
522         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
523         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
524         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
525         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
526         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
527         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
528         * modules/read: New file.
529         * modules/nonblocking (Files): Add lib/stdio-read.c.
530         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
531         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
532         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
533         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
534         * modules/pread (Depends-on): Add read.
535         * modules/safe-read (Depends-on): Likewise.
536         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
537         gets, scanf, vfscanf, vscanf): Verify signatures.
538         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
539         problem with non-blocking pipes.
540         * doc/posix-functions/fgetc.texi: Likewise.
541         * doc/posix-functions/fgets.texi: Likewise.
542         * doc/posix-functions/fread.texi: Likewise.
543         * doc/posix-functions/fscanf.texi: Likewise.
544         * doc/posix-functions/getc.texi: Likewise.
545         * doc/posix-functions/getchar.texi: Likewise.
546         * doc/posix-functions/gets.texi: Likewise.
547         * doc/posix-functions/scanf.texi: Likewise.
548         * doc/posix-functions/vfscanf.texi: Likewise.
549         * doc/posix-functions/vscanf.texi: Likewise.
550
551 2011-04-14  Bruno Haible  <bruno@clisp.org>
552
553         Support non-blocking pipe I/O in write() on native Windows.
554         * lib/write.c (rpl_write): Split a write request that failed merely
555         because the byte count was larger than the pipe buffer's size.
556         * doc/posix-functions/write.texi: Mention the problem with large byte
557         counts.
558
559 2011-04-14  Bruno Haible  <bruno@clisp.org>
560
561         wchar: Ensure that wchar_t gets defined on uClibc.
562         * lib/wchar.in.h: On uClibc, include <stddef.h>.
563         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
564
565 2011-04-13  Bruno Haible  <bruno@clisp.org>
566
567         safe-write, full-read: Avoid unnecessary compilation units.
568         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
569         (Depends-on): Remove safe-read. Add ssize_t.
570         * modules/full-read (Files): Add lib/full-write.c.
571         (Depends-on): Add full-write.
572
573 2011-04-13  Bruno Haible  <bruno@clisp.org>
574
575         Support non-blocking pipe I/O and SIGPIPE in pwrite().
576         * modules/pwrite (Depends-on): Add 'write'.
577
578 2011-04-13  Bruno Haible  <bruno@clisp.org>
579
580         Support non-blocking pipe I/O in write() on native Windows.
581         * lib/unistd.in.h (write): Enable replacement also if
582         GNULIB_UNISTD_H_NONBLOCKING is 1.
583         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
584         (rpl_write): When failing to write on a non-blocking pipe, change
585         errno from ENOSPC to EAGAIN.
586         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
587         putchar, puts, vfprintf, vprintf): Enable replacement also if
588         GNULIB_STDIO_H_NONBLOCKING is 1.
589         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
590         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
591         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
592         CALL_WITH_SIGPIPE_EMULATION.
593         (CALL_WITH_SIGPIPE_EMULATION): Use them.
594         * m4/nonblocking.m4: New file.
595         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
596         for non-blocking I/O support.
597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
598         GNULIB_UNISTD_H_NONBLOCKING.
599         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
600         required for non-blocking I/O support.
601         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
602         * modules/nonblocking (Files): Add m4/nonblocking.m4,
603         lib/stdio-write.c, m4/asm-underscore.m4.
604         (Depends-on): Add stdio, unistd.
605         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
606         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
607         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
608         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
609         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
610         problem with non-blocking pipes.
611         * doc/posix-functions/fputc.texi: Likewise.
612         * doc/posix-functions/fputs.texi: Likewise.
613         * doc/posix-functions/fwrite.texi: Likewise.
614         * doc/posix-functions/printf.texi: Likewise.
615         * doc/posix-functions/putc.texi: Likewise.
616         * doc/posix-functions/putchar.texi: Likewise.
617         * doc/posix-functions/puts.texi: Likewise.
618         * doc/posix-functions/vfprintf.texi: Likewise.
619         * doc/posix-functions/vprintf.texi: Likewise.
620         * doc/posix-functions/write.texi: Likewise.
621
622 2011-04-10  Jim Meyering  <meyering@redhat.com>
623
624         maint.mk: prohibit doubled words
625         Detect them also when they're separated by a newline.
626         There are 3 ways to customize it:
627           - disable the test on a per file basis, as usual with rules using
628             $(VC_LIST_EXCEPT)
629           - replace the default doubled-word-selecting regexp (affects all files)
630           - ignore a particular file-vs-doubled-word match
631         I nearly used that last one to ignore the "is is" match in
632         coreutils' NEWS file, since the text was "ls -is is ..."
633         To do that, I would have added this line to cfg.mk:
634           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
635         but it would have ignored any "is is" match in NEWS.
636         Low probability, but still...
637         Instead, I changed the text, slightly:
638           -  ls -is is now consistent with ls -lis in ignoring values returned
639           +  "ls -is" is now consistent with ls -lis in ignoring values returned
640         * top/maint.mk (prohibit_double_word_RE_): Provide default.
641         (prohibit_doubled_word_): Define.
642         (sc_prohibit_doubled_word): New rule.
643         (sc_prohibit_the_the): Remove.  Subsumed by the above.
644
645 2011-04-10  Jim Meyering  <meyering@redhat.com>
646
647         maint: fix doubled-word typo in comment
648         * m4/gethostname.m4: s/is is/it is/
649         * m4/getdomainname.m4: Likewise.
650
651 2011-04-10  Jim Meyering  <meyering@redhat.com>
652
653         maint: remove doubled word: s/it it/it/
654         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
655
656 2011-04-10  Jim Meyering  <meyering@redhat.com>
657
658         maint.mk: remove useless semicolon and backslash
659         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
660         semicolon and backslash.
661
662 2011-04-10  Bruno Haible  <bruno@clisp.org>
663
664         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
665         * modules/stdint-tests (Depends-on): Add wchar.
666
667 2011-04-10  Jim Meyering  <meyering@redhat.com>
668
669         maint: remove doubled words in comments, e.g., s/a a/a/
670         * lib/strptime.c (day_of_the_week): s/the the/the/
671         * tests/test-chown.h (test_chown): s/a a/a/
672
673         test-chown.h: correct a cast
674         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
675         when the destination is a stat.st_gid.
676
677 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
678
679         getaddrinfo: Fix test for sa_len member.
680         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
681         include <sys/types.h> before <sys/socket.h>.
682
683 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
684
685         maint: change "can not" to "cannot"
686         * doc/posix-functions/iconv.texi (iconv): This one crossed line
687         boundaries.
688
689 2011-04-09  Jim Meyering  <meyering@redhat.com>
690
691         maint: change "a a" to "a"
692         * tests/test-lchown.h (test_lchown): s/a a/a/
693
694         maint.mk: prohibit \<the the\>
695         * top/maint.mk (sc_prohibit_the_the): New rule.
696
697         maint: fix "the the" in comment
698         * lib/count-one-bits.h: s/the the/the/
699
700         maint: change "can not" to "cannot"
701         But do not change the occurrences in maintain.texi or in
702         build-aux/po/Makefile.in.in, which I presume comes from gettext.
703         * doc/gnulib-tool.texi: s/can not/cannot/
704         * doc/posix-functions/accept.texi (accept): Likewise.
705         * doc/posix-functions/socket.texi (socket): Likewise.
706         * lib/mbrtowc.c: Likewise.
707
708         maint.mk: prohibit use of "can not"
709         * top/maint.mk (sc_prohibit_can_not): New rule.
710         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
711
712 2011-04-09  Bruno Haible  <bruno@clisp.org>
713
714         careadlinkat: Guard against misuse of careadlinkatcwd.
715         * lib/careadlinkat.c: Include <stdlib.h>.
716         (careadlinkatcwd): Check that the fd argument is as expected.
717
718 2011-04-09  Bruno Haible  <bruno@clisp.org>
719
720         careadlinkat: Use common coding style.
721         * lib/careadlinkat.c: Move gnulib includes after system includes.
722
723 2011-04-09  Bruno Haible  <bruno@clisp.org>
724
725         careadlinkat: Clarify specification.
726         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
727         (careadlinkatcwd): Add comment.
728         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
729
730 2011-04-09  Bruno Haible  <bruno@clisp.org>
731
732         areadlinkat: Avoid link error on many platforms.
733         * modules/areadlinkat (Depends-on): Add areadlink.
734
735 2011-04-09  Bruno Haible  <bruno@clisp.org>
736
737         allocator, careadlinkat: Fix double-inclusion guard.
738         * lib/allocator.h: Fix double-inclusion guard.
739         * lib/careadlinkat.h: Likewise.
740
741 2011-04-09  Bruno Haible  <bruno@clisp.org>
742
743         relocatable-prog-wrapper: Update after module 'areadlink' changed.
744         * lib/relocwrapper.c: Update dependencies hierarchy.
745         * build-aux/install-reloc: Update list of files to be compiled.
746         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
747         lib/allocator.[hc].
748
749 2011-04-08  Eric Blake  <eblake@redhat.com>
750
751         strftime: silence gnulib-tool warning
752         * modules/strftime-tests (Depends-on): Drop automatic dependency.
753
754 2011-04-08  Bruno Haible  <bruno@clisp.org>
755
756         verify: Fix syntax error with GCC 4.6 in C++ mode.
757         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
758         (HAVE_STATIC_ASSERT): New macro.
759         (verify_true, verify): Use 'static_assert' if it is supported and
760         '_Static_assert' is not supported.
761
762 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
763
764         allocator: New module.
765         * modules/allocator, lib/allocator.c: New files.
766         * lib/allocator.h (stdlib_allocator): New decl.
767         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
768         Remove.  Do not include <stdlib.h>.
769         (careadlinkat): Use stdlib_allocator instead of rolling our own.
770         * modules/careadlinkat (Files): Remove lib/allocator.h.
771         (Depends-on): Add allocator.
772
773         stdlib: let modules use system malloc, realloc
774         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
775         if !_GL_USE_STDLIB_ALLOC.
776         (malloc, realloc): Limit this change to a smaller scope.
777
778         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
779         (malloc, realloc): Don't #undef; no longer needed.
780         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
781         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
782         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
783         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
784         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
785         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
786         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
787         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
788
789         careadlinkat: rename members to avoid problem
790         * lib/allocator.h (struct allocator): Rename members from
791         malloc/realloc to allocate/reallocate, to avoid problems if malloc
792         and realloc are #define'd.  Reported by Eric Blake in
793         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
794         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
795
796 2011-04-08  Eric Blake  <eblake@redhat.com>
797
798         nonblocking: reduce dependency
799         * tests/test-nonblocking.c: Only test sockets when in use.
800         * modules/nonblocking-tests (Depends-on): Drop socket.
801         (Makefile.am): Link even if sockets are not present.
802         * modules/pipe2-tests (Makefile.am): Likewise.
803         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
804
805         pipe2: fix O_NONBLOCK support on mingw
806         * modules/pipe2 (Depends-on): Add nonblocking.
807         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
808         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
809         * tests/test-nonblocking.c (main): Likewise.
810         * modules/pipe2-tests (Makefile.am): Avoid link failure.
811
812         fcntl-h: fix O_ACCMODE on cygwin
813         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
814         * lib/fcntl.in.h (O_ACCMODE): Fix it.
815
816         pipe-filter: drop O_NONBLOCK workarounds
817         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
818         * modules/pipe-filter-ii (Depends-on): Likewise.
819         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
820
821         nonblocking: provide O_NONBLOCK for mingw
822         * modules/nonblocking (Depends-on): Add open.
823         (configure.ac): Set new witness macro.
824         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
825         * modules/fcntl-h (Makefile.am): Substitute it.
826         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
827         nonblocking module is in use.
828         * lib/nonblocking.c: Adjust portability test.
829         * lib/open.c (open): Don't let native open see gnulib flag.
830         * tests/test-fcntl-h.c (main): Enhance test.
831         * tests/test-open.h (test_open): Likewise.
832         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
833
834         careadlinkat: fix compilation error on mingw
835         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
836         within struct allocator.
837
838 2011-04-06  Eric Blake  <eblake@redhat.com>
839
840         binary-io: relicense under LGPLv2+
841         * modules/binary-io (License): Relax to LGPLv2+.
842         Requested for libvirt, and required by pipe2.
843
844 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
845
846         verify: use _Static_assert if available
847         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
848         (verify_true, verify): Use it if available.  This generates better
849         diagnostics with GCC 4.6.0 and later.
850
851 2011-04-05  Bruno Haible  <bruno@clisp.org>
852
853         Remove leftover generated .h files after config.status changed.
854
855         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
856         GL_GENERATE_ALLOCA_H.
857         * modules/alloca-opt (Makefile.am): Remove alloca.h if
858         GL_GENERATE_ALLOCA_H evaluates to false.
859
860         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
861         GL_GENERATE_ARGZ_H.
862         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
863         evaluates to false.
864
865         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
866         GL_GENERATE_BYTESWAP_H.
867         * modules/byteswap (Makefile.am): Remove byteswap.h if
868         GL_GENERATE_BYTESWAP_H evaluates to false.
869
870         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
871         GL_GENERATE_ERRNO_H.
872         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
873         evaluates to false.
874
875         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
876         GL_GENERATE_FLOAT_H.
877         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
878         evaluates to false.
879
880         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
881         GL_GENERATE_FNMATCH_H.
882         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
883         GL_GENERATE_FNMATCH_H evaluates to false.
884
885         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
886         GL_GENERATE_GLOB_H.
887         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
888         evaluates to false.
889
890         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
891         automake conditional GL_GENERATE_ICONV_H.
892         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
893         evaluates to false.
894
895         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
896         GL_GENERATE_NETINET_IN_H.
897         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
898         GL_GENERATE_NETINET_IN_H evaluates to false.
899
900         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
901         conditional GL_GENERATE_PTHREAD_H.
902         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
903         * modules/pthread (Makefile.am): Remove pthread.h if
904         GL_GENERATE_PTHREAD_H evaluates to false.
905
906         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
907         GL_GENERATE_SCHED_H.
908         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
909         evaluates to false.
910
911         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
912         conditional GL_GENERATE_SELINUX_CONTEXT_H.
913         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
914         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
915
916         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
917         GL_GENERATE_STDARG_H.
918         * modules/stdarg (Makefile.am): Remove stdarg.h if
919         GL_GENERATE_STDARG_H evaluates to false.
920
921         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
922         GL_GENERATE_STDBOOL_H.
923         * modules/stdbool (Makefile.am): Remove stdbool.h if
924         GL_GENERATE_STDBOOL_H evaluates to false.
925
926         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
927         conditional GL_GENERATE_STDDEF_H.
928         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
929         * modules/stddef (Makefile.am): Remove stddef.h if
930         GL_GENERATE_STDDEF_H evaluates to false.
931
932         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
933         GL_GENERATE_STDINT_H.
934         * modules/stdint (Makefile.am): Remove stdint.h if
935         GL_GENERATE_STDINT_H evaluates to false.
936
937         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
938         GL_GENERATE_SYSEXITS_H.
939         * modules/sysexits (Makefile.am): Remove sysexits.h if
940         GL_GENERATE_SYSEXITS_H evaluates to false.
941
942         Reported by Karl Berry and Ralf Wildenhues.
943
944 2011-04-05  Bruno Haible  <bruno@clisp.org>
945
946         Ensure to rebuild generated .h files when config.status has changed.
947         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
948         config.status.
949         * modules/ctype (Makefile.am): Likewise.
950         * modules/dirent (Makefile.am): Likewise.
951         * modules/errno (Makefile.am): Likewise.
952         * modules/fcntl-h (Makefile.am): Likewise.
953         * modules/float (Makefile.am): Likewise.
954         * modules/getopt-posix (Makefile.am): Likewise.
955         * modules/glob (Makefile.am): Likewise.
956         * modules/iconv-h (Makefile.am): Likewise.
957         * modules/inttypes (Makefile.am): Likewise.
958         * modules/langinfo (Makefile.am): Likewise.
959         * modules/locale (Makefile.am): Likewise.
960         * modules/math (Makefile.am): Likewise.
961         * modules/netdb (Makefile.am): Likewise.
962         * modules/netinet_in (Makefile.am): Likewise.
963         * modules/poll-h (Makefile.am): Likewise.
964         * modules/pthread (Makefile.am): Likewise.
965         * modules/pty (Makefile.am): Likewise.
966         * modules/sched (Makefile.am): Likewise.
967         * modules/search (Makefile.am): Likewise.
968         * modules/selinux-h (Makefile.am): Likewise.
969         * modules/signal (Makefile.am): Likewise.
970         * modules/spawn (Makefile.am): Likewise.
971         * modules/stdarg (Makefile.am): Likewise.
972         * modules/stdbool (Makefile.am): Likewise.
973         * modules/stddef (Makefile.am): Likewise.
974         * modules/stdint (Makefile.am): Likewise.
975         * modules/stdio (Makefile.am): Likewise.
976         * modules/stdlib (Makefile.am): Likewise.
977         * modules/string (Makefile.am): Likewise.
978         * modules/strings (Makefile.am): Likewise.
979         * modules/sys_file (Makefile.am): Likewise.
980         * modules/sys_ioctl (Makefile.am): Likewise.
981         * modules/sys_select (Makefile.am): Likewise.
982         * modules/sys_socket (Makefile.am): Likewise.
983         * modules/sys_stat (Makefile.am): Likewise.
984         * modules/sys_time (Makefile.am): Likewise.
985         * modules/sys_times (Makefile.am): Likewise.
986         * modules/sys_utsname (Makefile.am): Likewise.
987         * modules/sys_wait (Makefile.am): Likewise.
988         * modules/sysexits (Makefile.am): Likewise.
989         * modules/termios (Makefile.am): Likewise.
990         * modules/time (Makefile.am): Likewise.
991         * modules/unistd (Makefile.am): Likewise.
992         * modules/wchar (Makefile.am): Likewise.
993         * modules/wctype-h (Makefile.am): Likewise.
994         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
995
996 2011-04-05  Bruno Haible  <bruno@clisp.org>
997
998         pipe2: Relicense under LGPLv2+.
999         * modules/pipe2 (License): Change to LGPLv2+.
1000         Requested by Eric Blake, for libvirt.
1001
1002 2011-04-05  Bruce Korb  <bkorb@gnu.org>
1003
1004         bootstrap: compute gnulib_extra_files after updating build_aux
1005         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
1006         change build_aux or also supply gnulib_extra_files.  Handle correctly.
1007
1008 2011-04-05  Eric Blake  <eblake@redhat.com>
1009
1010         bootstrap: preserve git whitelist item sorting
1011         * build-aux/bootstrap (sort_patterns): New function.
1012         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
1013
1014 2011-04-05  Simon Josefsson  <simon@josefsson.org>
1015
1016         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
1017         sc_space_tab check.
1018
1019 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1020
1021         areadlink, areadlinkat: rewrite in terms of careadlinkat
1022         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
1023         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
1024         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
1025         (malloc, realloc): Remove #undefs.
1026         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
1027         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
1028         readlink, ssize_t, stdint, unistd.
1029         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
1030         areadlink, stdint.
1031
1032         careadlinkat: new module
1033         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
1034         * modules/careadlinkat: New files, written by me with
1035         a review and feedback from Ben Pfaff in
1036         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
1037
1038 2011-04-01  Bruno Haible  <bruno@clisp.org>
1039
1040         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
1041         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
1042         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
1043         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
1044         Reported by Bruce Korb <bruce.korb@gmail.com>.
1045
1046 2011-04-01  Bruno Haible  <bruno@clisp.org>
1047
1048         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
1049         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
1050         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
1051         * modules/wcpcpy (Depends-on): Add extensions.
1052         * modules/wcpncpy (Depends-on): Likewise.
1053         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
1054         systems.
1055         * doc/posix-functions/wcpncpy.texi: Likewise.
1056         * doc/posix-functions/wcwidth.texi: Likewise.
1057
1058 2011-03-31  Eric Blake  <eblake@redhat.com>
1059
1060         nonblocking: fix mingw test failures
1061         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
1062         non-blocking flag on regular file.
1063         (get_nonblocking_flag): Set errno on invalid fd.
1064         * tests/test-nonblocking.c (main): Avoid test failure on
1065         directories if fchdir is not active.
1066         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
1067
1068 2011-03-31  Bruno Haible  <bruno@clisp.org>
1069
1070         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
1071         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
1072         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
1073         Reported by Simon Josefsson <simon@josefsson.org>.
1074
1075 2011-03-31  Bruno Haible  <bruno@clisp.org>
1076         and Eric Blake  <eblake@redhat.com>
1077
1078         nonblocking: new module
1079         * modules/nonblocking: New module.
1080         * modules/nonblocking-tests: Likewise.
1081         * lib/nonblocking.h: New file.
1082         * lib/nonblocking.c: Likewise.
1083         * tests/test-nonblocking.c: New test.
1084         * lib/ioctl.c (ioctl) [mingw]: Update comment.
1085
1086 2011-03-30  Bruno Haible  <bruno@clisp.org>
1087
1088         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
1089         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
1090         instead of 'printf' format for GCC >= 4.4.
1091         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
1092         (fprintf, printf, vfprintf, vprintf): Declare with
1093         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
1094         the system's vfprintf() function.
1095         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
1096
1097 2011-03-30  Eric Blake  <eblake@redhat.com>
1098
1099         passfd: fix scoping bug
1100         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
1101         before sendmsg/recvmsg.
1102
1103         passfd: standardize coding conventions
1104         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
1105         can be learned at compile time.
1106         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
1107         ifdefs.
1108         (sendfd, recvfd): Follow gnulib code conventions.
1109
1110         passfd: fix incorrect sendmsg arguments
1111         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
1112         incorrect msg_controllen value.
1113         * modules/passfd-tests (Depends-on): Check for alarm.
1114         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
1115         Reported by Bastien ROUCARIES.
1116
1117 2011-03-30  Bruno Haible  <bruno@clisp.org>
1118
1119         c-strcasestr: Relicense under LGPLv2+.
1120         * modules/c-strcasestr (License): Change to LGPLv2+.
1121         Requested by Eric Blake, for libvirt.
1122
1123 2011-03-30  Simon Josefsson  <simon@josefsson.org>
1124
1125         * users.txt: Add libidn2.  Fix libtasn1 link.
1126
1127 2011-03-30  Jim Meyering  <meyering@redhat.com>
1128
1129         tests: readlink* ("",... fails with EINVAL on newer kernels
1130         readlink and readlinkat have typically failed with ENOENT for
1131         the invalid, empty file name,  "".  However, with the advent
1132         of linux-2.6.39, they fail with EINVAL.
1133         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
1134         when operating on the empty file name.
1135         * tests/test-readlink.h (test_readlink): Likewise.
1136
1137 2011-03-29  Bruno Haible  <bruno@clisp.org>
1138
1139         Relicense some modules under LGPLv2+, for libidn2.
1140         * modules/array-mergesort (License): Change to LGPLv2+.
1141         * modules/c-strcaseeq (License): Likewise.
1142         * modules/striconveh (License): Likewise.
1143         * modules/striconveha (License): Likewise.
1144         * modules/uniconv/base (License): Likewise.
1145         * modules/uniconv/u8-conv-from-enc (License): Likewise.
1146         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
1147         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
1148         * modules/unictype/base (License): Likewise.
1149         * modules/unictype/bidiclass-of (License): Likewise.
1150         * modules/unictype/category-M (License): Likewise.
1151         * modules/unictype/category-none (License): Likewise.
1152         * modules/unictype/category-of (License): Likewise.
1153         * modules/unictype/category-test (License): Likewise.
1154         * modules/unictype/category-test-withtable (License): Likewise.
1155         * modules/unictype/combining-class (License): Likewise.
1156         * modules/unictype/joiningtype-of (License): Likewise.
1157         * modules/unictype/scripts (License): Likewise.
1158         * modules/uninorm/base (License): Likewise.
1159         * modules/uninorm/canonical-decomposition (License): Likewise.
1160         * modules/uninorm/composition (License): Likewise.
1161         * modules/uninorm/decompose-internal (License): Likewise.
1162         * modules/uninorm/decomposition-table (License): Likewise.
1163         * modules/uninorm/nfc (License): Likewise.
1164         * modules/uninorm/nfd (License): Likewise.
1165         * modules/uninorm/u32-normalize (License): Likewise.
1166         * modules/unistr/base (License): Likewise.
1167         * modules/unistr/u32-cpy (License): Likewise.
1168         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
1169         * modules/unistr/u32-to-u8 (License): Likewise.
1170         * modules/unistr/u32-uctomb (License): Likewise.
1171         * modules/unistr/u8-check (License): Likewise.
1172         * modules/unistr/u8-mblen (License): Likewise.
1173         * modules/unistr/u8-mbtouc (License): Likewise.
1174         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
1175         * modules/unistr/u8-mbtoucr (License): Likewise.
1176         * modules/unistr/u8-prev (License): Likewise.
1177         * modules/unistr/u8-strlen (License): Likewise.
1178         * modules/unistr/u8-to-u32 (License): Likewise.
1179         * modules/unistr/u8-uctomb (License): Likewise.
1180         * modules/unitypes (License): Likewise.
1181         Requested by Simon Josefsson.
1182
1183 2011-03-29  Simon Josefsson  <simon@josefsson.org>
1184
1185         lib-symbol-visibility: Add a notice.
1186         * modules/lib-symbol-visibility (Notice): New field.
1187
1188 2011-03-29  Bruno Haible  <bruno@clisp.org>
1189
1190         getaddrinfo: Doc fix.
1191         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
1192         section "fixed in Gnulib".
1193
1194 2011-03-28  Simon Josefsson  <simon@josefsson.org>
1195
1196         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
1197         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
1198
1199 2011-03-26  Bruno Haible  <bruno@clisp.org>
1200
1201         unictype/property-byname: Reduce the number of load-time relocations.
1202         * lib/unictype/pr_byname.c: Include <stdlib.h>.
1203         (UC_PROPERTY_INDEX_*): New enumeration values.
1204         (uc_property_byname): Convert an index from the lookup table to an
1205         uc_property_t.
1206         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
1207         values.
1208
1209 2011-03-26  Bruno Haible  <bruno@clisp.org>
1210
1211         unictype/property-byname: Allow omitted word separators and aliases.
1212         * lib/unictype/pr_byname.gperf: Add property names without word
1213         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
1214         for 'space'.
1215
1216 2011-03-26  Bruno Haible  <bruno@clisp.org>
1217
1218         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
1219         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
1220         also hyphens to space.
1221         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
1222         without spaces.
1223         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
1224
1225 2011-03-26  Bruno Haible  <bruno@clisp.org>
1226
1227         unictype/joiningtype-byname: Recognize long names as well.
1228         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
1229         a long name.
1230         * lib/unictype/joiningtype_byname.c: Include <string.h>,
1231         unictype/joiningtype_byname.h.
1232         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
1233         * lib/unictype/joiningtype_byname.gperf: New file.
1234         * modules/unictype/joiningtype-byname (Files): Add
1235         lib/unictype/joiningtype_byname.gperf.
1236         (Depends-on): Add gperf.
1237         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
1238         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
1239         long names.
1240
1241         Tests for module 'unictype/joiningtype-longname'.
1242         * modules/unictype/joiningtype-longname-tests: New file.
1243         * tests/unictype/test-joiningtype_longname.c: New file.
1244
1245         New module 'unictype/joiningtype-longname'.
1246         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
1247         * lib/unictype/joiningtype_longname.c: New file.
1248         * modules/unictype/joiningtype-longname: New file.
1249         * modules/unictype/joiningtype-all (Depends-on): Add
1250         unictype/joiningtype-longname.
1251
1252 2011-03-26  Bruno Haible  <bruno@clisp.org>
1253
1254         unictype/bidiclass-byname: Recognize long names as well.
1255         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
1256         name.
1257         * lib/unictype/bidi_byname.c: Include <string.h>,
1258         unictype/bidi_byname.h.
1259         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
1260         * lib/unictype/bidi_byname.gperf: New file.
1261         * modules/unictype/bidiclass-byname (Files): Add
1262         lib/unictype/bidi_byname.gperf.
1263         (Depends-on): Add gperf.
1264         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
1265         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
1266         long names.
1267
1268         Tests for module 'unictype/bidiclass-longname'.
1269         * modules/unictype/bidiclass-longname-tests: New file.
1270         * tests/unictype/test-bidi_longname.c: New file.
1271
1272         New module 'unictype/bidiclass-longname'.
1273         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
1274         * lib/unictype/bidi_longname.c: New file.
1275         * modules/unictype/bidiclass-longname: New file.
1276         * modules/unictype/bidiclass-all (Depends-on): Add
1277         unictype/bidiclass-longname.
1278
1279 2011-03-26  Bruno Haible  <bruno@clisp.org>
1280
1281         unictype/bidi*: Rename modules.
1282         * modules/unictype/bidiclass-all: Renamed from
1283         modules/unictype/bidicategory-all.
1284         * modules/unictype/bidiclass-name: Renamed from
1285         modules/unictype/bidiclass-name.
1286         (Description): Update.
1287         * modules/unictype/bidiclass-name-tests: Renamed from
1288         modules/unictype/bidicategory-name-tests.
1289         * modules/unictype/bidiclass-byname: Renamed from
1290         modules/unictype/bidicategory-byname.
1291         (Description): Update.
1292         * modules/unictype/bidiclass-byname-tests: Renamed from
1293         modules/unictype/bidicategory-byname-tests.
1294         * modules/unictype/bidiclass-of: Renamed from
1295         modules/unictype/bidicategory-of.
1296         (Description): Update.
1297         * modules/unictype/bidiclass-of-tests: Renamed from
1298         modules/unictype/bidicategory-of-tests.
1299         * modules/unictype/bidiclass-test: Renamed from
1300         modules/unictype/bidicategory-test.
1301         (Description): Update.
1302         * modules/unictype/bidiclass-test-tests: Renamed from
1303         modules/unictype/bidicategory-test-tests.
1304         * modules/unictype/bidicategory-all: New file, a simple redirection.
1305         * modules/unictype/bidicategory-name: Likewise.
1306         * modules/unictype/bidicategory-byname: Likewise.
1307         * modules/unictype/bidicategory-of: Likewise.
1308         * modules/unictype/bidicategory-test: Likewise.
1309         * modules/unictype/property-bidi-* (Dependencies): Update.
1310         * lib/unictype/bidi_*.c: Update comment.
1311
1312 2011-03-26  Bruno Haible  <bruno@clisp.org>
1313
1314         unictype/bidi*: Rename functions, part 2.
1315         * modules/unictype/bidicategory-name (configure.ac): Update required
1316         libunistring version.
1317         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
1318
1319 2011-03-25  Bruno Haible  <bruno@clisp.org>
1320
1321         New module 'unictype/combining-class-all'.
1322         * modules/unictype/combining-class-all: New file.
1323
1324         Tests for module 'unictype/combining-class-byname'.
1325         * modules/unictype/combining-class-byname-tests: New file.
1326         * tests/unictype/test-combiningclass_byname.c: New file.
1327
1328         New module 'unictype/combining-class-byname'.
1329         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
1330         * lib/unictype/combiningclass_byname.c: New file.
1331         * lib/unictype/combiningclass_byname.gperf: New file.
1332         * modules/unictype/combining-class-byname: New file.
1333
1334         Tests for module 'unictype/combining-class-longname'.
1335         * modules/unictype/combining-class-longname-tests: New file.
1336         * tests/unictype/test-combiningclass_longname.c: New file.
1337
1338         New module 'unictype/combining-class-longname'.
1339         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
1340         * lib/unictype/combiningclass_longname.c: New file.
1341         * modules/unictype/combining-class-longname: New file.
1342
1343         Tests for module 'unictype/combining-class-name'.
1344         * modules/unictype/combining-class-name-tests: New file.
1345         * tests/unictype/test-combiningclass_name.c: New file.
1346
1347         New module 'unictype/combining-class-name'.
1348         * lib/unictype.in.h (uc_combining_class_name): New declaration.
1349         * lib/unictype/combiningclass_name.c: New file.
1350         * modules/unictype/combining-class-name: New file.
1351
1352 2011-03-25  Bruno Haible  <bruno@clisp.org>
1353
1354         unictype/combining-class: Rename source files.
1355         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
1356         of unictype/combining.h.
1357         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
1358         Update.
1359         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
1360         * modules/unictype/combining-class (Description): Fix.
1361         (Files, Makefile.am): Update.
1362         * tests/unictype/test-combiningclass.c: Renamed from
1363         tests/unictype/test-combining.c.
1364         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
1365
1366 2011-03-25  Bruno Haible  <bruno@clisp.org>
1367
1368         unictype: Update list of canonical combining classes.
1369         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
1370
1371 2011-03-25  Bruno Haible  <bruno@clisp.org>
1372
1373         unictype/category-byname: Recognize long names as well.
1374         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
1375         a long name.
1376         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
1377         unictype/categ_byname.h.
1378         (UC_CATEGORY_INDEX_*): New enumeration values.
1379         (uc_general_category_byname): Use uc_general_category_lookup and
1380         convert from index to value.
1381         * lib/unictype/categ_byname.gperf: New file.
1382         * modules/unictype/category-byname (Files): Add
1383         lib/unictype/categ_byname.gperf.
1384         (Depends-on): Add gperf.
1385         (Makefile.am): Add rule for generating unictype/categ_byname.h.
1386         * tests/unictype/test-categ_byname.c (main): Test the recognition of
1387         long names.
1388
1389         Tests for module 'unictype/category-longname'.
1390         * modules/unictype/category-longname-tests: New file.
1391         * tests/unictype/test-categ_longname.c: New file.
1392
1393         New module 'unictype/category-longname'.
1394         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
1395         * lib/unictype/categ_longname.c: New file.
1396         * modules/unictype/category-longname: New file.
1397         * modules/unictype/category-all (Depends-on): Add it.
1398
1399 2011-03-25  Bruno Haible  <bruno@clisp.org>
1400
1401         Tests for module 'unictype/category-LC'.
1402         * modules/unictype/category-LC-tests: New file.
1403         * tests/unictype/test-categ_LC.c: New file, automatically generated.
1404
1405         New module 'unictype/category-LC'.
1406         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
1407         (UC_CATEGORY_LC): New declaration.
1408         (UC_CASED_LETTER): New macro.
1409         * lib/gen-uni-tables.c (is_category_LC): New function.
1410         (output_categories): Also handle category LC.
1411         (UC_CATEGORY_MASK_LC): New enumeration value.
1412         (general_category_byname): Also handle category LC.
1413         * lib/unictype/categ_LC.c: New file.
1414         * lib/unictype/categ_LC.h: New file, automatically generated.
1415         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
1416         category LC.
1417         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
1418         * modules/unictype/category-LC: New file.
1419         * modules/unictype/category-byname (Depends-on): Add
1420         unictype/category-LC.
1421         * modules/unictype/category-all (Depends-on): Likewise.
1422
1423 2011-03-25  Eric Blake  <eblake@redhat.com>
1424
1425         xmalloc: revert yesterday's regression
1426         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
1427         realloc's underlying behavior (allowing allocation of zero-size
1428         objects, especially if malloc-gnu is also in use).
1429
1430 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
1431
1432         maint.mk: add missing version to VC-tag
1433         * top/maint.mk: git tag was missing actual tag name; add it.
1434
1435         valgrind: do leak checking, and exit with code 1 on error (not 0)
1436         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
1437         to VALGRIND.
1438
1439 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
1440
1441         posix-modules: say what it does.
1442         * posix-modules: Add a line to the --help output saying what it does.
1443
1444 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
1445
1446         xmalloc: Do not leak if underlying realloc is C99 compatible.
1447         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
1448         This avoids a leak on C99-based systems.  See
1449         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
1450
1451 2011-03-24  Eric Blake  <eblake@redhat.com>
1452
1453         realloc: document portability problem
1454         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
1455         passing 0 size to realloc.
1456
1457 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
1458
1459         doc: update users.txt
1460         * users.txt: Add cvsps, tmpwatch
1461
1462 2011-03-23  Matt Rice  <ratmice@gmail.com>
1463
1464         doc: update users.txt
1465         * users.txt: Add gdb.
1466
1467 2011-03-23  Jim Meyering  <meyering@redhat.com>
1468
1469         doc: update users.txt
1470         Looking through matches up to the following URL (there are still
1471         several more pages), I found several projects that use gnulib:
1472         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
1473         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
1474         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
1475
1476 2011-03-22  Bruno Haible  <bruno@clisp.org>
1477
1478         unictype/bidi*: Rename functions.
1479         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
1480         uc_bidi_class, uc_is_bidi_class): New declarations.
1481         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
1482         uc_bidi_category_byname.
1483         (uc_bidi_category_byname): New function.
1484         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
1485         u_bidi_category_name.
1486         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
1487         (uc_bidi_category_name): New function.
1488         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
1489         uc_bidi_category.
1490         (uc_bidi_category): New function.
1491         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
1492         uc_is_bidi_category. Invoke uc_bidi_class.
1493         (uc_is_bidi_category): New function.
1494         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
1495         instead of uc_bidi_category_byname.
1496         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
1497         instead of uc_bidi_category_name.
1498         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
1499         uc_bidi_category.
1500         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
1501         instead of uc_is_bidi_category.
1502
1503 2011-03-21  Bruno Haible  <bruno@clisp.org>
1504
1505         New module 'unictype/joininggroup-all'.
1506         * modules/unictype/joininggroup-all: New file.
1507
1508         Tests for module 'unictype/joininggroup-of'.
1509         * modules/unictype/joininggroup-of-tests: New file.
1510         * tests/unictype/test-joininggroup_of.c: New file.
1511         * tests/unictype/test-joininggroup_of.h: New file, automatically
1512         generated by gen-uni-tables.
1513
1514         New module 'unictype/joininggroup-of'.
1515         * modules/unictype/joininggroup-of: New file.
1516         * lib/unictype/joininggroup_of.c: New file.
1517         * lib/unictype/joininggroup_of.h: New file, automatically generated by
1518         gen-uni-tables.
1519
1520         Tests for module 'unictype/joininggroup-byname'.
1521         * modules/unictype/joininggroup-byname-tests: New file.
1522         * tests/unictype/test-joininggroup_byname.c: New file.
1523
1524         New module 'unictype/joininggroup-byname'.
1525         * modules/unictype/joininggroup-byname: New file.
1526         * lib/unictype/joininggroup_byname.c: New file.
1527         * lib/unictype/joininggroup_byname.gperf: New file.
1528
1529         Tests for module 'unictype/joininggroup-name'.
1530         * modules/unictype/joininggroup-name-tests: New file.
1531         * tests/unictype/test-joininggroup_name.c: New file.
1532
1533         New module 'unictype/joininggroup-name'.
1534         * modules/unictype/joininggroup-name: New file.
1535         * lib/unictype/joininggroup_name.c: New file.
1536         * lib/unictype/joininggroup_name.h: New file.
1537
1538         New module 'unictype/joiningtype-all'.
1539         * modules/unictype/joiningtype-all: New file.
1540
1541         Tests for module 'unictype/joiningtype-of'.
1542         * modules/unictype/joiningtype-of-tests: New file.
1543         * tests/unictype/test-joiningtype_of.c: New file.
1544         * tests/unictype/test-joiningtype_of.h: New file, automatically
1545         generated by gen-uni-tables.
1546
1547         New module 'unictype/joiningtype-of'.
1548         * modules/unictype/joiningtype-of: New file.
1549         * lib/unictype/joiningtype_of.c: New file.
1550         * lib/unictype/joiningtype_of.h: New file, automatically generated by
1551         gen-uni-tables.
1552
1553         Tests for module 'unictype/joiningtype-byname'.
1554         * modules/unictype/joiningtype-byname-tests: New file.
1555         * tests/unictype/test-joiningtype_byname.c: New file.
1556
1557         New module 'unictype/joiningtype-byname'.
1558         * modules/unictype/joiningtype-byname: New file.
1559         * lib/unictype/joiningtype_byname.c: New file.
1560
1561         Tests for module 'unictype/joiningtype-name'.
1562         * modules/unictype/joiningtype-name-tests: New file.
1563         * tests/unictype/test-joiningtype_name.c: New file.
1564
1565         New module 'unictype/joiningtype-name'.
1566         * modules/unictype/joiningtype-name: New file.
1567         * lib/unictype/joiningtype_name.c: New file.
1568
1569         unictype: Add support for Arabic shaping properties.
1570         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
1571         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
1572         declarations.
1573         (UC_JOINING_GROUP_*): New enumeration values.
1574         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
1575         declarations.
1576         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
1577         (unicode_joining_type): New variable.
1578         (UC_JOINING_GROUP_*): New enumeration values.
1579         (unicode_joining_group): New variable.
1580         (fill_arabicshaping, joining_type_as_c_identifier,
1581         output_joining_type_test, output_joining_type,
1582         joining_group_as_c_identifier, output_joining_group_test,
1583         output_joining_group): New functions.
1584         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
1585         fill_arabicshaping and output_joining_type_test, output_joining_type,
1586         output_joining_group_test, output_joining_group.
1587         Reported by Simon Josefsson.
1588
1589 2011-03-21  Jim Meyering  <meyering@redhat.com>
1590
1591         strftime: fix a bug in yesterday's change
1592         * lib/strftime.c (add): Accommodate width's initial value of -1.
1593         Otherwise, nstrftime would copy uninitialized data into
1594         the result buffer.
1595
1596 2011-03-21  Jim Meyering  <meyering@redhat.com>
1597
1598         tests: add strftime-tests module
1599         * tests/test-strftime.c: New file.
1600         * modules/strftime-tests: New module.
1601
1602 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1603
1604         strftime: don't assume a byte count fits in 'int'
1605         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
1606         found this problem by static analysis, using gcc -Wstrict-overflow
1607         (GCC 4.5.2, x86-64).  This reported an optimization that depended
1608         on an integer overflow having undefined behavior, but it turns out
1609         that the argument is a size, which might not fit in 'int' anyway,
1610
1611 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1612
1613         stdio: don't require ignore_value around fwrite
1614
1615         This patch works around libc bug 11959
1616         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
1617         Without this patch, applications must often write
1618         ignore_value (fwrite (...)) even though the ignore_value is
1619         not helpful here.  It's common to write many objects, using
1620         fwrite/printf/etc., and then use ferror to detect output error.
1621
1622         I considered making this patch optional, but decided against it,
1623         because libc is obviously being inconsistent here: there is no
1624         reason libc should insist that user code must inspect fwrite
1625         return's value without also insisting that it inspect printf's,
1626         putchar's, etc.  If user code wants to have a strict style where
1627         all these functions' values are checked (so that ferror need not
1628         be checked), we could add support for that style in a new gnulib
1629         module, but in the meantime it's better to be consistent and to
1630         support common usage.
1631
1632         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
1633         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
1634         that we are compiling in checking mode, and if not C++, and
1635         if not already wrapping fwrite for some other reason.
1636         (fwrite): #define to rpl_fwrite if the latter is defined.
1637
1638 2011-03-20  Bruno Haible  <bruno@clisp.org>
1639
1640         verror: Fix compilation error introduced on 2011-02-13.
1641         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
1642         instead of __attribute__.
1643         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1644
1645 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1646             Bruno Haible  <bruno@clisp.org>
1647
1648         socklen: do not depend on sys_socket
1649         While trying to modify Emacs to use gnulib's socklen module,
1650         I discovered a circular dependency: socklen depends on sys_socket
1651         and vice versa.  Emacs can use socklen, but it does not need
1652         sys_socket because it has its own substitute for sys/socket.h.
1653         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
1654         gl_TYPE_SOCKLEN_T.
1655         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
1656         gl_PREREQ_SYS_H_SOCKET.
1657         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
1658         gl_PREREQ_SYS_H_SOCKET.
1659         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
1660         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
1661         * modules/socklen (Depends-on): Do not depend on sys_socket.
1662         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
1663
1664 2011-03-20  Jim Meyering  <meyering@redhat.com>
1665
1666         maint.mk: sort file names *after* new transformation
1667         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
1668         prefix would have led to an unwarranted failure in GNU parted.
1669         Sort after that transformation.
1670
1671 2011-03-19  Jim Meyering  <meyering@redhat.com>
1672
1673         maint.mk: fix po-file syntax-check rule
1674         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
1675         Patch by Bruno Haible.
1676
1677 2011-03-19  Bruno Haible  <bruno@clisp.org>
1678
1679         socklen: Update comment.
1680         * m4/socklen.m4: Update comment about platforms.
1681
1682 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1683             Bruno Haible  <bruno@clisp.org>
1684
1685         inet_ntop, inet_pton: Simplify.
1686         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
1687         documented to provide socklen_t and we already depend on sys_socket.
1688         * modules/inet_pton (Depends-on): Likewise.
1689         * lib/arpa_inet.in.h: Adjust comment.
1690
1691 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1692             Bruno Haible  <bruno@clisp.org>
1693
1694         netdb: Simplify.
1695         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1696         documented to provide socklen_t and we already depend on sys_socket.
1697         * lib/netdb.in.h: Adjust comment.
1698
1699 2011-03-19  Bruno Haible  <bruno@clisp.org>
1700
1701         sys_socket, netdb: Document problem with socklen_t.
1702         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1703         platforms.
1704         * doc/posix-headers/netdb.texi: Likewise.
1705
1706 2011-03-18  Eric Blake  <eblake@redhat.com>
1707
1708         maint.mk: let po check work in VPATH build
1709         * top/maint.mk (po_file): Allow cfg.mk override.
1710         (sc_po_check): Allow VPATH use.
1711         Reported by Jiri Denemark.
1712
1713 2011-03-16  Jim Meyering  <meyering@redhat.com>
1714
1715         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1716         Before, you would have had to create one .x-sc_ file per rule in order
1717         to exempt offending files.  Now, you may instead use a Make variable --
1718         usually defined in cfg.mk -- whose name identifies the affected rule.
1719         * top/maint.mk (_sc_excl): Define.
1720         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1721         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1722
1723 2011-03-13  Bruno Haible  <bruno@clisp.org>
1724
1725         ignore-value tests: Avoid warnings.
1726         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1727         empty for gcc < 3.4.
1728
1729 2011-03-13  Bruno Haible  <bruno@clisp.org>
1730
1731         passfd: Fix link error on Solaris.
1732         * modules/passfd (Description): Correct.
1733         (Depends-on): Add socketlib.
1734         (Link): New section.
1735         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1736
1737 2011-03-13  Bruno Haible  <bruno@clisp.org>
1738
1739         passfd: Fix link error on AIX 5.2.
1740         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1741
1742 2011-03-13  Bruno Haible  <bruno@clisp.org>
1743
1744         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1745         * lib/sys_socket.in.h: Include <stddef.h>.
1746         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1747         CMSG_FIRSTHDR. Remove unused variable.
1748
1749 2011-03-13  Bruno Haible  <bruno@clisp.org>
1750
1751         passfd: Fix compilation error on OpenBSD.
1752         * lib/passfd.c: Include <sys/uio.h>.
1753
1754 2011-03-13  Bruno Haible  <bruno@clisp.org>
1755
1756         passfd test: Fix warnings.
1757         * tests/test-passfd.c: Include <sys/wait.h>.
1758         (main): Fix typo.
1759
1760 2011-03-13  Bruno Haible  <bruno@clisp.org>
1761
1762         passfd module, part 4, tweaks.
1763         * tests/test-passfd.c: Reorder includes.
1764         (main): Fix perror and printf calls.
1765
1766 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1767
1768         passfd module, part 4.
1769         * modules/passfd-tests: New file.
1770         * tests/test-passfd.c: New file.
1771
1772 2011-03-13  Jim Meyering  <meyering@redhat.com>
1773
1774         Makefile: rely on GNU make; derive syntax-check rule names
1775         Rather than requiring that each sc_ rule be listed as a dependent
1776         of "check", use features of GNU make to derive the list.
1777         * Makefile (syntax-check-rules): Define.
1778         (check): Depend on the new variable, not the hard-coded list.
1779
1780 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1781             Bruno Haible  <bruno@clisp.org>
1782
1783         passfd module, part 3.
1784         * lib/passfd.h (recvfd): Add a flags argument.
1785         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1786         (recvfd): Add a flags argument.
1787         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1788         exists.
1789         * modules/passfd (Depends-on): Add cloexec.
1790         Suggested by Eric Blake.
1791
1792 2011-03-13  Bruno Haible  <bruno@clisp.org>
1793
1794         passfd module, part 2, tweaks.
1795         * modules/passfd (Files): Reorder.
1796         (Depends-on): Remove errno.
1797         (Include): Remove <sys/socket.h>, <sys/un.h>.
1798         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1799         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1800         specification header. Include <sys/socket.h> always. Don't include
1801         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1802         (sendfd): Clarify that it sets errno when it fails.
1803         (recvfd): Fix specification.
1804
1805 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1806
1807         passfd module, part 2.
1808         * modules/passfd: New file.
1809         * lib/passfd.h: New file.
1810         * lib/passfd.c: New file.
1811
1812 2011-03-12  Bruno Haible  <bruno@clisp.org>
1813
1814         wcswidth, mbswidth: Avoid integer overflow.
1815         * lib/wcswidth.c: Include <limits.h>.
1816         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1817         * lib/mbswidth.c: Include <limits.h>.
1818         (mbsnwidth): Avoid 'int' overflow.
1819         Reported by Jim Meyering.
1820
1821 2011-03-12  Bruno Haible  <bruno@clisp.org>
1822
1823         futimens, utimensat: Avoid endless recursion on Solaris 10.
1824         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1825         Solaris.
1826         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1827         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1828
1829 2011-03-11  Jim Meyering  <meyering@redhat.com>
1830
1831         maint.mk: relax a regexp to accommodate other formatting styles
1832         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1833         between "ngettext" and the following "(".
1834
1835 2011-03-11  Pádraig Brady <P@draigBrady.com>
1836
1837         maint.mk: suppress a false positive warning
1838         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1839         diagnostics are marked with ngettext.
1840
1841 2011-03-10  Eric Blake  <eblake@redhat.com>
1842
1843         wchar: add explicit dependencies, for Tru64
1844         * modules/mbmemcasecoll (Depends-on): Add wchar.
1845         * modules/mbtowc (Depends-on): Likewise.
1846         * modules/vasnprintf (Depends-on): Likewise.
1847         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1848         * modules/wctomb (Depends-on): Likewise.
1849         Reported by Peter O'Gorman.
1850
1851 2011-03-08  Bruno Haible  <bruno@clisp.org>
1852
1853         passfd module, part 1, tweaks.
1854         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1855         Improve indentation. Improve AC_MSG_CHECKING messages.
1856         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1857         gl_SOCKET_FAMILIES.
1858
1859 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1860
1861         passfd module, part 1.
1862         * m4/afunix.m4: New file.
1863         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1864         sockets.
1865
1866 2011-03-08  Bruno Haible  <bruno@clisp.org>
1867
1868         regex-quote: New API.
1869         * lib/regex-quote.h: Include <stdbool.h>.
1870         (struct regex_quote_spec): New type.
1871         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1872         New declarations.
1873         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1874         'const struct regex_quote_spec *' argument.
1875         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1876         (pcre_special): New constant.
1877         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1878         New functions.
1879         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1880         'const struct regex_quote_spec *' argument.
1881         * modules/regex-quote (Depends-on): Add stdbool.
1882         * tests/test-regex-quote.c (check): Update for new API. Add test for
1883         anchored results.
1884         * NEWS: Mention the API change.
1885         Reported by Reuben Thomas and Eric Blake.
1886
1887 2011-03-06  Bruno Haible  <bruno@clisp.org>
1888
1889         regex-quote: Fix creation of POSIX extended regular expressions.
1890         * lib/regex-quote.c (ere_special): Add grouping and alternation
1891         operators.
1892
1893 2011-03-05  Bruno Haible  <bruno@clisp.org>
1894
1895         doc: Improve doc regarding autopoint vs. gnulib.
1896         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1897         disable autopoint while running autoreconf.
1898         Suggested by Ralf Wildenhues.
1899
1900 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1901
1902         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1903         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1904
1905 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1906
1907         parse-duration: remove xalloc.h dependency
1908         * lib/parse-duration.c (parse_period): handle NULL return from
1909         strdup instead of calling xstrdup().
1910         * modules/parse-duration: remove "xalloc" dependency
1911
1912 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1913
1914         bootstrap: honor m4_base when running aclocal
1915         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1916
1917 2011-03-02  Jim Meyering  <meyering@redhat.com>
1918
1919         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1920         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1921         on request from Matt Booth.
1922
1923 2011-03-01  Eric Blake  <eblake@redhat.com>
1924
1925         test-link: work on Hurd
1926         * tests/test-link.h (test_link): Hurd rejects linking directories
1927         with EISDIR instead of the POSIX-mandated EPERM.
1928
1929 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1930
1931         stdio: simplify by moving files to printf-posix, sigpipe
1932         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
1933         since this symbol is needed only if printf is replaced.
1934         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
1935         Require gl_ASM_SYMBOL_PREFIX.
1936         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
1937         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
1938         (Depends-on): Add 'raise'.
1939         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
1940         * modules/stdio (Files): Remove lib/stdio-write.c,
1941         m4/asm-underscore.m4.
1942         (Depends-on): Remove 'raise'.
1943
1944         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
1945         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
1946         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
1947         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
1948
1949 2011-02-28  Bruno Haible  <bruno@clisp.org>
1950
1951         localcharset: Assume ANSI C behaviour of free().
1952         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
1953         calling free().
1954         Suggested by Simon Josefsson <simon@josefsson.org>.
1955
1956 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
1957             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
1958             Bruno Haible  <bruno@clisp.org>  (tiny change)
1959
1960         On Cygwin, use /proc file system instead of win32 API.
1961         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
1962         Win32 file names.
1963         (DllMain): Simplify by removing Cygwin specific code.
1964         (find_shared_library_fullname): Use Linux specific implementation also
1965         for Cygwin.
1966         (get_shared_library_fullname): Update accordingly.
1967         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
1968         Win32 file names.
1969         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
1970         Cygwin specific code.
1971
1972 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
1973             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
1974
1975         Fix OpenMP flag detection for various Fortran compilers.
1976         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
1977         OpenMP-conditional compilation construct, to force compile
1978         failure with missing OpenMP flag.
1979         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
1980
1981 2011-02-25  Eric Blake  <eblake@redhat.com>
1982
1983         strstr: expand test coverage
1984         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
1985         compilation.
1986         * tests/test-memmem.c (main): Duplicate tests.
1987         * tests/test-strcasestr.c (main): Likewise.
1988         * tests/test-c-strcasestr.c (main): Likewise.
1989
1990 2011-02-25  Jim Meyering  <meyering@redhat.com>
1991
1992         maint.mk: detect missing-NL-at-EOF, too
1993         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
1994         it also detects when a file lacks a newline at EOF.
1995         (require_exactly_one_NL_at_EOF_): Renamed from
1996         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
1997         since people may well have .x-sc_... file names tied to the
1998         existing name.  Suggested by Eric Blake.
1999
2000 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2001
2002         dirname: move m4/dos.m4 functionality into lib/dosname.h
2003
2004         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
2005         extracts symbols from it, puts them into config.h; but it's much
2006         easier to use the symbols directly.  filename.h already does this,
2007         but it disagrees with dos.m4 in some respects.  This patch
2008         introduces a different include file dosname.h that packages up
2009         dos.m4, and then later we can work on merging filename.h and
2010         dosname.h.  Applications that need only the easy-to-configure
2011         symbols should consider including dosname.h rather than dirname.h.
2012         * NEWS: Mention incompatible changes.
2013         * m4/dos.m4: Remove.
2014         * lib/dosname.h, modules/dosname: New files.
2015         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
2016         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
2017         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
2018         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
2019         Include dosname.h, not dirname.h.
2020         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
2021         Include dosname.h, for definitions of symbols like ISSLASH
2022         that used to be in config.h.
2023         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
2024         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2025         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2026         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2027         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
2028         * modules/rmdir (Files): Likewise.
2029         * modules/stat (Files): Likewise.
2030         * modules/unlink (Files): Likewise.
2031         * modules/dirname-lgpl (Depends-on): Add dosname.
2032         * modules/lstat (Depends-on): Likewise.
2033         * modules/openat (Depends-on): Likewise.
2034         * modules/rmdir (Depends-on): Likewise.
2035         * modules/savewd (Depends-on): Likewise.
2036         * modules/stat (Depends-on): Likewise.
2037         * modules/unlink (Depends-on): Likewise.
2038         * modules/openat (Depends-on): Remove dirname-lgpl.
2039         * modules/savewd (Depends-on): Likewise.
2040         * tests/test-dirname.c: Do not use removed symbols like
2041         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
2042         the remaining symbols, e.g., ISSLASH ('\\').
2043
2044 2011-02-25  Eric Blake  <eblake@redhat.com>
2045
2046         strstr: revert patches that introduced bug and pessimization
2047         * lib/str-two-way.h: Add another reference.
2048         (two_way_short_needle, two_way_long_needle): Revert changes from
2049         2011-02-24; they pessimize search speed.
2050         (critical_factorization): Partially revert changes from
2051         2010-06-22; they violate the requirement that the left half of the
2052         needle be smaller than the period of the needle.
2053
2054 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2055
2056         filenamecat: remove unnecessary dependency on dirname-lgpl
2057         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
2058         is no direct dependency, just an indirect one via filenamecat-lgpl.
2059
2060         remove: remove unnecessary use of m4/dos.m4
2061         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
2062         * modules/remove (FILES): Remove m4/dos.m4.
2063
2064         * lib/openat-proc.c: Don't include dirname.h; not needed.
2065
2066         backupfile: remove unnecessary use of m4/dos.m4
2067         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
2068         of its symbols are used by the backupfile code.  backupfile.c does
2069         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
2070         for the rare case of programs that want all their backup file
2071         names to live within 8+3 limits, and dos.m4 doesn't address that.
2072         * modules/backupfile (Files): Remove m4/dos.m4.
2073
2074 2011-02-24  Jim Meyering  <meyering@redhat.com>
2075
2076         strstr: fix a bug whereby strstr would mistakenly return NULL
2077         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
2078         in period calculation.
2079         (two_way_long_needle): Likewise.
2080         The original problem was reported by Mike Stump in
2081         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
2082         Ralf Wildenhues provided the short needle and haystack.
2083         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
2084         Add a more involved test to trigger the bug in two_way_long_needle.
2085
2086 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2087
2088         gnulib-tool: remove use of bold display in help screen
2089         * gnulib-tool (func_usage): Do not use bold display anymore in the
2090         help screen.  That was just meant to be a temporary emphasis for a
2091         backward-incompatible change.
2092
2093 2011-02-23  Bruno Haible  <bruno@clisp.org>
2094
2095         Fix misindentation of preprocessor directives.
2096         * lib/argp-namefrob.h: Reindent preprocessor directives.
2097         * lib/getopt_int.h (struct _getopt_data): Likewise.
2098         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
2099         * lib/vasnprintf.c (decode_long_double): Likewise.
2100         * tests/test-argmatch.c: Insert blank lines, for clarity.
2101         * tests/test-exclude.c: Likewise.
2102
2103 2011-02-22  Bruno Haible  <bruno@clisp.org>
2104
2105         ioctl: Fix for MacOS X in 64-bit mode.
2106         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
2107         value.
2108         Suggested by Eric Blake.
2109         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
2110
2111 2011-02-22  Jim Meyering  <meyering@redhat.com>
2112
2113         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
2114         * Makefile (sc_cpp_indent_check): Don't limit the check to files
2115         in lib/.
2116
2117 2011-02-22  Eric Blake  <eblake@redhat.com>
2118
2119         maint: avoid any CDPATH issue
2120         * Makefile (sc_cpp_indent_check): Anchor cd argument.
2121
2122         maint: adjust cpp indentation for my modules, as well
2123         * Makefile (sc_cpp_indent_check): Add my name.
2124         * lib/fbufmode.c: Filter through cppi.
2125         * lib/fpurge.c: Likewise.
2126         * lib/freadable.c: Likewise.
2127         * lib/freading.c: Likewise.
2128         * lib/fwritable.c: Likewise.
2129         * lib/fwriting.c: Likewise.
2130         * lib/sigaction.c: Likewise.
2131
2132 2011-02-22  Jim Meyering  <meyering@redhat.com>
2133
2134         maint: adjust cpp indentation to reflect nesting depth
2135         I.e., in a block of code that begins with an unnested "#if",
2136         put one space between the "#" in column 1 and following token.
2137         For example,
2138         -#include <sys/vfs.h>
2139         +# include <sys/vfs.h>
2140         Do this only in .c files that are part of a module I maintain.
2141         * lib/linkat.c: Filter through cppi.
2142         * lib/nanosleep.c: Likewise.
2143         * lib/openat.c: Likewise.
2144         * lib/openat-die.c: Likewise.
2145         * lib/dup3.c: Likewise.
2146         * lib/fchownat.c: Likewise.
2147         * lib/flock.c: Likewise.
2148         * lib/fsync.c: Likewise.
2149         * lib/fts.c: Likewise.
2150         * lib/getpass.c: Likewise.
2151         * lib/gettimeofday.c: Likewise.
2152         * lib/userspec.c: Likewise.
2153         * Makefile (sc_cpp_indent_check): New rule, to check this.
2154
2155 2011-02-22  Bruno Haible  <bruno@clisp.org>
2156
2157         New module 'wctomb'.
2158         * lib/stdlib.in.h (wctomb): New declaration.
2159         * lib/wctomb.c: New file.
2160         * lib/wctomb-impl.h: New file.
2161         * m4/wctomb.m4: New file.
2162         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
2163         REPLACE_WCTOMB.
2164         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
2165         REPLACE_WCTOMB.
2166         * modules/wctomb: New file.
2167         * tests/test-stdlib-c++.cc: Test signature of wctomb.
2168         * doc/posix-functions/wctomb.texi: Mention the new module.
2169         * modules/wctob (Depends-on): Add wctomb.
2170
2171 2011-02-22  Bruno Haible  <bruno@clisp.org>
2172
2173         New module 'mbtowc'.
2174         * lib/stdlib.in.h (mbtowc): New declaration.
2175         * lib/mbtowc.c: New file.
2176         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
2177         * m4/mbtowc.m4: New file.
2178         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
2179         REPLACE_MBTOWC.
2180         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
2181         REPLACE_MBTOWC.
2182         * modules/mbtowc: New file.
2183         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
2184         * doc/posix-functions/mbtowc.texi: Mention the new module.
2185         * modules/btowc (Depends-on): Add mbtowc.
2186
2187 2011-02-22  Bruno Haible  <bruno@clisp.org>
2188
2189         wcrtomb: Add more tests for native Windows platforms.
2190         * tests/test-wcrtomb-w32-1.sh: New file.
2191         * tests/test-wcrtomb-w32-2.sh: New file.
2192         * tests/test-wcrtomb-w32-3.sh: New file.
2193         * tests/test-wcrtomb-w32-4.sh: New file.
2194         * tests/test-wcrtomb-w32-5.sh: New file.
2195         * tests/test-wcrtomb-w32.c: New file.
2196         * modules/wcrtomb-tests (Files): Add them.
2197         (Makefile.am): Arrange to run these tests.
2198         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
2199         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
2200
2201 2011-02-20  Bruno Haible  <bruno@clisp.org>
2202
2203         wcrtomb: Enhance test.
2204         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
2205
2206 2011-02-20  Bruno Haible  <bruno@clisp.org>
2207
2208         mbrtowc: Tiny optimization.
2209         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
2210
2211 2011-02-20  Jim Meyering  <meyering@redhat.com>
2212
2213         test-exclude.c: remove unmatched #endif
2214         * tests/test-exclude.c: Remove stray #endif, left over from
2215         the change of a week ago.
2216
2217 2011-02-19  Jim Meyering  <meyering@redhat.com>
2218
2219         git-version-gen: skip "-dirty" check when appropriate
2220         * build-aux/git-version-gen: Don't run any git commands when the
2221         version string comes from .tarball-version.  Prior to this, we
2222         would run git update-index --refresh even from a just-unpacked
2223         tarball directory, and that could affect a .git/ directory in a
2224         parent of the build directory.  Reported by Mike Frysinger.
2225
2226 2011-02-19  Bruno Haible  <bruno@clisp.org>
2227
2228         unictype/property-byname: Reduce the size of the 'data' segment.
2229         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
2230
2231 2011-02-19  Bruno Haible  <bruno@clisp.org>
2232
2233         unictype/scripts: Reduce the size of the 'data' segment.
2234         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
2235         '%pic'.
2236         * lib/unictype/scripts_byname.gperf: Regenerated.
2237
2238 2011-02-19  Bruno Haible  <bruno@clisp.org>
2239
2240         stdint: Update documentation.
2241         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
2242
2243 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
2244
2245         stdint: omit redundant check for wchar.h
2246         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
2247         always tests whether wchar.h exists, so remove the now-redundant test.
2248
2249 2011-02-18  Bruno Haible  <bruno@clisp.org>
2250
2251         stdint: Cut dependency to module 'wchar'.
2252         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
2253         include the necessary prerequisites.
2254         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
2255         * modules/stdint (Depends-on): Remove wchar.
2256         (Makefile.am): Substitute HAVE_WCHAR_H.
2257         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
2258
2259 2011-02-18  Eric Blake  <eblake@redhat.com>
2260
2261         longlong: skip, rather than fail, on cross-compilation
2262         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
2263         when cross-compiling; regression from 2011-02-16.
2264
2265 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2266
2267         * NEWS: Mention 2011-02-08 change to stdlib.
2268
2269 2011-02-17  Bruno Haible  <bruno@clisp.org>
2270
2271         getloadavg: Add comments about platforms.
2272         * m4/getloadavg.m4: Add comment.
2273         * lib/getloadavg.c: Likewise.
2274
2275 2011-02-17  Bruno Haible  <bruno@clisp.org>
2276
2277         getloadavg: Fix link error on Solaris 2.6.
2278         * modules/getloadavg (Link): New section.
2279         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
2280         linking test-getloadavg.
2281         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
2282         getloadavg.
2283
2284 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2285
2286         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
2287         It was 'int', but this doesn't match the IRIX 6.5 manual.
2288         Suggested by Bruno Haible in
2289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
2290
2291 2011-02-17  Bruno Haible  <bruno@clisp.org>
2292
2293         havelib: Fix comments.
2294         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
2295         change.
2296
2297 2011-02-17  Bruno Haible  <bruno@clisp.org>
2298
2299         havelib: Update config.rpath.
2300         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
2301
2302 2011-02-17  Bruno Haible  <bruno@clisp.org>
2303
2304         getloadavg test: Add some plausibility checks.
2305         * tests/test-getloadavg.c (check_avg): Print a warning when the value
2306         is improbable.
2307
2308 2011-02-16  Eric Blake  <eblake@redhat.com>
2309
2310         maintainer-makefile: make syntax-check a no-op from tarballs
2311         * top/maint.mk (no-vc-detected): New rule.
2312         (local-checks-available): Use it to avoid hanging if someone tries
2313         'make syntax-check' from a tarball.  Also append to any non-syntax
2314         checks already defined in cfg.mk.
2315
2316 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
2317
2318         longlong: tune, particularly for common case of c99
2319
2320         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
2321         or running anything if c99, or if unsigned long long int does not
2322         work.  In either case, we know the answer without further tests.
2323         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
2324         it at most once, and use its results for both long long int and
2325         unsigned long long int.  This is more likely to be efficient in
2326         the common case where the program wants to check for both long
2327         long int and unsigned long long int.
2328         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
2329         since the answer is already known.
2330
2331 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
2332
2333         getloadavg: set errno
2334         * lib/getloadavg.c: Set errno when returning -1.  If no other
2335         error number looks appropriate, set it to ENOSYS if the getloadavg
2336         looks like it can't possibly ever work, ENOTSUP otherwise.
2337         Suggested by Bruno Haible in
2338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
2339
2340         getloadavg: trim unused parts and speed up 'configure'
2341         * NEWS: Document this.
2342         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
2343         always compiled if getloadavg is absent.
2344         Move test code to ...
2345         * tests/test-getloadavg.c: New file, containing previous
2346         contents of test from lib/getloadavg.c.  It also contains
2347         suggestions by Bruno Haible in
2348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
2349         * modules/getloadavg-tests: New file.
2350         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
2351         Do tests in the same order as they're needed for getloadavg.c.
2352         Omit setgid-related tests that generate symbols KMEM_GROUP,
2353         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
2354         Do only the tests that are needed to see whether the system has
2355         getloadavg, moving the other tests into ...
2356         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
2357         NLIST_NAME_UNION; nobody should be using it.  Do not define
2358         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
2359         relevant, as the user of this module shouldn't care how getloadavg
2360         is implemented.
2361
2362         getloadavg: omit unused var
2363         * lib/getloadavg.c (getloadavg): Omit unused local variable.
2364
2365 2011-02-15  Jim Meyering  <meyering@redhat.com>
2366
2367         doc: update users.txt
2368         * users.txt: Update iwhd's URL.
2369
2370 2011-02-13  Bruno Haible  <bruno@clisp.org>
2371
2372         Consistent macro naming for macros that use GCC __attribute__.
2373         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
2374         _ATTRIBUTE_NONNULL_.
2375         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
2376         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
2377         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
2378         ATTRIBUTE_DEPRECATED.
2379         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
2380         ATTRIBUTE_NORETURN.
2381         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2382         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2383         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2384         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2385         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
2386         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
2387         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
2388         ATTRIBUTE_SENTINEL.
2389         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
2390         ATTRIBUTE_RETURN_CHECK.
2391         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
2392         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
2393         ATTRIBUTE_NORETURN.
2394         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
2395         Reported by Paul Eggert.
2396
2397 2011-02-13  Bruno Haible  <bruno@clisp.org>
2398
2399         Don't interfere with a program's definition of __attribute__.
2400         * lib/argp.h (__attribute__): Remove definition.
2401         (_GL_ATTRIBUTE_FORMAT): New macro.
2402         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
2403         * lib/argp-fmtstream.h (__attribute__): Remove definition.
2404         (_GL_ATTRIBUTE_FORMAT): New macro.
2405         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
2406         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
2407         GCC 3 or newer.
2408         * lib/error.h (__attribute__): Remove definition.
2409         (_GL_ATTRIBUTE_FORMAT): New macro.
2410         (error, error_at_line): Use it.
2411         * lib/hash.h (__attribute__): Remove definition.
2412         (ATTRIBUTE_WUR): Update definition. Define always.
2413         * lib/openat.h (__attribute__): Remove definition.
2414         (ATTRIBUTE_NORETURN): Update definition. Define always.
2415         * lib/sigpipe-die.h (__attribute__): Remove definition.
2416         (ATTRIBUTE_NORETURN): Update definition. Define always.
2417         * lib/vasnprintf.h (__attribute__): Remove definition.
2418         (_GL_ATTRIBUTE_FORMAT): New macro.
2419         (asnprintf, vasnprintf): Use it.
2420         * lib/xalloc.h (__attribute__): Remove definition.
2421         (ATTRIBUTE_NORETURN): Update definition. Define always.
2422         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
2423         * lib/xmemdup0.h (__attribute__): Remove definition.
2424         (ATTRIBUTE_NORETURN): Update definition. Define always.
2425         * lib/xprintf.h (__attribute__): Remove definition.
2426         (_GL_ATTRIBUTE_FORMAT): New macro.
2427         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
2428         * lib/xstrtol.h (__attribute__): Remove definition.
2429         (ATTRIBUTE_NORETURN): Update definition. Define always.
2430         * lib/xvasprintf.h (__attribute__): Remove definition.
2431         (_GL_ATTRIBUTE_FORMAT): New macro.
2432         (xasprintf, xvasprintf): Use it.
2433         * tests/test-argmatch.c (__attribute__): Remove definition.
2434         (ATTRIBUTE_NORETURN): Update definition. Define always.
2435         * tests/test-exclude.c (__attribute__): Remove definition.
2436         (ATTRIBUTE_NORETURN): Update definition. Define always.
2437         Reported by Paul Eggert.
2438
2439 2011-02-13  Bruno Haible  <bruno@clisp.org>
2440
2441         mbrtowc: Add more tests for native Windows platforms.
2442         * tests/test-mbrtowc-w32-1.sh: New file.
2443         * tests/test-mbrtowc-w32-2.sh: New file.
2444         * tests/test-mbrtowc-w32-3.sh: New file.
2445         * tests/test-mbrtowc-w32-4.sh: New file.
2446         * tests/test-mbrtowc-w32-5.sh: New file.
2447         * tests/test-mbrtowc-w32.c: New file.
2448         * modules/mbrtowc-tests (Files): Add them.
2449         (Makefile.am): Arrange to run these tests.
2450         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
2451         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
2452
2453 2011-02-13  Bruno Haible  <bruno@clisp.org>
2454
2455         mbrtowc: Work around native Windows bug.
2456         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
2457         guess when no suitable locale for testing was found.
2458         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
2459
2460 2011-02-13  Bruno Haible  <bruno@clisp.org>
2461
2462         mbsinit: Work around mingw bug.
2463         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
2464         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
2465         Windows.
2466         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
2467
2468 2011-02-13  Bruno Haible  <bruno@clisp.org>
2469
2470         mbsinit: Don't crash for a NULL argument.
2471         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
2472         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
2473
2474 2011-02-13  Bruno Haible  <bruno@clisp.org>
2475
2476         Don't interfere with a program's definition of __attribute__.
2477         * lib/stdio.in.h (__attribute__): Remove definition.
2478         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
2479         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
2480         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
2481         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
2482         * lib/string.in.h (__attribute__): Remove definition.
2483         Reported by Paul Eggert.
2484
2485 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2486
2487         stdlib: don't get in the way of non-GCC __attribute__
2488         See thread starting at
2489         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
2490         Revert previous stdlib change, installing the following instead:
2491         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
2492         to get in the way of a non-GCC compiler that supports __attribute__.
2493         (_GL_ATTRIBUTE_RETURN): New macro.
2494         (_Exit): Use it instead of __attribute__.
2495
2496 2011-02-12  Bruno Haible  <bruno@clisp.org>
2497
2498         quotearg test: Avoid test failure on mingw.
2499         * tests/test-quotearg.sh: Convert the locale identifier from native
2500         Windows syntax to Unix syntax.
2501
2502 2011-02-12  Bruno Haible  <bruno@clisp.org>
2503
2504         setlocale: Prefer gnulib's override over libintl's override.
2505         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
2506         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
2507         GNULIB_defined_setlocale is set.
2508
2509 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2510
2511         stdlib: support non-GCC __attribute__
2512
2513         Fix a serious and tricky problem encountered when attempting to
2514         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
2515         5.5, but it crashed due to memory corruption on Solaris 10 with
2516         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
2517         bits that are otherwise zero.  This tagging is optional inside
2518         Emacs but is preferred and is used when __attribute__ ((__aligned
2519         (8))) works, as it does with both recent-enough GCC and with Sun C
2520         5.11.  However, Sun C 5.11 is not GCC and does not #define
2521         __GNUC__ and __GNUC_MINOR__.
2522
2523         When I added the getloadavg module to Emacs, it brought in
2524         stdlib.in.h, which contained this fragment:
2525
2526            #ifndef __attribute__
2527            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
2528            #  define __attribute__(Spec)   /* empty */
2529            # endif
2530            #endif
2531
2532         When files that include <stdlib.h> were compiled with Sun C 5.11,
2533         the above code disabled __attribute__ ((__aligned (8))), which
2534         caused variables to not be properly aligned, which eventually led
2535         to the pointer corruption mentioned above.  (This was a bit hard
2536         to diagnose, unfortunately.)
2537
2538         Several "#define __attribute__(X) /* empty */" code snippets need
2539         to be eradicated from Gnulib to work with non-GCC compilers that
2540         support __attribute__.  The Autoconf way to do this is to test for
2541         each kind of attribute that we want support for, and selectively
2542         enable that in source code.
2543
2544         Fix this problem just for stdlib.h, by adding a test for the
2545         __noreturn__ attribute, and change stdlib.in.h to use that test
2546         when needed.  This technique can be easily generalized to the
2547         other *.in.h files and attributes, and a similar technique can be
2548         used for *.h and *.c files.  This patch is enough to solve the
2549         problem for Emacs + getloadavg, and I thought I'd publish it for
2550         feedback before undertaking further, similar fixes in other
2551         modules.
2552
2553         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
2554         because it's not needed for stdlib.h.  It merely substitutes the
2555         value directly into stdlib.h.  We may well need to #define it, or
2556         similar symbols, for other modules, but it's nice to also have an
2557         option to not #define it for applications like Emacs that do not
2558         need it.
2559
2560         * lib/stdlib.in.h (__attribute__): Do not #define.
2561         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
2562         be defined only if the _Exit module is also used.
2563         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
2564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
2565         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
2566         platforms.
2567         * modules/_Exit (Files): Add m4/attribute.m4.
2568         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
2569         * m4/attribute.m4: New file.
2570
2571 2011-02-12  Bruno Haible  <bruno@clisp.org>
2572
2573         wcsrtombs: Work around bug on native Windows.
2574         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
2575         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
2576         instead of len.
2577         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
2578
2579 2011-02-12  Bruno Haible  <bruno@clisp.org>
2580
2581         mbsrtowcs: Work around bug on native Windows.
2582         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
2583         against mingw bug.
2584         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
2585
2586 2011-02-12  Bruno Haible  <bruno@clisp.org>
2587
2588         Avoid setlocale bugs in tests.
2589         * modules/btowc (Dependencies): Add setlocale.
2590         * modules/c-strcase (Dependencies): Likewise.
2591         * modules/mbmemcasecmp (Dependencies): Likewise.
2592         * modules/mbmemcasecoll (Dependencies): Likewise.
2593         * modules/mbrtowc (Dependencies): Likewise.
2594         * modules/mbscasecmp (Dependencies): Likewise.
2595         * modules/mbscasestr (Dependencies): Likewise.
2596         * modules/mbschr (Dependencies): Likewise.
2597         * modules/mbscspn (Dependencies): Likewise.
2598         * modules/mbsinit (Dependencies): Likewise.
2599         * modules/mbsncasecmp (Dependencies): Likewise.
2600         * modules/mbsnrtowcs (Dependencies): Likewise.
2601         * modules/mbspbrk (Dependencies): Likewise.
2602         * modules/mbspcasecmp (Dependencies): Likewise.
2603         * modules/mbsrchr (Dependencies): Likewise.
2604         * modules/mbsrtowcs (Dependencies): Likewise.
2605         * modules/mbsspn (Dependencies): Likewise.
2606         * modules/mbsstr (Dependencies): Likewise.
2607         * modules/nl_langinfo (Dependencies): Likewise.
2608         * modules/quotearg (Dependencies): Likewise.
2609         * modules/unicase/locale-language (Dependencies): Likewise.
2610         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
2611         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
2612         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
2613         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
2614         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
2615         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
2616         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
2617         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
2618         * modules/vasnprintf-posix (Dependencies): Likewise.
2619         * modules/wcrtomb (Dependencies): Likewise.
2620         * modules/wcsnrtombs (Dependencies): Likewise.
2621         * modules/wcsrtombs (Dependencies): Likewise.
2622
2623 2011-02-12  Bruno Haible  <bruno@clisp.org>
2624
2625         setlocale: Workaround native Windows bug.
2626         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
2627         succeeds but sets LC_CTYPE to "C", report a failure.
2628         * tests/test-setlocale2.sh: New file.
2629         * tests/test-setlocale2.c: New file.
2630         * modules/setlocale-tests (Files): Add the new files.
2631         (Makefile.am): Enable test-setlocale2.sh test.
2632         * doc/posix-functions/setlocale.texi: Mention workaround.
2633
2634 2011-02-11  Bruno Haible  <bruno@clisp.org>
2635
2636         Tests for module 'setlocale'.
2637         * modules/setlocale-tests: New file.
2638         * tests/test-setlocale1.sh: New file.
2639         * tests/test-setlocale1.c: New file.
2640
2641         New module 'setlocale'.
2642         * lib/locale.in.h (setlocale): New declaration.
2643         * lib/setlocale.c: New file, based on
2644         gettext/gettext-runtime/intl/setlocale.c.
2645         * m4/setlocale.m4: New file.
2646         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
2647         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
2648         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
2649         REPLACE_SETLOCALE.
2650         * modules/setlocale: New file.
2651         * tests/test-locale-c++.cc: Test the declaration of setlocale.
2652         * doc/posix-functions/setlocale.texi: Mention the new module.
2653
2654 2011-02-11  Bruno Haible  <bruno@clisp.org>
2655
2656         Prepare for locale dependent tests on mingw.
2657         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
2658         because it has the wrong locale encoding.
2659         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
2660         French_France.1252 instead of "fr".
2661         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
2662         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
2663         because it has the wrong locale encoding.
2664         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
2665         native Windows, try Turkish_Turkey.65001.
2666         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
2667         Chinese_China.54936.
2668
2669         Prepare for locale dependent tests on mingw.
2670         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
2671         differently.
2672         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2673         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2674         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2675         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2676
2677 2011-02-11  Eric Blake  <eblake@redhat.com>
2678
2679         strptime: avoid compiler warnings
2680         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
2681         compiler warnings about dead code.
2682         Reported by Daniel P. Berrange.
2683
2684 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
2685
2686         doc: update users.txt
2687         * users.txt: Add rcs.
2688
2689 2011-02-10  John W. Eaton  <jwe@gnu.org>
2690
2691         doc: update users.txt
2692         * users.txt: Add octave.
2693
2694 2011-02-10  Jim Meyering  <meyering@redhat.com>
2695
2696         doc: update users.txt
2697         * users.txt: Add iwhd.
2698
2699 2011-02-09  Bruno Haible  <bruno@clisp.org>
2700
2701         gnulib-tool: Make copyright notice adjustment more robust.
2702         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2703         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2704         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2705         License".
2706         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2707
2708 2011-02-06  Bruno Haible  <bruno@clisp.org>
2709
2710         New module 'towctrans'.
2711         * modules/towctrans: New file.
2712         * lib/wctype.in.h (towctrans): New declaration.
2713         * lib/towctrans.c: New file.
2714         * lib/towctrans-impl.h: New file.
2715         * m4/towctrans.m4: New file.
2716         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2717         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2718         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2719         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2720         * doc/posix-functions/towctrans.texi: Mention the new module.
2721
2722 2011-02-06  Bruno Haible  <bruno@clisp.org>
2723
2724         New module 'wctrans'.
2725         * modules/wctrans: New file.
2726         * lib/wctype.in.h (wctrans): New declaration.
2727         * lib/wctrans.c: New file.
2728         * lib/wctrans-impl.h: New file.
2729         * m4/wctrans.m4: New file.
2730         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2731         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2732         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2733         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2734         * doc/posix-functions/wctrans.texi: Mention the new module.
2735
2736 2011-02-06  Bruno Haible  <bruno@clisp.org>
2737
2738         New module 'iswctype'.
2739         * modules/iswctype: New file.
2740         * lib/wctype.in.h (iswctype): New declaration.
2741         * lib/iswctype.c: New file.
2742         * lib/iswctype-impl.h: New file.
2743         * m4/iswctype.m4: New file.
2744         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2745         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2746         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2747         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2748         * doc/posix-functions/iswctype.texi: Mention the new module and the
2749         HP-UX 11.00 problem.
2750
2751 2011-02-06  Bruno Haible  <bruno@clisp.org>
2752
2753         New module 'wctype'.
2754         * modules/wctype: Change to represent the wctype() substitute.
2755         * lib/wctype.in.h (wctype): New declaration.
2756         * lib/wctype.c: New file.
2757         * lib/wctype-impl.h: New file.
2758         * m4/wctype.m4: New file.
2759         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2760         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2761         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2762         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2763         * doc/posix-functions/wctype.texi: Mention the new module and the
2764         HP-UX 11.00 problem.
2765
2766 2011-02-06  Bruno Haible  <bruno@clisp.org>
2767
2768         wctype-h: Ensure wctype_t and wctrans_t are defined.
2769         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2770         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2771         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2772         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2773         HAVE_WCTRANS_T.
2774         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2775
2776 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2777
2778         flock: fix license typo
2779
2780         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2781         omitted.
2782
2783 2011-02-08  Bruno Haible  <bruno@clisp.org>
2784
2785         Split large sed scripts, for HP-UX sed.
2786         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2787         to avoid HP-UX limit of 99 commands, in the near future.
2788         * modules/stdlib (Makefile.am): Likewise.
2789         * modules/unistd (Makefile.am): Likewise.
2790         * modules/wchar (Makefile.am): Likewise.
2791         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2792         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2793         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2794
2795 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2796             Bruno Haible  <bruno@clisp.org>
2797
2798         stdlib: improve random_r modularization
2799         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2800         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2801         you also need the random_r module to get this material right.
2802         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2803         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2804         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2805
2806 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2807
2808         stdlib: don't depend on stdint
2809         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2810         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2811         be independent of whether stdint.h is needed.
2812         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2813         here, instead of ...
2814         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2815         struct random_data should be using the random_r module, not just
2816         the stdlib module (which wouldn't make sense: what package needs
2817         just struct random_data without also needing random_r?).
2818         * modules/stdlib (Depends-on): Remove stdint.
2819
2820         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2821         See the thread rooted at
2822         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2823         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2824         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2825         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2826         __VMS)); previously it was always included (via fcntl--.h).
2827         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2828         hand; this is good enough for load averages.  Also, do not use
2829         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2830         flags directly if available and don't bother otherwise.  (Packages
2831         that need the extra reliability should use the modules that define
2832         these flags on older platforms that lack them.)
2833         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2834         fcntl-safer.
2835
2836 2011-02-08  Jim Meyering  <meyering@redhat.com>
2837
2838         di-set.h, ino-map.h: add multiple-inclusion guard
2839         Technically, the guard is required only for ino-map.h, due to its
2840         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2841         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2842         * lib/ino-map.h: Likewise.
2843
2844 2011-02-06  Bruno Haible  <bruno@clisp.org>
2845
2846         iswblank: Ensure declaration on glibc systems.
2847         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2848         * modules/iswblank (Dependencies): Add 'extensions'.
2849         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2850
2851 2011-02-06  Bruno Haible  <bruno@clisp.org>
2852
2853         New module 'iswblank'.
2854         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2855         * modules/iswblank: New file.
2856         * modules/wctype-h (Files): Remove lib/iswblank.c.
2857         (Makefile.am): Substitute GNULIB_ISWBLANK.
2858         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2859         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2860         (gl_WCTYPE_H_DEFAULTS): New macro.
2861         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2862         * modules/iswblank-tests: New file.
2863         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2864         * tests/test-wctype-h.c (main): Remove iswblank tests.
2865         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2866         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2867         of 'wctype-h'.
2868         * NEWS: Mention the change.
2869         * modules/mbchar (Depends-on): Add iswblank.
2870
2871 2011-02-08  Bruno Haible  <bruno@clisp.org>
2872
2873         di-set tests: Refactor.
2874         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2875         unnecessary includes.
2876         (ASSERT): Remove macro.
2877         (main): Make C90 compliant by avoiding variable declaration after
2878         statement.
2879         * modules/di-set-tests (Files): Add tests/macros.h.
2880
2881 2011-02-08  Bruno Haible  <bruno@clisp.org>
2882
2883         ino-map tests: Refactor.
2884         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2885         unnecessary includes.
2886         (ASSERT): Remove macro.
2887         (main): Make C90 compliant by avoiding variable declaration after
2888         statement.
2889         * modules/ino-map-tests (Files): Add tests/macros.h.
2890
2891 2011-02-08  Jim Meyering  <meyering@redhat.com>
2892
2893         di-set: add "const" to a cast
2894         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2895         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2896
2897 2011-02-06  Bruno Haible  <bruno@clisp.org>
2898
2899         Rename module 'wctype' to 'wctype-h'.
2900         * modules/wctype-h: Renamed from modules/wctype.
2901         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2902         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2903         (Files, Depends-on, Makefile.am): Update.
2904         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2905         (Files, Makefile.am): Update.
2906         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2907         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2908         * doc/posix-headers/wctype.texi: Update.
2909         * doc/posix-functions/iswalnum.texi: Update.
2910         * doc/posix-functions/iswalpha.texi: Update.
2911         * doc/posix-functions/iswblank.texi: Update.
2912         * doc/posix-functions/iswcntrl.texi: Update.
2913         * doc/posix-functions/iswdigit.texi: Update.
2914         * doc/posix-functions/iswgraph.texi: Update.
2915         * doc/posix-functions/iswlower.texi: Update.
2916         * doc/posix-functions/iswprint.texi: Update.
2917         * doc/posix-functions/iswpunct.texi: Update.
2918         * doc/posix-functions/iswspace.texi: Update.
2919         * doc/posix-functions/iswupper.texi: Update.
2920         * doc/posix-functions/iswxdigit.texi: Update.
2921         * doc/posix-functions/towlower.texi: Update.
2922         * doc/posix-functions/towupper.texi: Update.
2923         * NEWS: Mention the change.
2924         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2925         * modules/mbchar (Dependencies): Likewise.
2926         * modules/mbswidth (Dependencies): Likewise.
2927         * modules/quotearg (Dependencies): Likewise.
2928         * modules/regex (Dependencies): Likewise.
2929         * modules/wcscasecmp (Dependencies): Likewise.
2930         * modules/wcsncasecmp (Dependencies): Likewise.
2931         * modules/wcwidth (Dependencies): Likewise.
2932
2933 2011-02-06  Bruno Haible  <bruno@clisp.org>
2934
2935         New module 'wcswidth'.
2936         * modules/wcswidth: New file.
2937         * lib/wchar.in.h (wcswidth): New declaration.
2938         * lib/wcswidth.c: New file.
2939         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
2940         * m4/wcswidth.m4: New file.
2941         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
2942         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
2943         REPLACE_WCSWIDTH.
2944         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
2945         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
2946         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
2947         * doc/posix-functions/wcswidth.texi: Mention the new module.
2948
2949 2011-02-06  Bruno Haible  <bruno@clisp.org>
2950
2951         New module 'wcstok'.
2952         * modules/wcstok: New file.
2953         * lib/wchar.in.h (wcstok): New declaration.
2954         * lib/wcstok.c: New file.
2955         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
2956         * m4/wcstok.m4: New file.
2957         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
2958         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
2959         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
2960         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
2961         * doc/posix-functions/wcstok.texi: Mention the new module.
2962
2963 2011-02-06  Bruno Haible  <bruno@clisp.org>
2964
2965         New module 'wcsstr'.
2966         * modules/wcsstr: New file.
2967         * lib/wchar.in.h (wcsstr): New declaration.
2968         * lib/wcsstr.c: New file.
2969         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
2970         * m4/wcsstr.m4: New file.
2971         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
2972         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
2973         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
2974         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
2975         * doc/posix-functions/wcsstr.texi: Mention the new module.
2976
2977 2011-02-06  Bruno Haible  <bruno@clisp.org>
2978
2979         New module 'wcspbrk'.
2980         * modules/wcspbrk: New file.
2981         * lib/wchar.in.h (wcspbrk): New declaration.
2982         * lib/wcspbrk.c: New file.
2983         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
2984         * m4/wcspbrk.m4: New file.
2985         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
2986         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
2987         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
2988         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
2989         * doc/posix-functions/wcspbrk.texi: Mention the new module.
2990
2991 2011-02-06  Bruno Haible  <bruno@clisp.org>
2992
2993         New module 'wcsspn'.
2994         * modules/wcsspn: New file.
2995         * lib/wchar.in.h (wcsspn): New declaration.
2996         * lib/wcsspn.c: New file.
2997         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
2998         * m4/wcsspn.m4: New file.
2999         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
3000         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
3001         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
3002         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
3003         * doc/posix-functions/wcsspn.texi: Mention the new module.
3004
3005 2011-02-06  Bruno Haible  <bruno@clisp.org>
3006
3007         New module 'wcscspn'.
3008         * modules/wcscspn: New file.
3009         * lib/wchar.in.h (wcscspn): New declaration.
3010         * lib/wcscspn.c: New file.
3011         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
3012         * m4/wcscspn.m4: New file.
3013         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
3014         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
3015         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
3016         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
3017         * doc/posix-functions/wcscspn.texi: Mention the new module.
3018
3019 2011-02-06  Bruno Haible  <bruno@clisp.org>
3020
3021         New module 'wcsrchr'.
3022         * modules/wcsrchr: New file.
3023         * lib/wchar.in.h (wcsrchr): New declaration.
3024         * lib/wcsrchr.c: New file.
3025         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
3026         * m4/wcsrchr.m4: New file.
3027         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
3028         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
3029         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
3030         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
3031         * doc/posix-functions/wcsrchr.texi: Mention the new module.
3032
3033 2011-02-06  Bruno Haible  <bruno@clisp.org>
3034
3035         New module 'wcschr'.
3036         * modules/wcschr: New file.
3037         * lib/wchar.in.h (wcschr): New declaration.
3038         * lib/wcschr.c: New file.
3039         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
3040         * m4/wcschr.m4: New file.
3041         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
3042         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
3043         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
3044         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
3045         * doc/posix-functions/wcschr.texi: Mention the new module.
3046
3047 2011-02-06  Bruno Haible  <bruno@clisp.org>
3048
3049         New module 'wcsdup'.
3050         * modules/wcsdup: New file.
3051         * lib/wchar.in.h (wcsdup): New declaration.
3052         * lib/wcsdup.c: New file.
3053         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
3054         * m4/wcsdup.m4: New file.
3055         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
3056         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
3057         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
3058         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
3059         * doc/posix-functions/wcsdup.texi: Mention the new module.
3060
3061 2011-02-06  Bruno Haible  <bruno@clisp.org>
3062
3063         New module 'wcsxfrm'.
3064         * modules/wcsxfrm: New file.
3065         * lib/wchar.in.h (wcsxfrm): New declaration.
3066         * lib/wcsxfrm.c: New file.
3067         * lib/wcsxfrm-impl.h: New file.
3068         * m4/wcsxfrm.m4: New file.
3069         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
3070         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
3071         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
3072         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
3073         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
3074
3075 2011-02-06  Bruno Haible  <bruno@clisp.org>
3076
3077         New module 'wcscoll'.
3078         * modules/wcscoll: New file.
3079         * lib/wchar.in.h (wcscoll): New declaration.
3080         * lib/wcscoll.c: New file.
3081         * lib/wcscoll-impl.h: New file.
3082         * m4/wcscoll.m4: New file.
3083         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
3084         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
3085         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
3086         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
3087         * doc/posix-functions/wcscoll.texi: Mention the new module.
3088
3089 2011-02-06  Bruno Haible  <bruno@clisp.org>
3090
3091         New module 'wcsncasecmp'.
3092         * modules/wcsncasecmp: New file.
3093         * lib/wchar.in.h (wcsncasecmp): New declaration.
3094         * lib/wcsncasecmp.c: New file.
3095         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
3096         * m4/wcsncasecmp.m4: New file.
3097         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
3098         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
3099         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
3100         HAVE_WCSNCASECMP.
3101         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
3102         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
3103
3104 2011-02-06  Bruno Haible  <bruno@clisp.org>
3105
3106         New module 'wcscasecmp'.
3107         * modules/wcscasecmp: New file.
3108         * lib/wchar.in.h (wcscasecmp): New declaration.
3109         * lib/wcscasecmp.c: New file.
3110         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
3111         * m4/wcscasecmp.m4: New file.
3112         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
3113         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
3114         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
3115         HAVE_WCSCASECMP.
3116         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
3117         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
3118
3119 2011-02-05  Bruno Haible  <bruno@clisp.org>
3120
3121         New module 'wcsncmp'.
3122         * modules/wcsncmp: New file.
3123         * lib/wchar.in.h (wcsncmp): New declaration.
3124         * lib/wcsncmp.c: New file.
3125         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
3126         * m4/wcsncmp.m4: New file.
3127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
3128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
3129         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
3130         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
3131         * doc/posix-functions/wcsncmp.texi: Mention the new module.
3132
3133 2011-02-05  Bruno Haible  <bruno@clisp.org>
3134
3135         New module 'wcscmp'.
3136         * modules/wcscmp: New file.
3137         * lib/wchar.in.h (wcscmp): New declaration.
3138         * lib/wcscmp.c: New file.
3139         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
3140         * m4/wcscmp.m4: New file.
3141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
3142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
3143         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
3144         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
3145         * doc/posix-functions/wcscmp.texi: Mention the new module.
3146
3147 2011-02-05  Bruno Haible  <bruno@clisp.org>
3148
3149         New module 'wcsncat'.
3150         * modules/wcsncat: New file.
3151         * lib/wchar.in.h (wcsncat): New declaration.
3152         * lib/wcsncat.c: New file.
3153         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
3154         * m4/wcsncat.m4: New file.
3155         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
3156         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
3157         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
3158         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
3159         * doc/posix-functions/wcsncat.texi: Mention the new module.
3160
3161 2011-02-05  Bruno Haible  <bruno@clisp.org>
3162
3163         New module 'wcscat'.
3164         * modules/wcscat: New file.
3165         * lib/wchar.in.h (wcscat): New declaration.
3166         * lib/wcscat.c: New file.
3167         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
3168         * m4/wcscat.m4: New file.
3169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
3170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
3171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
3172         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
3173         * doc/posix-functions/wcscat.texi: Mention the new module.
3174
3175 2011-02-05  Bruno Haible  <bruno@clisp.org>
3176
3177         New module 'wcpncpy'.
3178         * modules/wcpncpy: New file.
3179         * lib/wchar.in.h (wcpncpy): New declaration.
3180         * lib/wcpncpy.c: New file.
3181         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
3182         * m4/wcpncpy.m4: New file.
3183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
3184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
3185         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
3186         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
3187         * doc/posix-functions/wcpncpy.texi: Mention the new module.
3188
3189 2011-02-05  Bruno Haible  <bruno@clisp.org>
3190
3191         New module 'wcsncpy'.
3192         * modules/wcsncpy: New file.
3193         * lib/wchar.in.h (wcsncpy): New declaration.
3194         * lib/wcsncpy.c: New file.
3195         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
3196         * m4/wcsncpy.m4: New file.
3197         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
3198         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
3199         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
3200         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
3201         * doc/posix-functions/wcsncpy.texi: Mention the new module.
3202
3203 2011-02-05  Bruno Haible  <bruno@clisp.org>
3204
3205         New module 'wcpcpy'.
3206         * modules/wcpcpy: New file.
3207         * lib/wchar.in.h (wcpcpy): New declaration.
3208         * lib/wcpcpy.c: New file.
3209         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
3210         * m4/wcpcpy.m4: New file.
3211         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
3212         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
3213         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
3214         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
3215         * doc/posix-functions/wcpcpy.texi: Mention the new module.
3216
3217 2011-02-05  Bruno Haible  <bruno@clisp.org>
3218
3219         New module 'wcscpy'.
3220         * modules/wcscpy: New file.
3221         * lib/wchar.in.h (wcscpy): New declaration.
3222         * lib/wcscpy.c: New file.
3223         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
3224         * m4/wcscpy.m4: New file.
3225         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
3226         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
3227         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
3228         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
3229         * doc/posix-functions/wcscpy.texi: Mention the new module.
3230
3231 2011-02-05  Bruno Haible  <bruno@clisp.org>
3232
3233         New module 'wcsnlen'.
3234         * modules/wcsnlen: New file.
3235         * lib/wchar.in.h (wcsnlen): New declaration.
3236         * lib/wcsnlen.c: New file.
3237         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
3238         * m4/wcsnlen.m4: New file.
3239         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
3240         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
3241         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
3242         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
3243         * doc/posix-functions/wcsnlen.texi: Mention the new module.
3244
3245 2011-02-05  Bruno Haible  <bruno@clisp.org>
3246
3247         New module 'wcslen'.
3248         * modules/wcslen: New file.
3249         * lib/wchar.in.h (wcslen): New declaration.
3250         * lib/wcslen.c: New file.
3251         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
3252         * m4/wcslen.m4: New file.
3253         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
3254         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
3255         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
3256         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
3257         * doc/posix-functions/wcslen.texi: Mention the new module.
3258
3259 2011-02-05  Bruno Haible  <bruno@clisp.org>
3260
3261         New module 'wmemset'.
3262         * modules/wmemset: New file.
3263         * lib/wchar.in.h (wmemset): New declaration.
3264         * lib/wmemset.c: New file.
3265         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
3266         * m4/wmemset.m4: New file.
3267         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
3268         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
3269         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
3270         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
3271         * doc/posix-functions/wmemset.texi: Mention the new module.
3272
3273 2011-02-05  Bruno Haible  <bruno@clisp.org>
3274
3275         New module 'wmemmove'.
3276         * modules/wmemmove: New file.
3277         * lib/wchar.in.h (wmemmove): New declaration.
3278         * lib/wmemmove.c: New file.
3279         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
3280         * m4/wmemmove.m4: New file.
3281         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
3282         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
3283         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
3284         HAVE_WMEMMOVE.
3285         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
3286         * doc/posix-functions/wmemmove.texi: Mention the new module.
3287
3288 2011-02-05  Bruno Haible  <bruno@clisp.org>
3289
3290         New module 'wmemcpy'.
3291         * modules/wmemcpy: New file.
3292         * lib/wchar.in.h (wmemcpy): New declaration.
3293         * lib/wmemcpy.c: New file.
3294         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
3295         * m4/wmemcpy.m4: New file.
3296         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
3297         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
3298         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
3299         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
3300         * doc/posix-functions/wmemcpy.texi: Mention the new module.
3301
3302 2011-02-05  Bruno Haible  <bruno@clisp.org>
3303
3304         New module 'wmemcmp'.
3305         * modules/wmemcmp: New file.
3306         * lib/wchar.in.h (wmemcmp): New declaration.
3307         * lib/wmemcmp.c: New file.
3308         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
3309         * m4/wmemcmp.m4: New file.
3310         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
3311         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
3312         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
3313         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
3314         * doc/posix-functions/wmemcmp.texi: Mention the new module.
3315
3316 2011-02-07  Jim Meyering  <meyering@redhat.com>
3317
3318         di-set, ino-map: new modules, from coreutils
3319         * lib/di-set.c: New file.
3320         * lib/di-set.h: Likewise.
3321         * lib/ino-map.c: Likewise.
3322         * lib/ino-map.h: Likewise.
3323         * modules/di-set: Likewise.
3324         * modules/di-set-tests: Likewise.
3325         * modules/ino-map: Likewise.
3326         * modules/ino-map-tests: Likewise.
3327         * tests/test-di-set.c: Likewise.
3328         * tests/test-ino-map.c: Likewise.
3329
3330 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
3331
3332         getloadavg: merge minor changes from Emacs
3333
3334         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
3335         (getloadavg): Use memset, not bzero.
3336
3337         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
3338         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3339         clash (bug#86).
3340
3341 2010-11-14  Bruno Haible  <bruno@clisp.org>
3342
3343         Allow multiple gnulib generated replacements to coexist.
3344         * lib/getopt.in.h (struct option): Avoid identical redefinition.
3345         * lib/inttypes.in.h (imaxdiv_t): Likewise.
3346         * lib/langinfo.in.h (nl_item): Likewise.
3347         * lib/math.in.h (_NaN, NAN): Likewise.
3348         * lib/netdb.in.h (struct addrinfo): Likewise.
3349         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
3350         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
3351         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
3352         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
3353         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
3354         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
3355         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
3356         pthread_mutexattr_init, pthread_mutexattr_settype,
3357         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
3358         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
3359         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
3360         pthread_spin_trylock, pthread_spin_unlock): Likewise.
3361         * lib/sched.in.h (struct sched_param): Likewise.
3362         * lib/se-selinux.in.h (security_class_t, security_context_t,
3363         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
3364         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
3365         lsetfilecon, fsetfilecon, security_check_context,
3366         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
3367         Likewise.
3368         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
3369         Likewise.
3370         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
3371         _gl_function_taking_int_returning_void_t, union sigval,
3372         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
3373         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
3374         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
3375         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
3376         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
3377         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
3378         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
3379         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
3380         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
3381         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
3382         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
3383         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
3384         socklen_t, rpl_fd_isset): Likewise.
3385         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
3386         * lib/sys_time.in.h (struct timeval): Likewise.
3387         * lib/sys_times.in.h (struct tms): Likewise.
3388         * lib/sys_utsname.in.h (struct utsname):
3389         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
3390         * lib/unistd.in.h (getpagesize): Likewise.
3391         * lib/wchar.in.h (mbstate_t): Likewise.
3392         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
3393         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
3394         towlower, towupper): Likewise.
3395         Reported by Sam Steingold <sds@gnu.org>.
3396
3397 2011-02-05  Eric Blake  <eblake@redhat.com>
3398
3399         unsetenv: work around Haiku issues
3400         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
3401         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
3402
3403 2010-12-30  Bruce Korb  <bkorb@gnu.org>
3404
3405         libposix: avoid calling error() within libposix
3406         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
3407         is defined.
3408
3409 2011-02-05  Eric Blake  <eblake@redhat.com>
3410
3411         strerror_r-posix: port to cygwin
3412         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
3413         implementation.
3414         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
3415         * tests/test-strerror_r.c (main): Fix test.
3416         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
3417         issue.
3418
3419 2011-02-05  Bruno Haible  <bruno@clisp.org>
3420
3421         New module 'wmemchr'.
3422         * modules/wmemchr: New file.
3423         * lib/wchar.in.h (wmemchr): New declaration.
3424         * lib/wmemchr.c: New file.
3425         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
3426         * m4/wmemchr.m4: New file.
3427         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
3428         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
3429         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
3430         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
3431         * doc/posix-functions/wmemchr.texi: Mention the new module.
3432
3433 2011-02-04  Eric Blake  <eblake@redhat.com>
3434
3435         fdopendir: detect FreeBSD bug
3436         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
3437         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
3438
3439 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3440
3441         stdbool: do not define HAVE_STDBOOL_H
3442         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
3443         AC_HEADER_STDBOOL.  All uses changed.  Do not define
3444         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
3445         imported from the latest Autoconf git.  It was motivated by Emacs,
3446         which uses gnulib but does not need HAVE_STDBOOL_H.
3447
3448 2011-02-04  Bruno Haible  <bruno@clisp.org>
3449
3450         wcsnrtombs: Prepare for new module wwcsnrtombs.
3451         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
3452         * lib/wcsnrtombs.c: Include it.
3453         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
3454
3455         wcsrtombs: Prepare for new module wwcsrtombs.
3456         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
3457         * lib/wcsrtombs.c: Include it.
3458         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
3459
3460         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
3461         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
3462         * lib/mbsnrtowcs.c: Include it.
3463         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
3464
3465         mbsrtowcs: Prepare for new module mbsrtowwcs.
3466         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
3467         * lib/mbsrtowcs.c: Include it.
3468         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
3469
3470 2011-02-04  Bruno Haible  <bruno@clisp.org>
3471
3472         vasnprintf: Reduce use of malloc for small format strings.
3473         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
3474         (arguments): Add room for the first 7 arguments.
3475         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
3476         (char_directives, u8_directives, u16_directives, u32_directives): Add
3477         room for the first 7 directives.
3478         * lib/printf-parse.c: Include <string.h>.
3479         (PRINTF_PARSE): Change memory handling code so that it uses the first
3480         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
3481         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
3482         Reported by Pádraig Brady <P@draigbrady.com>.
3483
3484 2011-01-31  Eric Blake  <eblake@redhat.com>
3485
3486         dup2: work around Haiku bug
3487         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
3488         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
3489         * doc/posix-functions/dup2.texi (dup2): Document the bug.
3490         * tests/test-dup2.c (main): Enhance test.
3491
3492 2011-01-31  Simon Josefsson  <simon@josefsson.org>
3493
3494         doc: off_t is not available in eglibc 2.11.2 stdio.h.
3495         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
3496         declared by eglibc 2.11.2.
3497         * lib/stdio.in.h: Likewise.
3498
3499 2011-01-31  Eric Blake  <eblake@redhat.com>
3500
3501         ignore-value: add missing test dependency
3502         * tests/test-ignore-value.c: Revert previous change; stdio.h
3503         provides off_t.
3504         * modules/ignore-value-tests (Depends-on): Add missing dependency.
3505
3506 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
3507
3508         mktime: clarify long_int width checking
3509         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
3510         the top level, to make it clearer that the assumption about
3511         long_int width is being checked.  See
3512         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
3513
3514 2011-01-30  Simon Josefsson  <simon@josefsson.org>
3515
3516         ignore-value: Fix self-test.
3517         * tests/test-ignore-value.c: Include sys/types.h for off_t.
3518
3519 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3520
3521         TYPE_MAXIMUM: avoid theoretically undefined behavior
3522         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
3523         negative number, which the C Standard says has undefined behavior.
3524         In practice this is not a problem, but might as well do it by the book.
3525         Reported by Rich Felker and Eric Blake; see
3526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
3527         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
3528         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
3529         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
3530         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
3531         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3532         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
3533
3534         mktime: #undef mktime before #defining it
3535         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
3536
3537         mktime: systematically normalize tm_isdst comparisons
3538         * lib/mktime.c (isdst_differ): New function.
3539         (__mktime_internal): Use it systematically for all isdst comparisons.
3540         This completes the fix for libc BZ #6723, and removes the need for
3541         normalizing tm_isdst.  See
3542         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
3543         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
3544
3545         mktime: fix some integer overflow issues and sidestep the rest
3546
3547         This was prompted by a bug report by Benjamin Lindner for MinGW
3548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
3549         His bug is due to signed integer overflow (0 - INT_MIN), and I
3550         I scanned through mktime.c looking for other integer overflow
3551         problems, fixing all the bugs I found.
3552
3553         Although the C Standard says the resulting code is still not safe
3554         in the presence of integer overflow, in practice it should be good
3555         enough for all real-world two's-complement implementations, except
3556         for debugging environments that deliberately trap on integer
3557         overflow (e.g., gcc -ftrapv).
3558
3559         * lib/mktime.c (WRAPV): New macro.
3560         (SHR): Also check that long_int and time_t shift right in the
3561         usual way, before using the fast-but-unportable method.
3562         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
3563         used.  The code already assumed two's complement, so there's
3564         no need to test for alternatives.  All uses removed.
3565         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
3566         the C standard.  Problem reported by Rich Felker in
3567         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
3568         (twos_complement_arithmetic): Also check long_int and time_t.
3569         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
3570         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
3571         (__mktime_internal): Avoid integer overflow with unary subtraction
3572         in two instances where -1 - X is an adequate replacement for -X,
3573         since the calculations are approximate.
3574
3575 2011-01-29  Eric Blake  <eblake@redhat.com>
3576
3577         mktime: avoid infinite loop
3578         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
3579         type; behavior is still undefined but portable to all known targets.
3580         Reported by Rich Felker.
3581
3582 2011-01-29  Simon Josefsson  <simon@josefsson.org>
3583
3584         rename, unlink, same-inode: Relicense.
3585         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
3586         * modules/unlink (License): Likewise.
3587         * modules/same-inode (License): Likewise.
3588
3589 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3590
3591         mktime: avoid problems on NetBSD 5 / i386
3592         * lib/mktime.c (long_int): New type.  This works around a problem
3593         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
3594         but time_t is 64 bits, and where I expect the existing code is
3595         wrong in some cases.
3596         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
3597         (ydhms_diff): Bring back the compile-time check for wide-enough
3598         year and yday.
3599
3600         mktime: fix misspelling in comment
3601         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
3602         This merges all recent glibc changes of importance.
3603
3604 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3605
3606         move-if-change: cope with concurrent mv of identical file.
3607         * build-aux/move-if-change (CMPPROG): Accept environment
3608         variable as an override for `cmp'.
3609         (usage): Document CMPPROG.
3610         Adjust comparison to drop stdout.  Cope with failure of mv if
3611         the target file exists and is identical to the source, for
3612         parallel builds.
3613         Report from H.J. Lu against binutils in PR binutils/12283.
3614
3615 2011-01-28  Bruce Korb  <bkorb@gnu.org>
3616
3617         * users.txt: Mention sharutils.
3618
3619 2011-01-28  Simon Josefsson  <simon@josefsson.org>
3620
3621         * users.txt: Mention OATH Toolkit.
3622
3623 2011-01-27  Bruno Haible  <bruno@clisp.org>
3624
3625         Prepare for supporting FreeBSD 10.
3626         * build-aux/config.libpath: Remove handling of freebsd1*.
3627
3628 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
3629
3630         Prepare for supporting FreeBSD 10.
3631         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
3632         match FreeBSD 10.0.
3633
3634 2011-01-27  Bruno Haible  <bruno@clisp.org>
3635
3636         vma-iter, get-rusage-as: Add OpenBSD support.
3637         * modules/vma-iter (configure.ac): Test for mquery.
3638         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
3639         * lib/vma-iter.c: Include <sys/mman.h>.
3640         (vma_iterate): Add an implementation based on mquery().
3641         * lib/resource-ext.h (get_rusage_as): Update comments.
3642         * lib/get-rusage-as.c: Likewise.
3643         * lib/get-rusage-data.c: Likewise.
3644
3645 2011-01-26  Karl Berry  <karl@gnu.org>
3646
3647         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
3648         variables to make it easier to override the makeinfo program used.
3649
3650 2011-01-26  Eric Blake  <eblake@redhat.com>
3651
3652         fcntl: work around Haiku F_DUPFD bugs
3653         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
3654         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
3655         cloexec bit on duplication.
3656         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
3657
3658 2011-01-26  Bruno Haible  <bruno@clisp.org>
3659
3660         Enable memory leak tests on AIX.
3661         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
3662         * tests/test-fprintf-posix3.c (main): Likewise.
3663
3664 2011-01-26  Bruno Haible  <bruno@clisp.org>
3665
3666         Tests for module 'get-rusage-data'.
3667         * modules/get-rusage-data-tests: New file.
3668         * tests/test-get-rusage-data.c: New file.
3669
3670         New module 'get-rusage-data'.
3671         * lib/resource-ext.h (get_rusage_data): New declaration.
3672         * lib/get-rusage-data.c: New file.
3673         * modules/get-rusage-data: New file.
3674
3675 2011-01-25  Bruno Haible  <bruno@clisp.org>
3676
3677         get-rusage-as: Allow for easier testing.
3678         * lib/resource-ext.h (get_rusage_as): Add comment.
3679         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
3680         (main): New function for interactive testing.
3681
3682 2011-01-25  Bruno Haible  <bruno@clisp.org>
3683
3684         vma-iter: Treat Haiku like BeOS.
3685         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
3686         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
3687
3688 2011-01-25  Eric Blake  <eblake@redhat.com>
3689
3690         c-stack: fix regression on cygwin when libsigsegv is present
3691         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3692
3693 2011-01-24  Bruno Haible  <bruno@clisp.org>
3694
3695         vma-iter: Avoid empty intervals.
3696         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3697         on an empty interval.
3698
3699 2011-01-24  Jim Meyering  <meyering@redhat.com>
3700
3701         u64: remove unnecessary #include
3702         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3703
3704 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3705
3706         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3707         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3708
3709 2011-01-23  Bruno Haible  <bruno@clisp.org>
3710
3711         New module 'vma-iter'.
3712         * lib/vma-iter.h: New file.
3713         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3714         * modules/vma-iter: New file.
3715         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3716         for get_rusage_as_via_iterator.
3717         (vma_iterate_callback): New function.
3718         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3719         * modules/get-rusage-as (Depends-on): Add vma-iter.
3720
3721 2011-01-23  Bruno Haible  <bruno@clisp.org>
3722
3723         uninorm: Tweak includes.
3724         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3725         Reported by Jim Meyering.
3726
3727 2011-01-23  Bruno Haible  <bruno@clisp.org>
3728
3729         get-rusage-as: Improve on NetBSD.
3730         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3731         /proc, like on FreeBSD.
3732
3733 2011-01-23  Jim Meyering  <meyering@redhat.com>
3734
3735         xreadlink.h: remove unnecessary #include
3736         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3737
3738         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3739         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3740
3741 2011-01-23  Bruno Haible  <bruno@clisp.org>
3742
3743         get-rusage-as: Fix bug.
3744         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3745         original limit when aborting the first loop.
3746
3747 2011-01-23  Bruno Haible  <bruno@clisp.org>
3748
3749         wctype: Ensure valid C syntax.
3750         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3751         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3752
3753 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3754
3755         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3756         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3757         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3758         as they are needed only for configure's test case.
3759         This removes two unnecessary symbols from config.h.
3760
3761         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3762         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3763         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3764         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3765         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3766         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3767         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3768         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3769         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3770         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3771         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3772         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3773         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3774         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3775         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3776         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3777         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3778         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3779
3780 2011-01-21  Eric Blake  <eblake@redhat.com>
3781
3782         maintainer-makefile: work with older git for submodule check
3783         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3784         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3785         Reported by Matthias Bolte.
3786
3787         bootstrap: minor portability fixes
3788         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3789         (usage): Omit leading capital and trailing . on help phrases, per
3790         GNU Coding Standards.
3791         (check_versions, top level): Prefix messages with script name.
3792
3793 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3794
3795         bootstrap: support --no-git option
3796         * build-aux/bootstrap: Add --no-git option, to be used when
3797         --gnulib-srcdir points to the exact desired checkout.
3798
3799 2011-01-21  Eric Blake  <eblake@redhat.com>
3800
3801         strerror_r-posix: work with glibc 2.13
3802         * lib/strerror_r.c (strerror_r): Fix return type.
3803
3804 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3805             Bruno Haible  <bruno@clisp.org>
3806
3807         uN_strstr: New unit tests.
3808         * modules/unistr/u8-strstr-tests: New file.
3809         * modules/unistr/u16-strstr-tests: New file.
3810         * modules/unistr/u32-strstr-tests: New file.
3811         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3812         * tests/unistr/test-u8-strstr.c: New file.
3813         * tests/unistr/test-u16-strstr.c: New file.
3814         * tests/unistr/test-u32-strstr.c: New file.
3815
3816 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3817             Bruno Haible  <bruno@clisp.org>
3818
3819         Make uN_strstr functions O(n) worst-case.
3820         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3821         16-bit and 32-bit unit cases, use the unibyte algorithm from
3822         lib/mbsstr.c.
3823         * lib/unistr/u8-strstr.c: Include <string.h>.
3824         (UNIT_IS_UINT8_T): New macro.
3825         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3826         (U_STRLEN, U_STRNLEN): New macros.
3827         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3828         (U_STRLEN, U_STRNLEN): New macros.
3829         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3830         (configure.ac): Update required libunistring version.
3831         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3832         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3833         malloca.
3834         (configure.ac): Update required libunistring version.
3835         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3836         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3837         malloca.
3838         (configure.ac): Update required libunistring version.
3839
3840 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3841             Bruno Haible  <bruno@clisp.org>
3842
3843         Prepare for faster uN_strstr functions.
3844         * lib/str-kmp.h: Support definable UNITs.
3845         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3846         needle_len argument.
3847         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3848         * lib/mbscasestr.c (mbscasestr): Likewise.
3849
3850 2011-01-21  Pádraig Brady <P@draigBrady.com>
3851
3852         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3853         * tests/test-malloca.c (main): Unset the environment variable
3854         to greatly speed up the test.
3855         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3856         * modules/malloca-tests: Depend on unsetenv.
3857
3858 2011-01-21  Pádraig Brady <P@draigBrady.com>
3859
3860         ignore-value: remove stdint dependency
3861         * lib/ignore-value.h: Remove <stdint.h>
3862         * modules/ignore-value: Remove stdint dependency.
3863
3864 2011-01-21  Jim Meyering  <meyering@redhat.com>
3865
3866         maint.mk: adjust variable name to be consistent with other gl_ vars
3867         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3868         to be lower case.
3869
3870 2011-01-20  Jim Meyering  <meyering@redhat.com>
3871
3872         maint.mk: make "check" depend on public-submodule-commit by default
3873         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3874
3875 2011-01-20  Bruno Haible  <bruno@clisp.org>
3876
3877         mbfile, mbiter: Complete change from 2008-12-21.
3878         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3879         * m4/mbiter.m4 (gl_MBITER): Likewise.
3880
3881 2011-01-20  Jim Meyering  <meyering@redhat.com>
3882
3883         init.sh: insert space between each function name and "()"
3884         * tests/init.sh: Make it a little easier to see that a function's
3885         name is "warn_", and not "warn" when looking at the first part of
3886         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3887
3888 2011-01-20  Jim Meyering  <meyering@redhat.com>
3889
3890         mountlist: clean up code formatting
3891         * lib/mountlist.c (read_file_system_list): Split a long line,
3892         correct bracing style, use NULL in place of "(struct statfs *)0",
3893         don't parenthesize return value, add spaces around "=" and after
3894         ";-in-for-stmt".
3895
3896 2011-01-14  Markus Duft <mduft@gentoo.org>
3897
3898         mountlist: add support for Interix
3899         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3900         Apply statvfs to all entries of /dev/fs.
3901         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3902         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3903
3904 2011-01-20  Jim Meyering  <meyering@redhat.com>
3905
3906         maint.mk: improve the public-submodule-commit rule
3907         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3908         to suppress printing of its commands... unless V=1.
3909         Add git submodule's --quiet option to suppress printing of e.g.,
3910         "Entering gnulib" output.
3911         "cd" into $(srcdir) before running git submodule.
3912
3913 2011-01-20  Bruno Haible  <bruno@clisp.org>
3914
3915         include_next: Fix bug introduced on 2011-01-18.
3916         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3917         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3918         ac_cv_header_... variable if the second argument is not 'check'.
3919         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3920         gl_NEXT_HEADERS_INTERNAL.
3921
3922 2011-01-20  Bruno Haible  <bruno@clisp.org>
3923
3924         Allow the user to avoid the GNULIB_TEST_* macros.
3925         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
3926         Suggested by Paul Eggert.
3927
3928 2011-01-14  Jim Meyering  <meyering@redhat.com>
3929
3930         bootstrap: avoid failure when there is no .gitmodules file
3931         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
3932         has been assigned to, even when its value is the empty string.
3933         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
3934         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
3935         Reported by John W. Eaton <jwe@gnu.org>.
3936
3937 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3938
3939         assume <ctype.h>, ..., <time.h> exist
3940         For years gnulib has been assuming the existence of the headers
3941         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
3942         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
3943         them, since they don't appear to be needed.
3944         * README (Portability guidelines): Document this.
3945         * lib/flock.c: Assume <fcntl.h> exists.
3946         * lib/regex_internal.h: Assume <locale.h> exists.
3947         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
3948         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
3949         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
3950         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
3951         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
3952         * m4/regex.m4 (gl_REGEX): Likewise.
3953         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
3954         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
3955         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
3956         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
3957         * tests/test-argp.c: Likewise.
3958         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
3959
3960         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
3961         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
3962         AA_APPLE_UNIVERSAL_BUILD.  See
3963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
3964         * NEWS: Document this.
3965
3966 2011-01-19  Eric Blake  <eblake@redhat.com>
3967
3968         c-stack: assume stack overflow if SA_SIGINFO unsupported
3969         * lib/c-stack.c (SIGACTION_WORKS): Rename...
3970         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
3971         sigaction will work.
3972         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
3973         behavior match Linux.
3974         * tests/test-c-stack.c (main): Prefer NULL for pointers.
3975
3976         stdbool-tests: accomodate Haiku
3977         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
3978
3979         binary-io: fix O_TEXT on Haiku
3980         * modules/binary-io (Depends-on): Add fcntl-h.
3981         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
3982         than blindly undefining O_TEXT.
3983         Reported by Scott McCreary.
3984
3985 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3986
3987         include_next: do not check for standard headers like stddef.h
3988
3989         I found this problem when modifying Emacs to use gnulib.
3990         I noticed that it added HAVE_STDDEF_H to config.h, even though
3991         gnulib always assumes <stddef.h> exists as per README and this
3992         symbol is unnecessary.
3993         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
3994         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
3995         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
3996         faster for headers like stddef.h that are known to exist.
3997         (gl_CHECK_NEXT_HEADERS): Use it.
3998         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
3999         rather than gl_CHECK_NEXT_HEADERS.
4000         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
4001         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
4002
4003 2011-01-18  Eric Blake  <eblake@redhat.com>
4004
4005         ansi-c++-opt: skip C++ dependency style if C++ is unused
4006         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
4007         tests when we know C++ compilation is not desired.
4008         Reported by Scott McCreary.
4009
4010 2011-01-18  Bruno Haible  <bruno@clisp.org>
4011
4012         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
4013         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
4014         (main): Perform test also when getrlimit and setrlimit don't exist or
4015         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
4016         limiting the address space size using setrlimit, compare the address
4017         space size before and after the the test.
4018         * tests/test-dprintf-posix2.c: Likewise.
4019         * tests/test-fprintf-posix3.sh: Update skip messages.
4020         * tests/test-dprintf-posix2.sh: Likewise.
4021         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
4022         * modules/dprintf-posix-tests (Depends-on): Likewise.
4023         Reported by Bruce Korb <bkorb@gnu.org> and
4024         Gary V. Vaughan <gary@gnu.org>.
4025
4026 2011-01-18  Bruno Haible  <bruno@clisp.org>
4027
4028         get-rusage-as: Improvement for Cygwin.
4029         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
4030         areas that are merely reserved.
4031
4032 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4033
4034         strftime: remove dependencies on multibyte modules
4035
4036         strftime depended on mbrlen, mbsinit, and wchar, but these modules
4037         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
4038         only if __osf__ is defined, and I suspect OSF doesn't need these
4039         other modules.  If my guess is wrong, we'll need to come up with a
4040         variant of strftime that doesn't need the multibyte modules.
4041
4042         I discovered this problem when attempting modify Emacs to use the
4043         strftime module.  With the previous gnulib, this caused Emacs to
4044         need 31 new files, ranging from lib/config.charset to
4045         m4/wint_t.m4.  This was overkill and I expect would be offputting
4046         to the Emacs maintainers.  After this change, only 6 new files are
4047         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
4048         stdbool.m4, and tm_gmtoff.m4.
4049
4050         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
4051         Suggested by Bruno Haible in
4052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
4053         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
4054         and do not check for wchar.h.
4055         * modules/strftime (Files): Remove m4/mbstate_t.m4.
4056         (Depends-on): Remove mbrlen, mbsinit, wchar.
4057
4058 2011-01-18  Bruno Haible  <bruno@clisp.org>
4059
4060         Tests for module 'get-rusage-as'.
4061         * modules/get-rusage-as-tests: New file.
4062         * tests/test-get-rusage-as.c: New file.
4063
4064         New module 'get-rusage-as'.
4065         * modules/get-rusage-as: New file.
4066         * lib/resource-ext.h: New file.
4067         * lib/get-rusage-as.c: New file.
4068
4069 2011-01-17  Eric Blake  <eblake@redhat.com>
4070
4071         sigaction: relax license from LGPLv3+ to LGPLv2+
4072         * modules/sigaction (License): Relax to LGPLv2+.
4073
4074 2011-01-14  Bruno Haible  <bruno@clisp.org>
4075
4076         filemode: Make function declarations usable in C++ mode.
4077         * lib/filemode.h: Enclose function declarations in extern "C" block.
4078         Reported by John W. Eaton <jwe@gnu.org>.
4079
4080 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
4081
4082         save-cwd: no longer include "xgetcwd.h"
4083         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
4084         This avoids a compilation failure in projects that use save-cwd
4085         without also using the xgetcwd module.
4086
4087 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4088
4089         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
4090         This is so that a program like Emacs, which needs only dtoastr,
4091         does not have to bother with distributing and compiling ftoastr
4092         and ldtoastr.
4093         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
4094         * modules/dtoastr, modules/ldtoastr: New files.
4095         * modules/ftoastr: Now works just for 'float'.
4096         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
4097         (Makefile.am): Remove ftoastr.h (not needed and no effect),
4098         dtoastr.c, ldtoastr.c.
4099
4100 2011-01-11  Jim Meyering  <meyering@redhat.com>
4101
4102         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
4103         There is no need to work around the lack of the fchdir function,
4104         since gnulib can now provide a replacement when required.
4105         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
4106         * modules/save-cwd (Depends-on): Add fchdir.
4107
4108 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4109
4110         openat, save-cwd: avoid xmalloc
4111
4112         This removes a direct (but undocumented) dependency of openat on
4113         xalloc, along with an indirect dependency via save-cwd.  It also
4114         removes a dependency of save-cwd on xgetcwd, and thereby
4115         indirectly on xalloc.  This change causes the openat substitute
4116         to fall back on save_cwd when memory is tight, and for save_cwd to
4117         fail instead of dying when memory is tight, but that's good enough.
4118         Problem and initial idea for fix reported by Bastien Roucaries in
4119         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
4120
4121         * lib/openat-proc.c: Include stdlib.h (for malloc), not
4122         xalloc.h (for xmalloc).
4123         (openat_proc_name): Use malloc, not xmalloc.
4124         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
4125         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
4126
4127         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
4128         This avoids heap allocation for file names whose lengths are in
4129         the range 512..1023, with the upper bound increasing to at most
4130         4031 depending on the platform's PATH_MAX.  (We do not want
4131         pathmax.h here as it might supply a non-constant PATH_MAX.)
4132         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
4133         Perhaps they should be moved to malloca.h?
4134         (OPENAT_BUFFER_SIZE): Use them.
4135
4136 2011-01-10  Bruno Haible  <bruno@clisp.org>
4137
4138         doc: Update users.txt.
4139         * users.txt: Add recutils.
4140
4141 2011-01-09  Karl Berry  <karl@gnu.org>
4142
4143         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
4144
4145         * doc/configmake.texi: New file.
4146         * doc/gnulib.texi: Include it.
4147         * modules/configmake: Move documentation from here.
4148
4149 2011-01-09  Bruno Haible  <bruno@clisp.org>
4150
4151         Update to Unicode 6.0.0.
4152         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
4153         (get_lbp): Update for Unicode 6.0.0.
4154         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
4155         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
4156         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
4157         U+11001, U+11038..U+11046. Remove U+06DE.
4158         (uc_width): Fix bounds of planes.
4159         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4160         lib/uniwidth/width.c.
4161         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
4162         trailing whitespace removed.
4163         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
4164         without comments, but with the original copyright notice.
4165         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
4166         * lib/unicase/ignorable.h: Likewise.
4167         * lib/unicase/tocasefold.h: Likewise.
4168         * lib/unicase/tolower.h: Likewise.
4169         * lib/unicase/totitle.h: Likewise.
4170         * lib/unicase/toupper.h: Likewise.
4171         * lib/unictype/bidi_of.h: Likewise.
4172         * lib/unictype/blocks.h: Likewise.
4173         * lib/unictype/categ_C.h: Likewise.
4174         * lib/unictype/categ_Cn.h: Likewise.
4175         * lib/unictype/categ_L.h: Likewise.
4176         * lib/unictype/categ_Ll.h: Likewise.
4177         * lib/unictype/categ_Lm.h: Likewise.
4178         * lib/unictype/categ_Lo.h: Likewise.
4179         * lib/unictype/categ_Lu.h: Likewise.
4180         * lib/unictype/categ_M.h: Likewise.
4181         * lib/unictype/categ_Mc.h: Likewise.
4182         * lib/unictype/categ_Me.h: Likewise.
4183         * lib/unictype/categ_Mn.h: Likewise.
4184         * lib/unictype/categ_N.h: Likewise.
4185         * lib/unictype/categ_Nd.h: Likewise.
4186         * lib/unictype/categ_No.h: Likewise.
4187         * lib/unictype/categ_P.h: Likewise.
4188         * lib/unictype/categ_Po.h: Likewise.
4189         * lib/unictype/categ_S.h: Likewise.
4190         * lib/unictype/categ_Sc.h: Likewise.
4191         * lib/unictype/categ_Sk.h: Likewise.
4192         * lib/unictype/categ_Sm.h: Likewise.
4193         * lib/unictype/categ_So.h: Likewise.
4194         * lib/unictype/categ_of.h: Likewise.
4195         * lib/unictype/combining.h: Likewise.
4196         * lib/unictype/ctype_alnum.h: Likewise.
4197         * lib/unictype/ctype_alpha.h: Likewise.
4198         * lib/unictype/ctype_graph.h: Likewise.
4199         * lib/unictype/ctype_lower.h: Likewise.
4200         * lib/unictype/ctype_print.h: Likewise.
4201         * lib/unictype/ctype_punct.h: Likewise.
4202         * lib/unictype/ctype_upper.h: Likewise.
4203         * lib/unictype/decdigit.h: Likewise.
4204         * lib/unictype/digit.h: Likewise.
4205         * lib/unictype/numeric.h: Likewise.
4206         * lib/unictype/pr_alphabetic.h: Likewise.
4207         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4208         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4209         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4210         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4211         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4212         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4213         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4214         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4215         * lib/unictype/pr_case_ignorable.h: Likewise.
4216         * lib/unictype/pr_cased.h: Likewise.
4217         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
4218         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
4219         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
4220         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
4221         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
4222         * lib/unictype/pr_combining.h: Likewise.
4223         * lib/unictype/pr_composite.h: Likewise.
4224         * lib/unictype/pr_currency_symbol.h: Likewise.
4225         * lib/unictype/pr_decimal_digit.h: Likewise.
4226         * lib/unictype/pr_deprecated.h: Likewise.
4227         * lib/unictype/pr_format_control.h: Likewise.
4228         * lib/unictype/pr_grapheme_base.h: Likewise.
4229         * lib/unictype/pr_grapheme_extend.h: Likewise.
4230         * lib/unictype/pr_grapheme_link.h: Likewise.
4231         * lib/unictype/pr_id_continue.h: Likewise.
4232         * lib/unictype/pr_id_start.h: Likewise.
4233         * lib/unictype/pr_ideographic.h: Likewise.
4234         * lib/unictype/pr_lowercase.h: Likewise.
4235         * lib/unictype/pr_math.h: Likewise.
4236         * lib/unictype/pr_numeric.h: Likewise.
4237         * lib/unictype/pr_other_alphabetic.h: Likewise.
4238         * lib/unictype/pr_other_id_continue.h: Likewise.
4239         * lib/unictype/pr_other_math.h: Likewise.
4240         * lib/unictype/pr_punctuation.h: Likewise.
4241         * lib/unictype/pr_sentence_terminal.h: Likewise.
4242         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4243         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4244         * lib/unictype/pr_unified_ideograph.h: Likewise.
4245         * lib/unictype/pr_uppercase.h: Likewise.
4246         * lib/unictype/pr_xid_continue.h: Likewise.
4247         * lib/unictype/pr_xid_start.h: Likewise.
4248         * lib/unictype/scripts.h: Likewise.
4249         * lib/unictype/scripts_byname.gperf: Likewise.
4250         * lib/unictype/sy_java_ident.h: Likewise.
4251         * lib/unigbrk/gbrkprop.h: Likewise.
4252         * lib/unilbrk/lbrkprop1.h: Likewise.
4253         * lib/unilbrk/lbrkprop2.h: Likewise.
4254         * lib/uninorm/decomposition-table2.h: Likewise.
4255         * lib/uniwbrk/wbrkprop.h: Likewise.
4256         * tests/unicase/test-cased.c: Likewise.
4257         * tests/unicase/test-ignorable.c: Likewise.
4258         * tests/unicase/test-uc_tolower.c: Likewise.
4259         * tests/unicase/test-uc_totitle.c: Likewise.
4260         * tests/unicase/test-uc_toupper.c: Likewise.
4261         * tests/unictype/test-categ_C.c: Likewise.
4262         * tests/unictype/test-categ_Cn.c: Likewise.
4263         * tests/unictype/test-categ_L.c: Likewise.
4264         * tests/unictype/test-categ_Ll.c: Likewise.
4265         * tests/unictype/test-categ_Lm.c: Likewise.
4266         * tests/unictype/test-categ_Lo.c: Likewise.
4267         * tests/unictype/test-categ_Lu.c: Likewise.
4268         * tests/unictype/test-categ_M.c: Likewise.
4269         * tests/unictype/test-categ_Mc.c: Likewise.
4270         * tests/unictype/test-categ_Me.c: Likewise.
4271         * tests/unictype/test-categ_Mn.c: Likewise.
4272         * tests/unictype/test-categ_N.c: Likewise.
4273         * tests/unictype/test-categ_Nd.c: Likewise.
4274         * tests/unictype/test-categ_No.c: Likewise.
4275         * tests/unictype/test-categ_P.c: Likewise.
4276         * tests/unictype/test-categ_Po.c: Likewise.
4277         * tests/unictype/test-categ_S.c: Likewise.
4278         * tests/unictype/test-categ_Sc.c: Likewise.
4279         * tests/unictype/test-categ_Sk.c: Likewise.
4280         * tests/unictype/test-categ_Sm.c: Likewise.
4281         * tests/unictype/test-categ_So.c: Likewise.
4282         * tests/unictype/test-ctype_alnum.c: Likewise.
4283         * tests/unictype/test-ctype_alpha.c: Likewise.
4284         * tests/unictype/test-ctype_graph.c: Likewise.
4285         * tests/unictype/test-ctype_lower.c: Likewise.
4286         * tests/unictype/test-ctype_print.c: Likewise.
4287         * tests/unictype/test-ctype_punct.c: Likewise.
4288         * tests/unictype/test-ctype_upper.c: Likewise.
4289         * tests/unictype/test-decdigit.h: Likewise.
4290         * tests/unictype/test-digit.h: Likewise.
4291         * tests/unictype/test-numeric.h: Likewise.
4292         * tests/unictype/test-pr_alphabetic.c: Likewise.
4293         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4294         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
4295         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
4296         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4297         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4298         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4299         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4300         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4301         * tests/unictype/test-pr_case_ignorable.c: Likewise.
4302         * tests/unictype/test-pr_cased.c: Likewise.
4303         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
4304         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
4305         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
4306         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
4307         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
4308         * tests/unictype/test-pr_combining.c: Likewise.
4309         * tests/unictype/test-pr_composite.c: Likewise.
4310         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4311         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4312         * tests/unictype/test-pr_deprecated.c: Likewise.
4313         * tests/unictype/test-pr_format_control.c: Likewise.
4314         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4315         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4316         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4317         * tests/unictype/test-pr_id_continue.c: Likewise.
4318         * tests/unictype/test-pr_id_start.c: Likewise.
4319         * tests/unictype/test-pr_ideographic.c: Likewise.
4320         * tests/unictype/test-pr_lowercase.c: Likewise.
4321         * tests/unictype/test-pr_math.c: Likewise.
4322         * tests/unictype/test-pr_numeric.c: Likewise.
4323         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4324         * tests/unictype/test-pr_other_id_continue.c: Likewise.
4325         * tests/unictype/test-pr_other_math.c: Likewise.
4326         * tests/unictype/test-pr_punctuation.c: Likewise.
4327         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4328         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4329         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4330         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4331         * tests/unictype/test-pr_uppercase.c: Likewise.
4332         * tests/unictype/test-pr_xid_continue.c: Likewise.
4333         * tests/unictype/test-pr_xid_start.c: Likewise.
4334         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4335         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4336         changes.
4337         * lib/unictype/categ_Cc.h: Likewise.
4338         * lib/unictype/categ_Cf.h: Likewise.
4339         * lib/unictype/categ_Co.h: Likewise.
4340         * lib/unictype/categ_Cs.h: Likewise.
4341         * lib/unictype/categ_Lt.h: Likewise.
4342         * lib/unictype/categ_Nl.h: Likewise.
4343         * lib/unictype/categ_Pc.h: Likewise.
4344         * lib/unictype/categ_Pd.h: Likewise.
4345         * lib/unictype/categ_Pe.h: Likewise.
4346         * lib/unictype/categ_Pf.h: Likewise.
4347         * lib/unictype/categ_Pi.h: Likewise.
4348         * lib/unictype/categ_Ps.h: Likewise.
4349         * lib/unictype/categ_Z.h: Likewise.
4350         * lib/unictype/categ_Zl.h: Likewise.
4351         * lib/unictype/categ_Zp.h: Likewise.
4352         * lib/unictype/categ_Zs.h: Likewise.
4353         * lib/unictype/ctype_blank.h: Likewise.
4354         * lib/unictype/ctype_cntrl.h: Likewise.
4355         * lib/unictype/ctype_digit.h: Likewise.
4356         * lib/unictype/ctype_space.h: Likewise.
4357         * lib/unictype/ctype_xdigit.h: Likewise.
4358         * lib/unictype/mirror.h: Likewise.
4359         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4360         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4361         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4362         * lib/unictype/pr_bidi_control.h: Likewise.
4363         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4364         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4365         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4366         * lib/unictype/pr_bidi_pdf.h: Likewise.
4367         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4368         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4369         * lib/unictype/pr_dash.h: Likewise.
4370         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4371         * lib/unictype/pr_diacritic.h: Likewise.
4372         * lib/unictype/pr_extender.h: Likewise.
4373         * lib/unictype/pr_hex_digit.h: Likewise.
4374         * lib/unictype/pr_hyphen.h: Likewise.
4375         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4376         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4377         * lib/unictype/pr_ignorable_control.h: Likewise.
4378         * lib/unictype/pr_iso_control.h: Likewise.
4379         * lib/unictype/pr_join_control.h: Likewise.
4380         * lib/unictype/pr_left_of_pair.h: Likewise.
4381         * lib/unictype/pr_line_separator.h: Likewise.
4382         * lib/unictype/pr_logical_order_exception.h: Likewise.
4383         * lib/unictype/pr_non_break.h: Likewise.
4384         * lib/unictype/pr_not_a_character.h: Likewise.
4385         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4386         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4387         * lib/unictype/pr_other_id_start.h: Likewise.
4388         * lib/unictype/pr_other_lowercase.h: Likewise.
4389         * lib/unictype/pr_other_uppercase.h: Likewise.
4390         * lib/unictype/pr_paired_punctuation.h: Likewise.
4391         * lib/unictype/pr_paragraph_separator.h: Likewise.
4392         * lib/unictype/pr_pattern_syntax.h: Likewise.
4393         * lib/unictype/pr_pattern_white_space.h: Likewise.
4394         * lib/unictype/pr_private_use.h: Likewise.
4395         * lib/unictype/pr_quotation_mark.h: Likewise.
4396         * lib/unictype/pr_radical.h: Likewise.
4397         * lib/unictype/pr_soft_dotted.h: Likewise.
4398         * lib/unictype/pr_space.h: Likewise.
4399         * lib/unictype/pr_titlecase.h: Likewise.
4400         * lib/unictype/pr_variation_selector.h: Likewise.
4401         * lib/unictype/pr_white_space.h: Likewise.
4402         * lib/unictype/pr_zero_width.h: Likewise.
4403         * lib/unictype/sy_c_ident.h: Likewise.
4404         * lib/unictype/sy_c_whitespace.h: Likewise.
4405         * lib/unictype/sy_java_whitespace.h: Likewise.
4406         * lib/uninorm/composition-table.gperf: Likewise.
4407         * lib/uninorm/decomposition-table1.h: Likewise.
4408         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
4409         LB8.
4410         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4411         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4412         * modules/unictype/*: Bump version number of expected libunistring
4413         version.
4414
4415 2011-01-09  Bruno Haible  <bruno@clisp.org>
4416
4417         Update to Unicode 5.2.0.
4418         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
4419         trailing whitespace removed.
4420
4421 2011-01-09  Bruno Haible  <bruno@clisp.org>
4422
4423         New Unicode character properties, from Unicode 5.2.0.
4424         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
4425         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
4426         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
4427         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
4428         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
4429         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
4430         uc_is_property_cased, uc_is_property_case_ignorable,
4431         uc_is_property_changes_when_lowercased,
4432         uc_is_property_changes_when_uppercased,
4433         uc_is_property_changes_when_titlecased,
4434         uc_is_property_changes_when_casefolded,
4435         uc_is_property_changes_when_casemapped): New declarations.
4436         * lib/unictype/pr_byname.gperf: Add the new properties.
4437         * modules/unictype/property-byname (Depends-on): Depend on the new
4438         properties modules.
4439         * modules/unictype/property-all (Depends-on): Likewise.
4440         * MODULES.html.sh (Unicode string functions): Add
4441         unictype/property-case-ignorable, unictype/property-cased,
4442         unictype/property-changes-when-casefolded,
4443         unictype/property-changes-when-casemapped,
4444         unictype/property-changes-when-lowercased,
4445         unictype/property-changes-when-titlecased,
4446         unictype/property-changes-when-uppercased.
4447
4448         New module 'unictype/property-changes-when-casemapped'.
4449         * modules/unictype/property-changes-when-casemapped: New file.
4450         * lib/unictype/pr_changes_when_casemapped.c: New file.
4451         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
4452         generated by gen-uni-tables.
4453         * modules/unictype/property-changes-when-casemapped-tests: New file.
4454         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
4455         automatically generated by gen-uni-tables.
4456
4457         New module 'unictype/property-changes-when-casefolded'.
4458         * modules/unictype/property-changes-when-casefolded: New file.
4459         * lib/unictype/pr_changes_when_casefolded.c: New file.
4460         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
4461         generated by gen-uni-tables.
4462         * modules/unictype/property-changes-when-casefolded-tests: New file.
4463         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
4464         automatically generated by gen-uni-tables.
4465
4466         New module 'unictype/property-changes-when-titlecased'.
4467         * modules/unictype/property-changes-when-titlecased: New file.
4468         * lib/unictype/pr_changes_when_titlecased.c: New file.
4469         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
4470         generated by gen-uni-tables.
4471         * modules/unictype/property-changes-when-titlecased-tests: New file.
4472         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
4473         automatically generated by gen-uni-tables.
4474
4475         New module 'unictype/property-changes-when-uppercased'.
4476         * modules/unictype/property-changes-when-uppercased: New file.
4477         * lib/unictype/pr_changes_when_uppercased.c: New file.
4478         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
4479         generated by gen-uni-tables.
4480         * modules/unictype/property-changes-when-uppercased-tests: New file.
4481         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
4482         automatically generated by gen-uni-tables.
4483
4484         New module 'unictype/property-changes-when-lowercased'.
4485         * modules/unictype/property-changes-when-lowercased: New file.
4486         * lib/unictype/pr_changes_when_lowercased.c: New file.
4487         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
4488         generated by gen-uni-tables.
4489         * modules/unictype/property-changes-when-lowercased-tests: New file.
4490         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
4491         automatically generated by gen-uni-tables.
4492
4493         New module 'unictype/property-case-ignorable'.
4494         * modules/unictype/property-case-ignorable: New file.
4495         * lib/unictype/pr_case_ignorable.c: New file.
4496         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
4497         by gen-uni-tables.
4498         * modules/unictype/property-case-ignorable-tests: New file.
4499         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
4500         generated by gen-uni-tables.
4501
4502         New module 'unictype/property-cased'.
4503         * modules/unictype/property-cased: New file.
4504         * lib/unictype/pr_cased.c: New file.
4505         * lib/unictype/pr_cased.h: New file, automatically generated by
4506         gen-uni-tables.
4507         * modules/unictype/property-cased-tests: New file.
4508         * tests/unictype/test-pr_cased.c: New file, automatically generated by
4509         gen-uni-tables.
4510
4511 2011-01-09  Bruno Haible  <bruno@clisp.org>
4512
4513         Update to Unicode 5.2.0.
4514         * lib/gen-uni-tables.c (output_predicate, output_category,
4515         output_combclass, output_bidi_category, output_decimal_digit_test,
4516         output_decimal_digit, output_digit_test, output_digit,
4517         output_numeric_test, output_numeric, output_mirror, output_scripts,
4518         output_scripts_byname, output_blocks, output_ident_category): Fix
4519         comment header.
4520         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
4521         get_wbp.
4522         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
4523         items.
4524         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
4525         Changes_When_Lowercased, Changes_When_Uppercased,
4526         Changes_When_Titlecased, Changes_When_Casefolded,
4527         Changes_When_Casemapped.
4528         (is_property_alphabetic, is_property_default_ignorable_code_point):
4529         Update for Unicode 5.2.0.
4530         (is_property_cased, is_property_case_ignorable,
4531         is_property_changes_when_lowercased,
4532         is_property_changes_when_uppercased,
4533         is_property_changes_when_titlecased,
4534         is_property_changes_when_casefolded,
4535         is_property_changes_when_casemapped): New functions.
4536         (output_properties): Output also the properties cased, case_ignorable,
4537         changes_when_lowercased, changes_when_uppercased,
4538         changes_when_titlecased, changes_when_casefolded,
4539         changes_when_casemapped.
4540         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
4541         Unicode TR#11 revision 17 -> 19.
4542         (LBP_CP): New enumeration value.
4543         (LBP_*): Adjust values accordingly.
4544         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4545         TR#14 revision 22 -> 24.
4546         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
4547         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
4548         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4549         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
4550         is_WBP_MIDLETTER.
4551         (output_composition_tables): Allow for 24 bits instead of 16 bits in
4552         the code1 and code2 of each composition rule.
4553         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
4554         * lib/unicase/ignorable.h: Likewise.
4555         * lib/unicase/tocasefold.h: Likewise.
4556         * lib/unicase/tolower.h: Likewise.
4557         * lib/unicase/totitle.h: Likewise.
4558         * lib/unicase/toupper.h: Likewise.
4559         * lib/unictype/bidi_of.h: Likewise.
4560         * lib/unictype/blocks.h: Likewise.
4561         * lib/unictype/categ_C.h: Likewise.
4562         * lib/unictype/categ_Cf.h: Likewise.
4563         * lib/unictype/categ_Cn.h: Likewise.
4564         * lib/unictype/categ_L.h: Likewise.
4565         * lib/unictype/categ_Ll.h: Likewise.
4566         * lib/unictype/categ_Lm.h: Likewise.
4567         * lib/unictype/categ_Lo.h: Likewise.
4568         * lib/unictype/categ_Lu.h: Likewise.
4569         * lib/unictype/categ_M.h: Likewise.
4570         * lib/unictype/categ_Mc.h: Likewise.
4571         * lib/unictype/categ_Mn.h: Likewise.
4572         * lib/unictype/categ_N.h: Likewise.
4573         * lib/unictype/categ_Nd.h: Likewise.
4574         * lib/unictype/categ_Nl.h: Likewise.
4575         * lib/unictype/categ_No.h: Likewise.
4576         * lib/unictype/categ_P.h: Likewise.
4577         * lib/unictype/categ_Pd.h: Likewise.
4578         * lib/unictype/categ_Po.h: Likewise.
4579         * lib/unictype/categ_S.h: Likewise.
4580         * lib/unictype/categ_Sc.h: Likewise.
4581         * lib/unictype/categ_So.h: Likewise.
4582         * lib/unictype/categ_of.h: Likewise.
4583         * lib/unictype/combining.h: Likewise.
4584         * lib/unictype/ctype_alnum.h: Likewise.
4585         * lib/unictype/ctype_alpha.h: Likewise.
4586         * lib/unictype/ctype_graph.h: Likewise.
4587         * lib/unictype/ctype_lower.h: Likewise.
4588         * lib/unictype/ctype_print.h: Likewise.
4589         * lib/unictype/ctype_punct.h: Likewise.
4590         * lib/unictype/ctype_upper.h: Likewise.
4591         * lib/unictype/decdigit.h: Likewise.
4592         * lib/unictype/digit.h: Likewise.
4593         * lib/unictype/numeric.h: Likewise.
4594         * lib/unictype/pr_alphabetic.h: Likewise.
4595         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4596         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4597         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4598         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4599         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4600         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4601         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4602         * lib/unictype/pr_combining.h: Likewise.
4603         * lib/unictype/pr_composite.h: Likewise.
4604         * lib/unictype/pr_currency_symbol.h: Likewise.
4605         * lib/unictype/pr_dash.h: Likewise.
4606         * lib/unictype/pr_decimal_digit.h: Likewise.
4607         * lib/unictype/pr_deprecated.h: Likewise.
4608         * lib/unictype/pr_diacritic.h: Likewise.
4609         * lib/unictype/pr_extender.h: Likewise.
4610         * lib/unictype/pr_grapheme_base.h: Likewise.
4611         * lib/unictype/pr_grapheme_extend.h: Likewise.
4612         * lib/unictype/pr_grapheme_link.h: Likewise.
4613         * lib/unictype/pr_id_continue.h: Likewise.
4614         * lib/unictype/pr_id_start.h: Likewise.
4615         * lib/unictype/pr_ideographic.h: Likewise.
4616         * lib/unictype/pr_ignorable_control.h: Likewise.
4617         * lib/unictype/pr_logical_order_exception.h: Likewise.
4618         * lib/unictype/pr_lowercase.h: Likewise.
4619         * lib/unictype/pr_numeric.h: Likewise.
4620         * lib/unictype/pr_other_alphabetic.h: Likewise.
4621         * lib/unictype/pr_punctuation.h: Likewise.
4622         * lib/unictype/pr_sentence_terminal.h: Likewise.
4623         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4624         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4625         * lib/unictype/pr_unified_ideograph.h: Likewise.
4626         * lib/unictype/pr_uppercase.h: Likewise.
4627         * lib/unictype/pr_xid_continue.h: Likewise.
4628         * lib/unictype/pr_xid_start.h: Likewise.
4629         * lib/unictype/pr_zero_width.h: Likewise.
4630         * lib/unictype/scripts.h: Likewise.
4631         * lib/unictype/scripts_byname.gperf: Likewise.
4632         * lib/unictype/sy_java_ident.h: Likewise.
4633         * lib/unigbrk/gbrkprop.h: Likewise.
4634         * lib/unilbrk/lbrkprop1.h: Likewise.
4635         * lib/unilbrk/lbrkprop2.h: Likewise.
4636         * lib/unilbrk/lbrktables.h: Likewise.
4637         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
4638         LBP_CP. Implement rule LB30.
4639         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
4640         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
4641         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
4642         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
4643         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
4644         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
4645         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
4646         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
4647         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
4648         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
4649         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
4650         bits instead of 16 bits in the code1 and code2 of each composition
4651         rule.
4652         (uc_composition): Update for Unicode 5.2.0.
4653         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
4654         * lib/uninorm/decomposition-table2.h: Likewise.
4655         * lib/uniwbrk/wbrkprop.h: Likewise.
4656         * tests/unicase/test-cased.c: Likewise.
4657         * tests/unicase/test-ignorable.c: Likewise.
4658         * tests/unicase/test-uc_tolower.c: Likewise.
4659         * tests/unicase/test-uc_totitle.c: Likewise.
4660         * tests/unicase/test-uc_toupper.c: Likewise.
4661         * tests/unictype/test-categ_C.c: Likewise.
4662         * tests/unictype/test-categ_Cf.c: Likewise.
4663         * tests/unictype/test-categ_Cn.c: Likewise.
4664         * tests/unictype/test-categ_L.c: Likewise.
4665         * tests/unictype/test-categ_Ll.c: Likewise.
4666         * tests/unictype/test-categ_Lm.c: Likewise.
4667         * tests/unictype/test-categ_Lo.c: Likewise.
4668         * tests/unictype/test-categ_Lu.c: Likewise.
4669         * tests/unictype/test-categ_M.c: Likewise.
4670         * tests/unictype/test-categ_Mc.c: Likewise.
4671         * tests/unictype/test-categ_Mn.c: Likewise.
4672         * tests/unictype/test-categ_N.c: Likewise.
4673         * tests/unictype/test-categ_Nd.c: Likewise.
4674         * tests/unictype/test-categ_Nl.c: Likewise.
4675         * tests/unictype/test-categ_No.c: Likewise.
4676         * tests/unictype/test-categ_P.c: Likewise.
4677         * tests/unictype/test-categ_Pd.c: Likewise.
4678         * tests/unictype/test-categ_Po.c: Likewise.
4679         * tests/unictype/test-categ_S.c: Likewise.
4680         * tests/unictype/test-categ_Sc.c: Likewise.
4681         * tests/unictype/test-categ_So.c: Likewise.
4682         * tests/unictype/test-ctype_alnum.c: Likewise.
4683         * tests/unictype/test-ctype_alpha.c: Likewise.
4684         * tests/unictype/test-ctype_graph.c: Likewise.
4685         * tests/unictype/test-ctype_lower.c: Likewise.
4686         * tests/unictype/test-ctype_print.c: Likewise.
4687         * tests/unictype/test-ctype_punct.c: Likewise.
4688         * tests/unictype/test-ctype_upper.c: Likewise.
4689         * tests/unictype/test-decdigit.h: Likewise.
4690         * tests/unictype/test-digit.h: Likewise.
4691         * tests/unictype/test-numeric.h: Likewise.
4692         * tests/unictype/test-pr_alphabetic.c: Likewise.
4693         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4694         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4695         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4696         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4697         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4698         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4699         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4700         * tests/unictype/test-pr_combining.c: Likewise.
4701         * tests/unictype/test-pr_composite.c: Likewise.
4702         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4703         * tests/unictype/test-pr_dash.c: Likewise.
4704         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4705         * tests/unictype/test-pr_deprecated.c: Likewise.
4706         * tests/unictype/test-pr_diacritic.c: Likewise.
4707         * tests/unictype/test-pr_extender.c: Likewise.
4708         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4709         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4710         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4711         * tests/unictype/test-pr_id_continue.c: Likewise.
4712         * tests/unictype/test-pr_id_start.c: Likewise.
4713         * tests/unictype/test-pr_ideographic.c: Likewise.
4714         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4715         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4716         * tests/unictype/test-pr_lowercase.c: Likewise.
4717         * tests/unictype/test-pr_numeric.c: Likewise.
4718         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4719         * tests/unictype/test-pr_punctuation.c: Likewise.
4720         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4721         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4722         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4723         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4724         * tests/unictype/test-pr_uppercase.c: Likewise.
4725         * tests/unictype/test-pr_xid_continue.c: Likewise.
4726         * tests/unictype/test-pr_xid_start.c: Likewise.
4727         * tests/unictype/test-pr_zero_width.c: Likewise.
4728         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4729         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4730         changed behaviour: line breaking is now disallowed between a letter
4731         or '=' and '('.
4732         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4733         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4734         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4735         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4736         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4737         lib/uniwidth/width.c.
4738         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4739         without comments, but with the original copyright notice.
4740         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4741         changes.
4742         * lib/unictype/categ_Cc.h: Likewise.
4743         * lib/unictype/categ_Co.h: Likewise.
4744         * lib/unictype/categ_Cs.h: Likewise.
4745         * lib/unictype/categ_Lt.h: Likewise.
4746         * lib/unictype/categ_Me.h: Likewise.
4747         * lib/unictype/categ_Pc.h: Likewise.
4748         * lib/unictype/categ_Pe.h: Likewise.
4749         * lib/unictype/categ_Pf.h: Likewise.
4750         * lib/unictype/categ_Pi.h: Likewise.
4751         * lib/unictype/categ_Ps.h: Likewise.
4752         * lib/unictype/categ_Sk.h: Likewise.
4753         * lib/unictype/categ_Sm.h: Likewise.
4754         * lib/unictype/categ_Z.h: Likewise.
4755         * lib/unictype/categ_Zl.h: Likewise.
4756         * lib/unictype/categ_Zp.h: Likewise.
4757         * lib/unictype/categ_Zs.h: Likewise.
4758         * lib/unictype/ctype_blank.h: Likewise.
4759         * lib/unictype/ctype_cntrl.h: Likewise.
4760         * lib/unictype/ctype_digit.h: Likewise.
4761         * lib/unictype/ctype_space.h: Likewise.
4762         * lib/unictype/ctype_xdigit.h: Likewise.
4763         * lib/unictype/mirror.h: Likewise.
4764         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4765         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4766         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4767         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4768         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4769         * lib/unictype/pr_bidi_control.h: Likewise.
4770         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4771         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4772         * lib/unictype/pr_bidi_pdf.h: Likewise.
4773         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4774         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4775         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4776         * lib/unictype/pr_format_control.h: Likewise.
4777         * lib/unictype/pr_hex_digit.h: Likewise.
4778         * lib/unictype/pr_hyphen.h: Likewise.
4779         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4780         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4781         * lib/unictype/pr_iso_control.h: Likewise.
4782         * lib/unictype/pr_join_control.h: Likewise.
4783         * lib/unictype/pr_left_of_pair.h: Likewise.
4784         * lib/unictype/pr_line_separator.h: Likewise.
4785         * lib/unictype/pr_math.h: Likewise.
4786         * lib/unictype/pr_non_break.h: Likewise.
4787         * lib/unictype/pr_not_a_character.h: Likewise.
4788         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4789         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4790         * lib/unictype/pr_other_id_continue.h: Likewise.
4791         * lib/unictype/pr_other_id_start.h: Likewise.
4792         * lib/unictype/pr_other_lowercase.h: Likewise.
4793         * lib/unictype/pr_other_math.h: Likewise.
4794         * lib/unictype/pr_other_uppercase.h: Likewise.
4795         * lib/unictype/pr_paired_punctuation.h: Likewise.
4796         * lib/unictype/pr_paragraph_separator.h: Likewise.
4797         * lib/unictype/pr_pattern_syntax.h: Likewise.
4798         * lib/unictype/pr_pattern_white_space.h: Likewise.
4799         * lib/unictype/pr_private_use.h: Likewise.
4800         * lib/unictype/pr_quotation_mark.h: Likewise.
4801         * lib/unictype/pr_radical.h: Likewise.
4802         * lib/unictype/pr_soft_dotted.h: Likewise.
4803         * lib/unictype/pr_space.h: Likewise.
4804         * lib/unictype/pr_titlecase.h: Likewise.
4805         * lib/unictype/pr_variation_selector.h: Likewise.
4806         * lib/unictype/pr_white_space.h: Likewise.
4807         * lib/unictype/sy_c_ident.h: Likewise.
4808         * lib/unictype/sy_c_whitespace.h: Likewise.
4809         * lib/unictype/sy_java_whitespace.h: Likewise.
4810         * modules/uni*/*: Bump version number of expected libunistring version.
4811         Reported by Simon Josefsson.
4812
4813 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4814
4815         useless-if-before-free: fix typo in --help and make the internal,
4816         automatic version date update process work once again.
4817         --help output contained a NUL character instead of the
4818         backslash-zero that was intended.  Also, the "must lie within
4819         the first 8 lines" line is on line 9, and hence not getting
4820         automatically updated.
4821         * build-aux/useless-if-before-free: Fix the former by adding a
4822         backslash, and the latter by condensing the three lines of what-it-does
4823         to a single line, leaving one line of slack for the future.
4824
4825 2011-01-09  Bruno Haible  <bruno@clisp.org>
4826
4827         uniwidth/width: Fix width of U+1D173..U+1D17A.
4828         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4829         symbolic_width, output_width_property_test): New functions.
4830         (main): Invoke output_nonspacing_property, output_width_property_test.
4831         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4832         U+1D173..U+1D17A.
4833         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4834         1.
4835         * modules/uniwidth/*: Bump version number of expected libunistring
4836         version.
4837         * modules/unilbrk/*: Likewise.
4838
4839 2011-01-08  Bruno Haible  <bruno@clisp.org>
4840
4841         uninorm tests: Preserve copyright of Unicode data file.
4842         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4843         Mention modifications.
4844
4845 2011-01-08  Bruno Haible  <bruno@clisp.org>
4846
4847         gen-uni-tables: Prepare for Unicode 5.2.0.
4848         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4849         (debug_output_lbp, output_lbp): Update.
4850
4851 2011-01-08  Bruno Haible  <bruno@clisp.org>
4852
4853         unilbrk: Clarify gen-uni-tables.c code.
4854         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4855         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4856         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4857
4858 2011-01-07  Bruno Haible  <bruno@clisp.org>
4859
4860         strtod: Restore errno when successfully parsing Infinity or NaN.
4861         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4862         restore the original errno.
4863
4864 2011-01-07  Bruno Haible  <bruno@clisp.org>
4865
4866         remove test: Avoid failure on HP-UX 11.
4867         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4868
4869 2011-01-07  Bruno Haible  <bruno@clisp.org>
4870
4871         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4872         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4873         error code.
4874
4875 2011-01-07  Pádraig Brady <P@draigBrady.com>
4876
4877         ignore-value: fixup comments, and add Eric Blake
4878         as an author since he rewrote the macros.
4879         * lib/ignore-value.h (ignore_value):  State that
4880         we now support aggregates.  Also specify exactly
4881         when the GCC warn_unused_result feature was added.
4882
4883 2011-01-06  Eric Blake  <eblake@redhat.com>
4884
4885         ignore-value: support aggregate types
4886         * lib/ignore-value.h (ignore_value): Provide separate gcc
4887         definition.
4888         * modules/ignore-value-tests: New test module.
4889         * tests/test-ignore-value.c: New test.
4890
4891         maint.mk: improve sc_prohibit_strcmp regex
4892         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4893         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4894         definition of STRNEQ.
4895
4896         signal: work around Haiku issue with SIGBUS
4897         * lib/siglist.h: Add comment.
4898         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4899         strsignal's favoring of SIGSEGV.
4900         * tests/test-signal.c (main): Avoid test failure.
4901         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4902         Reported by Scott McCreary.
4903
4904         maint.mk: add pre-release check to ensure submodule commits are public
4905         * top/maint.mk (public-submodule-commit): New rule.
4906         (submodule-checks): New variable.
4907         (alpha beta stable): Depend on the variable.
4908
4909 2011-01-05  Pádraig Brady <P@draigBrady.com>
4910         and Jim Meyering  <meyering@redhat.com>
4911
4912         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4913         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4914         (ATTRIBUTE_DEPRECATED): Define.
4915         (_ignore_case): New function.
4916         (ignore_value): New macro, to replace the old function.
4917         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4918         * modules/ignore-value (Depends-on): Add stdint.
4919
4920 2011-01-04  Eric Blake  <eblake@redhat.com>
4921
4922         doc: regenerate INSTALL
4923         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4924         @firstparagraphindent support, now that autoconf dropped it.
4925         (INSTALL_PRELUDE): Reinstate old macro.
4926         * doc/install.texi: Resync from autoconf.
4927         * doc/INSTALL: Reflect recent autoconf update.
4928         * doc/INSTALL.ISO: Likewise.
4929         * doc/INSTALL.UTF-8: Likewise.
4930         Reported by Karl Berry.
4931
4932 2011-01-04  Bruce Korb  <address@hidden>
4933
4934         git-version-gen: avoid a sub-shell
4935         * build-aux/git-version-gen: Redirect stderr in `...` via
4936         "exec 2>...", rather than via an added sub-shell.
4937
4938 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
4939
4940         git-version-gen: use (...) rather than sh -c '...'
4941         * build-aux/git-version-gen: Rather than hard-coding a shell's name
4942         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
4943
4944 2011-01-03  Jim Meyering  <meyering@redhat.com>
4945
4946         git-version-gen: convert leading TABs to spaces
4947         * build-aux/git-version-gen: Expand leading TABs.
4948
4949         git-version-gen: handle failed "git rev-list"
4950         * build-aux/git-version-gen: Rather than leaking a "fatal" error
4951         from git and proceeding as if it had succeeded but printed no SHA1
4952         checksums, suppress the diagnostic and handle the failure.
4953         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
4954
4955         git-version-gen: include command name in one more diagnostic
4956         * build-aux/git-version-gen: When the required .tarball-version file
4957         was missing or unreadable, you might see the diagnostic from "cat",
4958         but no trace of the name of the invoking script.  Now, you still see
4959         the diagnostic from cat, but also get one from "git-version-gen: ".
4960         Inspired by a patch from Bruce Korb.
4961
4962         update-copyright: adjust test to match changed code
4963         * tests/test-update-copyright.sh: Change test's expected output
4964         to match new actual output.
4965
4966 2011-01-02  Bruno Haible  <bruno@clisp.org>
4967
4968         getlogin_r: Avoid test failure on HP-UX 11.
4969         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
4970         ERANGE when the second argument is zero.
4971         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
4972         portability problem.
4973
4974 2011-01-02  Bruce Korb  <bkorb@gnu.org>
4975
4976         * build-aux/update-copyright: doc Simon's changes
4977
4978 2011-01-02  Simon Josefsson  <simon@josefsson.org>
4979
4980         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
4981         environment variable.
4982
4983 2011-01-02  Bruno Haible  <bruno@clisp.org>
4984
4985         unigbrk: Avoid gcc warnings.
4986         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
4987         unused variable.
4988         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
4989         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
4990         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
4991         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
4992         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
4993         Change type of first argument to 'const char *'.
4994         (main): Remove unused variable.
4995         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
4996         type of first argument to 'const char *'.
4997         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
4998         Likewise.
4999         (main): Change type of variable 's'.
5000         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
5001         to 'int'.
5002
5003 2011-01-02  Bruno Haible  <bruno@clisp.org>
5004
5005         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
5006         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
5007         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
5008         bug.
5009         * lib/pwrite.c: Undo 2010-12-31 patch.
5010         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
5011
5012 2011-01-02  Bruno Haible  <bruno@clisp.org>
5013
5014         pread: Fix test whether it works.
5015         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
5016
5017 2011-01-02  Bruno Haible  <bruno@clisp.org>
5018
5019         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
5020         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
5021         ends in "6". Don't require a specific month name. Try also the locale
5022         names found on HP-UX 11 and Solaris 7.
5023
5024 2011-01-02  Bruno Haible  <bruno@clisp.org>
5025
5026         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
5027         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
5028         C linkage.
5029         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
5030
5031 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5032
5033         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
5034         for consistency, since the "cluster" term is not used elsewhere.
5035         * lib/unigbrk.in.h: Update name.
5036         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
5037         * lib/unigbrk/u16-grapheme-next.c: Update name.
5038         * lib/unigbrk/u16-grapheme-prev.c: Update name.
5039         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
5040         * lib/unigbrk/u32-grapheme-next.c: Update name.
5041         * lib/unigbrk/u32-grapheme-prev.c: Update name.
5042         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
5043         * lib/unigbrk/u8-grapheme-next.c: Update name.
5044         * lib/unigbrk/u8-grapheme-prev.c: Update name.
5045         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
5046         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
5047         Suggested by Bruno Haible.
5048
5049 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5050
5051         Remove module 'u8-grapheme-len' as too redundant with
5052         'u8-grapheme-next'.
5053         * modules/unigbrk/u8-grapheme-len: Delete file.
5054         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
5055         * lib/unigbrk.in.h: Remove prototype for deleted function.
5056         * lib/unigbrk/u8-grapheme-len.c: Delete file.
5057         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
5058
5059         Remove module 'u16-grapheme-len' as too redundant with
5060         'u16-grapheme-next'.
5061         * modules/unigbrk/u16-grapheme-len: Delete file.
5062         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
5063         * lib/unigbrk.in.h: Remove prototype for deleted function.
5064         * lib/unigbrk/u16-grapheme-len.c: Delete file.
5065         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
5066
5067         Remove module 'u32-grapheme-len' as too redundant with
5068         'u32-grapheme-next'.
5069         * modules/unigbrk/u32-grapheme-len: Delete file.
5070         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
5071         * lib/unigbrk.in.h: Remove prototype for deleted function.
5072         * lib/unigbrk/u32-grapheme-len.c: Delete file.
5073         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
5074
5075         Suggested by Bruno Haible.
5076
5077 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5078
5079         * unigbrk.in.h: Fix typo: "ben" => "been".
5080         Reported by Bruno Haible.
5081
5082 2011-01-01  Jim Meyering  <meyering@redhat.com>
5083
5084         maint: update almost all copyright ranges to include 2011
5085         Run the new "make update-copyright" rule.
5086
5087 2011-01-01  Jim Meyering  <meyering@redhat.com>
5088
5089         maint: update-copyright: exempt doc/INSTALL*
5090         * Makefile (update-copyright): Also exclude doc/INSTALL*,
5091         since they are generated.  Suggested by Bruno Haible.
5092
5093 2011-01-01  Jim Meyering  <meyering@redhat.com>
5094
5095         maint: refine the update-copyright rule
5096         * Makefile (update-copyright): Also exclude any file that includes
5097         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
5098         code that merely generates the comment.
5099
5100 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5101
5102         New module 'u8-grapheme-len'.
5103         * modules/unigbrk/u8-grapheme-len: New file.
5104         * modules/unigbrk/u8-grapheme-len-tests: New file.
5105         * lib/unigbrk.in.h: Add prototype for new function.
5106         * lib/unigbrk/u8-grapheme-len.c: New file.
5107         * tests/unigbrk/test-u8-grapheme-len.c: New file.
5108
5109         New module 'u16-grapheme-len'.
5110         * modules/unigbrk/u16-grapheme-len: New file.
5111         * modules/unigbrk/u16-grapheme-len-tests: New file.
5112         * lib/unigbrk.in.h: Add prototype for new function.
5113         * lib/unigbrk/u16-grapheme-len.c: New file.
5114         * tests/unigbrk/test-u16-grapheme-len.c: New file.
5115
5116         New module 'u32-grapheme-len'.
5117         * modules/unigbrk/u32-grapheme-len: New file.
5118         * modules/unigbrk/u32-grapheme-len-tests: New file.
5119         * lib/unigbrk.in.h: Add prototype for new function.
5120         * lib/unigbrk/u32-grapheme-len.c: New file.
5121         * tests/unigbrk/test-u32-grapheme-len.c: New file.
5122
5123         New module 'u8-grapheme-next'.
5124         * modules/unigbrk/u8-grapheme-next: New file.
5125         * modules/unigbrk/u8-grapheme-next-tests: New file.
5126         * lib/unigbrk.in.h: Add prototype for new function.
5127         * lib/unigbrk/u8-grapheme-next.c: New file.
5128         * tests/unigbrk/test-u8-grapheme-next.c: New file.
5129
5130         New module 'u16-grapheme-next'.
5131         * modules/unigbrk/u16-grapheme-next: New file.
5132         * modules/unigbrk/u16-grapheme-next-tests: New file.
5133         * lib/unigbrk.in.h: Add prototype for new function.
5134         * lib/unigbrk/u16-grapheme-next.c: New file.
5135         * tests/unigbrk/test-u16-grapheme-next.c: New file.
5136
5137         New module 'u32-grapheme-next'.
5138         * modules/unigbrk/u32-grapheme-next: New file.
5139         * modules/unigbrk/u32-grapheme-next-tests: New file.
5140         * lib/unigbrk.in.h: Add prototype for new function.
5141         * lib/unigbrk/u32-grapheme-next.c: New file.
5142         * tests/unigbrk/test-u32-grapheme-next.c: New file.
5143
5144         New module 'u8-grapheme-prev'.
5145         * modules/unigbrk/u8-grapheme-prev: New file.
5146         * modules/unigbrk/u8-grapheme-prev-tests: New file.
5147         * lib/unigbrk.in.h: Add prototype for new function.
5148         * lib/unigbrk/u8-grapheme-prev.c: New file.
5149         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
5150
5151         New module 'u16-grapheme-prev'.
5152         * modules/unigbrk/u16-grapheme-prev: New file.
5153         * modules/unigbrk/u16-grapheme-prev-tests: New file.
5154         * lib/unigbrk.in.h: Add prototype for new function.
5155         * lib/unigbrk/u16-grapheme-prev.c: New file.
5156         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
5157
5158         New module 'u32-grapheme-prev'.
5159         * modules/unigbrk/u32-grapheme-prev: New file.
5160         * modules/unigbrk/u32-grapheme-prev-tests: New file.
5161         * lib/unigbrk.in.h: Add prototype for new function.
5162         * lib/unigbrk/u32-grapheme-prev.c: New file.
5163         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
5164
5165         New module 'u8-grapheme-breaks'.
5166         * modules/unigbrk/u8-grapheme-breaks: New file.
5167         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
5168         * lib/unigbrk.in.h: Add prototype for new function.
5169         * lib/unigbrk/u8-grapheme-breaks.c: New file.
5170         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
5171
5172         New module 'u16-grapheme-breaks'.
5173         * modules/unigbrk/u16-grapheme-breaks: New file.
5174         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
5175         * lib/unigbrk.in.h: Add prototype for new function.
5176         * lib/unigbrk/u16-grapheme-breaks.c: New file.
5177         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
5178
5179         New module 'u32-grapheme-breaks'.
5180         * modules/unigbrk/u32-grapheme-breaks: New file.
5181         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
5182         * lib/unigbrk.in.h: Add prototype for new function.
5183         * lib/unigbrk/u32-grapheme-breaks.c: New file.
5184         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
5185
5186         New module 'ulc-grapheme-breaks'.
5187         * modules/unigbrk/ulc-grapheme-breaks: New file.
5188         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
5189         * m4/locale-ar.m4: New file.
5190         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
5191         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
5192         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
5193
5194 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5195
5196         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
5197         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
5198         modified how this file was generated before I initially submitted
5199         the module, but failed to regenerate it.  This meant that several
5200         of the level2 entries were wrong.
5201         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
5202         Remove the division-by-2 that is folded into the table now that
5203         gbrkprop.h has been regenerated properly.  Now -1 entries are
5204         handled correctly.
5205
5206         New module 'unigbrk/uc-gbrk-prop-tests'.
5207         * modules/unigbrk/uc-gbrk-prop-tests: New file.
5208         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
5209         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
5210         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
5211
5212 2011-01-01  Bruno Haible  <bruno@clisp.org>
5213
5214         Avoid use of hexadecimal escapes.
5215         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
5216         instead of hexadecimal escapes.
5217
5218 2011-01-01  Jim Meyering  <meyering@redhat.com>
5219
5220         maint: new rule to update copyright year ranges
5221         * Makefile (update-copyright): New rule.
5222
5223         maint: indent with TABs in Makefile
5224         * Makefile: Expand leading sequences of spaces to TABs
5225
5226         version-etc: update the copyright year it reports
5227         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
5228
5229 2010-12-31  Bruno Haible  <bruno@clisp.org>
5230
5231         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
5232         * lib/isfinite.c (zerof, zerod, zerol): New variables.
5233         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
5234         zero.
5235
5236 2010-12-31  Bruno Haible  <bruno@clisp.org>
5237
5238         pwrite: Work around HP-UX 11.11 bug.
5239         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
5240         works and set REPLACE_PWRITE if not.
5241         * lib/pwrite.c (pwrite): Add an implementation that uses the system
5242         function.
5243         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
5244
5245 2010-12-31  Bruno Haible  <bruno@clisp.org>
5246
5247         pread: Work around HP-UX 11 bugs.
5248         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
5249         and set REPLACE_PREAD if not.
5250         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
5251
5252 2010-12-31  Eric Blake  <eblake@redhat.com>
5253
5254         nl_langinfo: fix YESEXPR on Irix 6.5
5255         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
5256         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
5257         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
5258         it.
5259
5260 2010-12-31  Bruno Haible  <bruno@clisp.org>
5261
5262         iconv: Document HP-UX 11 bug.
5263         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
5264
5265 2010-12-31  Bruno Haible  <bruno@clisp.org>
5266
5267         ldexpl: Fix link error on HP-UX 11.
5268         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
5269         LDEXPL_LIBM, using $ISNANL_LIBM.
5270
5271 2010-12-31  Eric Blake  <eblake@redhat.com>
5272
5273         ftello: avoid compilation failure with SunStudio c89
5274         * lib/ftello.c (ftello): Use lseek, not llseek.
5275
5276         tests: avoid failing coreutils tests on cygwin
5277         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
5278         (create_exe_shims_): Return 0 when skipping.
5279
5280 2010-12-31  Bruno Haible  <bruno@clisp.org>
5281
5282         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
5283         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
5284
5285 2010-12-31  Bruno Haible  <bruno@clisp.org>
5286
5287         waitpid: Fix link error in C++ mode.
5288         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
5289
5290 2010-12-31  Bruno Haible  <bruno@clisp.org>
5291
5292         isnan: Use GCC built-ins when possible.
5293         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
5294         __builtin_isnan.
5295         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
5296         (isnan): Define using GCC built-ins for GCC >= 4.0.
5297
5298 2010-12-31  Bruno Haible  <bruno@clisp.org>
5299
5300         isnand: Fix mistake.
5301         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
5302         __builtin_isnand.
5303
5304 2010-12-31  Bruno Haible  <bruno@clisp.org>
5305
5306         open: Avoid C++ error on HP-UX 11.
5307         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
5308
5309 2010-12-31  Bruno Haible  <bruno@clisp.org>
5310
5311         time_r: Add missing declarations on HP-UX 11.
5312         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
5313         instead of HAVE_LOCALTIME_R.
5314         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
5315         HAVE_LOCALTIME_R always.
5316         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
5317         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
5318         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
5319         HAVE_LOCALTIME_R.
5320         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
5321         * doc/posix-functions/localtime_r.texi: Likewise.
5322
5323 2010-12-29  Eric Blake  <eblake@redhat.com>
5324
5325         mountlist: tweak previous commit
5326         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
5327         Reported by Paul Eggert.
5328
5329         mountlist: fix local drive detection on cygwin
5330         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
5331         that works for cygwin.
5332
5333 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5334
5335         ftoastr, snprintf: ftoastr + snprintf module
5336         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
5337         since the snprintf module now should be good enough here.
5338         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
5339         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
5340         and gl_MODULE_INDICATOR([snprintf]), but the former enables
5341         GNULIB_SNPRINTF only for the test directory, and the latter
5342         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
5343         seems to suffice by itself.
5344
5345 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5346
5347         alloca: one step towards thread-safety
5348         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
5349         need for a static variable.  All callers changed.  This does not
5350         make the alloca replacement thread-safe, but it's one step.
5351
5352         tests: minor indenting change
5353         * tests/init.sh: Sync from coreutils housekeeping patch
5354         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
5355         to keep lines within 80 columns.
5356
5357 2010-12-28  Jim Meyering  <meyering@redhat.com>
5358
5359         regex: don't infloop on persistent failing calloc
5360         * lib/regexec.c (build_trtable): Return failure indication upon
5361         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
5362         In glibc, this was fixed for version 2.13:
5363         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
5364
5365 2010-12-28  Bruno Haible  <bruno@clisp.org>
5366             Paul Eggert <eggert@cs.ucla.edu>
5367
5368         linkat: Make implementation robust against system behaviour variations.
5369         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
5370         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
5371         way, and to -2 if it needs a generic runtime test.
5372         * lib/linkat.c (solaris_optimized_link_immediate,
5373         solaris_optimized_link_follow): New functions.
5374         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
5375         (check_same_link): Use it.
5376
5377 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
5378
5379         New module 'unigbrk/base'.
5380         * modules/unigbrk/base: New file.
5381         * lib/unigbrk.in.h: New file.
5382
5383         New module 'unigbrk/uc-gbrk-prop'.
5384         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
5385         * modules/unigbrk/uc-gbrk-prop: New file.
5386         * lib/unigbrk/gbrkprop.h: New file.
5387         * lib/unigbrk/uc-gbrk-prop.c: New file.
5388
5389         New module 'unigbrk/uc-is-grapheme-break'.
5390         * modules/unigbrk/uc-is-grapheme-break: New file.
5391         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
5392         * lib/unigbrk/uc-is-grapheme-break.c: New file.
5393         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
5394         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
5395         * tests/unigbrk/GraphemeBreakTest.txt: New file.
5396
5397         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
5398
5399 2010-12-27  Bruno Haible  <bruno@clisp.org>
5400
5401         linkat test: Avoid failure on Solaris 11 2010-11.
5402         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
5403
5404 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5405
5406         utimens: work around glibc rounding bug on more platforms
5407         * lib/utimens.c (fdutimens): Work around rounding bug even if
5408         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
5409         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
5410
5411 2010-12-27  Bruno Haible  <bruno@clisp.org>
5412
5413         select tests: Improve comments.
5414         * tests/test-select.c (do_select): Add comments.
5415
5416 2010-12-27  Bruno Haible  <bruno@clisp.org>
5417
5418         select tests: Safer way of handling timeout.
5419         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
5420         at every invocation.
5421
5422 2010-12-27  Bruno Haible  <bruno@clisp.org>
5423
5424         select tests: Use 'bool' where appropriate.
5425         * tests/test-select.c (connect_to_socket): Change argument type to
5426         'bool'.
5427
5428 2010-12-27  Bruno Haible  <bruno@clisp.org>
5429
5430         select tests: Use existing modules.
5431         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
5432         (configure.ac): Don't test for unistd.h.
5433         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
5434         declared in <unistd.h>.
5435
5436 2010-12-27  Bruno Haible  <bruno@clisp.org>
5437
5438         mbrtowc: Work around a Solaris 7 bug.
5439         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
5440         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
5441         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
5442         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
5443         MBRTOWC_NULL_ARG1_BUG.
5444         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
5445         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
5446         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
5447         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
5448
5449 2010-12-27  Jim Meyering  <meyering@redhat.com>
5450
5451         read-file.c: tweak syntax
5452         * lib/read-file.c (fread_file): Remove space after "*" in function
5453         definitions.
5454
5455 2010-12-27  Bruno Haible  <bruno@clisp.org>
5456
5457         times test: Avoid gcc warnings on OSF/1.
5458         * tests/test-times.c (main): Cast printf arguments from clock_t to
5459         'long int'.
5460
5461 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5462
5463         utimens: work around glibc rounding bug on older Linux kernels
5464         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
5465         on Linux with a glibc whose utimes might not work, then work
5466         around a longstanding glibc bug involving rounding rather than
5467         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
5468         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5469
5470 2010-12-26  Bruno Haible  <bruno@clisp.org>
5471
5472         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
5473         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
5474         _GL_CXXALIAS_SYS.
5475         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5476
5477 2010-12-26  Bruno Haible  <bruno@clisp.org>
5478
5479         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
5480         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
5481         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
5482         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
5483         looking for the declaration.
5484         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5485         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
5486         problem.
5487         * doc/posix-functions/inet_pton.texi: Likewise.
5488
5489 2010-12-26  Bruno Haible  <bruno@clisp.org>
5490
5491         arpa_inet: Use the common idioms with C++ support.
5492         * lib/arpa_inet.in.h: Include c++defs.h.
5493         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
5494         support.
5495         * modules/arpa_inet (Depends-on): Add c++defs.
5496         (Makefile.am): Substitute the contents of c++defs.h.
5497         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
5498         * modules/arpa_inet-c++-tests: New file.
5499         * tests/test-arpa_inet-c++.cc: New file.
5500
5501 2010-12-25  Bruno Haible  <bruno@clisp.org>
5502
5503         Fix more C++ link errors on Solaris 8.
5504         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
5505         $(LIB_EACCESS).
5506         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
5507         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
5508         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
5509         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
5510         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
5511
5512 2010-12-25  Bruno Haible  <bruno@clisp.org>
5513
5514         printf-posix: Fix link error when a non-GCC compiler is used.
5515         * lib/stdio.in.h (printf): When not using GCC, override printf
5516         correctly.
5517         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5518
5519 2010-12-25  Bruno Haible  <bruno@clisp.org>
5520
5521         strerror_r-posix: Update doc.
5522         * doc/posix-functions/strerror_r.texi: Update doc about the return
5523         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
5524
5525 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5526
5527         utimens: simplify the logic of the previous change
5528         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
5529         This should not affect whether the test succeeds or fails.
5530
5531         utimens: configure better on hosts with NFS clock skew
5532         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
5533         uses the clock of the local host.  It might use the clock of the
5534         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
5535         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5536
5537 2010-12-25  Bruno Haible  <bruno@clisp.org>
5538
5539         ptsname test: Avoid failure on Solaris.
5540         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
5541         open a pseudo-terminal; don't use BSD-style ptys.
5542         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
5543
5544 2010-12-25  Bruno Haible  <bruno@clisp.org>
5545
5546         ptsname: Avoid ERANGE failure on some systems.
5547         * lib/ptsname.c (buffer): Increase size.
5548
5549 2010-12-25  Bruno Haible  <bruno@clisp.org>
5550
5551         rename, renameat: Avoid test failures at NFS mounted locations.
5552         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
5553         so that subsequent mkdir calls succeed.
5554
5555 2010-12-25  Bruno Haible  <bruno@clisp.org>
5556
5557         iswblank: Fix C++ link error on Solaris 8.
5558         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
5559         _GL_FUNCDECL_SYS.
5560
5561 2010-12-25  Bruno Haible  <bruno@clisp.org>
5562
5563         unistd: Fix C++ link error on Solaris 8.
5564         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
5565
5566 2010-12-25  Bruno Haible  <bruno@clisp.org>
5567
5568         readlink doc: Mention an old glibc bug.
5569         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
5570
5571 2010-12-25  Bruno Haible  <bruno@clisp.org>
5572
5573         fcntl-h: Fix for use of C++ on glibc systems.
5574         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
5575         also on glibc systems in C++ mode.
5576         Reported by Gary V. Vaughan <gary@gnu.org>.
5577
5578 2010-12-25  Bruno Haible  <bruno@clisp.org>
5579
5580         roundl-ieee: Make it work on OSF/1 5.1 with cc.
5581         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
5582
5583 2010-12-25  Bruno Haible  <bruno@clisp.org>
5584
5585         truncl-ieee: Make it work on OSF/1 5.1 with cc.
5586         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
5587         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
5588         test whether truncl works according to ISO C 99 with IEC 60559.
5589         * m4/truncl-ieee.m4: New file.
5590         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
5591         m4/signbit.m4.
5592         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
5593
5594 2010-12-25  Bruno Haible  <bruno@clisp.org>
5595
5596         ceill-ieee: Make it work on OSF/1 5.1 with cc.
5597         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
5598         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
5599         test whether ceill works according to ISO C 99 with IEC 60559.
5600         * m4/ceill-ieee.m4: New file.
5601         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
5602         m4/signbit.m4.
5603         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
5604
5605 2010-12-25  Bruno Haible  <bruno@clisp.org>
5606
5607         Ensure all prerequisites of <wchar.h> are included.
5608         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
5609         before <wchar.h>.
5610         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
5611         gl_MBRLEN_NUL_RETVAL): Likewise.
5612         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
5613         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
5614         AC_FUNC_MBRTOWC): Likewise.
5615         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5616         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
5617         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5618         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5619         Likewise.
5620         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5621         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
5622         (gl_WCHAR_H): Improve comments.
5623         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5624
5625 2010-12-25  Bruno Haible  <bruno@clisp.org>
5626
5627         strtok_r: Fix C syntax error in autoconf macro.
5628         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
5629         characters in test program.
5630
5631 2010-12-24  Bruno Haible  <bruno@clisp.org>
5632
5633         ceil, trunc, round: Fix gcc warnings.
5634         * lib/ceil.c (MIN): Undefine before redefining.
5635         * lib/trunc.c (MIN): Likewise.
5636         * lib/round.c (MIN): Likewise.
5637         Include <math.h> first.
5638
5639 2010-12-24  Bruno Haible  <bruno@clisp.org>
5640
5641         select tests: Avoid failures on OSF/1 5.1.
5642         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
5643         failure of closing the last socket; it may fail with ECONNRESET.
5644
5645 2010-12-24  Eric Blake  <eblake@redhat.com>
5646
5647         stdint: avoid HP-UX 10.20 preprocessor bug
5648         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
5649         than #if.
5650         * tests/test-floor2.c (main): Likewise.
5651         Reported by Peter O'Gorman.
5652
5653         pipe: make obsoletion transition easier
5654         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
5655         * modules/pipe (Files): Include revived file.
5656         (Include): Drop reference, to mirror getdate's behavior.
5657
5658 2010-12-24  Bruno Haible  <bruno@clisp.org>
5659
5660         sys_socket: Hide mismatch of declarations on NonStop Kernel.
5661         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
5662         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
5663         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5664
5665 2010-12-24  Bruno Haible  <bruno@clisp.org>
5666
5667         gethostname: Ensure declaration on NonStop Kernel.
5668         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
5669         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5670
5671 2010-12-24  Bruno Haible  <bruno@clisp.org>
5672
5673         sys_select: Ensure all necessary types on NonStop Kernel.
5674         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
5675         include <sys/time.h>.
5676         * doc/posix-headers/sys_select.texi: Mention that it's missing on
5677         NonStop Kernel.
5678         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5679
5680 2010-12-24  Bruno Haible  <bruno@clisp.org>
5681
5682         sys_select: Remove unneeded include.
5683         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
5684         have <sys/select.h>.
5685
5686 2010-12-24  Bruno Haible  <bruno@clisp.org>
5687
5688         gethostname: Provide a fallback for HOST_NAME_MAX.
5689         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
5690         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5691         instead.
5692         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5693
5694 2010-12-24  Bruno Haible  <bruno@clisp.org>
5695
5696         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5697         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5698         (SA_RESTART): Likewise.
5699         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5700
5701 2010-12-24  Bruno Haible  <bruno@clisp.org>
5702
5703         signal: Define NSIG.
5704         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5705         * tests/test-signal.c (nsig): New variable.
5706         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5707
5708 2010-12-24  Bruno Haible  <bruno@clisp.org>
5709
5710         rename, renameat: Avoid test failures on OSF/1 5.1.
5711         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5712         alternative error codes.
5713         * tests/test-renameat.c (main): Likewise.
5714
5715 2010-12-24  Bruno Haible  <bruno@clisp.org>
5716
5717         *printf: Detect large precisions bug on Solaris 10/SPARC.
5718         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5719         by Paul Eggert.
5720         * tests/test-snprintf-posix.h (test_function): Add this test code here
5721         too.
5722         * tests/test-sprintf-posix.h (test_function): Likewise.
5723         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5724         * tests/test-vasprintf-posix.c (test_function): Likewise.
5725         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5726         around by gnulib.
5727         * doc/posix-functions/printf.texi: Likewise.
5728         * doc/posix-functions/snprintf.texi: Likewise.
5729         * doc/posix-functions/sprintf.texi: Likewise.
5730         * doc/posix-functions/vfprintf.texi: Likewise.
5731         * doc/posix-functions/vprintf.texi: Likewise.
5732         * doc/posix-functions/vsnprintf.texi: Likewise.
5733         * doc/posix-functions/vsprintf.texi: Likewise.
5734         * doc/posix-functions/dprintf.texi: Undo last commit.
5735         * doc/posix-functions/vdprintf.texi: Likewise.
5736
5737 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5738
5739         tests: port test-fdutimensat.c to Solaris 8
5740         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5741         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5742         On Solaris 8, it fails with errno == ENOSYS, because there is no
5743         futimens (so it can't use the fd), and there is no lutimens (so it
5744         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5745
5746         vsnprintf: make more consistent with snprintf; doc fixes
5747
5748         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5749         the byte count return problem was promoted from the snprintf-posix
5750         to the snprintf module.
5751         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5752         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5753         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5754         * tests/test-snprintf.c (main): Check the byte count returned.
5755         * tests/test-vsnprintf.c (main): Likewise.
5756
5757 2010-12-23  Eric Blake  <eblake@redhat.com>
5758
5759         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5760         * modules/sigpipe (License): Relax license.
5761
5762 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5763
5764         doc: document Solaris printf bug with large float precisions
5765         * doc/posix-functions/dprintf.texi (dprintf):
5766         * doc/posix-functions/fprintf.texi (fprintf):
5767         * doc/posix-functions/printf.texi (printf):
5768         * doc/posix-functions/snprintf.texi (snprintf):
5769         * doc/posix-functions/sprintf.texi (sprintf):
5770         * doc/posix-functions/vdprintf.texi (vdprintf):
5771         * doc/posix-functions/vfprintf.texi (vfprintf):
5772         * doc/posix-functions/vprintf.texi (vprintf):
5773         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5774         * doc/posix-functions/vsprintf.texi (vsprintf):
5775         Mention that these functions mishandle large floating point
5776         precisions on Solaris 10.  The same bug is also present in Solaris
5777         8, and I assume earlier.  This causes "cd gnulib-tests; make
5778         check" to fail on Solaris 8 (and I assume, later) when building
5779         the latest coreutils, in test-vasprintf-posix's call to
5780         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5781         the wide flavors (e.g., wprintf) so this patch just updates the
5782         documentation for the narrow ones.
5783
5784         test-posixtm.c: add two tests
5785         * tests/test-posixtm.c: Add two tests, to highlight the
5786         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5787         around this bug; this is merely to document it.
5788
5789 2010-12-22  Bruno Haible  <bruno@clisp.org>
5790
5791         getlogin_r: Work around portability problem on OSF/1.
5792         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5793         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5794         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5795         test for a truncated result.
5796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5797         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5798         * modules/getlogin_r (Depends-on): Add memchr.
5799         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5800
5801 2010-12-22  Bruno Haible  <bruno@clisp.org>
5802
5803         ptsname: Avoid test failure on OSF/1 5.1.
5804         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5805         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5806         (same_slave): New function.
5807         (main): Use it to compare ptsname's result with the expected file name.
5808
5809 2010-12-22  Bruno Haible  <bruno@clisp.org>
5810
5811         Port extended stdio modules to HP NonStop Kernel.
5812         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5813         macros.
5814         * lib/fbufmode.c: Update comments.
5815         * lib/fflush.c: Likewise.
5816         * lib/fpurge.c: Likewise.
5817         * lib/freadable.c: Likewise.
5818         * lib/freadahead.c: Likewise.
5819         * lib/freading.c: Likewise.
5820         * lib/freadptr.c: Likewise.
5821         * lib/freadseek.c: Likewise.
5822         * lib/fseeko.c: Likewise.
5823         * lib/fseterr.c: Likewise.
5824         * lib/fwritable.c: Likewise.
5825         * lib/fwriting.c: Likewise.
5826         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5827
5828 2010-12-22  Bruno Haible  <bruno@clisp.org>
5829
5830         ttyname_r: Work around bug on OSF/1 5.1.
5831         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5832         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5833         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5834         present.
5835         * lib/ttyname_r.c (ttyname_r): Update comments.
5836
5837 2010-12-22  Bruno Haible  <bruno@clisp.org>
5838
5839         round: Implement result sign according to IEEE 754.
5840         * lib/round.c (MIN, MINUS_ZERO): New macros.
5841         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5842         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5843         * tests/test-round-ieee.c (main): Likewise.
5844         * tests/test-roundl-ieee.c (main): Likewise.
5845
5846         trunc: Implement result sign according to IEEE 754.
5847         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5848         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5849         * tests/test-trunc2.c: Include minus-zero.h.
5850         (MINUS_ZERO): New macro.
5851         (trunc_reference): Keep in sync with lib/trunc.c.
5852         * tests/test-truncf2.c: Include minus-zero.h.
5853         (MINUS_ZERO): New macro.
5854         (truncf_reference): Keep in sync with lib/trunc.c.
5855         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5856         * tests/test-trunc-ieee.c (main): Likewise.
5857         * tests/test-truncl-ieee.c (main): Likewise.
5858
5859         ceil: Implement result sign according to IEEE 754.
5860         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5861         (FUNC): Return -0.0 for -1 < x < 0.
5862         * tests/test-ceil2.c: Include minus-zero.h.
5863         (MINUS_ZERO): New macro.
5864         (ceil_reference): Keep in sync with lib/ceil.c.
5865         * tests/test-ceilf2.c: Include minus-zero.h.
5866         (MINUS_ZERO): New macro.
5867         (ceilf_reference): Keep in sync with lib/ceil.c.
5868         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5869         * tests/test-ceil-ieee.c (main): Likewise.
5870         * tests/test-ceill-ieee.c (main): Likewise.
5871
5872         floor: Implement result sign according to IEEE 754.
5873         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5874         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5875         * tests/test-floorf2.c (floorf_reference): Likewise.
5876         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5877         * tests/test-floor-ieee.c (main): Likewise.
5878         * tests/test-floorl-ieee.c (main): Likewise.
5879
5880 2010-12-22  Bruno Haible  <bruno@clisp.org>
5881
5882         getaddrinfo: Update doc.
5883         * doc/posix-functions/gai_strerror.texi: Return type is also different
5884         on AIX and HP-UX.
5885
5886 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5887
5888         getaddrinfo, inet_ntop: Update doc for Solaris.
5889         * doc/posix-functions/gai_strerror.texi: Return type is also an
5890         issue on Solaris 9 and earlier.
5891         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5892         on Solaris 10 and earlier.
5893
5894 2010-12-21  Bruno Haible  <bruno@clisp.org>
5895
5896         New module 'roundl-ieee'.
5897         * modules/roundl-ieee: New file.
5898         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5899         test whether roundl works according to ISO C 99 with IEC 60559.
5900         * m4/roundl-ieee.m4: New file.
5901         * modules/roundl-ieee-tests: New file.
5902         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5903         * tests/test-roundl.c (main): Remove signbit tests.
5904         * modules/roundl-tests (Depends-on): Remove signbit.
5905         * doc/posix-functions/roundl.texi: Mention the new module.
5906
5907 2010-12-21  Bruno Haible  <bruno@clisp.org>
5908
5909         New module 'truncl-ieee'.
5910         * modules/truncl-ieee: New file.
5911         * modules/truncl-ieee-tests: New file.
5912         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5913         * tests/test-truncl.c (main): Remove signbit tests.
5914         * modules/truncl-tests (Depends-on): Remove signbit.
5915         * doc/posix-functions/truncl.texi: Mention the new module.
5916
5917 2010-12-21  Bruno Haible  <bruno@clisp.org>
5918
5919         New module 'ceill-ieee'.
5920         * modules/ceill-ieee: New file.
5921         * modules/ceill-ieee-tests: New file.
5922         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5923         * tests/test-ceill.c (main): Remove signbit tests.
5924         * modules/ceill-tests (Depends-on): Remove signbit.
5925         * doc/posix-functions/ceill.texi: Mention the new module.
5926
5927 2010-12-21  Bruno Haible  <bruno@clisp.org>
5928
5929         New module 'floorl-ieee'.
5930         * modules/floorl-ieee: New file.
5931         * modules/floorl-ieee-tests: New file.
5932         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
5933         * tests/test-floorl.c (main): Remove signbit tests.
5934         * modules/floorl-tests (Depends-on): Remove signbit.
5935         * doc/posix-functions/floorl.texi: Mention the new module.
5936
5937 2010-12-21  Bruno Haible  <bruno@clisp.org>
5938
5939         New module 'round-ieee'.
5940         * modules/round-ieee: New file.
5941         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
5942         whether round works according to ISO C 99 with IEC 60559.
5943         * m4/round-ieee.m4: New file.
5944         * modules/round-ieee-tests: New file.
5945         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
5946         * tests/test-round1.c (main): Remove signbit tests.
5947         * modules/round-tests (Depends-on): Remove 'signbit'.
5948         * doc/posix-functions/round.texi: Mention the new module.
5949
5950 2010-12-21  Bruno Haible  <bruno@clisp.org>
5951
5952         New module 'trunc-ieee'.
5953         * modules/trunc-ieee: New file.
5954         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
5955         whether trunc works according to ISO C 99 with IEC 60559.
5956         * m4/trunc-ieee.m4: New file.
5957         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
5958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
5959         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
5960         * modules/trunc-ieee-tests: New file.
5961         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
5962         * tests/test-trunc1.c (main): Remove signbit tests.
5963         * modules/trunc-tests (Depends-on): Remove 'signbit'.
5964         * doc/posix-functions/trunc.texi: Mention the new module.
5965
5966 2010-12-21  Bruno Haible  <bruno@clisp.org>
5967
5968         New module 'ceil-ieee'.
5969         * modules/ceil-ieee: New file.
5970         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
5971         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
5972         ISO C 99 with IEC 60559.
5973         * m4/ceil-ieee.m4: New file.
5974         * modules/ceil (Files): Add lib/ceil.c.
5975         (Depends-on): Add 'float'.
5976         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5977         * lib/math.in.h (ceil): New declaration.
5978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
5979         REPLACE_CEIL.
5980         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
5981         * modules/ceil-ieee-tests: New file.
5982         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
5983         * tests/test-math-c++.cc: Check the signature of 'ceil'.
5984         * doc/posix-functions/ceil.texi: Mention the new module.
5985
5986 2010-12-21  Bruno Haible  <bruno@clisp.org>
5987
5988         New module 'floor-ieee'.
5989         * modules/floor-ieee: New file.
5990         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
5991         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
5992         ISO C 99 with IEC 60559.
5993         * m4/floor-ieee.m4: New file.
5994         * modules/floor (Files): Add lib/floor.c.
5995         (Depends-on): Add 'float'.
5996         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5997         * lib/math.in.h (floor): New declaration.
5998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
5999         REPLACE_FLOOR.
6000         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
6001         * modules/floor-ieee-tests: New file.
6002         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
6003         * tests/test-math-c++.cc: Check the signature of 'floor'.
6004         * doc/posix-functions/floor.texi: Mention the new module.
6005
6006 2010-12-21  Bruno Haible  <bruno@clisp.org>
6007
6008         New module 'roundf-ieee'.
6009         * modules/roundf-ieee: New file.
6010         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
6011         test whether roundf works according to ISO C 99 with IEC 60559.
6012         * m4/roundf-ieee.m4: New file.
6013         * modules/roundf-ieee-tests: New file.
6014         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
6015         * tests/test-roundf1.c (main): Remove signbit tests.
6016         * modules/roundf-tests (Depends-on): Remove 'signbit'.
6017         * doc/posix-functions/roundf.texi: Mention the new module.
6018
6019 2010-12-21  Bruno Haible  <bruno@clisp.org>
6020
6021         New module 'truncf-ieee'.
6022         * modules/truncf-ieee: New file.
6023         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
6024         test whether truncf works according to ISO C 99 with IEC 60559.
6025         * m4/truncf-ieee.m4: New file.
6026         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
6027         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
6028         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
6029         * modules/truncf-ieee-tests: New file.
6030         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
6031         * tests/test-truncf1.c (main): Remove signbit tests.
6032         * modules/truncf-tests (Depends-on): Remove 'signbit'.
6033         * doc/posix-functions/truncf.texi: Mention the new module.
6034
6035 2010-12-21  Bruno Haible  <bruno@clisp.org>
6036
6037         New module 'ceilf-ieee'.
6038         * modules/ceilf-ieee: New file.
6039         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
6040         test whether ceilf works according to ISO C 99 with IEC 60559.
6041         * m4/ceilf-ieee.m4: New file.
6042         * modules/ceilf-ieee-tests: New file.
6043         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
6044         * tests/test-ceilf1.c (main): Remove signbit tests.
6045         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
6046         * doc/posix-functions/ceilf.texi: Mention the new module.
6047
6048 2010-12-21  Bruno Haible  <bruno@clisp.org>
6049
6050         New module 'floorf-ieee'.
6051         * modules/floorf-ieee: New file.
6052         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
6053         test whether floorf works according to ISO C 99 with IEC 60559.
6054         * m4/floorf-ieee.m4: New file.
6055         * modules/floorf-ieee-tests: New file.
6056         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
6057         * tests/test-floorf1.c (main): Remove signbit tests.
6058         * modules/floorf-tests (Depends-on): Remove 'signbit'.
6059         * doc/posix-functions/floorf.texi: Mention the new module.
6060
6061 2010-12-21  Bruno Haible  <bruno@clisp.org>
6062
6063         Support for minus zero in autoconf macros.
6064         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
6065         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
6066         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
6067         * tests/minus-zero.h: Update comments.
6068
6069 2010-12-21  Bruno Haible  <bruno@clisp.org>
6070
6071         Tests for module 'ceil'.
6072         * modules/ceil-tests: New file.
6073         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
6074         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
6075
6076 2010-12-21  Bruno Haible  <bruno@clisp.org>
6077
6078         Tests for module 'floor'.
6079         * modules/floor-tests: New file.
6080         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
6081         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
6082
6083 2010-12-21  Bruno Haible  <bruno@clisp.org>
6084
6085         math: Fix indentation.
6086         * lib/math.in.h (floorf): Fix indentation.
6087
6088 2010-12-21  Bruno Haible  <bruno@clisp.org>
6089
6090         Fix cross-compilation guesses on Solaris.
6091         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
6092         not match "solaris2.10".
6093         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6094         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
6095         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
6096
6097 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6098
6099         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
6100         This fixes a problem observed with the latest coreutils snapshot
6101         that caused a test to fail on Solaris 8.  src/csplit.c's call
6102         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
6103         earlier, instead of returning the number of bytes that would have
6104         been generated; this causes csplit to incorrectly report memory
6105         exhaustion.
6106         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
6107         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
6108         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
6109         comments to match.
6110         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
6111         Fix typo in matching older versions of Solaris: "solaris2.10"
6112         is matched by the shell pattern "solaris2.[0-9]*".  This matters
6113         only for guessing while cross-compiling.
6114         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
6115
6116 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6117
6118         ftoastr: fix comment again
6119         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6120         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
6121         Also, simplify example a bit by using flags = 0.
6122
6123 2010-12-20  Bruno Haible  <bruno@clisp.org>
6124
6125         round*, trunc*: Update documentation regarding glibc.
6126         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
6127         * doc/posix-functions/round.texi: Likewise.
6128         * doc/posix-functions/roundl.texi: Likewise.
6129         * doc/posix-functions/truncf.texi: Likewise.
6130         * doc/posix-functions/trunc.texi: Likewise.
6131         * doc/posix-functions/truncl.texi: Likewise.
6132
6133 2010-12-20  Bruno Haible  <bruno@clisp.org>
6134
6135         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
6136         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
6137         * doc/posix-functions/round.texi: Likewise.
6138         * doc/posix-functions/roundl.texi: Likewise.
6139
6140 2010-12-20  Bruno Haible  <bruno@clisp.org>
6141
6142         ttyname_r: Add missing declaration on HP-UX 11.
6143         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
6144         HAVE_TTYNAME_R.
6145         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
6146         declared. Set HAVE_TTYNAME_R always.
6147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6148         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
6149         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
6150         HAVE_TTYNAME_R.
6151         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
6152
6153 2010-12-20  Bruno Haible  <bruno@clisp.org>
6154
6155         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
6156         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
6157         * doc/posix-functions/getlogin_r.texi: Likewise.
6158         * tests/test-getlogin.c: Include <errno.h>.
6159         (main): Avoid test failure on HP-UX 11.11.
6160         * tests/test-getlogin_r.c (main): Likewise.
6161
6162 2010-12-20  Bruno Haible  <bruno@clisp.org>
6163
6164         getlogin_r: Add missing declaration on HP-UX 11.
6165         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
6166         declared also when it exists as a function.
6167         * doc/posix-functions/getlogin_r.texi: Document this workaround.
6168
6169 2010-12-20  Bruno Haible  <bruno@clisp.org>
6170
6171         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
6172         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
6173         through wcrtomb.
6174
6175 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6176
6177         ftoastr: fix comment
6178         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6179         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
6180
6181 2010-12-19  Bruno Haible  <bruno@clisp.org>
6182
6183         isnan: Ensure it is a macro.
6184         * lib/math.in.h (isnan): Define as a macro if not already a macro.
6185         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
6186         Solaris.
6187
6188 2010-12-19  Bruno Haible  <bruno@clisp.org>
6189
6190         ldexpl test: Fix link error on OSF/1 5.1.
6191         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
6192
6193 2010-12-19  Bruno Haible  <bruno@clisp.org>
6194
6195         wctype: Make it work in C++ mode on OSF/1 5.1.
6196         * lib/wctype.in.h (iswblank): Declare but not define here.
6197         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
6198         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
6199         * modules/wctype (Files): Add lib/iswblank.c.
6200
6201 2010-12-19  Bruno Haible  <bruno@clisp.org>
6202
6203         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
6204         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
6205         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
6206
6207 2010-12-19  Bruno Haible  <bruno@clisp.org>
6208
6209         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
6210         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
6211         _POSIX_PII_SOCKET.
6212         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
6213         * doc/posix-functions/recvfrom.texi: Likewise.
6214         * doc/posix-functions/send.texi: Likewise.
6215         * doc/posix-functions/sendto.texi: Likewise.
6216
6217 2010-12-19  Bruno Haible  <bruno@clisp.org>
6218
6219         tcgetsid: Add missing declaration on OSF/1 5.1.
6220         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
6221         HAVE_TCGETSID.
6222         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
6223         Don't set HAVE_TCGETSID.
6224         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
6225         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
6226         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
6227         HAVE_TCGETSID.
6228         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
6229
6230 2010-12-19  Bruno Haible  <bruno@clisp.org>
6231
6232         stdio: Fix problem with popen() declaration on OSF/1 5.1.
6233         * lib/stdio.in.h: During the include_next statement, let recursive
6234         includes of this file include only the system header file.
6235
6236 2010-12-19  Bruno Haible  <bruno@clisp.org>
6237
6238         iconv_open: Fix regression from 2010-12-04.
6239         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
6240         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
6241
6242 2010-12-19  Bruno Haible  <bruno@clisp.org>
6243
6244         stdbool test: Avoid a gcc warning.
6245         * tests/test-stdbool.c (main): Fail if e1 is false.
6246         Reported by Jim Meyering.
6247
6248 2010-12-19  Jim Meyering  <meyering@redhat.com>
6249
6250         setenv: restore to working order
6251         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
6252         mistakenly removed.
6253         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
6254         HAVE_SETENV.
6255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
6256         HAVE_SETENV.
6257
6258 2010-12-19  Bruno Haible  <bruno@clisp.org>
6259
6260         Document some different function declarations on OSF/1 5.1.
6261         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
6262         * doc/posix-functions/inet_ntop.texi: Likewise.
6263         * doc/posix-functions/gethostname.texi: Likewise.
6264         * lib/unistd.in.h (gethostname): Update comment.
6265
6266 2010-12-19  Bruno Haible  <bruno@clisp.org>
6267
6268         doc: Mention vasprintf-posix module.
6269         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
6270         the 'vasprintf-posix' module.
6271         * doc/glibc-functions/vasprintf.texi: Likewise.
6272
6273 2010-12-19  Bruno Haible  <bruno@clisp.org>
6274
6275         unsetenv: Add missing declaration on OSF/1 5.1.
6276         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
6277         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
6278         Don't set HAVE_UNSETENV. In the test program, set _BSD.
6279         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
6280         not HAVE_UNSETENV.
6281         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
6282         HAVE_UNSETENV.
6283         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
6284
6285 2010-12-19  Bruno Haible  <bruno@clisp.org>
6286
6287         setenv: Add missing declaration on OSF/1 5.1.
6288         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
6289         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
6290         declared. Don't set HAVE_SETENV.
6291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
6292         not HAVE_SETENV.
6293         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
6294         HAVE_SETENV.
6295         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
6296
6297 2010-12-19  Bruno Haible  <bruno@clisp.org>
6298
6299         nl_langinfo tests: Avoid gcc warning.
6300         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
6301
6302 2010-12-19  Bruno Haible  <bruno@clisp.org>
6303
6304         mknod: Avoid error in C++ mode on OSF/1 with GCC.
6305         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
6306         _GL_CXXALIAS_SYS.
6307
6308 2010-12-19  Bruno Haible  <bruno@clisp.org>
6309
6310         stdbool: Relax test.
6311         * tests/test-stdbool.c (e): Don't require that casts from a variable's
6312         address to 'bool' work in static initializer, for compilers other than
6313         GCC.
6314
6315 2010-12-19  Bruno Haible  <bruno@clisp.org>
6316
6317         ftello: Add missing declaration on OSF/1 5.1.
6318         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
6319         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
6320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
6321         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
6322         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
6323
6324 2010-12-19  Bruno Haible  <bruno@clisp.org>
6325
6326         fseeko: Add missing declaration on OSF/1 5.1.
6327         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
6328         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
6329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
6330         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
6331         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
6332
6333 2010-12-19  Bruno Haible  <bruno@clisp.org>
6334
6335         fchdir: Add missing declaration on OSF/1 5.1.
6336         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
6337         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
6338         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
6339         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
6340         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
6341
6342 2010-12-19  Bruno Haible  <bruno@clisp.org>
6343
6344         relocatable-prog-wrapper: Separate from relocatable-prog.
6345         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
6346         uninstall-relocwrapper rule here.
6347         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
6348         Reported by Ian Beckwith <ianb@erislabs.net>.
6349
6350 2010-12-19  Bruno Haible  <bruno@clisp.org>
6351
6352         unistr/u8-mbsnlen: Add missing dependency.
6353         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
6354         Reported by Ian Beckwith <ianb@erislabs.net>.
6355
6356 2010-12-19  Bruno Haible  <bruno@clisp.org>
6357
6358         iconv: Make it possible again to use this module without 'iconv-h'.
6359         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
6360         if it is not defined.
6361         Reported by Ian Beckwith <ianb@erislabs.net>.
6362
6363 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6364
6365         acl: port to Solaris 8 when copying from tmpfs to ufs
6366         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
6367         error number.  Problem observed on Solaris 8 with latest
6368         coreutils, with "mv A B", where A is on a tmpfs file system and B
6369         is on a ufs file system.  This caused coreutils' mv/part-symlink
6370         test to fail.
6371
6372         tests: set fail=0 at start
6373         * tests/init.sh (setup_): Move fail=0 initialization here ...
6374         (mktempd_): ... from here, so that tests can rely on fail being
6375         set to 0 initially.  This fixes a problem in coreutils; see:
6376         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
6377
6378 2010-12-18  Bruno Haible  <bruno@clisp.org>
6379
6380         memmem-simple: Stylistic changes.
6381         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
6382         Fix preprocessor directive indentation.
6383
6384 2010-12-15  Pádraig Brady <P@draigBrady.com>
6385
6386         memmem, memmem-simple: reorganize and expand empty needle check
6387         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
6388         functional checks to memmem-simple so that one has a fully functional
6389         memmem by using just this module.
6390         Restrict the performance only check to the memmem module.
6391         Also expand the empty needle check to ensure the correct
6392         pointer is returned, not just a non NULL pointer.
6393         * doc/glibc-functions/memmem.texi: Rearrange the portability
6394         documentation to correlate with the rearranged checks.
6395         Clarify exactly how the memmem and memmem-simple modules
6396         relate to each other.
6397
6398 2010-12-15  Pádraig Brady <P@draigBrady.com>
6399             Bruno Haible  <bruno@clisp.org>
6400
6401         Improve cross-compilation guesses for uClibc.
6402         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
6403         that uClibc does not have the glibc bug.
6404         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
6405         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
6406
6407 2010-12-14  Eric Blake  <eblake@redhat.com>
6408
6409         configmake: provide fallbacks for oldest supported autotools
6410         * m4/configmake.m4: New file.
6411         * modules/configmake (Files): Ship it.
6412         (configure.ac): Use it to guarantee fallbacks.
6413
6414 2010-12-13  Pádraig Brady <P@draigBrady.com>
6415
6416         read-file: Improve handling of large files
6417         * lib/read-file.c (fread_file): Minimize realloc()s
6418         for regular files, and better manage sizes around SIZE_MAX.
6419
6420 2010-12-13  Eric Blake  <eblake@redhat.com>
6421
6422         cloexec, fcntl: relax license
6423         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
6424         consent from all contributors.
6425         * modules/fcntl (License): Likewise.
6426
6427 2010-12-10  Bruno Haible  <bruno@clisp.org>
6428
6429         Tests for module 'pipe-posix'.
6430         * modules/pipe-posix-tests: New file.
6431         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
6432
6433 2010-12-10  Bruno Haible  <bruno@clisp.org>
6434
6435         pipe-posix: Make it work in C++ mode.
6436         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
6437         (pipe): Use common idiom, not a macro definition.
6438         * lib/pipe.c: New file.
6439         * m4/pipe.m4: New file.
6440         * modules/pipe-posix (Description): Enhance.
6441         (Files): Add lib/pipe.c, m4/pipe.m4.
6442         (configure.ac): Invoke gl_FUNC_PIPE.
6443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
6444         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
6445         * tests/test-unistd-c++.cc: Check the signature of pipe.
6446
6447 2010-12-10  Bruno Haible  <bruno@clisp.org>
6448
6449         Rename module 'pipe' to 'spawn-pipe'.
6450         * modules/spawn-pipe: New file, renamed from modules/pipe.
6451         (Files, configure.ac, Makefile.am): Update.
6452         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
6453         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
6454         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
6455         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
6456         "spawn-pipe.h" instead of "pipe.h".
6457         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
6458         to gl_SPAWN_PIPE.
6459         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
6460         (Files, Makefile.am): Update.
6461         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
6462         Update.
6463         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
6464         Include "spawn-pipe.h" instead of "pipe.h".
6465         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
6466         * lib/javacomp.c: Likewise.
6467         * lib/javaversion.c: Likewise.
6468         * lib/pipe-filter-gi.c: Likewise.
6469         * lib/pipe-filter-ii.c: Likewise.
6470         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
6471         * modules/javacomp (Depends-on): Likewise.
6472         * modules/javaversion (Depends-on): Likewise.
6473         * modules/pipe-filter-gi (Depends-on): Likewise.
6474         * modules/pipe-filter-ii (Depends-on): Likewise.
6475         * MODULES.html.sh (Executing programs): Update.
6476         * NEWS: Mention the change.
6477
6478 2010-12-10  Eric Blake  <eblake@redhat.com>
6479
6480         pipe-posix: new module
6481         * modules/pipe-posix: New file.
6482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
6483         (gl_UNISTD_H): Check for declaration.
6484         * modules/unistd (Makefile.am): Substitute it.
6485         * lib/unistd.in.h (pipe): Provide it for mingw.
6486         * doc/posix-functions/pipe.texi (pipe): Update documentation.
6487         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
6488
6489 2010-12-07  Bruno Haible  <bruno@clisp.org>
6490
6491         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
6492         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
6493         u8_strcmp_gnu.
6494         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
6495
6496 2010-12-06  Bruno Haible  <bruno@clisp.org>
6497
6498         Update internal documentation.
6499         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
6500
6501 2010-12-04  Bruno Haible  <bruno@clisp.org>
6502
6503         Put more information about failed tests into the test return codes.
6504         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
6505         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
6506         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6507         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6508         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6509         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6510         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6511         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6512         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
6513         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6514         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
6515         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6516         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6517         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6518         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
6519         returns a bit mask.
6520         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
6521         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
6522         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
6523         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
6524         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6525         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6526         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
6528         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6529         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
6530         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
6531         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6532         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6534         * m4/link.m4 (gl_FUNC_LINK): Likewise.
6535         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
6536         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
6537         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
6538         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6539         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
6540         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
6541         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6542         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
6543         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6544         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6545         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6546         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
6547         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6548         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6549         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
6550         gl_PRINTF_PRECISION): Likewise.
6551         * m4/regex.m4 (gl_REGEX): Likewise.
6552         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6553         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6554         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
6555         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6556         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6557         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6558         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
6559         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
6560         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6561         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6562         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
6563         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
6564         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
6565         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6566         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6567         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6568         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
6569         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6570         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6571         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
6572         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
6573         enumerated value.
6574         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
6575
6576 2010-12-04  Bruno Haible  <bruno@clisp.org>
6577
6578         Update for Solaris 11 2010-11.
6579         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
6580         Express, released in November 2010.
6581
6582 2010-12-04  Bruno Haible  <bruno@clisp.org>
6583
6584         nproc: Relax license.
6585         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
6586         and Paul Eggert.
6587         Requested by Ludovic Courtès <ludo@gnu.org>.
6588
6589 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6590
6591         utimecmp: fine-grained src to nearby coarse-grained dest
6592
6593         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
6594         and the source is on a file system with higher-resolution time
6595         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
6596         not work, and the time stamps are close together, the algorithm to
6597         determine the exact resolution from the read-back mtime was buggy:
6598         it had a "!=" where it should have had an "==".  This bug has been
6599         in the code ever since it was introduced to gnulib.
6600         Problem reported by Dan Jacobson in
6601         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
6602
6603 2010-11-30  Bruno Haible  <bruno@clisp.org>
6604
6605         strerror_r-posix: Fix autoconf test.
6606         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
6607
6608 2010-11-28  Bruno Haible  <bruno@clisp.org>
6609             Paul Eggert  <eggert@cs.ucla.edu>
6610
6611         Tests for module 'getdomainname'.
6612         * modules/getdomainname-tests: New file.
6613         * tests/test-getdomainname.c: New file, based on
6614         tests/test-gethostname.c.
6615
6616 2010-11-28  Bruno Haible  <bruno@clisp.org>
6617             Paul Eggert  <eggert@cs.ucla.edu>
6618
6619         getdomainname: Use the system function when possible.
6620         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
6621         (getdomainname): Replace if needed. Provide the declaration if it is
6622         missing. Don't use _GL_CXXALIAS_SYS_CAST.
6623         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
6624         (getdomainname): When the system has getdomainname, call the system
6625         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
6626         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
6627         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
6628         found in libnsl. Look for the declaration also in <netdb.h>. Replace
6629         the function if its second argument is of type 'int' or if it is found
6630         in libnsl.
6631         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
6632         <sys/systeminfo.h> and sysinfo().
6633         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
6634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6635         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
6636         HAVE_GETDOMAINNAME.
6637         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
6638         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
6639         * doc/glibc-functions/getdomainname.texi: Document the problems with
6640         the getdomainname declaration.
6641
6642 2010-11-28  Bruno Haible  <bruno@clisp.org>
6643
6644         sys_socket: Ensure ss_family field on AIX.
6645         * lib/sys_socket.in.h (ss_family): New macro definition.
6646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
6647         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
6648         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6649         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6650         * modules/sys_socket (Makefile.am): Substitute
6651         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6652         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
6653
6654 2010-11-27  Bruno Haible  <bruno@clisp.org>
6655
6656         readline: Improve configure output.
6657         * m4/readline.m4 (gl_FUNC_READLINE): Make the
6658         "checking for readline..." result understandable.
6659
6660 2010-11-27  Bruno Haible  <bruno@clisp.org>
6661
6662         *printf-posix: Detect a bug on Solaris 10/x86.
6663         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
6664         for floating-point output.
6665         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
6666         directive.
6667         * tests/test-snprintf-posix.h (test_function): Likewise.
6668         * tests/test-sprintf-posix.h (test_function): Likewise.
6669         * tests/test-vasprintf-posix.c (test_function): Likewise.
6670         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
6671         * doc/posix-functions/printf.texi: Likewise.
6672         * doc/posix-functions/snprintf.texi: Likewise.
6673         * doc/posix-functions/sprintf.texi: Likewise.
6674         * doc/posix-functions/vfprintf.texi: Likewise.
6675         * doc/posix-functions/vprintf.texi: Likewise.
6676         * doc/posix-functions/vsnprintf.texi: Likewise.
6677         * doc/posix-functions/vsprintf.texi: Likewise.
6678         * doc/glibc-functions/obstack_printf.texi: Likewise.
6679         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6680
6681 2010-11-27  Bruno Haible  <bruno@clisp.org>
6682
6683         Fix link error when module libunistring-optional is in use.
6684         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
6685         * modules/striconveha-tests (Makefile.am): Likewise.
6686
6687 2010-11-27  Bruno Haible  <bruno@clisp.org>
6688
6689         regex: Mention link dependencies.
6690         * modules/regex (Link): New section.
6691         * modules/rpmatch (Link): Likewise.
6692         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6693
6694 2010-11-27  Bruno Haible  <bruno@clisp.org>
6695
6696         ftoastr: Fix compilation error on Solaris.
6697         * lib/ftoastr.c: Include <config.h>.
6698
6699 2010-11-27  Bruno Haible  <bruno@clisp.org>
6700
6701         getloadavg: Update documentation.
6702         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6703
6704 2010-11-27  Bruno Haible  <bruno@clisp.org>
6705
6706         sys_socket: Fix test whether the functions are declared.
6707         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6708         not <sys/select.h>.
6709
6710 2010-11-27  Bruno Haible  <bruno@clisp.org>
6711
6712         getpass: Make sure to get system declaration on some platforms.
6713         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6714         gl_USE_SYSTEM_EXTENSIONS.
6715         * modules/getpass (Depends-on): Add extensions.
6716
6717 2010-11-26  Bruno Haible  <bruno@clisp.org>
6718
6719         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6720         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6721         'iconv' module is present.
6722         (ICONV_CONST): New macro.
6723         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6724         ICONV_CONST.
6725         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6726         set ICONV_CONST.
6727         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6728         here.
6729         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6730         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6731         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6732         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6733         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6734         present.
6735
6736 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6737
6738         ftoastr: comment fix
6739         * lib/ftoastr.c: "little" -> "little or no" in comment
6740
6741 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6742
6743         stdint: port to GCC 4.3 + OSX + Octave
6744         On this platform, stdint.h is buggy and defines int64_t to long
6745         long int.  The replacement defined it to long int, causing
6746         problems with C++ style name mangling.  Instead, trust the system
6747         definition if INT64_MAX is defined, and likewise for the unsigned
6748         variant.   Problem reported by Jarno Rajahalme in
6749         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6750         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6751         and don't mess with int64_t and INT64_MAX in this case.
6752         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6753
6754 2010-11-24  Bruno Haible  <bruno@clisp.org>
6755
6756         doc: Corrections regarding MacOS X 10.4 and 10.5.
6757         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6758         MacOS X.
6759         Reported by Simon Josefsson.
6760
6761 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6762
6763         Uninstall ".bin" files installed by relocwrapper.
6764         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6765         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6766         unless it is already there.
6767
6768 2010-11-21  Bruno Haible  <bruno@clisp.org>
6769
6770         Update for NetBSD 5.0.
6771         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6772         NetBSD; the test fails on NetBSD 5.0.
6773         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6774         about NetBSD.
6775
6776 2010-11-21  Bruno Haible  <bruno@clisp.org>
6777
6778         Update for HP-UX 11.23 and HP-UX 11.31.
6779         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6780         HP-UX.
6781
6782 2010-11-21  Bruno Haible  <bruno@clisp.org>
6783
6784         Update for MacOS X 10.5.
6785         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6786         MacOS X; the test fails on MacOS X 10.5.8.
6787         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6788         about MacOS X.
6789
6790 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6791
6792         bootstrap: add bootstrap_sync option.
6793         See discussion at
6794         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6795         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6796         * build-aux/bootstrap: Accept --bootstrap-sync to update
6797         bootstrap if it is not identical to the local gnulib's
6798         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6799         enable this by default.  Accept --no-bootstrap-sync to disable
6800         it.
6801
6802 2010-11-20  Bruno Haible  <bruno@clisp.org>
6803
6804         Ensure that <features.h> is included before __GLIBC__ is tested.
6805         * lib/printf-parse.h: Include <features.h>.
6806         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6807         Reported by Mike Frysinger <vapier@gentoo.org>.
6808
6809         Ensure that <features.h> is included before __GLIBC__ is tested.
6810         * lib/wchar.in.h: Include <features.h>.
6811         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6812         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6813         Reported by Mike Frysinger <vapier@gentoo.org>.
6814
6815         Ensure that <features.h> is included before __GLIBC__ is tested.
6816         * lib/arpa_inet.in.h: Include <features.h>.
6817         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6818         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6819         Reported by Mike Frysinger <vapier@gentoo.org>.
6820
6821         Ensure that <features.h> is included before __GLIBC__ is tested.
6822         * build-aux/link-warning.h: Include <features.h>.
6823         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6824         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6825         Reported by Mike Frysinger <vapier@gentoo.org>.
6826
6827         Ensure that <features.h> is included before __GLIBC__ is tested.
6828         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6829         Reported by Mike Frysinger <vapier@gentoo.org>.
6830
6831 2010-11-20  Bruno Haible  <bruno@clisp.org>
6832
6833         memmem: Fix autoconf test.
6834         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6835
6836 2010-11-20  Bruno Haible  <bruno@clisp.org>
6837
6838         Port to uClibc.
6839         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6840         * lib/fcntl.in.h: Likewise.
6841         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6842         * lib/mbrtowc.c (mbrtowc): Likewise.
6843         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6844         * lib/strerror_r.c: Likewise.
6845         * lib/unistr/u8-strnlen.c: Likewise.
6846         * lib/vasnprintf.c (decimal_point_char): Likewise.
6847         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6848         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6849         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6850         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6851         * tests/test-sigaction.c (handler, main): Likewise.
6852         * lib/freading.h: Treat uClibc like a non-glibc platform.
6853         * lib/freading.c: Likewise.
6854         * lib/gettext.h: Likewise.
6855         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6856         Likewise.
6857         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6858         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6859         * lib/propername.c (proper_name_utf8): Likewise.
6860         * lib/spawn.in.h: Likewise.
6861         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6862         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6863         mem_cd_iconveh_internal): Likewise.
6864         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6865         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6866         strstr, strcasestr): Likewise.
6867         * lib/unicodeio.c (unicode_to_mb): Likewise.
6868         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6869         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6870         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6871         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6872         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6873         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6874         * lib/unistr/u8-stpncpy.c: Likewise.
6875         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6876         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6877         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6878         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6879         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6880         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6881         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6882         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6883         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6884         Likewise.
6885         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6886         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6887         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6888         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6889         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6890         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6891         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6892         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6893         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6894         * tests/test-striconveha.c (main): Likewise.
6895         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6896         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6897         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6898         * doc/posix-functions/getline.texi: Likewise.
6899         Reported by Mike Frysinger <vapier@gentoo.org>.
6900
6901 2010-11-20  Bruno Haible  <bruno@clisp.org>
6902
6903         nproc: Fix condition.
6904         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6905         HAVE_PTHREAD_AFFINITY_NP.
6906
6907 2010-11-20  Bruno Haible  <bruno@clisp.org>
6908
6909         Fix a comment.
6910         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6911
6912 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6913
6914         ftoastr: don't assume snprintf
6915         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6916         Implement a subset of snprintf here, by using sprintf safely.
6917         * modules/ftoastr (Depends-on): Remove snprintf.
6918
6919 2010-11-19  Jim Meyering  <meyering@redhat.com>
6920
6921         test-rename.h: fix compilation failure
6922         * tests/test-rename.h (test_rename): Add omitted "}".
6923
6924 2010-11-17  Jim Meyering  <meyering@redhat.com>
6925
6926         maint.mk: add a URL discussing the no-@acronym policy
6927         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
6928
6929 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6930
6931         ftoastr: depend on snprintf, improve comments
6932         * lib/ftoastr.c: Also mention Loitsch's draft.
6933         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
6934         needed in the current implementation, but it might simplify
6935         speeding up the code later.
6936         * modules/ftoastr: Depend on snprintf; this improves portability.
6937         Suggested by Bruno Haible in the same email.
6938
6939         ftoastr: port to hosts lacking strtof and strtold
6940         Problem reported by Bruno Haible in
6941         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
6942         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
6943         environment and strtold (and presumably strtof) are not available.
6944         * modules/ftoastr (Files): Add m4/c-strtod.m4.
6945         (configure.ac): Require gl_C99_STRTOLD.
6946
6947 2010-11-18  Bruno Haible  <bruno@clisp.org>
6948
6949         c-strtold: Avoid link error on AIX 7.
6950         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
6951         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
6952         (gl_C_STRTOLD): Test whether strtold_l exists.
6953         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6954
6955 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6956
6957         intprops: new macro INT_BITS_STRLEN_BOUND
6958         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
6959         ftoastr.h.  This exposes an internal of intprops.h that was formerly
6960         not exposed.  Also, it uses a slightly tighter bound than before;
6961         though this makes no practical difference, we might as well be as
6962         tight as we easily can.
6963
6964         ftoastr: new module, for lossless conversion of floats to short strings
6965         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
6966         * modules/ftoastr: New files.
6967
6968 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6969
6970         bootstrap: port to Solaris sed
6971         * build-aux/bootstrap (get_version): Port to Solaris sed.
6972         See Ralf Wildenhues's note in
6973         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
6974
6975 2010-11-14  Jim Meyering  <meyering@redhat.com>
6976
6977         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
6978         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
6979         and move definition closer to sole use.
6980
6981 2010-11-13  Jim Meyering  <meyering@redhat.com>
6982
6983         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
6984         Now we require at least autoconf-2.59, which means the work-around
6985         is no longer needed.
6986         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
6987         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6988         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
6989         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6990         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6991
6992 2010-11-13  Bruno Haible  <bruno@clisp.org>
6993
6994         rename, renameat: Avoid test failures at NFS mounted locations.
6995         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
6996         functions.
6997         (test_rename): Use assert_nonexistent.
6998         * tests/test-rename.c: Include <dirent.h>.
6999         * tests/test-renameat.c: Likewise.
7000         Reported by Gary V. Vaughan <gary@gnu.org>.
7001
7002         rename, renameat: Document Linux bug with NFS
7003         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
7004         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
7005         * doc/posix-functions/renameat.texi: Likewise.
7006         Suggested by Eric Blake.
7007
7008 2010-11-13  Bruno Haible  <bruno@clisp.org>
7009
7010         rename test: Add comments.
7011         * tests/test-rename.h (test_rename): Add structure and comments.
7012
7013 2010-11-13  Eric Blake  <eblake@redhat.com>
7014
7015         maintainer-makefile: cover a few more files
7016         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
7017         scripts generated within C files, for libvirt.
7018
7019 2010-11-13  Bruno Haible  <bruno@clisp.org>
7020
7021         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
7022         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
7023         character, return the number of bytes that belong together, not always
7024         1.
7025         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
7026         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
7027         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
7028         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
7029         number of bytes of an invalid character.
7030         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
7031         (main): Invoke it.
7032         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
7033         results.
7034         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
7035         malformed byte sequences.
7036         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
7037         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
7038         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
7039         Reported by Ben Pfaff and Paolo Bonzini.
7040
7041 2010-11-13  Bruno Haible  <bruno@clisp.org>
7042
7043         openat: Work around glibc bug with fchownat() and empty file names.
7044         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
7045         (gl_FUNC_FCHOWNAT): Invoke it.
7046         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
7047         * doc/posix-functions/fchownat.texi: Document the glibc bug.
7048         Reported by Gary V. Vaughan <gary@gnu.org>.
7049
7050 2010-11-13  Bruno Haible  <bruno@clisp.org>
7051
7052         openat: Ensure autoconf macro ordering.
7053         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
7054         gl_USE_SYSTEM_EXTENSIONS.
7055         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
7056
7057 2010-11-13  Bruno Haible  <bruno@clisp.org>
7058
7059         Update comments.
7060         * lib/unistr/u8-check.c: Update file name in comments.
7061         * lib/unistr/u8-mblen.c: Likewise.
7062         * lib/unistr/u8-prev.c: Likewise.
7063         * lib/unistr/u8-strmblen.c: Likewise.
7064         * lib/unistr/u8-strmbtouc.c: Likewise.
7065
7066 2010-11-13  Jim Meyering  <meyering@redhat.com>
7067
7068         tests: avoid test failure on Solaris 10 due to lack of PATH export
7069         * tests/test-update-copyright.sh: Don't forget to export PATH.
7070
7071         init.sh: ensure that IFS is defined, just in case...
7072         * tests/init.sh (setup_): Ensure that IFS is defined,
7073         so that saving and restoring it works as expected.  This
7074         appears to be useful at least for an old version of dash
7075         from a long time ago (RH 6).  See here for details:
7076         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
7077
7078         maint.mk: tighten "test a == b" check
7079         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
7080         test to files that contain something like #!/bin/sh.
7081         Without this, coreutils would get two false positives in
7082         the comments of C source files.
7083
7084 2010-11-12  Eric Blake  <eblake@redhat.com>
7085
7086         bootstrap: fix typo in previous attempt
7087         * build-aux/bootstrap (buildreq): Correct the grouping.
7088         Reported by Paul Eggert.
7089
7090         maintainer-makefile: prohibit test x == x
7091         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
7092         Based on a report by Matthias Bolte.
7093
7094         bootstrap: allow FreeBSD gzip
7095         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
7096         which has no '.' and goes to stderr.
7097         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
7098         Reported by Matthias Bolte.
7099
7100         maintainer-makefile: check for i18n setup
7101         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
7102         will likely work.
7103
7104 2010-11-12  Bruno Haible  <bruno@clisp.org>
7105
7106         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
7107         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
7108         * lib/nanosleep.c (nanosleep): Likewise.
7109
7110 2010-11-11  Bruno Haible  <bruno@clisp.org>
7111
7112         fcntl-h: Fix for use of C++ on glibc systems.
7113         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7114         also on glibc systems in C++ mode.
7115         Reported by Gary V. Vaughan <gary@gnu.org>.
7116
7117 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7118
7119         mknod: avoid false failure with dash
7120         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
7121
7122 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7123
7124         unlink: Fix "is it should" typo in diagnostic.
7125         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
7126         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
7127
7128 2010-11-11  Bruno Haible  <bruno@clisp.org>
7129
7130         Tests for module 'strerror_r-posix'.
7131         * modules/strerror_r-posix-tests: New file.
7132         * tests/test-strerror_r.c: New file.
7133         * tests/test-string-c++.cc: Check the signature of strerror_r.
7134
7135         New module 'strerror_r-posix'.
7136         * lib/string.in.h (strerror_r): New declaration.
7137         * lib/strerror_r.c: New file.
7138         * m4/strerror_r.m4: New file.
7139         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
7140         of strerror_r.
7141         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
7142         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7143         * modules/strerror_r-posix: New file.
7144         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
7145         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7146         * doc/posix-functions/strerror_r.texi: Mention the new module and the
7147         portability problems.
7148
7149 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
7150
7151         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
7152         line is also considered for output. Quoted function name in shell
7153         command, so temporary files for functions like MyClass::operator()
7154         are removed correctly without errors.
7155
7156 2010-11-09  Bruno Haible  <bruno@clisp.org>
7157
7158         * doc/posix-functions/strerror.texi: List more failing platforms.
7159
7160         * doc/posix-functions/strerror.texi: Add a comment.
7161
7162 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
7163
7164         fdopendir: fix bug on MacOS X when low on file descriptors
7165
7166         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
7167         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
7168         All callers changed.
7169         (fdopendir): Invoke save_cwd at the top level, not after using
7170         multiple dup() calls to use up file descriptors.  Then retry
7171         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
7172         less than the maximum number of open file descriptors, because
7173         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
7174         on Mac OS X 10.6.4 for tar 1.24
7175         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
7176         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
7177         and for tar 1.25
7178         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
7179
7180 2010-11-07  Bruno Haible  <bruno@clisp.org>
7181
7182         vasnprintf: Support I flag on glibc systems.
7183         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
7184         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
7185         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
7186         snprintf function.
7187         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
7188         glibc systems.
7189         * tests/test-vasnprintf-posix3.c: New file.
7190         * modules/vasnprintf-posix-tests (Files): Add it.
7191         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
7192
7193 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7194
7195         [html] Fix copy/paste bug: Use unique name for compiler warnings.
7196         * MODULES.html.sh: For compiler warnings, use name
7197         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
7198
7199 2010-11-05  Eric Blake  <eblake@redhat.com>
7200
7201         ceil, floor: avoid spurious failure with icc
7202         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
7203         [denormals-as-zero] when optimizing without -mieee-fp option.
7204         * tests/test-floorf2.c (floorf_reference): Likewise.
7205         * tests/test-ceilf1.c (dummy): New function.
7206         (main): Use it to outsmart icc's optimization.
7207         * tests/test-floorf1.c (dummy, main): Likewise.
7208
7209         tests: require working signbit
7210         * modules/ceilf-tests (Depends-on): Add signbit.
7211         * modules/ceill-tests (Depends-on): Likewise.
7212         * modules/floorf-tests (Depends-on): Likewise.
7213         * modules/floorl-tests (Depends-on): Likewise.
7214         * modules/round-tests (Depends-on): Likewise.
7215         * modules/roundf-tests (Depends-on): Likewise.
7216         * modules/roundl-tests (Depends-on): Likewise.
7217         * modules/trunc-tests (Depends-on): Likewise.
7218         * modules/truncf-tests (Depends-on): Likewise.
7219         * modules/truncl-tests (Depends-on): Likewise.
7220
7221         strtod: work around icc bug
7222         * lib/strtod.c (minus_zero): Define to working value.
7223         (strtod): Use it to avoid icc bug.
7224
7225         copysign: enhance tests
7226         * modules/copysign-tests (Files): Add minus-zero.h.
7227         * tests/test-copysign.c (main): Also test zeros.
7228
7229 2010-11-04  Eric Blake  <eblake@redhat.com>
7230
7231         ceil, floor, round, trunc: enhance tests of -0
7232         * tests/test-ceilf1.c (main): Ensure correct sign of result.
7233         * tests/test-ceill.c (main): Likewise.
7234         * tests/test-floorf1.c (main): Likewise.
7235         * tests/test-floorl.c (main): Likewise.
7236         * tests/test-round1.c (main): Likewise.
7237         * tests/test-roundf1.c (main): Likewise.
7238         * tests/test-roundl.c (main): Likewise.
7239         * tests/test-trunc1.c (main): Likewise.
7240         * tests/test-truncf1.c (main): Likewise.
7241         * tests/test-truncl.c (main): Likewise.
7242
7243 2010-11-04  Eric Blake  <eblake@redhat.com>
7244
7245         frexp, tests: work around ICC bug with -zero
7246         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
7247         works with more compilers.
7248         * tests/minus-zero.h: New file.
7249         * modules/ceilf-tests (Files): Include it.
7250         * modules/ceill-tests (Files): Likewise.
7251         * modules/floorf-tests (Files): Likewise.
7252         * modules/floorl-tests (Files): Likewise.
7253         * modules/frexp-nolibm-tests (Files): Likewise.
7254         * modules/frexp-tests (Files): Likewise.
7255         * modules/frexpl-nolibm-tests (Files): Likewise.
7256         * modules/frexpl-tests (Files): Likewise.
7257         * modules/isnan-tests (Files): Likewise.
7258         * modules/isnand-nolibm-tests (Files): Likewise.
7259         * modules/isnand-tests (Files): Likewise.
7260         * modules/isnanf-nolibm-tests (Files): Likewise.
7261         * modules/isnanf-tests (Files): Likewise.
7262         * modules/isnanl-nolibm-tests (Files): Likewise.
7263         * modules/isnanl-tests (Files): Likewise.
7264         * modules/round-tests (Files): Likewise.
7265         * modules/roundf-tests (Files): Likewise.
7266         * modules/roundl-tests (Files): Likewise.
7267         * modules/ldexpl-tests (Files): Likewise.
7268         * modules/signbit-tests (Files): Likewise.
7269         * modules/snprintf-posix-tests (Files): Likewise.
7270         * modules/sprintf-posix-tests (Files): Likewise.
7271         * modules/strtod-tests (Files): Likewise.
7272         * modules/trunc-tests (Files): Likewise.
7273         * modules/truncf-tests (Files): Likewise.
7274         * modules/truncl-tests (Files): Likewise.
7275         * modules/vsnprintf-posix-tests (Files): Likewise.
7276         * modules/vsprintf-posix-tests (Files): Likewise.
7277         * modules/vasnprintf-posix-tests (Files): Likewise.
7278         * modules/vasprintf-posix-tests (Files): Likewise.
7279         * tests/test-ceilf1.c (main): Use it.
7280         * tests/test-ceill.c (main): Likewise.
7281         * tests/test-floorf1.c (main): Likewise.
7282         * tests/test-floorl.c (main): Likewise.
7283         * tests/test-frexp.c (main): Likewise.
7284         * tests/test-frexpl.c (main): Likewise.
7285         * tests/test-isnan.c (main): Likewise.
7286         * tests/test-isnand.h (main): Likewise.
7287         * tests/test-isnanf.h (main): Likewise.
7288         * tests/test-isnanl.h (main): Likewise.
7289         * tests/test-ldexpl.c (main): Likewise.
7290         * tests/test-round.c (main): Likewise.
7291         * tests/test-roundf.c (main): Likewise.
7292         * tests/test-roundl.c (main): Likewise.
7293         * tests/test-signbit.c (test_signbitf, test_signbitd)
7294         (test_signbitl): Likewise.
7295         * tests/test-snprintf-posix.h (test_function): Likewise.
7296         * tests/test-sprintf-posix.h (test_function): Likewise.
7297         * tests/test-strtod.c (main): Likewise.
7298         * tests/test-trunc1.c (main): Likewise.
7299         * tests/test-truncf1.c (main): Likewise.
7300         * tests/test-truncl.c (main): Likewise.
7301
7302         isnanl: work around icc bug
7303         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
7304
7305 2010-11-03  Eric Blake  <eblake@redhat.com>
7306
7307         tests: fix compiler warnings
7308         * tests/test-getopt.h (test_getopt): Fix condition.
7309         * tests/test-getopt_long.h (test_getopt_long): Likewise.
7310         * tests/test-pipe2.c (main): Likewise.
7311         * tests/test-quotearg-simple.c (main): Avoid icc warning.
7312
7313         utimens: fix broken m4 test
7314         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
7315
7316 2010-10-28  Bruno Haible  <bruno@clisp.org>
7317
7318         posix_spawn*, getdtablesize: Relax license.
7319         * modules/posix_spawn (License): Change to LGPLv2+.
7320         * modules/posix_spawnp (License): Likewise.
7321         * modules/posix_spawn-internal (License): Likewise.
7322         * modules/posix_spawnattr_init (License): Likewise.
7323         * modules/posix_spawnattr_getflags (License): Likewise.
7324         * modules/posix_spawnattr_setflags (License): Likewise.
7325         * modules/posix_spawnattr_getpgroup (License): Likewise.
7326         * modules/posix_spawnattr_setpgroup (License): Likewise.
7327         * modules/posix_spawnattr_getschedparam (License): Likewise.
7328         * modules/posix_spawnattr_setschedparam (License): Likewise.
7329         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
7330         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
7331         * modules/posix_spawnattr_getsigdefault (License): Likewise.
7332         * modules/posix_spawnattr_setsigdefault (License): Likewise.
7333         * modules/posix_spawnattr_getsigmask (License): Likewise.
7334         * modules/posix_spawnattr_setsigmask (License): Likewise.
7335         * modules/posix_spawnattr_destroy (License): Likewise.
7336         * modules/posix_spawn_file_actions_init (License): Likewise.
7337         * modules/posix_spawn_file_actions_addclose (License): Likewise.
7338         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
7339         * modules/posix_spawn_file_actions_addopen (License): Likewise.
7340         * modules/posix_spawn_file_actions_destroy (License): Likewise.
7341         * modules/getdtablesize (License): Likewise.
7342         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
7343
7344 2010-10-26  Bruno Haible  <bruno@clisp.org>
7345
7346         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
7347         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
7348         Cygwin and mingw.
7349         Suggested by Eric Blake.
7350
7351 2010-10-26  Bruno Haible  <bruno@clisp.org>
7352
7353         stdio: Work around compilation error due to renameat() on Solaris 10.
7354         * lib/stdio.in.h: Include <unistd.h> on Solaris.
7355         * lib/renameat.c: Don't include <unistd.h> here.
7356         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
7357         Reported by Paul Eggert and Eric Blake.
7358
7359 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
7360
7361         renameat: port to Solaris 10, which declares renameat in unistd.h
7362
7363         * lib/renameat.c: Include unistd.h before stdio.h, because
7364         Solaris 10 declares renameat in unistd.h.  Problem encountered
7365         when building GNU tar 1.24 on Solaris 10.
7366
7367 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7368
7369         fdopendir: fix C89 compilation
7370         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
7371         compilers.
7372
7373 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7374
7375         inttostr: simplify by removing unnecessary redundancy
7376         * lib/anytostr.c: Don't include verify.h.
7377         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
7378         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
7379         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
7380         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
7381         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
7382         Likewise.
7383         * modules/inttostr (Depends-on): Remove 'verify'.
7384
7385 2010-10-23  Bruno Haible  <bruno@clisp.org>
7386
7387         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
7388         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
7389         Reported by Eric Blake.
7390
7391 2010-10-23  Bruno Haible  <bruno@clisp.org>
7392
7393         Tests: Fix LOCALE_JA on MirBSD 10.
7394         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
7395         to an UTF-8 locale.
7396         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
7397         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7398         Reported by Eric Blake.
7399
7400 2010-10-21  Bruno Haible  <bruno@clisp.org>
7401
7402         nl_langinfo test: Avoid test failure on NetBSD 5.
7403         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
7404         Reported by Eric Blake.
7405
7406 2010-10-21  Eric Blake  <eblake@redhat.com>
7407
7408         c-stack: work around libsigsegv 2.8 bug
7409         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
7410         overflow on at least PowerPC64.
7411
7412 2010-10-17  Bruno Haible  <bruno@clisp.org>
7413
7414         userspec: Drop redundant file.
7415         * modules/userspec (Files): Remove lib/inttostr.h.
7416
7417 2010-10-17  Bruno Haible  <bruno@clisp.org>
7418
7419         nl_langinfo tests: Silence some warnings.
7420         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
7421         Reported by Jim Meyering.
7422
7423 2010-10-17  Bruno Haible  <bruno@clisp.org>
7424
7425         Make use of GCC's attribute __alloc_size__.
7426         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
7427         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
7428         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
7429         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
7430         __alloc_size__.
7431         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
7432         Suggested by Jim Meyering.
7433
7434 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
7435
7436         bootstrap: anchor .gitignore entries.
7437         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
7438         with...
7439         (insert_vc_ignore): ... this new function, which prepends `/' to
7440         all .gitignore entries before passing them to
7441         insert_sorted_if_absent.
7442
7443 2010-10-16  Bruno Haible  <bruno@clisp.org>
7444
7445         nextafter: Fix configure check.
7446         * modules/nextafter (configure.ac): Correct expected prototype.
7447
7448 2010-10-16  Bruno Haible  <bruno@clisp.org>
7449
7450         termios: Update documentation.
7451         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
7452
7453 2010-10-16  Bruno Haible  <bruno@clisp.org>
7454
7455         tests: Make them compile with TinyCC.
7456         * tests/test-strstr.c (main): Remove parentheses around array
7457         initializer.
7458
7459 2010-10-15  Eric Blake  <eblake@redhat.com>
7460
7461         ignore-value: make header idempotent
7462         * lib/ignore-value.h: Add double-inclusion guards.
7463         Reported by Stefan Berger.
7464
7465 2010-10-15  Jim Meyering  <meyering@redhat.com>
7466
7467         GNUmakefile: handle "stable" target, not "major"
7468         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
7469         lists in maint.mk and announce-gen.  Without this, "make stable"
7470         would fail to ensure that $(VERSION) is up to date.
7471
7472 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
7473
7474         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
7475         & co.
7476
7477 2010-10-14  Bruno Haible  <bruno@clisp.org>
7478
7479         vasnprintf: Don't set errno to 0.
7480         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
7481         block that sets it to 0.
7482         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
7483
7484 2010-10-14  Bruno Haible  <bruno@clisp.org>
7485
7486         socketlib: Fix.
7487         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
7488         gl_PREREQ_SYS_H_WINSOCK2.
7489         Reported by Ian Beckwith <ianb@erislabs.net>.
7490
7491 2010-10-13  Jim Meyering  <meyering@redhat.com>
7492
7493         test-select-stdin.c: avoid warn_unused_result warnings
7494         * tests/test-select-stdin.c: Include "macros.h".
7495         ASSERT that read and fflush succeed.
7496
7497 2010-10-13  Jim Meyering  <meyering@redhat.com>
7498
7499         git-version-gen: do require git-VC'd files in cwd
7500         * build-aux/git-version-gen: Reject a git version string
7501         if there are no commits associated with the current directory.
7502         This avoids an unlikely false-positive (unrelated dir whose parent
7503         repository also contains a tag matching v*), as pointed out
7504         by Giuseppe Scrivano in
7505         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
7506
7507 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7508
7509         argv-iter: omit nonconforming declaration
7510         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
7511         enum arg_iter_err declaration, which doesn't conform to C99.
7512         Solaris 10 cc warns about this.
7513
7514 2010-10-13  Eric Blake  <eblake@redhat.com>
7515
7516         termios: fix compilation on mingw
7517         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
7518         (gl_TERMIOS_H): Adjust it on mingw.
7519         * modules/termios (Makefile.am): Substitute new key.
7520         * lib/termios.in.h (includes): Make include_next conditional.
7521         * doc/posix-headers/termios.texi (termios.h): Update
7522         documentation.
7523         Reported by Daniel P. Berrange.
7524
7525 2010-10-13  Jim Meyering  <meyering@redhat.com>
7526
7527         git-version-gen: don't require that .git/ be in the current dir
7528         * build-aux/git-version-gen: Adjust this script so that it works
7529         when run from any working directory beneath the top-level .git/-
7530         containing directory.  Inspired by a patch from Giuseppe Scrivano,
7531         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
7532
7533         test-select: avoid warn_unused_result warnings
7534         * tests/test-select.c: Include "macros.h".
7535         ASSERT that each call to read, write, and pipe succeeds.
7536         While not technically required, also check each "close".
7537         * modules/select-tests (Files): Add tests/macros.h.
7538
7539         test-symlinkat: remove declaration of unused local
7540         * tests/test-symlinkat.c (main): Remove unused local, "buf".
7541
7542         test-inttostr: avoid shadowing warnings
7543         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
7544         and use malloc rather than the stack for the same reason as
7545         mentioned in the comment justifying the other allocation.
7546
7547 2010-10-11  Bruno Haible  <bruno@clisp.org>
7548
7549         stdlib: Allow multiple gnulib generated replacements to coexist.
7550         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
7551         Reported by Sam Steingold <sds@gnu.org>.
7552
7553 2010-10-11  Jim Meyering  <meyering@redhat.com>
7554
7555         fix a documentation typo
7556         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
7557
7558 2010-10-11  Eric Blake  <eblake@redhat.com>
7559
7560         futimens: work around Solaris 11 bug
7561         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
7562         * tests/test-futimens.h (test_futimens): Enhance, rather than
7563         weaken test.
7564         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7565
7566 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7567
7568         Indentation.
7569         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
7570         higher-level operators more to the left.
7571
7572 2010-10-11  Jim Meyering  <meyering@redhat.com>
7573
7574         test-futimens: avoid unwarranted test failure on Solaris 5.11
7575         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
7576         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
7577         because it tries to dereference the NULL name argument.
7578
7579 2010-10-11  Bruno Haible  <bruno@clisp.org>
7580
7581         Indentation.
7582         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
7583         indentation.
7584
7585 2010-10-11  Jim Meyering  <meyering@redhat.com>
7586
7587         spawn.in.h: make indentation consistent with parentheses
7588         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
7589         Make indentation consistent with parentheses.
7590
7591 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
7592
7593         Fix mismatched parens in previous commit
7594         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
7595         parens.
7596
7597 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7598
7599         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
7600
7601         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
7602         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
7603         * lib/malloca.c: Include "verify.h".
7604         (verify1): Remove, replacing with a verify call.
7605         * lib/relocwrapper.c (verify1): Likewise.
7606         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
7607         Likewise.
7608         * modules/malloca (Depends-on): Add 'verify'.
7609         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
7610         * modules/vasnprintf (Depends-on): Add 'verify'.
7611         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
7612         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
7613         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
7614         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
7615         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
7616         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
7617         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
7618
7619         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
7620
7621         Formerly the style was sometimes 2*X - 1, because the C standard
7622         was wrongly thought to disallow ?: in integral constant expressions.
7623         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
7624         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
7625         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7626         * lib/stdint.in.h (_verify_intmax_size): Likewise.
7627         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
7628         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
7629         verify that time_t cannot be floating.
7630
7631 2010-10-08  Eric Blake  <eblake@redhat.com>
7632
7633         time: enforce recent POSIX ruling that time_t is integral
7634         * lib/time.in.h (__time_t_must_be_integral): Detect any
7635         problematic systems, allowing the rest of gnulib to assume POSIX.
7636
7637 2010-10-08  Jim Meyering  <meyering@redhat.com>
7638
7639         fdopendir: fix a bug on systems lacking openat and /proc support
7640         OpenBSD 4.7 is one such system.  The most noticeable effect was
7641         failure of any application making nontrivial use of fts: rm, du,
7642         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
7643           ./rm: traversal failed: `a': Bad file descriptor
7644         Debugging that, you see that even though FD 6 was closed just
7645         prior to the opendir call in fd_clone_opendir, its resulting
7646         dir->dd_fd was 8, rather than the expected value of 6:
7647
7648         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
7649         93                close (fd);
7650         (gdb) n
7651         94                dir = fd_clone_opendir (dupfd);
7652         (gdb) n
7653         95                saved_errno = errno;
7654         (gdb) p dir->dd_fd
7655         $11 = 8
7656
7657         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
7658         The problem is that on OpenBSD, fd_clone_opendir has to resort
7659         to using the old-style save/restore CWD mechanism, due to its
7660         lack of openat/proc support, and *that* would steal the FD (6)
7661         that opendir was supposed to use.
7662
7663         The fix is to squirrel away the desired FD so that save_cwd uses a
7664         different one, and then free the dest FD right before calling opendir.
7665         That guarantees opendir will use the required file descriptor.
7666
7667         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
7668
7669 2010-10-08  Bruno Haible  <bruno@clisp.org>
7670
7671         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
7672         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
7673
7674 2010-10-08  Bruno Haible  <bruno@clisp.org>
7675
7676         nanosleep: Make replacement POSIX compliant.
7677         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
7678         is out of range.
7679         Reported by Jim Meyering.
7680
7681 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7682
7683         bootstrap: add hook for altering gnulib.mk, for Bison
7684         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
7685         the Bison bootstrapping process can rewrite file names and variables
7686         in this file before later parts of 'bootstrap' use the file.
7687         Bison wants to include lib/gnulib.mk from the top-level makefile,
7688         so it needs the file names in this file to be relative to the top
7689         level, not relative to lib; plus it needs variable names to be
7690         rewritten.
7691         (slurp): Use the new function.
7692
7693         bootstrap: reformat for readability
7694         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7695
7696 2010-10-08  Eric Blake  <eblake@redhat.com>
7697
7698         docs: update cygwin progress
7699         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7700         1.7.7.
7701         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7702         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7703         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7704         * doc/posix-functions/carg.texi (carg): Likewise.
7705         * doc/posix-functions/cargf.texi (cargf): Likewise.
7706         * doc/posix-functions/casin.texi (casin): Likewise.
7707         * doc/posix-functions/casinf.texi (casinf): Likewise.
7708         * doc/posix-functions/casinh.texi (casinh): Likewise.
7709         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7710         * doc/posix-functions/catan.texi (catan): Likewise.
7711         * doc/posix-functions/catanf.texi (catanf): Likewise.
7712         * doc/posix-functions/catanh.texi (catanh): Likewise.
7713         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7714         * doc/posix-functions/ccos.texi (ccos): Likewise.
7715         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7716         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7717         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7718         * doc/posix-functions/cexp.texi (cexp): Likewise.
7719         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7720         * doc/posix-functions/cimag.texi (cimag): Likewise.
7721         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7722         * doc/posix-functions/clog.texi (clog): Likewise.
7723         * doc/posix-functions/clogf.texi (clogf): Likewise.
7724         * doc/posix-functions/conj.texi (conj): Likewise.
7725         * doc/posix-functions/conjf.texi (conjf): Likewise.
7726         * doc/posix-functions/cpow.texi (cpow): Likewise.
7727         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7728         * doc/posix-functions/cproj.texi (cproj): Likewise.
7729         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7730         * doc/posix-functions/creal.texi (creal): Likewise.
7731         * doc/posix-functions/crealf.texi (crealf): Likewise.
7732         * doc/posix-functions/csin.texi (csin): Likewise.
7733         * doc/posix-functions/csinf.texi (csinf): Likewise.
7734         * doc/posix-functions/csinh.texi (csinh): Likewise.
7735         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7736         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7737         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7738         * doc/posix-functions/ctan.texi (ctan): Likewise.
7739         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7740         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7741         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7742         * doc/posix-headers/complex.texi (complex.h): Likewise.
7743
7744 2010-10-07  Jim Meyering  <meyering@redhat.com>
7745
7746         parse-datetime: avoid compilation failure on OpenBSD 4.7
7747         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7748         This works around a compilation failure on OpenBSD 4.7:
7749         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7750
7751 2010-10-07  Eric Blake  <eblake@redhat.com>
7752
7753         docs: update cygwin progress
7754         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7755         1.7.6.
7756         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7757         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7758         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7759         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7760         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7761         Likewise.
7762         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7763         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7764         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7765         Likewise.
7766         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7767         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7768         Likewise.
7769         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7770         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7771         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7772         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7773         Likewise.
7774         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7775         Likewise.
7776         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7777
7778         docs: update parse-datetime history
7779         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7780         documentation of this function's history and alternatives.
7781
7782         cygwin: use more robust version check
7783         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7784         exclude an eventual cygwin 1.9.1.
7785         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7786         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7787         (gl_FUNC_STRCASESTR): Likewise.
7788         Reported by Bruno Haible.
7789
7790 2010-10-06  Bruno Haible  <bruno@clisp.org>
7791
7792         string, sys_select: Avoid #including large headers unless necessary.
7793         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7794         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7795         OSF/1, BeOS, Haiku.
7796         Reported by Jim Meyering.
7797
7798 2010-10-05  Eric Blake  <eblake@redhat.com>
7799
7800         memmem, strstr, strcasestr: fix bug with long periodic needle
7801         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7802         periodic needle having false positive.
7803         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7804         and cygwin 1.7.7.
7805         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7806         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7807         (gl_FUNC_STRCASESTR): Likewise.
7808         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7809         * tests/test-memmem.c (main): Expose the bug.
7810         * tests/test-strcasestr.c (main): Likewise.
7811         * tests/test-strstr.c (main): Likewise.
7812         * tests/test-c-strcasestr.c (main): Likewise.
7813         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7814         * doc/posix-functions/strstr.texi (strstr): Likewise.
7815         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7816         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7817
7818 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7819
7820         parse-datetime: do some more renaming
7821         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7822         parse_datetime, not get_date.  Mention the renaming.
7823         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7824         in comments.
7825         * m4/bison.m4: Likewise.
7826
7827 2010-10-05  Eric Blake  <eblake@redhat.com>
7828
7829         parse-datetime: better name than get_date
7830         * NEWS: Reword the deprecation notice.
7831         * modules/get_date: Rename to modules/parse-datetime.
7832         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7833         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7834         * lib/get_date.y: Rename to lib/parse-datetime.y.
7835         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7836         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7837         * doc/getdate.texi: Provide fallback wrapper.
7838         * lib/getdate.h: Move guts, and wrap...
7839         * lib/parse-datetime.h: ...new file.
7840         * lib/parse-datetime.y (get_date): Rename...
7841         (parse_datetime): ...to this.
7842         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7843         (gl_PARSE_DATETIME): ...to this.
7844         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7845         documentation.
7846         * modules/getdate (Files): Provide fallback docs and header.
7847         (Notice, Depends-on): Update references.
7848         * tests/test-parse-datetime.c: Likewise.
7849         * DEPENDENCIES: Likewise.
7850         * MODULES.html.sh (Date and time <time.h>): Likewise.
7851         * doc/parse-datetime.texi (Date input formats)
7852         (Authors of parse_datetime): Likewise.
7853         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7854         (Include): Likewise.
7855         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7856         * gnulib-tool: Likewise.
7857         * m4/bison.m4 (gl_BISON): Likewise.
7858         Suggested by Bruno Haible.
7859
7860 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7861
7862         more ports to Solaris tr, which needs [] around ranges
7863         * gnulib-tool: Solaris tr needs [] around ranges.
7864         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7865         * tests/test-pipe-filter-gi1.c (main): Likewise.
7866         * tests/test-pipe-filter-ii1.c (main): Likewise.
7867
7868 2010-10-05  Eric Blake  <eblake@redhat.com>
7869
7870         bootstrap: fix Solaris regression
7871         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7872         around ranges.
7873         Reported by Pádraig Brady.
7874
7875         bootstrap: work with pkg-config
7876         * build-aux/bootstrap (check_versions): Also transliterate - in
7877         prerequisite name.
7878         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7879         prerequisites that were already found, to avoid confusion.
7880         Reported by Justin Clift.
7881
7882         faccessat: remove unused wrappers
7883         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7884         presence of these wrappers dragged in -lgen on Solaris.
7885         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7886
7887 2010-10-05  Jim Meyering  <meyering@redhat.com>
7888
7889         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7890         * Makefile (sc_pragma_columns): New syntax-check rule.
7891
7892 2010-10-04  Bruno Haible  <bruno@clisp.org>
7893
7894         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7895         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7896         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7897         Reported by Bruce Korb and Eric Blake.
7898
7899 2010-10-04  Bruno Haible  <bruno@clisp.org>
7900
7901         threadlib: Make option --with-libpth-prefix work.
7902         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7903         use $LIBPTH, not just -lpth.
7904
7905 2010-10-04  Bruno Haible  <bruno@clisp.org>
7906
7907         Avoid line length limitation from HP NonStop system header files.
7908         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7909         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7910         * lib/ctype.in.h: Likewise.
7911         * lib/dirent.in.h: Likewise.
7912         * lib/errno.in.h: Likewise.
7913         * lib/fcntl.in.h: Likewise.
7914         * lib/float.in.h: Likewise.
7915         * lib/getopt.in.h: Likewise.
7916         * lib/iconv.in.h: Likewise.
7917         * lib/inttypes.in.h: Likewise.
7918         * lib/langinfo.in.h: Likewise.
7919         * lib/locale.in.h: Likewise.
7920         * lib/math.in.h: Likewise.
7921         * lib/netdb.in.h: Likewise.
7922         * lib/netinet_in.in.h: Likewise.
7923         * lib/poll.in.h: Likewise.
7924         * lib/pthread.in.h: Likewise.
7925         * lib/pty.in.h: Likewise.
7926         * lib/sched.in.h: Likewise.
7927         * lib/se-selinux.in.h: Likewise.
7928         * lib/search.in.h: Likewise.
7929         * lib/signal.in.h: Likewise.
7930         * lib/spawn.in.h: Likewise.
7931         * lib/stdarg.in.h: Likewise.
7932         * lib/stddef.in.h: Likewise.
7933         * lib/stdint.in.h: Likewise.
7934         * lib/stdio.in.h: Likewise.
7935         * lib/stdlib.in.h: Likewise.
7936         * lib/string.in.h: Likewise.
7937         * lib/strings.in.h: Likewise.
7938         * lib/sys_file.in.h: Likewise.
7939         * lib/sys_ioctl.in.h: Likewise.
7940         * lib/sys_select.in.h: Likewise.
7941         * lib/sys_socket.in.h: Likewise.
7942         * lib/sys_stat.in.h: Likewise.
7943         * lib/sys_time.in.h: Likewise.
7944         * lib/sys_times.in.h: Likewise.
7945         * lib/sys_utsname.in.h: Likewise.
7946         * lib/sys_wait.in.h: Likewise.
7947         * lib/sysexits.in.h: Likewise.
7948         * lib/termios.in.h: Likewise.
7949         * lib/time.in.h: Likewise.
7950         * lib/unistd.in.h: Likewise.
7951         * lib/wchar.in.h: Likewise.
7952         * lib/wctype.in.h: Likewise.
7953         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
7954         * modules/ctype (Makefile.am): Likewise.
7955         * modules/dirent (Makefile.am): Likewise.
7956         * modules/errno (Makefile.am): Likewise.
7957         * modules/fcntl-h (Makefile.am): Likewise.
7958         * modules/float (Makefile.am): Likewise.
7959         * modules/getopt-posix (Makefile.am): Likewise.
7960         * modules/iconv-h (Makefile.am): Likewise.
7961         * modules/inttypes (Makefile.am): Likewise.
7962         * modules/langinfo (Makefile.am): Likewise.
7963         * modules/locale (Makefile.am): Likewise.
7964         * modules/math (Makefile.am): Likewise.
7965         * modules/netdb (Makefile.am): Likewise.
7966         * modules/netinet_in (Makefile.am): Likewise.
7967         * modules/poll-h (Makefile.am): Likewise.
7968         * modules/pthread (Makefile.am): Likewise.
7969         * modules/pty (Makefile.am): Likewise.
7970         * modules/sched (Makefile.am): Likewise.
7971         * modules/search (Makefile.am): Likewise.
7972         * modules/selinux-h (Makefile.am): Likewise.
7973         * modules/signal (Makefile.am): Likewise.
7974         * modules/spawn (Makefile.am): Likewise.
7975         * modules/stdarg (Makefile.am): Likewise.
7976         * modules/stddef (Makefile.am): Likewise.
7977         * modules/stdint (Makefile.am): Likewise.
7978         * modules/stdio (Makefile.am): Likewise.
7979         * modules/stdlib (Makefile.am): Likewise.
7980         * modules/string (Makefile.am): Likewise.
7981         * modules/strings (Makefile.am): Likewise.
7982         * modules/sys_file (Makefile.am): Likewise.
7983         * modules/sys_ioctl (Makefile.am): Likewise.
7984         * modules/sys_select (Makefile.am): Likewise.
7985         * modules/sys_socket (Makefile.am): Likewise.
7986         * modules/sys_stat (Makefile.am): Likewise.
7987         * modules/sys_time (Makefile.am): Likewise.
7988         * modules/sys_times (Makefile.am): Likewise.
7989         * modules/sys_utsname (Makefile.am): Likewise.
7990         * modules/sys_wait (Makefile.am): Likewise.
7991         * modules/sysexits (Makefile.am): Likewise.
7992         * modules/termios (Makefile.am): Likewise.
7993         * modules/time (Makefile.am): Likewise.
7994         * modules/unistd (Makefile.am): Likewise.
7995         * modules/wchar (Makefile.am): Likewise.
7996         * modules/wctype (Makefile.am): Likewise.
7997
7998 2010-10-04  Bruno Haible  <bruno@clisp.org>
7999
8000         read-file tests: Avoid a test failure on NonStop Kernel.
8001         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
8002         a regular file.
8003         Reported by Joachim Schmitz <schmitz@hp.com>.
8004
8005 2010-10-03  Bruno Haible  <bruno@clisp.org>
8006
8007         gnulib-tool: Fixes for --create-testdir with --libtool.
8008         * gnulib-tool (func_get_automake_snippet): Don't augment
8009         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
8010         an executable.
8011         (func_create_testdir): Handle module 'alloca' like func_import.
8012         Reported by Bruce Korb <bruce.korb@gmail.com>.
8013
8014 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8015
8016         Avoid some lines longer than 80 characters.
8017         * lib/stdint.in.h: Break long comment lines.
8018         * lib/math.in.h: Likewise.
8019         (_GL_NUM_UINT_WORDS): New macro, for readability.
8020         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
8021         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
8022         * lib/stdlib.in.h: Likewise.
8023         * lib/spawn.in.h: Likewise.
8024         * lib/sys_socket.in.h: Update an URL.
8025         * lib/sys_stat.in.h: Break long line.
8026
8027 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
8028
8029         Improve pmccabe2html.
8030         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
8031         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
8032         when the sources change. Remove the line in the HTML about "Used
8033         ranges" (which implied that there might be other unused ranges),
8034         rename "Resume" to "Summary" (easier to understand for more users).
8035         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
8036         styles, and some unnecessary blank lines.
8037
8038 2010-10-03  Bruno Haible  <bruno@clisp.org>
8039             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8040
8041         acl: Add support for ACLs on NonStop Kernel.
8042         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
8043         Check whether the function aclsort() exists.
8044         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
8045         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
8046         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8047         (acl_nontrivial [HAVE_ACLSORT]: New function.
8048         (file_has_acl): Implement for NonStop Kernel.
8049         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8050         (qset_acl): Implement for NonStop Kernel.
8051         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
8052         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8053         (main): Implement for NonStop Kernel.
8054         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
8055         Kernel. Handle this flavor.
8056         * tests/test-set-mode-acl.sh: Likewise.
8057         * tests/test-copy-acl.sh: Likewise.
8058         * tests/test-copy-file.sh: Likewise.
8059
8060 2010-10-03  Bruno Haible  <bruno@clisp.org>
8061
8062         Info about ACLs on NonStop Kernel.
8063         * doc/acl-resources.txt: Add info about NonStop Kernel.
8064         References by Joachim Schmitz <schmitz@hp.com>.
8065
8066 2010-10-02  Bruno Haible  <bruno@clisp.org>
8067
8068         Define missing EDQUOT on NonStop Kernel.
8069         * lib/errno.in.h (EDQUOT): Assign a value if missing.
8070         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
8071         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
8072         missing.
8073         * doc/posix-headers/errno.texi: Mention the NSK bug.
8074         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
8075         Reported by Joachim Schmitz <schmitz@hp.com>.
8076
8077 2010-10-02  Bruno Haible  <bruno@clisp.org>
8078
8079         Update doc for POSIX:2008.
8080         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
8081         Update URL of POSIX specification.
8082
8083 2010-10-02  Bruno Haible  <bruno@clisp.org>
8084
8085         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
8086         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
8087         from gnulib, not from Automake.
8088
8089 2010-10-02  Bruno Haible  <bruno@clisp.org>
8090
8091         New module 'system-posix'.
8092         * modules/system-posix: New file.
8093         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
8094         module is present.
8095         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
8096         GNULIB_SYSTEM_POSIX.
8097         * modules/stdlib (Depends-on): Remove sys_wait.
8098         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
8099         * doc/posix-functions/system.texi: Mention the new module.
8100         * doc/posix-headers/stdlib.texi: Likewise.
8101         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
8102         define test_sys_wait_macros to a no-op.
8103         Reported by Sam Steingold <sds@gnu.org>.
8104
8105 2010-09-30  Bruno Haible  <bruno@clisp.org>
8106
8107         More renaming from 'getdate' to 'get_date'.
8108         * doc/get_date.texi: Renamed from doc/getdate.texi.
8109         * modules/get_date (Files): Update.
8110         * MODULES.html.sh (Date and time <time.h>): Update.
8111         * DEPENDENCIES: Update.
8112         * gnulib-tool: Update comment.
8113         * m4/bison.m4 (gl_BISON): Likewise.
8114         * m4/get_date.m4 (gl_GET_DATE): Likewise.
8115
8116 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
8117
8118         bootstrap: support ACLOCAL_FLAGS during aclocal
8119         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
8120         can add additional -I dir for third-party .m4 files.
8121
8122 2010-09-30  Eric Blake  <eblake@redhat.com>
8123
8124         bootstrap: use glibtoolize on MacOS
8125         * build-aux/bootstrap (check_versions): Convert libtool into
8126         libtoolize.
8127         (tool search): Move libtool check earlier, and look for
8128         glibtoolize for MacOS.
8129         (gnulib_tool_options): Auto-add --libtool when appropriate.
8130         Reported by Justin Clift.
8131
8132         poll: fix typo that broke test on MacOS
8133         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
8134         Reported by Justin Clift.
8135
8136         getdate: rename to get_date
8137         Note: getdate.h is not renamed, to minimize client impact.
8138         * modules/getdate: Mark obsolete.  Move old contents...
8139         * modules/get_date: ...to new module name.
8140         * modules/getdate-tests: Move...
8141         * modules/get_date-tests: ...here.
8142         * m4/getdate.m4: Move...
8143         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
8144         * lib/getdate.y: Move...
8145         * lib/get_date.y: ...here.
8146         * tests/test-getdate.c: Move...
8147         * tests/test-get_date.c: ...here.
8148         * doc/posix-functions/getdate.texi (getdate): Update name.
8149         * NEWS: Mention the change.
8150
8151 2010-09-29  Bruno Haible  <bruno@clisp.org>
8152
8153         Separate the module 'waitpid' from the module 'sys_wait'.
8154         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
8155         present.
8156         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
8157         gl_MODULE_INDICATOR_FOR_TESTS.
8158         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
8159         * modules/sys_wait (Depends-on): Remove waitpid.
8160         (Makefile.am): Substitute GNULIB_WAITPID.
8161         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
8162         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
8163         signature only if the 'waitpid' module is present.
8164         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
8165         * NEWS: Mention the change.
8166         * modules/grantpt (Depends-on): Add waitpid.
8167         * modules/wait-process (Depends-on): Likewise.
8168
8169 2010-09-29  Bruno Haible  <bruno@clisp.org>
8170
8171         More tests for module 'sys_wait'.
8172         * modules/sys_wait-c++-tests: New file.
8173         * tests/test-sys_wait-c++.cc: New file.
8174         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
8175         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8176
8177 2010-09-29  Bruno Haible  <bruno@clisp.org>
8178
8179         New module 'waitpid'.
8180         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
8181         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
8182         Don't include <process.h>.
8183         (waitpid): Declare only, using modern idiom.
8184         * m4/waitpid.m4: New file.
8185         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
8186         * modules/waitpid: New file.
8187         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
8188         (Makefile.am): Update.
8189         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8190
8191 2010-09-28  Bruno Haible  <bruno@clisp.org>
8192
8193         poll: Assume ANSI C.
8194         * lib/poll.c (poll): Use an ANSI C declaration.
8195
8196 2010-09-28  Bruno Haible  <bruno@clisp.org>
8197
8198         poll-h: Create poll.h on all platforms.
8199         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
8200         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
8201         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
8202         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
8203         (gl_REPLACE_POLL_H): Don't set POLL_H.
8204         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
8205         * modules/poll-h (Depends-on): Add include_next.
8206         (Makefile.am): Create poll.h unconditionally. Substitute also
8207         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
8208
8209 2010-09-28  Bruno Haible  <bruno@clisp.org>
8210
8211         Tests for module 'poll-h'.
8212         * modules/poll-h-c++-tests: New file.
8213         * tests/test-poll-h-c++.cc: New file.
8214
8215         Tests for module 'poll-h'.
8216         * modules/poll-h-tests: New file.
8217         * tests/test-poll-h.c: New file.
8218
8219 2010-09-28  Bruno Haible  <bruno@clisp.org>
8220
8221         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
8222         * modules/poll-h (Depends-on): Add 'extensions'.
8223
8224 2010-09-28  Bruno Haible  <bruno@clisp.org>
8225
8226         New module 'poll-h'.
8227         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
8228         (poll): Use modern idiom.
8229         * modules/poll-h: New file.
8230         * modules/poll (Files): Remove lib/poll.in.h.
8231         (Depends-on): Add poll-h.
8232         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
8233         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
8234         * m4/poll_h.m4: New file.
8235         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
8236         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
8237         and invoke gl_REPLACE_POLL_H.
8238         * lib/poll.c: Use common idiom.
8239         * tests/test-poll.c: Likewise.
8240         * doc/posix-headers/poll.texi: Mention the poll-h module.
8241         Suggested by Eric Blake.
8242
8243 2010-09-26  Bruno Haible  <bruno@clisp.org>
8244
8245         sys_wait: Implement WSTOPSIG.
8246         * lib/sys_wait.in.h (WSTOPSIG): New macro.
8247         Reported by Simon Josefsson.
8248
8249 2010-09-26  Simon Josefsson  <simon@josefsson.org>
8250
8251         stdlib, sys_wait: Avoid compilation error on mingw.
8252         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
8253
8254 2010-09-26  Bruno Haible  <bruno@clisp.org>
8255
8256         stdlib tests: Avoid code duplication.
8257         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
8258         * modules/sys_wait-tests (Files): Likewise.
8259         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
8260         * tests/test-stdlib.c: Include test-sys_wait.h.
8261         (main): Invoke test_sys_wait_macros.
8262         * tests/test-sys_wait.c: Include test-sys_wait.h.
8263         (main): Invoke test_sys_wait_macros.
8264
8265 2010-09-25  Simon Josefsson  <simon@josefsson.org>
8266
8267         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
8268         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
8269         sure Windows sockets are working before calling getaddrinfo.
8270         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
8271         * doc/gnulib.texi (Windows sockets): Fix typo.
8272
8273 2010-09-25  Bruno Haible  <bruno@clisp.org>
8274
8275         Tests for module 'regex-quote'.
8276         * modules/regex-quote-tests: New file.
8277         * tests/test-regex-quote.c: New file.
8278
8279         New module 'regex-quote'.
8280         * lib/regex-quote.h: New file.
8281         * lib/regex-quote.c: New file.
8282         * modules/regex-quote: New file.
8283         Suggested by Reuben Thomas <rrt@sc3d.org>.
8284
8285 2010-09-24  Bruno Haible  <bruno@clisp.org>
8286
8287         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
8288         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
8289
8290 2010-09-23  Bruno Haible  <bruno@clisp.org>
8291
8292         setenv: Relax license.
8293         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
8294         Blake.
8295         Requested by Eric Blake.
8296
8297 2010-09-22  Bruno Haible  <bruno@clisp.org>
8298
8299         termios: Relax license.
8300         * modules/termios (License): Change to LGPLv2+.
8301         Requested by Eric Blake.
8302
8303 2010-09-22  Bruno Haible  <bruno@clisp.org>
8304
8305         threadlib: Allow the package to change the default to 'no'.
8306         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
8307         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
8308         Reported by Paul Eggert.
8309
8310 2010-09-22  Pádraig Brady  <P@draigbrady.com>
8311             Bruno Haible  <bruno@clisp.org>
8312
8313         Fix endless loop in mbmemcasecoll.
8314         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
8315         byte.
8316         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
8317
8318 2010-09-22  Bruno Haible  <bruno@clisp.org>
8319
8320         Tests for module 'memcoll'.
8321         * modules/memcoll-tests: New file.
8322         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
8323
8324         memcoll, xmemcoll: Clarify size vs. length.
8325         * modules/memcoll.c (memcoll0): Clarify specification.
8326         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
8327         passed to collate_error.
8328
8329 2010-09-22  Bruno Haible  <bruno@clisp.org>
8330
8331         Tests for module 'memcasecmp'.
8332         * modules/memcasecmp-tests: New file.
8333         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
8334
8335 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8336
8337         * lib/pthread.in.h: Add split double-inclusion guard, and include
8338         system <pthread.h> if there is one.  Use @@-style as in other
8339         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
8340         pthread.h doesn't.
8341         (pthread_mutexattr_destroy, pthread_mutexattr_init):
8342         (pthread_mutexattr_settype, pthread_mutex_trylock):
8343         New static inline functions, if there's no system <pthread.h>.
8344         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
8345         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
8346         Approximate with mutexes if the system lacks spinlocks, as in
8347         MacOS.
8348         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
8349         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
8350         @@-style.  Check for spinlocks separately.
8351         (gl_PTHREAD_DEFAULTS): New macro.
8352         * modules/pthread: Redo to use a more typical style for in.h files.
8353
8354 2010-09-21  Eric Blake  <eblake@redhat.com>
8355
8356         net_if: enhance tests
8357         * tests/test-net_if.c (main): Move signature checks earlier.
8358         Print failures to stderr.
8359         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
8360         Document the bug that we do not yet fix.
8361
8362 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8363
8364         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
8365         about gnulib, not GSS.
8366
8367 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8368
8369         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
8370         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
8371         for Emacs.
8372         * build-aux/pmccabe2html: Make Makefile.am example code more
8373         cut-and-paste friendly.
8374
8375 2010-09-21  Simon Josefsson  <simon@josefsson.org>
8376
8377         * tests/test-net_if.c: New file.
8378         * modules/net_if-tests: New file.
8379
8380 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
8381
8382         pthread: add pthread_spin_destroy
8383         * lib/pthread.in.h (pthread_spin_destroy): New function.
8384
8385 2010-09-19  Bruno Haible  <bruno@clisp.org>
8386
8387         gnulib-tool: Fix --help output.
8388         * gnulib-tool (func_usage): Fix help message.
8389         Reported by Reuben Thomas <rrt@sc3d.org>.
8390
8391 2010-09-18  Jim Meyering  <meyering@redhat.com>
8392
8393         maint.mk: avoid unexpanded \n in two diagnostics
8394         * top/maint.mk (sc_prohibit_always_true_header_tests):
8395         Don't use a literal \n in a halt=... assignment.  It would not be
8396         expanded, and the two \n bytes would appear in the diagnostic output
8397         rather than the desired newline.  Use halt=$$(printf ... instead.
8398         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
8399
8400 2010-09-18  Bruno Haible  <bruno@clisp.org>
8401
8402         netinet_in: Doc tweak.
8403         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
8404         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8405
8406 2010-09-18  Jim Meyering  <meyering@redhat.com>
8407
8408         init.sh: correct an outdated comment
8409         * tests/init.sh (create_exe_shims_):  s/function/alias/
8410
8411         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
8412         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
8413         a file named "*.exe" is removed between the glob expansion and the
8414         processing of that oddly named file.
8415
8416 2010-09-17  Eric Blake  <eblake@redhat.com>
8417
8418         mirbsd: add some more support
8419         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
8420         in BSD family.
8421         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
8422         devices as OpenBSD.
8423         * m4/host-os.m4 (mirbsd): Add MirBSD.
8424
8425         tests: fix unportable assumption on sys/wait.h
8426         * tests/test-sys_wait.c (main): Relax test.
8427         * tests/test-stdlib.c (main): Likewise.
8428
8429         init.sh: accomodate directory with no .exes
8430         * tests/init.sh: Accomodate directory containing only scripts.
8431
8432         tests: avoid compiler warning
8433         * tests/test-stdlib.c (main): Use the variable.
8434
8435         fdutimens, fdutimensat: update signature, again
8436         * lib/utimens.h (gl_futimens): Delete, and move signature...
8437         (fdutimens): ...here.
8438         (fdutimensat): Rearrange signature.
8439         (lutimensat): Rename variable for clarity.
8440         * lib/fdutimensat.c (fdutimensat): Update signature.
8441         * lib/utimens.c (fdutimens): Likewise.
8442         (gl_futimens): Delete.
8443         (utimens, lutimens): Update callers.
8444         * lib/futimens.c (futimens): Likewise.
8445         * tests/test-fdutimensat.c: Likewise.
8446         * tests/test-utimens.c: Likewise.
8447         * tests/test-futimens.h: Update comment.
8448         * NEWS: Mention this.
8449         Suggested by Paul Eggert.
8450
8451 2010-09-17  Bruno Haible  <bruno@clisp.org>
8452
8453         Take over the maintenance of some older macros from Autoconf.
8454         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
8455         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
8456         GNU Autoconf.
8457         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
8458         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
8459
8460 2010-09-17  Eric Blake  <eblake@redhat.com>
8461
8462         fdutimensat: drop atflag validation
8463         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
8464         with valid fd, to close a race scenario where futimens is
8465         unsupported and FILE was replaced by a symlink.
8466         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
8467         accordingly.
8468         Suggested by Paul Eggert.
8469
8470 2010-09-16  Bruno Haible  <bruno@clisp.org>
8471
8472         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
8473         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
8474
8475 2010-09-16  Bruno Haible  <bruno@clisp.org>
8476
8477         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
8478         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
8479         login_tty exists.
8480         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8481
8482 2010-09-16  Bruno Haible  <bruno@clisp.org>
8483
8484         login_tty: Make the replacement code work on BSD systems.
8485         * lib/login_tty.c: Include <sys/ioctl.h>.
8486         (login_tty): Use ioctl TIOCSCTTY when available.
8487         * modules/login_tty (Depends-on): Add sys_ioctl.
8488         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8489
8490 2010-09-16  Bruno Haible  <bruno@clisp.org>
8491
8492         login_tty: Stricter unit test.
8493         * modules/login_tty-tests (Depends-on): Add tcgetsid.
8494         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
8495         and tcgetsid() after login_tty.
8496         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8497
8498 2010-09-16  Bruno Haible  <bruno@clisp.org>
8499
8500         New module 'tcgetsid'.
8501         * lib/tcgetsid.c: New file.
8502         * m4/tcgetsid.m4: New file.
8503         * modules/tcgetsid: New file.
8504         * modules/termios (Depends-on): Add c++defs, warn-on-use.
8505         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
8506         GNULIB_TCGETSID, HAVE_TCGETSID.
8507         * lib/termios.in.h: Include <sys/types.h>.
8508         (tcgetsid): New declaration.
8509         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
8510         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
8511         * doc/posix-functions/tcgetsid.texi: Mention the new module.
8512         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
8513
8514 2010-09-16  Bruno Haible  <bruno@clisp.org>
8515
8516         Tests for module 'termios'.
8517         * modules/termios-c++-tests: New file.
8518         * modules/termios-tests: New file.
8519         * tests/test-termios-c++.cc: New file.
8520         * tests/test-termios.c: New file.
8521
8522         New module 'termios'.
8523         * modules/termios: New file.
8524         * lib/termios.in.h: New file.
8525         * m4/termios_h.m4: New file.
8526         * doc/posix-headers/termios.texi: Mention the new module.
8527
8528 2010-09-16  Eric Blake  <eblake@redhat.com>
8529
8530         fdutimensat: add an atflag parameter
8531         * lib/fdutimensat.c (fdutimensat): Add new parameter.
8532         * lib/utimens.h (fdutimensat): Update prototype.
8533         * tests/test-fdutimensat.c: Adjust test to match.
8534         * NEWS: Document the change.
8535         Suggested by Paul Eggert.
8536
8537 2010-09-16  Bruno Haible  <bruno@clisp.org>
8538
8539         Fix typos in comments.
8540         * lib/striconveh.h: Fix typo in comment.
8541         * lib/login_tty.c (login_tty): Likewise.
8542
8543 2010-09-15  Bruno Haible  <bruno@clisp.org>
8544
8545         stdlib: clarify MirBSD WEXITSTATUS bug
8546         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
8547         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8548
8549 2010-09-15  Eric Blake  <eblake@redhat.com>
8550
8551         stdlib: work around MirBSD WEXITSTATUS bug
8552         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
8553         * modules/stdlib (Depends-on): Add sys_wait.
8554         * tests/test-sys_wait.c (main): Enhance test.
8555         * tests/test-stdlib.c (main): Likewise.
8556         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
8557
8558         docs: mention MacOS issue with WEXITSTATUS(constant)
8559         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
8560         issue.
8561         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8562
8563         strnlen: add tests
8564         * modules/strnlen-tests: New file.
8565         * tests/test-strnlen.c: Likewise.
8566
8567 2010-09-14  Bruno Haible  <bruno@clisp.org>
8568
8569         unistr/base: Avoid link errors when module 'libunistring' is also used.
8570         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
8571         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
8572         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
8573         Declare also when HAVE_LIBUNISTRING is set.
8574         Reported by Pádraig Brady <P@draigbrady.com>.
8575
8576 2010-09-14  Eric Blake  <eblake@redhat.com>
8577
8578         test-rawmemchr: make more robust
8579         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
8580         (Depends-on, configure.ac): Add needed prerequisites to use it.
8581         * modules/memchr-tests (Files, Depends-on, configure.ac):
8582         Likewise, to avoid implicit reliance on memchr module prereqs.
8583         * tests/test-memchr.c (main): Ensure proper masking.
8584         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
8585         reads.
8586
8587         memchr: detect glibc Alpha bug
8588         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
8589         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
8590         Alpha.
8591         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
8592         * tests/test-memchr.c (main): Enhance test.
8593         Reported by Nelson H. F. Beebe.
8594
8595 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8596
8597         fts, getcwd, glob: audit for dirfd returning -1
8598         * lib/fts.c (opendir): Remove #define; no longer used.
8599         (opendirat): New arg PDIR_FD.  All callers changed.
8600         (fts_build, _opendir2): Use new opendirat to avoid the need for
8601         dirfd, or for checking whether dirfd returns a negative value.
8602         Don't use opendir; always use openat followed by fdopendir.
8603         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
8604         it.
8605         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
8606         returns -1 here.
8607         * modules/fts (Depends-on): Remove dirfd.
8608         * modules/getcwd (Depends-on): Likewise.
8609
8610 2010-09-13  Eric Blake  <eblake@redhat.com>
8611
8612         float: fix broken MirBSD header
8613         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
8614         * doc/posix-headers/float.texi (float.h): Document it.
8615
8616 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         fts: use O_NOFOLLOW to avoid race condition when opening a directory
8619         * lib/fts.c (opendirat): New arg extra_flags.
8620         (__opendir2): Use it to avoid following symlinks when opening
8621         a directory, if symlinks are not supposed to be followed.  See
8622         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
8623
8624         fdopendir: preserve argument fd before returning
8625         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
8626         (fdopendir_with_dup, fd_clone_opendir): New static functions.
8627         (fdopendir): Use them, arranging for FD to be open to the same
8628         directory that it was when it started.  (It might be temporarily
8629         closed while fdopendir is running, so this not thread- or
8630         signal-safe.)  Be careful to do the right thing even when file
8631         descriptors are scarce and dup fails with errno == EMFILE.  See
8632         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
8633
8634 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
8635
8636         regex: Pass the system regex if its only problem is 32-bit regoff_t.
8637         * NEWS: Document change.
8638         * m4/regex.m4: Disable test for regoff_t size.
8639
8640 2010-09-13  Jim Meyering  <meyering@redhat.com>
8641
8642         fts: don't operate on an invalid file descriptor after failed dup
8643         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
8644         negative file descriptor.
8645
8646 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8647
8648         savedir: add streamsavedir, deprecate fdsavedir
8649         * NEWS: Mention deprecation of fdsavedir.
8650         * lib/savedir.c (streamsavedir): New extern function, whose name
8651         ends in "savedir" to be consistent with the others.  This differs
8652         from savedirstream in that it doesn't close its argument.  The
8653         next version of GNU tar will use this instead of fdsavedir, to
8654         avoid some race conditions and conserve file descriptors.
8655         (savedirstream): Reimplement as a wrapper around streamsavedir.
8656         (fdsavedir): Add a comment deprecating this function.  As far as
8657         I know, only GNU tar used it, and GNU tar doesn't need it any more.
8658         * lib/savedir.h (streamsavedir): New decl.
8659         (fdsavedir): Add a comment deprecating this.
8660
8661 2010-09-10  Bruno Haible  <bruno@clisp.org>
8662
8663         langinfo: Fix last commit.
8664         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
8665         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
8666         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8667
8668 2010-09-10  Bruno Haible  <bruno@clisp.org>
8669
8670         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
8671         * lib/progreloc.c (O_EXEC): Define fallback.
8672
8673 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8674
8675         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
8676         * NEWS: Document recent changes to fcntl-h.
8677         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
8678         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
8679         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
8680         Similarly for O_SEARCH; this last was already true, but not documented.
8681         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
8682         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
8683         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
8684         Likewise.
8685         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
8686         is zero, not whether it is defined.
8687         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
8688         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
8689         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
8690
8691 2010-09-10  Bruno Haible  <bruno@clisp.org>
8692
8693         langinfo, nl_langinfo: Fix for IRIX 5.3.
8694         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8695         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8696         HAVE_LANGINFO_YESEXPR.
8697         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8698         HAVE_LANGINFO_YESEXPR.
8699         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8700         HAVE_LANGINFO_T_FMT_AMPM is 0.
8701         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8702         HAVE_LANGINFO_YESEXPR is 0.
8703         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8704         NOEXPR.
8705         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8706         * doc/posix-functions/nl_langinfo.texi: Likewise.
8707         Reported by Eric Blake.
8708
8709 2010-09-10  Bruno Haible  <bruno@clisp.org>
8710
8711         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8712         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8713         on FreeBSD 8.0 and OpenBSD 4.6.
8714         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8715         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8716         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8717         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8718         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8719         ac_includes_default.
8720         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8721
8722 2010-09-09  Eric Blake  <eblake@redhat.com>
8723
8724         strsignal: work around NetBSD bug
8725         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8726         * lib/string.in.h (includes): Likewise.
8727         * doc/posix-functions/strsignal.texi (strsignal): Document the
8728         bug.
8729         Reported by Nelson H. F. Beebe.
8730
8731         gnulib-tool: work with NetBSD /bin/sh
8732         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8733         (func_get_description, func_get_comment, func_get_status)
8734         (func_get_notice, func_get_applicability, func_get_filelist)
8735         (func_get_dependencies, func_get_autoconf_early_snippet)
8736         (func_get_autoconf_snippet, func_get_automake_snippet)
8737         (func_get_include_directive, func_get_link_directive)
8738         (func_get_license, func_get_maintainer, func_import): Avoid
8739         shell syntax errors from parsing syntax extensions.
8740
8741 2010-09-09  Bruno Haible  <bruno@clisp.org>
8742
8743         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8744         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8745         a reliable way to determine whether the 'alias' command works.
8746
8747 2010-09-08  Jim Meyering  <meyering@redhat.com>
8748
8749         init.sh: penalize a set-x-impaired shell; don't disqualify it
8750         * tests/init.sh: Too many shells corrupt application stderr when
8751         you set -x, so we can't afford to disqualify them, since at least
8752         on Irix-6.5, that would disqualify all bourne shells.
8753         Instead, use a two-pass approach.
8754         On the first pass, try to find a shell that meets the stricter
8755         condition that set -x does not corrupt stderr.
8756         If no shell meets the stricter condition, retest each candidate
8757         shell, but without that extra condition.  Finally, when
8758         VERBOSE=yes is requested and set -x might cause trouble, simply
8759         issue a warning and refrain from enabling debug output.
8760
8761 2010-09-08  Eric Blake  <eblake@redhat.com>
8762
8763         unsetenv: fix OpenBSD bug
8764         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8765         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8766         documentation.
8767         Reported by Jim Meyering.
8768
8769         strtod: work around IRIX 6.5 bug
8770         * lib/strtod.c (strtod): Reparse number on shorter string if
8771         exponent parse was invalid.
8772         * tests/test-strtod.c (main): Add check for "0x1p 2".
8773         Reported by Tom G. Christensen.
8774
8775         getopt: optimize previous patch
8776         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8777         empty variable.  Speed up awk script.
8778         Reported by Paolo Bonzini.
8779
8780 2010-09-08  Jim Meyering  <meyering@redhat.com>
8781
8782         test.sh: disqualify shells for which set -x corrupts stderr
8783         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8784         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8785         appear in stderr output.  For example, this command:
8786             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8787         prints "P=1" on those two systems:
8788
8789 2010-09-08  Bruno Haible  <bruno@clisp.org>
8790
8791         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8792         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8793         commands, because some shells ignore redirections when there is an
8794         error in the command lookup.
8795         Reported by Eric Blake.
8796
8797 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8798
8799         * lib/regex.h: Fix a mention of `regex_compile' (should be
8800         `re_compile_pattern').
8801         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8802         (re_set_registers): Correct name of parameter in comment.
8803
8804         * doc/regex.texi: Add documentation for missing syntax flags.
8805         Remove commented-out documentation of defunct syntax option
8806         RE_NO_EMPTY_ALTS.
8807         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8808         Add documentation of re_set_registers.
8809         Document trick to re-use a pattern buffer by setting fastmap manually.
8810         Update documentation of struct re_pattern_buffer per public members.
8811         Uncomment documentation of equivalence class operators and
8812         collating symbol operators, since they are now implemented,
8813         Explain leftmost-longest matching in relation to alternatives.
8814         Tidy documentation of substring matching.
8815         Remove POSIX documentation, which is done better in
8816         glibc, and refer the reader there. Keep BSD API documentation, as
8817         that is not readily available elsewhere.
8818
8819 2010-09-07  Eric Blake  <eblake@redhat.com>
8820
8821         getopt: handle POSIXLY_CORRECT set but not exported
8822         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8823         export state of POSIXLY_CORRECT, due to bash set -o posix.
8824         Reported by Dustin J. Mitchell.
8825
8826 2010-09-05  Bruno Haible  <bruno@clisp.org>
8827
8828         gnulib-tool: Highlight the changed options.
8829         * gnulib-tool (func_usage): Display the --import, --add-import,
8830         --remove-import explanations in bold font.
8831
8832 2010-09-06  Karl Berry  <karl@gnu.org>
8833
8834         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8835
8836 2010-09-05  Bruno Haible  <bruno@clisp.org>
8837
8838         uniwidth/width: Update comment.
8839         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8840         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8841
8842 2010-09-05  Bruno Haible  <bruno@clisp.org>
8843
8844         isinf, isnan: Relax license.
8845         * modules/isinf (License): Change from GPL to LGPL, with consent from
8846         Ben Pfaff.
8847         * modules/isnan (License): Likewise.
8848         Requested by Ludovic Courtès.
8849
8850 2010-09-04  Bruno Haible  <bruno@clisp.org>
8851
8852         gnulib-tool: Help migration from --import to --add-import or --update.
8853         * gnulib-tool: Emit a verbose error message when --import is used
8854         without any module name.
8855
8856 2010-09-04  Bruno Haible  <bruno@clisp.org>
8857
8858         Update doc about gnulib-tool.
8859         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8860         'gnulib-tool --update' in more detail.
8861         Reported by Eric Blake.
8862
8863 2010-09-04  Bruno Haible  <bruno@clisp.org>
8864
8865         gnulib-tool: Change --import. New options --add/remove-import.
8866         * gnulib-tool: New options --add-import, --remove-import.
8867         (func_usage): Document them.
8868         (have_associative): Define always.
8869         (func_import): In import mode, don't merge the specified settings with
8870         the cached settings. Implement remove-import mode.
8871         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8872         Explain when to use them versus --import.
8873         (Simple update): Use --add-import instead of --import.
8874         * NEWS: Mention the change.
8875
8876 2010-09-04  Bruno Haible  <bruno@clisp.org>
8877
8878         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8879         separate gnulib.mk.
8880
8881 2010-09-04  Bruno Haible  <bruno@clisp.org>
8882
8883         gnulib-tool: Don't talk about CVS any more.
8884         * gnulib-tool (func_usage, func_import): Write "version control"
8885         instead of CVS.
8886
8887 2010-09-04  Jim Meyering  <meyering@redhat.com>
8888
8889         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8890         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8891         false positives (whose names may be ill-chosen) when searching
8892         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8893         would cause a false-positive.
8894
8895         avoid coreutils "make distcheck" failure
8896         Coreutils tests with an absolute build directory name that contains
8897         a space.  Not quoting this directory name caused a failure.
8898         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8899         * tests/test-vc-list-files-cvs.sh: Likewise.
8900
8901 2010-09-04  Bruno Haible  <bruno@clisp.org>
8902
8903         gnulib-tool: Avoid error when run in a package without Makefile.am.
8904         * gnulib-tool: When collecting the m4dirs in a package that does not
8905         have a Makefile.am, eliminate those directories that contain no
8906         gnulib-cache.m4. Fix expression that counts these directories.
8907
8908 2010-09-04  Bruno Haible  <bruno@clisp.org>
8909
8910         update-copyright test: Improve output when perl is missing or too old.
8911         * tests/test-update-copyright.sh: Move test of Perl version down after
8912         the test whether Perl exists. Provide an explanation relating Perl's
8913         error message to Automake's SKIP: message.
8914
8915 2010-09-04  Bruno Haible  <bruno@clisp.org>
8916
8917         Don't augment PATH in TESTS_ENVIRONMENT.
8918         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8919         set abs_aux_dir instead of augmenting PATH.
8920         * modules/vc-list-files-tests (Makefile.am): Likewise.
8921         * tests/test-update-copyright.sh: Augment PATH here.
8922         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8923         path_prepend_.
8924         * tests/test-vc-list-files-git.sh: Likewise.
8925
8926 2010-09-04  Jim Meyering  <meyering@redhat.com>
8927
8928         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
8929         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
8930
8931 2010-09-04  Bruno Haible  <bruno@clisp.org>
8932
8933         strdup: Fix compilation error in C++ mode.
8934         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
8935         the macro.
8936
8937 2010-09-04  Bruno Haible  <bruno@clisp.org>
8938
8939         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
8940         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
8941         macro into a function.
8942         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8943
8944 2010-09-04  Bruno Haible  <bruno@clisp.org>
8945
8946         Set PATH_SEPARATOR the same way autoconf does.
8947         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
8948         the value of PATH_SEPARATOR the same way autoconf-generated configure
8949         scripts do.
8950         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
8951         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8952
8953 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8954
8955         Set PATH_SEPARATOR the same way autoconf does.
8956         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
8957         the same way autoconf-generated configure scripts do.
8958         * posix-modules: Likewise.
8959
8960 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8961
8962         hash: fix safe_hasher const typo
8963         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
8964         const; otherwise, there is a type error later.
8965
8966 2010-09-02  Jim Meyering  <meyering@redhat.com>
8967
8968         test-update-copyright.sh: require perl 5.8.0
8969         * tests/test-update-copyright.sh: Require 5.8.0,
8970         which Tom G. Christensen has confirmed is adequate,
8971         while 5.6.1 is not.
8972
8973 2010-09-02  Eric Blake  <eblake@redhat.com>
8974
8975         tests: init.sh improvements for re-exec'ing with zsh
8976         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
8977         -vx through shell re-exec.
8978         Reported by Tom G. Christensen.
8979
8980         wctype: fix typo in previous commit
8981         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
8982         Reported by Ludovic Courtès.
8983
8984 2010-09-02  Jim Meyering  <meyering@redhat.com>
8985
8986         test-update-copyright.sh: skip test if Perl is too old
8987         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
8988         Reported by Tom G. Christensen.
8989
8990 2010-09-02  Bruno Haible  <bruno@clisp.org>
8991
8992         wctype: Avoid compilation error on IRIX 6.5.30.
8993         * lib/wctype.in.h (iswblank): Declare with a replacement if
8994         REPLACE_ISWBLANK is set.
8995         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
8996         declared. Set REPLACE_ISWBLANK.
8997         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
8998         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
8999         * doc/posix-headers/wctype.texi: Likewise.
9000         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9001
9002 2010-09-01  Bruno Haible  <bruno@clisp.org>
9003
9004         New module 'socketlib'.
9005         * modules/socketlib: New file.
9006         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
9007         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
9008         * modules/sockets (Depends-on): Add socketlib.
9009         Suggested by Sam Steingold <sds@gnu.org>.
9010
9011 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9012
9013         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
9014
9015         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
9016         when one needs search access to a directory but not read access.
9017         On systems where it is available, it works in some cases where
9018         O_RDONLY does not, namely on directories that are searchable but
9019         not readable, and which need only to be searchable.  If O_SEARCH
9020         is not available, fall back to the traditional method of using
9021         O_RDONLY.
9022
9023         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
9024         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
9025         when opening a directory that needs only to be searchable.
9026         * lib/chdir-safer.c (chdir_no_follow): Likewise.
9027         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
9028         * lib/openat-proc.c (openat_proc_name): Likewise.
9029         * lib/openat.c (openat_needs_fchdir): Likewise.
9030         * lib/save-cwd.c (save_cwd): Likewise.
9031         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
9032
9033 2010-08-28  Bruno Haible  <bruno@clisp.org>
9034
9035         New module 'host-cpu-c-abi'.
9036         * modules/host-cpu-c-abi: New file.
9037         * m4/host-cpu-c-abi.m4: New file, based on part of
9038         clisp/src/m4/general.m4.
9039         Requested by Sam Steingold <sds@gnu.org>.
9040
9041 2010-08-31  Eric Blake  <eblake@redhat.com>
9042         and Jim Meyering  <meyering@redhat.com>
9043
9044         hash: factor, and guard against misbehaving hasher function
9045         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
9046         of table->hasher's return value.  Also protect against a hash value
9047         so large that adding it to table->bucket results in a NULL pointer.
9048         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
9049         Use it in place of open-coded check-and-abort.
9050
9051 2010-08-30  Bruno Haible  <bruno@clisp.org>
9052
9053         hash: silence spurious clang warning
9054         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
9055         Reported by Eric Blake.
9056
9057 2010-08-30  Eric Blake  <eblake@redhat.com>
9058
9059         strstr, memmem, strcasestr: avoid leaked shell message
9060         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
9061         FreeBSD.
9062         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9063         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9064
9065         tests: silence clang warning
9066         * tests/test-malloca.c (do_allocation): Avoid dead store.
9067
9068 2010-08-29  Bruno Haible  <bruno@clisp.org>
9069
9070         gettext: Fix recent mistake.
9071         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
9072
9073 2010-08-29  Bruno Haible  <bruno@clisp.org>
9074
9075         selinux-h: Offer a --without-selinux option.
9076         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
9077         --without-selinux was specified, skip all tests and define
9078         HAVE_SELINUX_SELINUX_H to 0.
9079         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
9080         set LIB_SELINUX to empty.
9081         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
9082         gl_LIBSELINUX. If --without-selinux was specified, replace
9083         selinux/context.h.
9084         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
9085
9086 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9087             Bruno Haible  <bruno@clisp.org>
9088
9089         Make the module 'realloc-gnu' work again on AIX and OSF/1.
9090         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
9091         of HAVE_REALLOC.
9092         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
9093         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
9094         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
9095         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9096
9097 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9098             Bruno Haible  <bruno@clisp.org>
9099
9100         Make the module 'calloc-gnu' work again on AIX and OSF/1.
9101         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
9102         HAVE_CALLOC.
9103         * lib/xmalloc.c: Update accordingly.
9104         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9105         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
9106         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
9107
9108 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9109             Bruno Haible  <bruno@clisp.org>
9110
9111         Make the module 'malloc-gnu' work again on AIX and OSF/1.
9112         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
9113         HAVE_MALLOC.
9114         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
9115         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
9116         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9117
9118 2010-08-29  Bruno Haible  <bruno@clisp.org>
9119
9120         Update modules list.
9121         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
9122         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
9123         (String handling <string.h>): Add astrxfrm.
9124         (File system functions): Add readlinkat.
9125
9126 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9127
9128         Tests for module 'realloc-gnu'.
9129         * modules/realloc-gnu-tests: New file.
9130         * tests/test-realloc-gnu.c: New file.
9131
9132         Tests for module 'calloc-gnu'.
9133         * modules/calloc-gnu-tests: New file.
9134         * tests/test-calloc-gnu.c: New file.
9135
9136         Tests for module 'malloc-gnu'.
9137         * modules/malloc-gnu-tests: New file.
9138         * tests/test-malloc-gnu.c: New file.
9139
9140 2010-08-28  Bruno Haible  <bruno@clisp.org>
9141
9142         Rename module 'realloc' -> 'realloc-gnu'.
9143         * modules/realloc-gnu: New file, copied from modules/realloc.
9144         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
9145         obsolete.
9146         * modules/mgetgroups (Depends-on): Update.
9147         * doc/posix-functions/realloc.texi: Update.
9148         * NEWS: Mention the change.
9149
9150         Rename module 'calloc' -> 'calloc-gnu'.
9151         * modules/calloc-gnu: New file, copied from modules/calloc.
9152         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
9153         obsolete.
9154         * doc/posix-functions/calloc.texi: Update.
9155         * NEWS: Mention the change.
9156
9157         Rename module 'malloc' -> 'malloc-gnu'.
9158         * modules/malloc-gnu: New file, copied from modules/malloc.
9159         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
9160         obsolete.
9161         * modules/argp (Depends-on): Update.
9162         * modules/regex (Depends-on): Update.
9163         * doc/posix-functions/malloc.texi: Update.
9164         * NEWS: Mention the change.
9165
9166 2010-08-28  Eric Blake  <eblake@redhat.com>
9167
9168         pread, pwrite: add missing dependency
9169         * modules/pread (Depends-on): Add extensions.
9170         * modules/pwrite (Depends-on): Likewise.
9171
9172 2010-08-28  Bruno Haible  <bruno@clisp.org>
9173
9174         unistr/u*-strchr: Fix tests dependencies.
9175         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
9176         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
9177         Reported by Ian Beckwith <ianb@erislabs.net>.
9178
9179 2010-08-28  Bruno Haible  <bruno@clisp.org>
9180
9181         read-file: Don't occupy too much unused memory.
9182         * lib/read-file.c (fread_file): Shrink the buffer at the end.
9183
9184 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
9185             Eric Blake  <eblake@redhat.com>
9186             Bruno Haible  <bruno@clisp.org>
9187
9188         read-file: Avoid memory reallocations with regular files.
9189         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
9190         (fread_file): With regular files, use the remaining length as the
9191         initial buffer size.  Check against overflow.
9192         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
9193         sys_stat.
9194
9195 2010-08-28  Bruno Haible  <bruno@clisp.org>
9196
9197         ftello: Relax license.
9198         * modules/ftello (License): Relax to LGPLv2+.
9199         Reported by Eric Blake.
9200
9201 2010-08-28  Bruno Haible  <bruno@clisp.org>
9202
9203         Avoid relocwrapper link errors due to gnulib replacement functions.
9204         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
9205         function.
9206         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9207
9208 2010-08-28  Bruno Haible  <bruno@clisp.org>
9209
9210         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
9211         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
9212         defined.
9213         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
9214         Suggested by Eric Blake.
9215
9216 2010-08-28  Bruno Haible  <bruno@clisp.org>
9217
9218         sys_socket, netdb: Ensure socklen_t gets defined.
9219         * modules/sys_socket (Depends-on): Add socklen.
9220         * modules/netdb (Depends-on): Likewise.
9221         * modules/getaddrinfo (Depends-on): Remove socklen.
9222         * modules/getsockopt (Depends-on): Likewise.
9223         * modules/setsockopt (Depends-on): Likewise.
9224         * tests/test-sys_socket.c: Check that socklen_t is defined.
9225         * tests/test-netdb.c: Likewise.
9226         * m4/socklen.m4: Update comments.
9227         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9228
9229 2010-08-27  Eric Blake  <eblake@redhat.com>
9230
9231         login_tty: add missing dependency
9232         * modules/login_tty (Depends-on): Add pty.
9233
9234 2010-08-26  Eric Blake  <eblake@redhat.com>
9235
9236         lib-symbol-versions: fix m4 quoting
9237         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
9238         format for AC_LINK_IFELSE.
9239
9240         glob: fix compile test
9241         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
9242
9243         btowc: fix missing file
9244         * modules/btowc (Files): Also ship locale-fr.m4.
9245
9246         lseek: fix link test
9247         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
9248         AC_LINK_IFELSE.
9249
9250         include_next: silence autoconf 2.68 warning
9251         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
9252         AC_COMPILE_IFELSE as special.
9253         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
9254         autoconf < 2.68.
9255
9256         acl: fix compilation test
9257         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
9258         AC_COMPILE_IFELSE.
9259
9260 2010-08-26  Bruno Haible  <bruno@clisp.org>
9261
9262         Modernize AC_TRY_RUN invocations.
9263         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
9264         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9265         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
9266         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
9267         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
9268         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9269         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9270         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9271         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9272         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9273         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9274         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9275         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9276         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9277         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9278         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9279         gl_MBRLEN_NUL_RETVAL): Likewise.
9280         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9281         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9282         Likewise.
9283         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9284         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9285         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9286         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9287         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
9288         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
9289         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
9290         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9291         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
9292         Likewise.
9293         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9294         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
9295         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9296         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9297         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9298         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9299         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9300         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
9301         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9302         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9303
9304 2010-08-26  Bruno Haible  <bruno@clisp.org>
9305
9306         Modernize AC_TRY_LINK invocations.
9307         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
9308         AC_TRY_LINK.
9309         * m4/argp.m4 (gl_ARGP): Likewise.
9310         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9311         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9312         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
9313         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
9314         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
9315         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
9316         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9317         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9318         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
9319         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
9320         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
9321         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
9322         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
9323         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9324         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
9325         * m4/hostent.m4 (gl_HOSTENT): Likewise.
9326         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9327         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
9328         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
9329         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
9330         Likewise.
9331         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
9332         Likewise.
9333         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
9334         Likewise.
9335         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
9336         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
9337         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
9338         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9339         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9340         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9341         * m4/servent.m4 (gl_SERVENT): Likewise.
9342         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9343         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9344         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9345         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9346         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9347         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9348         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9349         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9350         * modules/tsearch-tests (configure.ac): Likewise.
9351
9352 2010-08-26  Bruno Haible  <bruno@clisp.org>
9353
9354         Modernize AC_TRY_COMPILE invocations.
9355         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
9356         AC_TRY_COMPILE.
9357         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
9358         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
9359         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
9360         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
9361         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
9362         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
9363         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
9364         * m4/lock.m4 (gl_LOCK): Likewise.
9365         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
9366         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
9367         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
9368         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9369         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
9370         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
9371         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
9372         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
9373         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
9374         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
9375         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
9376         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9377         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
9378         extraneous semicolon.
9379
9380 2010-08-26  Jim Meyering  <meyering@redhat.com>
9381
9382         stat-time: relax license LGPL
9383         * modules/stat-time (License): Change from GPL to LGPL,
9384         with consent from all contributors, for use in libguile.
9385         Requested by Ludovic Courtès.
9386
9387 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
9388
9389         poll: return immediately on POLLHUP.
9390         * lib/poll.c (poll): Always set timeout before wait_timeout is
9391         computed.
9392
9393 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9394
9395         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
9396         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
9397         rmdir ("dir/.//"), unlinkat.
9398
9399 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9400
9401         stdbool: avoid spurious failure with modern xlc
9402         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9403
9404 2010-08-24  Bruno Haible  <bruno@clisp.org>
9405
9406         getloadavg: simplify code
9407         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
9408         gl_have_func. Update comments.
9409
9410 2010-08-24  Eric Blake  <eblake@redhat.com>
9411
9412         getloadavg: don't define SVR4 on cygwin
9413         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
9414         only define SVR4 when -lkvm is required.
9415         Reported by Yaakov Selkowitz.
9416
9417 2010-08-24  Bruno Haible  <bruno@clisp.org>
9418
9419         priv-set: fix comment
9420         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
9421
9422 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9423
9424         priv-set: fix comments
9425         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
9426         to match code, as suggested by David Bartley in:
9427         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
9428
9429 2010-08-23  Eric Blake  <eblake@redhat.com>
9430
9431         stdbool: avoid rejecting clang
9432         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9433         * tests/test-stdbool.c: Enable more tests if using the system
9434         <stdbool.h> instead of the gnulib replacement.
9435         (main): Move xlc bug test to a runtime test for all compilers.
9436         Reported by Anders Kaseorg.
9437
9438         argz: fix shell quoting issue
9439         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
9440         Reported by Charles Wilson.
9441
9442 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
9443             Erik Faye-Lund <kusmabite@gmail.com>
9444
9445         poll, select: handle ERROR_BROKEN_PIPE.
9446         * lib/poll.c (win32_compute_revents): Return POLLHUP when
9447         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9448         * lib/select.c (win32_compute_revents): Do not mark a pipe
9449         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9450
9451 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
9452
9453         fts: allow compilation with C++
9454         * lib/fts_.h: Specify extern "C" linkage with C++.
9455
9456 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9457
9458         Fix gnulib-tool sed script de-commentation for AIX sed.
9459         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
9460         sed.
9461
9462 2010-08-17  Eric Blake  <eblake@redhat.com>
9463
9464         test-stddef: test for (some) offsetof bugs
9465         * tests/test-stddef.c: Enhance test to ensure correct type of
9466         offsetof.
9467         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
9468         that we are not fixing at this time.
9469
9470 2010-08-15  Bruno Haible  <bruno@clisp.org>
9471
9472         stpncpy: Allow stpncpy to be defined as a macro.
9473         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
9474         if it's already correctly declared.
9475         * lib/string.in.h (stpncpy): Undefine before redefining.
9476         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
9477
9478 2010-08-14  Bruno Haible  <bruno@clisp.org>
9479
9480         Rename module 'memxfrm' to 'amemxfrm'.
9481         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
9482         (amemxfrm): Renamed from memxfrm.
9483         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
9484         (amemxfrm): Renamed from memxfrm.
9485         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
9486         * NEWS: Mention the change.
9487         * MODULES.html.sh (String handling <string.h>): Update.
9488         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
9489         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
9490         * lib/unicase/u16-casexfrm.c: Likewise.
9491         * lib/unicase/u32-casexfrm.c: Likewise.
9492         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
9493         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
9494         * lib/uninorm/u16-normxfrm.c: Likewise.
9495         * lib/uninorm/u32-normxfrm.c: Likewise.
9496         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
9497         memxfrm.
9498         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
9499         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
9500         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
9501         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
9502         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
9503         Suggested by Paul Eggert.
9504
9505 2010-08-14  Bruno Haible  <bruno@clisp.org>
9506
9507         Tests for module 'astrxfrm'.
9508         * modules/astrxfrm-tests: New file.
9509         * tests/test-astrxfrm.c: New file.
9510
9511         New module 'astrxfrm'.
9512         * lib/astrxfrm.h: New file.
9513         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
9514         * modules/astrxfrm: New file.
9515
9516 2010-08-14  Reuben Thomas <rrt@sc3d.org>
9517
9518         regex: Tweak doc.
9519         * doc/regex.texi (Overview): Don't mention regex.c.
9520         (GNU Regular Expression Compiling): Likewise.
9521         (Match-end-of-line Operator): Mention 'not_eol'.
9522
9523 2010-08-14  Brian Gough  <bjg@gnu.org>
9524             Bruno Haible  <bruno@clisp.org>
9525
9526         git-merge-changelog: add doc relating to use with bzr and hg.
9527         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
9528
9529 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
9530
9531         pthread: fix pthread.h creation for srcdir != builddir
9532         * modules/pthread (Makefile.am): Fix the rule to work also in a
9533         non-srcdir build.
9534
9535 2010-08-13  Karl Berry  <karl@gnu.org>
9536
9537         * doc/regex.texi (Predefined Syntaxes): @smallexample.
9538         * doc/posix-*/*: force line break before @url of POSIX
9539         specifications.
9540         Suggested by Werner Lemberg.
9541
9542 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9543
9544         strtod: fix const diagnostic
9545         * lib/strtod.c (strtod): Don't assign const char * to char *,
9546         as this elicits a warning from GCC when warnings are enabled.
9547
9548 2010-08-10  Pádraig Brady <P@draigbrady.com>
9549         and Eric Blake  <eblake@redhat.com>
9550
9551         copy-acl: ignore ENOTSUP on HP-UX
9552         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
9553         so that it is available for HP-UX.
9554         * lib/copy-acl.c (qcopy_acl): Use it.
9555         Reported by Patrick M. Callahan.
9556
9557 2010-08-10  Eric Blake  <eblake@redhat.com>
9558
9559         open, chown: relax license
9560         * modules/open (License): Change to LGPLv2+, with consent by all
9561         authors, for use in augeas.
9562         * modules/chown (License): Likewise.
9563         * modules/lchown (Likewise): Likewise.
9564         Requested by Adam Stokes.
9565
9566 2010-08-09  Karl Berry  <karl@gnu.org>
9567
9568         * build-aux/ar-lib: new file, import from Automake.
9569         * config/srclist.txt: autocheck for updates.
9570
9571 2010-08-09  Eric Blake  <eblake@redhat.com>
9572
9573         readlinkat: adjust client modules
9574         * modules/areadlinkat (Depends-on): Use readlinkat, not
9575         symlinkat.
9576         * modules/areadlinkat-with-size (Depends-on): Likewise.
9577
9578         mknod: be more vocal about danger of running tests as root
9579         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
9580         root, since that is just asking for problems.
9581         Suggested by Bruno Haible, based on a report by Rainer Tammer.
9582
9583         readlinkat: split into its own module
9584         * modules/symlinkat: Split readlinkat...
9585         * modules/readlinkat: ...into separate module.
9586         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
9587         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
9588         * lib/symlinkat.c (readlinkat): Move...
9589         * lib/readlinkat.c: ...into new file.
9590         * modules/symlinkat-tests: Split readlinkat test...
9591         * modules/readlinkat-tests: ...into separate module.
9592         * tests/test-symlinkat.c: Split...
9593         * tests/test-readlinkat.c: ...into new file.
9594         * NEWS: Document the split.
9595         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
9596         * lib/unistd.in.h (readlinkat): Likewise.
9597         Suggested by Bruno Haible.
9598
9599 2010-08-08  Bruno Haible  <bruno@clisp.org>
9600
9601         memxfrm: Speed up.
9602         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
9603         that usually only one call to strxfrm is necessary for each string
9604         part.
9605         Reported by Paul Eggert <eggert@cs.ucla.edu>.
9606
9607 2010-08-07  Karl Berry  <karl@gnu.org>
9608
9609         * doc/posix-headers/limits.texi,
9610         * doc/posix-functions/malloc.texi,
9611         * doc/posix-functions/strsignal.texi: missing @item.
9612         * doc/ld-version-script.texi: spurious leading i.
9613         * doc/regex.texi (Interval Operators): no commas inside @var.
9614
9615 2010-08-01  Bruno Haible  <bruno@clisp.org>
9616
9617         Integrate the regex documentation.
9618         * doc/gnulib.texi: Define 'cn' index.
9619         (Regular expressions): New a chapter that includes regex.texi and
9620         regexprops-generic.texi.
9621         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
9622         syntax.
9623
9624         Whitespace cleanup.
9625         * doc/regex.texi: Remove trailing spaces.
9626
9627         Add regex documentation.
9628         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
9629         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
9630         Written by Kathy A. Hargreaves and Karl Berry.
9631
9632 2010-08-01  Bruno Haible  <bruno@clisp.org>
9633
9634         link: Update documentation.
9635         * doc/posix-functions/link.texi: Update regarding Solaris.
9636
9637 2010-07-31  Bruno Haible  <bruno@clisp.org>
9638
9639         Update modules list.
9640         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
9641         (String handling <string.h>): Add memcmp2, memxfrm.
9642         (Container data structures): Add xlist, xsublist, xoset.
9643         (Core language properties): Add alignof, unused-parameter.
9644         (Process control, Numeric conversion functions <stdlib.h>): Renamed
9645         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
9646         (Unibyte characters <ctype.h>): New section.
9647         (String handling <string.h>): New section.
9648         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
9649         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
9650         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
9651         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
9652         tan, tanh, tanl, y0, y1, yn.
9653         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
9654         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
9655         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
9656         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
9657         unlockpt, vdprintf, vdprintf-posix.
9658         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
9659         (File system functions): Add concat-filename, sys_file, sys_ioctl,
9660         xconcat-filename.
9661         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
9662         getdtablesize, pipe2, pipe2-safer.
9663         (Security): New section.
9664         (Networking functions): Add accept4.
9665         (Signal handling): Add sigpipe.
9666         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
9667         mbmemcasecoll.
9668         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
9669         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
9670         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
9671         pipe-filter-ii.
9672         (Misc): Add argp-version-etc, login_tty, parse-duration.
9673
9674 2010-07-31  Bruno Haible  <bruno@clisp.org>
9675
9676         Improve doc in MODULES.html.
9677         * modules/linkat (Description): Add the word "function".
9678         * modules/mkfifo (Description): Likewise.
9679         * modules/mknod (Description): Likewise.
9680         * modules/remove (Description): Likewise.
9681         * modules/renameat (Description): Likewise.
9682         * modules/stat (Description): Likewise.
9683         * modules/symlink (Description): Likewise.
9684         * modules/unlink (Description): Likewise.
9685
9686 2010-07-31  Bruno Haible  <bruno@clisp.org>
9687
9688         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
9689         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
9690         option --enable/disable-c++ instead of --enable/disable-cxx.
9691         * NEWS: Mention the change.
9692
9693 2010-07-31  Bruno Haible  <bruno@clisp.org>
9694
9695         readlink, areadlink: Relax test a bit.
9696         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9697         alternative to ENOTDIR.
9698         * tests/test-areadlink.h (test_areadlink): Likewise.
9699         Reported by Rainer Tammer.
9700
9701 2010-07-31  Bruno Haible  <bruno@clisp.org>
9702
9703         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9704         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9705         character, perform the search using U_STRCHR.
9706         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9707         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9708         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9709         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9710         Suggested by Paolo Bonzini.
9711
9712 2010-07-31  Bruno Haible  <bruno@clisp.org>
9713
9714         unistr/u*-strstr: Fix dependencies.
9715         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9716         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9717         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9718
9719 2010-07-31  Bruno Haible  <bruno@clisp.org>
9720
9721         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9722         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9723         the beginning of the loop.
9724         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9725         cases in 'switch' statement.
9726
9727         unistr/u8-strchr: Fix several bugs.
9728         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9729         the string. When not found, return NULL, not a pointer near the end.
9730
9731         More tests for unistr/u8-strchr.
9732         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9733         that the function does not read past the first occurrence of the byte
9734         being searched.
9735         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9736         * tests/unistr/test-u16-strchr.c (main): New function.
9737         * tests/unistr/test-u32-strchr.c (main): New function.
9738
9739 2010-07-31  Bruno Haible  <bruno@clisp.org>
9740
9741         posix-modules: Ignore backup files of documentation files.
9742         * posix-modules: grep only through files named *.texi.
9743
9744 2010-07-31  Bruno Haible  <bruno@clisp.org>
9745
9746         symlinkat: Fix documentation.
9747         * doc/posix-functions/readlinkat.texi: Fix module name.
9748
9749 2010-07-31  Bruno Haible  <bruno@clisp.org>
9750
9751         fchownat: Replace also when chown has the trailing slash bug.
9752         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9753         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9754         introduced on 2010-04-10.
9755         Reported by Rainer Tammer.
9756
9757 2010-07-31  Bruno Haible  <bruno@clisp.org>
9758
9759         linkat: Work around AIX 7.1 bug.
9760         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9761         whether linkat handles trailing slash correctly. If not, replace linkat
9762         and define LINKAT_TRAILING_SLASH_BUG.
9763         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9764         check whether (fd1,file1) points to a directory if file1 or file2 ends
9765         in a slash. Code taken from lib/link.c.
9766         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9767         Reported by Rainer Tammer.
9768
9769 2010-07-31  Bruno Haible  <bruno@clisp.org>
9770
9771         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9772         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9773         This disables an xlc optimization that was causing wrong test results.
9774         Reported by Rainer Tammer.
9775
9776 2010-07-31  Bruno Haible  <bruno@clisp.org>
9777
9778         iconv: Work around AIX 6.1..7.1 bug.
9779         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9780         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9781         cross-compiling, guess no on all versions of AIX.
9782         Reported by Rainer Tammer.
9783
9784 2010-07-31  Bruno Haible  <bruno@clisp.org>
9785
9786         readlink: Relax test a bit.
9787         * tests/test-readlink.h (test_readlink): Allow different errno value
9788         when readlink is called with a file name that ends in / and refers to
9789         a file.
9790         Suggested by Eric Blake.
9791         Reported by Rainer Tammer.
9792
9793 2010-07-31  Bruno Haible  <bruno@clisp.org>
9794
9795         copysign: Does not require -lm on glibc systems.
9796         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9797         gl_COMMON_DOUBLE_MATHFUNC.
9798         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9799
9800 2010-07-31  Bruno Haible  <bruno@clisp.org>
9801
9802         duplocale: Work around AIX 7.1 bug.
9803         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9804         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9805         * lib/duplocale.c (rpl_duplocale): Update comment.
9806         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9807         Reported by Rainer Tammer.
9808
9809 2010-07-30  Bruno Haible  <bruno@clisp.org>
9810
9811         dirfd: Avoid link error on AIX 7.1.
9812         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9813         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9814         exist, set REPLACE_DIRFD.
9815         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9816         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9817         * doc/posix-functions/dirfd.texi: Update.
9818         Reported by Rainer Tammer.
9819
9820 2010-07-30  Eric Blake  <eblake@redhat.com>
9821
9822         strtod: next round of AIX fixes
9823         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9824         exponent.
9825         * tests/test-strtod.c (main): Enhance tests.
9826         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9827         Reported by Rainer Tammer.
9828
9829         futimens: fix configure check
9830         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9831         Reported by Bruno Haible.
9832
9833 2010-07-30  Bruno Haible  <bruno@clisp.org>
9834
9835         getline: Update regarding AIX.
9836         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9837         Reported by Rainer Tammer.
9838
9839 2010-07-30  Bruno Haible  <bruno@clisp.org>
9840
9841         wcwidth: Drop replacement on AIX 7.
9842         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9843         AIX 7.
9844         Reported by Rainer Tammer.
9845
9846 2010-07-30  Bruno Haible  <bruno@clisp.org>
9847
9848         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9849         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9850         a 'char *'.
9851         Reported by Rainer Tammer.
9852
9853 2010-07-30  Bruno Haible  <bruno@clisp.org>
9854
9855         unlink: Update regarding AIX.
9856         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9857         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9858         Reported by Rainer Tammer.
9859
9860 2010-07-30  Bruno Haible  <bruno@clisp.org>
9861
9862         symlink: Update regarding AIX.
9863         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9864         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9865         Reported by Rainer Tammer.
9866
9867 2010-07-30  Bruno Haible  <bruno@clisp.org>
9868
9869         strndup: Update regarding AIX.
9870         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9871         AIX 7.
9872         Reported by Rainer Tammer.
9873
9874 2010-07-30  Bruno Haible  <bruno@clisp.org>
9875
9876         stat: Update regarding AIX.
9877         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9878         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9879         Reported by Rainer Tammer.
9880
9881 2010-07-30  Bruno Haible  <bruno@clisp.org>
9882
9883         truncl: Fix autoconf test.
9884         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9885         whether truncl works.
9886         Reported by Rainer Tammer.
9887
9888 2010-07-30  Bruno Haible  <bruno@clisp.org>
9889
9890         round: Update regarding AIX.
9891         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9892         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9893         Reported by Rainer Tammer.
9894
9895 2010-07-30  Bruno Haible  <bruno@clisp.org>
9896
9897         rename: Update regarding AIX.
9898         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9899         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9900         Reported by Rainer Tammer.
9901
9902 2010-07-30  Bruno Haible  <bruno@clisp.org>
9903
9904         printf.m4: Update regarding AIX.
9905         * m4/printf.m4: Update comments regarding AIX.
9906         Reported by Rainer Tammer.
9907
9908 2010-07-30  Bruno Haible  <bruno@clisp.org>
9909
9910         iconv: Update regarding AIX.
9911         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9912         AIX 7.
9913         Reported by Rainer Tammer.
9914
9915 2010-07-30  Bruno Haible  <bruno@clisp.org>
9916
9917         getopt: Update regarding AIX.
9918         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9919         no on AIX.
9920         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9921         Reported by Rainer Tammer.
9922
9923 2010-07-30  Bruno Haible  <bruno@clisp.org>
9924
9925         ldexpl; Update regarding AIX.
9926         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
9927         on AIX 7.
9928         Reported by Rainer Tammer.
9929
9930 2010-07-30  Bruno Haible  <bruno@clisp.org>
9931
9932         frexpl: Update regarding AIX.
9933         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
9934         on AIX 7.
9935         Reported by Rainer Tammer.
9936
9937 2010-07-30  Bruno Haible  <bruno@clisp.org>
9938
9939         open, fopen: Update regarding AIX.
9940         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
9941         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9942         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
9943         * doc/posix-functions/fopen.texi: Likewise.
9944         Reported by Rainer Tammer.
9945
9946 2010-07-30  Bruno Haible  <bruno@clisp.org>
9947
9948         chown: Update doc regarding AIX.
9949         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
9950         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
9951         Reported by Rainer Tammer.
9952
9953 2010-07-30  Eric Blake  <eblake@redhat.com>
9954
9955         strtod: fix bug in replacement function on AIX
9956         * lib/strtod.c (strtod): Special case broken "0x" parse in
9957         underlying strtod.
9958         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
9959         * doc/posix-functions/strtod.texi (strtod): Likewise.
9960         Reported by Rainer Tammer.
9961
9962 2010-07-30  Bruno Haible  <bruno@clisp.org>
9963
9964         mbrlen: Fix cross-compilation guess for AIX.
9965         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
9966         guess. Leftover from 2008-12-22.
9967
9968 2010-07-30  Bruno Haible  <bruno@clisp.org>
9969
9970         mbrtowc: Fix cross-compilation guess for AIX.
9971         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
9972         guess. Leftover from 2008-12-21.
9973
9974 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
9975
9976         init.sh: work around trap limitation of some shells
9977         * tests/init.sh (setup_): Move exit trap outside of shell function.
9978
9979 2010-07-29  Eric Blake  <eblake@redhat.com>
9980
9981         strtod: aid debugging
9982         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
9983         understanding why strtod is rejected.
9984
9985 2010-07-28  Bruno Haible  <bruno@clisp.org>
9986
9987         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
9988         * lib/unistr/u8-chr.c: Include <string.h>.
9989         * tests/unistr/test-u8-chr.c: Likewise.
9990         * tests/unistr/test-u16-chr.c: Likewise.
9991         * tests/unistr/test-u32-chr.c: Likewise.
9992         * tests/unistr/test-u8-strchr.c: Likewise.
9993         * tests/unistr/test-u16-strchr.c: Likewise.
9994         * tests/unistr/test-u32-strchr.c: Likewise.
9995         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
9996         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
9997         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
9998         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
9999
10000 2010-07-28  Bruno Haible  <bruno@clisp.org>
10001
10002         Use spaces for indentation, not tabs.
10003         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10004
10005 2010-07-27  Bruno Haible  <bruno@clisp.org>
10006
10007         mbspcasecmp: Fix function specification.
10008         * lib/string.in.h (mbspcasecmp): Fix specification comment.
10009         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
10010         Reported by Eric Blake <eblake@redhat.com>.
10011
10012 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
10013
10014         timespec: use cast and not conditional, as truncation isn't possible
10015         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
10016         instead of a conditional.  Comment about the situation in more detail.
10017         This undoes most of the 2009-10-29 patch.
10018
10019 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
10020
10021         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
10022         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
10023         * lib/unistr/u8-strchr.c: Likewise.
10024         * modules/unistr/u8-chr: Depend on memchr.
10025
10026         unistr/u*-strchr: add tests
10027         * modules/unistr/u8-strchr-tests: New file.
10028         * modules/unistr/u16-strchr-tests: New file.
10029         * modules/unistr/u32-strchr-tests: New file.
10030         * tests/unistr/test-strchr.h: New file.
10031         * tests/unistr/test-u8-strchr.c: New file.
10032         * tests/unistr/test-u16-strchr.c: New file.
10033         * tests/unistr/test-u32-strchr.c: New file.
10034
10035         unistr/u*-chr: test multibyte sequences more
10036         * tests/unistr/test-chr.h: Do complete testing of the characters in the
10037         test vector.
10038         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
10039         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
10040         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
10041
10042         unistr/u*-chr: test multibyte sequences
10043         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
10044
10045         unistr/u*-chr: prepare for multibyte tests
10046         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
10047         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
10048         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
10049         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
10050         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
10051         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
10052
10053 2010-07-18  Bruno Haible  <bruno@clisp.org>
10054
10055         unistr/u8-strchr: Optimize non-ASCII argument case.
10056         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
10057         because the first byte often matches anyway.
10058         Reported by Pádraig Brady <P@draigbrady.com>.
10059
10060 2010-07-15  Karl Berry  <karl@gnu.org>
10061
10062         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
10063
10064 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
10065
10066         getcwd: on Solaris, work better if ancestors are inaccessible
10067         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
10068         buffer and size, try again with a large buffer.  This works better
10069         on Solaris, since its getcwd succeeds even if the path to the root
10070         is inaccessible, and this is helpful in common cases such as .zfs
10071         hidden directories.  Problem reported by J Chapman Flack in
10072         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10073         Use system getcwd if it's declared, not merely if it's partly
10074         working; use the partly-working test only to avoid needless effort
10075         if the system getcwd fails.
10076         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
10077         comment that was already obsolete and is now even more obsolete.
10078         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
10079         now might call strdup.
10080
10081 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
10082
10083         pthread: Add enough so that coreutils/src/sort.c compiles.
10084         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
10085         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
10086         gnulib. Include <sched.h> and <time.h>, as per POSIX.
10087         Include <sys/types.h>, in case it defines pthread_t.
10088         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
10089         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
10090         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
10091         (pthread_rwlockattr_t, pthread_spinlock_t):
10092         New typedefs, if HAVE_PTHREAD_T is not defined.
10093         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
10094         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
10095         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
10096         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
10097         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
10098         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
10099         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
10100         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
10101         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
10102         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
10103         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
10104         New macros.
10105         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
10106         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
10107         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
10108         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
10109         (pthread_spin_unlock): New dummy functions.
10110         (pthread_create): Return EAGAIN; don't set errno.
10111         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
10112         require AC_C_INLINE.
10113         * modules/pthread (Depends-on): Add sched, time.
10114         (pthread.h): Use AM_V_GEN.
10115
10116 2010-07-13  Bruno Haible  <bruno@clisp.org>
10117
10118         striconveh: Don't malloc memory if the result buffer is sufficient.
10119         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
10120         buffer if its size is sufficient.
10121         Reported by Ludovic Courtès <ludo@gnu.org>.
10122
10123 2010-07-13  Bruno Haible  <bruno@clisp.org>
10124
10125         strtod: Add safety check.
10126         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
10127
10128 2010-07-12  Bruno Haible  <bruno@clisp.org>
10129
10130         Unify tests that set gl_cv_func_ldexpl_no_libm.
10131         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
10132         gl_FUNC_LDEXPL.
10133         (gl_FUNC_LDEXPL): Invoke it.
10134         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10135
10136 2010-07-12  Bruno Haible  <bruno@clisp.org>
10137
10138         Unify tests that set gl_cv_func_ldexp_no_libm.
10139         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
10140         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
10141         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
10142         (configure.ac): Simply invoke gl_FUNC_LDEXP.
10143         * modules/strtod (Files): Add m4/ldexp.m4.
10144
10145 2010-07-12  Bruno Haible  <bruno@clisp.org>
10146
10147         Unify tests that set gl_cv_func_frexpl_no_libm.
10148         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
10149         gl_FUNC_FREXPL_NO_LIBM.
10150         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
10151         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10152
10153 2010-07-12  Bruno Haible  <bruno@clisp.org>
10154
10155         Unify tests that set gl_cv_func_frexp_no_libm.
10156         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
10157         gl_FUNC_FREXP_NO_LIBM.
10158         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
10159         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10160
10161 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10162
10163         memcoll: clarify sizes versus lengths, document better, and tweak perf
10164         * lib/memcoll.c (strcoll_loop, memcoll0):
10165         Improve quality of descriptive comments.  Name variables
10166         consistently as to whether they are lengths (which do not include
10167         terminating null) versus sizes (which do).
10168         * lib/xmemcoll.c (xmemcoll0): Likewise.
10169         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
10170         returned when s1size == 0; this is easier to compile and saves
10171         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
10172
10173 2010-07-12  Bruno Haible  <bruno@clisp.org>
10174
10175         Tests for module '_Exit'.
10176         * modules/_Exit-tests: New file.
10177         * tests/test-_Exit.sh: New file.
10178         * tests/test-_Exit.c: New file.
10179
10180         New module '_Exit'.
10181         * lib/stdlib.in.h (__attribute__): New macro.
10182         (_Exit): New declaration.
10183         * lib/_Exit.c: New file.
10184         * m4/_Exit.m4: New file.
10185         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
10186         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
10187         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
10188         * modules/_Exit: New file.
10189         * tests/test-stdlib-c++.cc (_Exit): Check signature.
10190         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
10191
10192 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10193
10194         strtod: make it more-accurate typically, and don't require libm
10195         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
10196         Include limits.h.  Don't include string.h.
10197         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
10198         (locale_isspace): New function, so that no casts are needed to
10199         check whether *s is a space.
10200         (ldexp): Provide an unused dummy if not available.
10201         (scale_radix_exp, parse_number, underlying_strtod): New functions.
10202         (strtod): Use them.  This implementation prefers to use the
10203         underlying strtod if available, falling back on our own code
10204         only to fix known bugs.  This is more likely to produce an
10205         accurate result.  Also, it avoids the use of libm functions.
10206         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
10207         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
10208         was absent, but it caused a test failure with coreutils.
10209         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
10210         with libm.
10211         * modules/strtod (Makefile.am, Link): libm is no longer needed.
10212         * modules/strtod-tests (Makefile.am): Likewise.
10213
10214 2010-07-11  Pádraig Brady  <P@draigBrady.com>
10215             Bruno Haible  <bruno@clisp.org>
10216
10217         unistr/u8-strchr: Optimize ASCII argument case.
10218         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
10219
10220 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10221
10222         (x)memcoll: minor tweaks
10223         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
10224         is after the type that it qualifies.
10225         (memcoll0): Likewise.
10226         * lib/memcoll.h (memcoll0): Likewise.
10227         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
10228         * lib/xmemcoll.h (xmemcoll0): Likewise.
10229         * lib/memcoll.c (memcoll0): Correct the comment.  This function
10230         differs from memcoll in that the NUL byte is part of the argument.
10231         Omit the abort-checks, as performance is a real issue here.  Plus,
10232         the checks were wrong anyway (an off-by-one error).  Omit local
10233         variable 'diff', as it's a bit clearer that way.
10234         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
10235         no longer needed.
10236
10237 2010-07-08  Chen Guo <chenguo4@yahoo.com>
10238
10239         (x)memcoll: speedup when input is known to be NUL delimited
10240         * lib/memcoll.c: Include stdlib.
10241         (memcoll0) New function.
10242         (strcoll_loop) New function, refactored for use in both memcoll
10243         and memcoll0.
10244         * lib/memcoll.h: Add prototype for memcoll0.
10245         * lib/xmemcoll.c: (xmemcoll0) New function.
10246         (collate_error) New function, refactored for use in both xmemcoll
10247         and xmemcoll0.
10248         * lib/xmemcoll.h: Add prototype for xmemcoll0.
10249         * m4/memcoll.m4: add inline invocation.
10250
10251 2010-07-06  Pádraig Brady  <P@draigBrady.com>
10252
10253         * build-aux/bootstrap: Remove any local translations
10254         from the translation project synchronization directory,
10255         so that local only translations are not distributed.
10256
10257 2010-07-04  Bruno Haible  <bruno@clisp.org>
10258
10259         fsusage: Clarify which code applies to which platforms.
10260         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
10261         platform.
10262         * lib/fsusage.c (get_fs_usage): Likewise.
10263
10264 2010-07-04  Bruno Haible  <bruno@clisp.org>
10265
10266         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
10267         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
10268         Reported by Martin Lambers <marlam@marlam.de>.
10269
10270 2010-07-04  Jim Meyering  <meyering@redhat.com>
10271
10272         hash: once again explicitly disallow insertion of NULL
10273         * lib/hash.c (hash_insert0): Reinstate just-removed test:
10274         inserting a NULL pointer cannot work with these functions.
10275         Add a comment with details.
10276         This reverts part of the 2010-07-01 commit, 5bef1a35
10277         "hash: extend module to deal with non-pointer keys".
10278
10279 2010-07-01  Bruno Haible  <bruno@clisp.org>
10280
10281         stdbool: Update doc.
10282         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
10283         Info from Christian Weisgerber <naddy@mips.inka.de>.
10284
10285 2010-07-01  Jim Meyering  <meyering@redhat.com>
10286
10287         hash: extend module to deal with non-pointer keys
10288         * lib/hash.c (hash_insert0): New interface, much like hash_insert
10289         but that allows insertion of non-pointer entries.
10290         Do not disallow an ENTRY value of NULL.
10291         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
10292         * lib/hash.h (hash_insert0): Declare.
10293
10294 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10295
10296         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
10297         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
10298         not present (i.e. with autoconf 2.59 and when using gettextize, not
10299         gnulib), require AC_GNU_SOURCE instead.
10300
10301 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
10302
10303         idpriv-drop: Fix tests.
10304         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
10305         not to the test-idpriv-droptemp program.
10306
10307 2010-06-29  Bruno Haible  <bruno@clisp.org>
10308
10309         string: Fix syntax error with g++ 2.96.
10310         * lib/string.in.h (__pure__): Remove definition.
10311         (_GL_ATTRIBUTE_PURE): New macro.
10312         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
10313         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
10314         Reported by Christian Weisgerber <naddy@mips.inka.de>.
10315
10316 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
10317
10318         unitypes: Fix bug introduced on 2010-05-18.
10319         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
10320
10321 2010-06-22  Eric Blake  <eblake@redhat.com>
10322
10323         memmem: slight optimization
10324         * lib/str-two-way.h (critical_factorization): Update comments.
10325         Reduce work during factorization phase.
10326         Reported by Carlos Bueno <carlos@bueno.org>.
10327
10328 2010-06-21  Bruno Haible  <bruno@clisp.org>
10329
10330         Fix HAVE_CALLOC_POSIX misnomer.
10331         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
10332         !HAVE_CALLOC_POSIX.
10333         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
10334         HAVE_CALLOC_POSIX.
10335         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
10336         instead of HAVE_CALLOC_POSIX.
10337         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
10338         HAVE_CALLOC_POSIX.
10339
10340         Use modern idiom for calloc() replacement.
10341         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
10342         AC_FUNC_CALLOC.
10343         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
10344         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
10345         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10346         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
10347         (gl_REPLACE_CALLOC): New macro.
10348
10349 2010-06-21  Bruno Haible  <bruno@clisp.org>
10350
10351         Fix HAVE_REALLOC_POSIX misnomer.
10352         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
10353         !HAVE_REALLOC_POSIX.
10354         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
10355         HAVE_REALLOC_POSIX.
10356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
10357         instead of HAVE_REALLOC_POSIX.
10358         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
10359         HAVE_REALLOC_POSIX.
10360
10361         Use modern idiom for realloc() replacement.
10362         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
10363         AC_FUNC_REALLOC.
10364         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
10365         Autoconf's AC_FUNC_REALLOC.
10366         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10367         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
10368         (gl_REPLACE_REALLOC): New macro.
10369         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10370
10371 2010-06-21  Bruno Haible  <bruno@clisp.org>
10372
10373         Fix HAVE_MALLOC_POSIX misnomer.
10374         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
10375         !HAVE_MALLOC_POSIX.
10376         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
10377         HAVE_MALLOC_POSIX.
10378         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
10379         instead of HAVE_MALLOC_POSIX.
10380         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
10381         HAVE_MALLOC_POSIX.
10382
10383         Use modern idiom for malloc() replacement.
10384         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
10385         AC_FUNC_MALLOC.
10386         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
10387         Autoconf's AC_FUNC_MALLOC.
10388         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10389         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
10390         (gl_REPLACE_MALLOC): New macro.
10391         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10392
10393 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
10394
10395         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
10396         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
10397         This macro takes 3 arguments, not 4.
10398
10399 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
10400
10401         ipv6: fix detection under mingw
10402         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
10403         in6_addr.
10404
10405 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
10406
10407         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
10408         that strtod() works when cross-compiling to a glibc version known
10409         to work.
10410
10411 2010-06-15  Bruno Haible  <bruno@clisp.org>
10412
10413         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
10414
10415 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
10416
10417         select: Correct timeout.
10418         * lib/select.c (rpl_select): Compute wait_timeout correctly.
10419
10420 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
10421
10422         git-version-gen: init shell var to avoid env var influence
10423         * build-aux/git-version-gen (v): Init shell var to empty.
10424
10425 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
10426
10427         priv-set: Don't assume that priv.h exists merely because getppriv does.
10428         See Jan Andersen's bug report about AIX 5L in
10429         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
10430         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
10431         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
10432         * lib/priv-set.h: Likewise.
10433         * tests/test-priv-set.c: Likewise.
10434
10435 2010-06-13  Bruno Haible  <bruno@clisp.org>
10436
10437         relocatable: Make it easier to test whether to install wrappers.
10438         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
10439         RELOCATABLE_VIA_WRAPPER.
10440
10441 2010-06-13  Bruno Haible  <bruno@clisp.org>
10442
10443         gnulib-tool: Display specified modules and dependencies differently.
10444         * gnulib-tool (func_show_module_list): New function.
10445         (func_import, func_create_testdir): Invoke it.
10446         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
10447
10448 2010-06-13  Bruno Haible  <bruno@clisp.org>
10449
10450         gnulib-tool: Align code of func_import and func_create_testdir.
10451         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
10452         specified_modules.
10453
10454 2010-06-12  Jim Meyering  <meyering@redhat.com>
10455
10456         test-inttostr: avoid spurious failure on Solaris 9
10457         * tests/test-inttostr.c (main): Skip the test when snprintf fails
10458         to accept "%ju".  Reported by Bruno Haible.
10459
10460 2010-06-11  Jim Meyering  <meyering@redhat.com>
10461
10462         test-sys_socket: mark variables as used more readably
10463         * tests/test-sys_socket.c (main): Mark otherwise unused variables
10464         as "used" explicitly via (void) statement casts.  This is more
10465         readable than using them in an artificial return expression.
10466         Suggestion from Bruno Haible.
10467
10468 2010-06-11  Bruno Haible  <bruno@clisp.org>
10469
10470         Avoid some more warnings from "gcc -Wwrite-strings".
10471         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
10472         to 'const char *'.
10473         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
10474         * tests/test-c-strcasestr.c (main): Likewise.
10475         * tests/test-mbscasestr1.c (main): Likewise.
10476         * tests/test-mbscasestr2.c (main): Likewise.
10477         * tests/test-memmem.c (main): Likewise.
10478         * tests/test-strstr.c (main): Likewise.
10479         * tests/test-strcasestr.c (main): Likewise.
10480
10481 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10482
10483         init.sh: change framework_failure_ to fail with status 99, not 1
10484         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
10485         automake's parallel-tests rule that this is an unexpected failure,
10486         even if the test is listed in XFAIL_TESTS.
10487
10488 2010-06-11  Jim Meyering  <meyering@redhat.com>
10489
10490         test-inttostr: avoid warnings about 4-6KB literal strings
10491         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
10492         Include "macros.h", for its definition of ASSERT.
10493         (CK): s/assert/ASSERT/
10494         * modules/inttostr-tests (Files): Add macros.h.
10495
10496         init.sh: don't use $ME_ or skip_ before they are defined
10497         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
10498         their first uses.  Also hoist their companions: warn_, fail_,
10499         framework_failure_, $stderr_fileno.  Prompted by a patch from
10500         Stefano Lattarini.
10501
10502         test-sys_socket: avoid set-but-not-used warnings from gcc
10503         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
10504         avoid warning about set-but-not-used variables.
10505
10506         test-xvasprintf: avoid 'const' discard warnings
10507         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
10508         "const" when assigning from literal strings.
10509         (test_xasprintf): Add "void" in function argument list to placate
10510         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
10511
10512         tests: avoid compilation warnings in argmatch and exclude tests...
10513         in packages that define ARGMATCH_DIE_DECL, like coreutils.
10514         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
10515         Since it always exits, declare with the "noreturn" attribute.
10516         * tests/test-argmatch.c: Likewise.
10517
10518         tests: avoid 'const' discard warnings in mbsstr tests
10519         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
10520         * tests/test-mbsstr2.c (main): Likewise.
10521
10522         test-verify: avoid warning from gcc's -Wmissing-declarations
10523         * tests/test-verify.c (function): Declare to be static.
10524
10525         test-inttostr.c: include <string.h> for use of strcmp
10526         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
10527
10528         test-linkat: avoid failed assertion on "other" architectures
10529         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
10530         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
10531         sparc: https://bugs.launchpad.net/bugs/591968
10532
10533 2010-06-11  Jim Meyering  <meyering@redhat.com>
10534
10535         printf.m4: avoid autoconf's "Expanded Before Required" warning
10536         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
10537         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
10538         autoconf warning.
10539
10540 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
10541
10542         Replacement header templates are now named with ".in", not "_".
10543         * doc/gnulib-intro.texi: Correct.
10544
10545 2010-06-10  Jim Meyering  <meyering@redhat.com>
10546
10547         inttostr-tests: depend on snprintf, not snprintf-posix
10548         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
10549         snprintf-posix, to avoid this aclocal failure:
10550           missing file gnulib-tests/vasnprintf.c
10551           configure.ac:45: error: expected source file, required through \
10552           AC_LIBSOURCES, not found
10553
10554 2010-06-10  Jim Meyering  <meyering@redhat.com>
10555
10556         inttostr: add a new function, inttostr, and tests
10557         The namesake function was not available.  The existence of the
10558         template file, inttostr.c makes its addition nontrivial.
10559         * lib/anytostr.c: Rename from inttostr.c.
10560         (anytostr): Rename from inttostr.
10561         * lib/inttostr.c: New file.
10562         * modules/inttostr (Files): Add anytostr.c.
10563         (Makefile.am): Set lib_SOURCES instead of ...
10564         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
10565         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
10566         * lib/offtostr.c: Likewise.
10567         * lib/uinttostr.c: Likewise.
10568         * lib/umaxtostr.c: Likewise.
10569         * modules/inttostr-tests: New file.
10570         * tests/test-inttostr.c: New file.  Test these functions.
10571
10572 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
10573             Bruno Haible  <bruno@clisp.org>
10574
10575         Add "Extending Gnulib" chapter to manual.
10576         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
10577         chapter.
10578         (Extending Gnulib): New chapter.
10579         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
10580         chapter.
10581
10582 2010-06-09  Bruno Haible  <bruno@clisp.org>
10583
10584         Avoid relocwrapper link errors due to gnulib replacement functions.
10585         * lib/areadlink.c: Use the system's malloc, realloc functions.
10586         (areadlink): Set errno to ENOMEM explicitly.
10587         * modules/areadlink (Depends-on): Remove malloc-posix.
10588         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10589
10590 2010-06-09  Bruno Haible  <bruno@clisp.org>
10591
10592         Avoid relocwrapper link errors due to gnulib replacement functions.
10593         * lib/canonicalize-lgpl.c: Use the system's malloc function.
10594         * lib/malloca.c: Likewise.
10595         * lib/relocatable.c: Likewise.
10596         * lib/progreloc.c: Use the system's malloc, sprintf functions.
10597         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
10598         * lib/setenv.c: Use the system's malloc, realloc functions.
10599         * lib/strerror.c: Use the system's sprintf function.
10600         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10601
10602 2010-06-04  Bruno Haible  <bruno@clisp.org>
10603
10604         Prefer documented low-level autoconf macro names.
10605         * m4/lib-link.m4: Use m4_translit instead of translit.
10606         * m4/environ.m4: Likewise.
10607         * m4/mathfunc.m4: Likewise.
10608         * m4/onceonly.m4: Likewise.
10609         * m4/stdint.m4: Likewise.
10610         Suggested by Eric Blake.
10611
10612 2010-06-04  Martin Lambers  <marlam@marlam.de>
10613             Bruno Haible  <bruno@clisp.org>
10614
10615         havelib: Allow library names with '+' characters.
10616         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
10617         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
10618
10619 2010-06-09  Bruno Haible  <bruno@clisp.org>
10620
10621         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
10622         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
10623         realloc failed.
10624
10625 2010-06-08  Peter Simons  <simons@cryp.to>
10626
10627         maint.mk: make the news-check rule more configurable
10628         * top/maint.mk (news-check-lines-spec) New variable.
10629         (news-check): Use "sed -n 1,10p" in place of "head".
10630
10631 2010-06-07  Jim Meyering  <meyering@redhat.com>
10632
10633         do-release-commit-and-tag: fix typo in --help
10634         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
10635
10636         regex: avoid new dead-code warning with gcc-4.6.0
10637         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
10638         if-block containing a while-loop.  It's been unused for at least
10639         5 years.
10640
10641 2010-06-05  Bruno Haible  <bruno@clisp.org>
10642
10643         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
10644         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
10645
10646 2010-06-04  Bruno Haible  <bruno@clisp.org>
10647
10648         Update to GNU gettext 0.18.1.
10649         * modules/gettext (configure.ac): Require gettext infrastructure from
10650         version 0.18.1.
10651
10652 2010-06-03  Bruno Haible  <bruno@clisp.org>
10653
10654         Don't use AC_LIBOBJ with file names in subdirectories.
10655         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
10656         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
10657         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
10658         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
10659         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
10660         gl_LIBUNISTRING_LIBSOURCE.
10661         (Makefile.am): Augment lib_SOURCES here, conditionally.
10662         * NEWS: Drop requirement for Automake option 'subdir-objects'.
10663
10664 2010-06-03  Bruno Haible  <bruno@clisp.org>
10665
10666         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
10667         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
10668         expansion does not end with a newline.
10669         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
10670         unnecessary newline.
10671
10672 2010-06-03  Bruno Haible  <bruno@clisp.org>
10673
10674         Reduce dependencies.
10675         * tests/test-quotearg.h: New file, extracted from
10676         tests/test-quotearg.c.
10677         * tests/test-quotearg-simple.c: New file, extracted from
10678         tests/test-quotearg.c.
10679         * tests/test-quotearg.c: Don't include <ctype.h>.
10680         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
10681         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
10682         use_quote_double_quotes, use_quotearg_colon): Moved to
10683         tests/test-quotearg.h.
10684         (results_g, flag_results, custom_quotes, custom_results): Moved
10685         to tests/test-quotearg-simple.c.
10686         (main): Moved the part that does not depend on gettext to
10687         tests/test-quotearg-simple.c. Return 77 if the test cannot be
10688         performed.
10689         * modules/quotearg-simple: New file.
10690         * modules/quotearg-simple-tests: New file.
10691         * modules/quotearg (Depends-on): Add quotearg-simple.
10692         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10693         (Files): Add tests/test-quotearg.h.
10694         Reported by Paolo Bonzini.
10695
10696 2010-06-03  Bruno Haible  <bruno@clisp.org>
10697
10698         Reduce dependencies.
10699         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10700
10701 2010-06-03  Bruno Haible  <bruno@clisp.org>
10702
10703         time: Undefine more broken macros.
10704         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10705         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10706         Reported by Eric Blake.
10707
10708 2010-06-03  Bruno Haible  <bruno@clisp.org>
10709
10710         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10711         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10712         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10713         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10714         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10715         Reported by Ludovic Courtès <ludo@gnu.org>.
10716
10717 2010-06-02  Eric Blake  <eblake@redhat.com>
10718
10719         time: work with mingw + pthreads-win32 library
10720         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10721         if timespec is defined only in pthread.h.
10722         * modules/time (Makefile.am): Substitute it.
10723         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10724         <pthread.h>, when needed.
10725         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10726         from the library.
10727
10728 2010-05-31  Bruno Haible  <bruno@clisp.org>
10729
10730         Avoid expanding two macros in the wrong order.
10731         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10732         gl_LIBUNISTRING if it is defined.
10733         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10734         autoconf >= 2.64.
10735         Reported by Ludovic Courtès <ludo@gnu.org>.
10736
10737 2010-05-27  Jim Meyering  <meyering@redhat.com>
10738
10739         maint.mk: also prohibit "#undef" of always-defined symbols
10740         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10741         Allow more than one space before the symbol name.
10742         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10743         the regexp uses alternation.
10744
10745 2010-05-26  Eric Blake  <eblake@redhat.com>
10746
10747         maint.mk: avoid echo -e
10748         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10749         Convert all uses of echo -* to printf.
10750         Reported by Matthias Bolte.
10751
10752 2010-05-25  Bruno Haible  <bruno@clisp.org>
10753
10754         Update to GNU gettext 0.18, part 2.
10755         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10756         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10757
10758 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10759
10760         Add missing include in test-pwrite.c.
10761         * tests/test-pwrite.c: Include string.h, for strcmp.
10762
10763 2010-05-24  Bruno Haible  <bruno@clisp.org>
10764
10765         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10766
10767 2010-05-24  Bruno Haible  <bruno@clisp.org>
10768
10769         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10770         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10771         iconveh_error argument.
10772         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10773         U_STRCONV_TO_LOCALE.
10774         * lib/unistr/u16-strcoll.c: Likewise.
10775         * lib/unistr/u32-strcoll.c: Likewise.
10776         * modules/unistr/u8-strcoll (Depends-on): Add
10777         uniconv/u8-strconv-to-enc, localcharset. Remove
10778         uniconv/u8-strconv-to-locale.
10779         (configure.ac): Bump version number.
10780         * modules/unistr/u16-strcoll (Depends-on): Add
10781         uniconv/u16-strconv-to-enc, localcharset. Remove
10782         uniconv/u16-strconv-to-locale.
10783         (configure.ac): Bump version number.
10784         * modules/unistr/u32-strcoll (Depends-on): Add
10785         uniconv/u32-strconv-to-enc, localcharset. Remove
10786         uniconv/u32-strconv-to-locale.
10787         (configure.ac): Bump version number.
10788
10789 2010-05-24  Bruno Haible  <bruno@clisp.org>
10790
10791         Avoid a test failure on NetBSD 5.0.
10792         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10793         an iconv() bug.
10794
10795 2010-05-24  Bruno Haible  <bruno@clisp.org>
10796
10797         Adjust #include directive style.
10798         * modules/regex (Includes): Recommend to write <regex.h>.
10799
10800 2010-05-24  Bruno Haible  <bruno@clisp.org>
10801
10802         regex: Don't require alloca.
10803         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10804         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10805         only inside if (0).
10806
10807 2010-05-23  Jim Meyering  <meyering@redhat.com>
10808
10809         test-renameat.c: include <sys/stat.h>
10810         * tests/test-renameat.c: Include <sys/stat.h>; required for
10811         definition of S_IS* macros.
10812
10813 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10814
10815         Update maintainer documentation for 'relocatable-prog' module.
10816         * doc/relocatable-maint.texi: Update.
10817         Comments by Bruno Haible.
10818
10819 2010-05-23  Bruno Haible  <bruno@clisp.org>
10820
10821         git-merge-changelog: Enable --split-merged-entry by default.
10822         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10823         (usage): Don't mention this option any more.
10824         Reported by Ralf Wildenhues.
10825
10826 2010-05-23  Jim Meyering  <meyering@redhat.com>
10827
10828         test-pwrite: do not leave behind a test file named "out"
10829         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10830         The trivial-looking use of init.sh is really necessary.
10831         It ensures that the temporary file, "out", is created in
10832         a temporary directory, and removed upon termination.
10833         * tests/test-pwrite.sh: Re-add file.
10834         * modules/pwrite-tests: Reference it.
10835
10836 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10837
10838         Fix output redirection buglet in init.sh.
10839         * tests/init.sh: Fix redirection of stderr.
10840
10841 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10842
10843         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10844
10845 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10846
10847         * modules/valgrind-tests: New file.
10848         * m4/valgrind-tests.m4: New file.
10849         * doc/valgrind-tests.texi: New file.
10850         * doc/gnulib.texi (Running self-tests under valgrind): New
10851         section.
10852
10853 2010-05-19  Bruno Haible  <bruno@clisp.org>
10854
10855         Clean up dead code in recent commit.
10856         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10857         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10858         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10859         Suggested by Paolo Bonzini.
10860
10861 2010-05-19  Bruno Haible  <bruno@clisp.org>
10862
10863         Avoid valgrind error reports from libunistring.
10864         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10865         * modules/libunistring (Files): Add it.
10866         * modules/libunistring-optional (Files): Likewise.
10867
10868 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10869             Bruno Haible  <bruno@clisp.org>
10870
10871         New module 'libunistring-optional'.
10872         * modules/libunistring-optional: New file.
10873         * m4/libunistring-base.m4: New file.
10874         * m4/libunistring-optional.m4: New file.
10875         * lib/unicase.in.h: Renamed from lib/unicase.h.
10876         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10877         * lib/unictype.in.h: Renamed from lib/unictype.h.
10878         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10879         * lib/uniname.in.h: Renamed from lib/uniname.h.
10880         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10881         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10882         * lib/unistr.in.h: Renamed from lib/unistr.h.
10883         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10884         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10885         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10886         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10887         gl_LIBUNISTRING. If the library was found, determine the installed
10888         version and set LIBUNISTRING_VERSION.
10889         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10890         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10891         handle a configuration option --with-included-libunistring.
10892         * modules/libunistring (Files): Add m4/absolute-header.m4.
10893         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10894         Add m4/libunistring-base.m4.
10895         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10896         (Makefile.am): Build unicase.h from unicase.in.h.
10897         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10898         Add m4/libunistring-base.m4.
10899         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10900         (Makefile.am): Build uniconv.h from uniconv.in.h.
10901         * modules/unictype/base (Files): Use unictype.in.h instead of
10902         unictype.h. Add m4/libunistring-base.m4.
10903         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10904         (Makefile.am): Build unictype.h from unictype.in.h.
10905         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10906         Add m4/libunistring-base.m4.
10907         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10908         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10909         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10910         Add m4/libunistring-base.m4.
10911         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10912         (Makefile.am): Build uniname.h from uniname.in.h.
10913         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10914         Add m4/libunistring-base.m4.
10915         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10916         (Makefile.am): Build uninorm.h from uninorm.in.h.
10917         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10918         unistdio.h. Add m4/libunistring-base.m4.
10919         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10920         (Makefile.am): Build unistdio.h from unistdio.in.h.
10921         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10922         Add m4/libunistring-base.m4.
10923         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10924         (Makefile.am): Build unistr.h from unistr.in.h.
10925         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
10926         Add m4/libunistring-base.m4.
10927         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10928         (Makefile.am): Build unitypes.h from unitypes.in.h.
10929         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
10930         Add m4/libunistring-base.m4.
10931         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10932         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
10933         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
10934         uniwidth.h. Add m4/libunistring-base.m4.
10935         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10936         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
10937         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
10938         instead of augmenting lib_SOURCES.
10939         * modules/unicase/empty-suffix-context: Likewise.
10940         * modules/unicase/locale-language: Likewise.
10941         * modules/unicase/tolower: Likewise.
10942         * modules/unicase/totitle: Likewise.
10943         * modules/unicase/toupper: Likewise.
10944         * modules/unicase/u8-casecmp: Likewise.
10945         * modules/unicase/u8-casecoll: Likewise.
10946         * modules/unicase/u8-casefold: Likewise.
10947         * modules/unicase/u8-casexfrm: Likewise.
10948         * modules/unicase/u8-ct-casefold: Likewise.
10949         * modules/unicase/u8-ct-tolower: Likewise.
10950         * modules/unicase/u8-ct-totitle: Likewise.
10951         * modules/unicase/u8-ct-toupper: Likewise.
10952         * modules/unicase/u8-is-cased: Likewise.
10953         * modules/unicase/u8-is-casefolded: Likewise.
10954         * modules/unicase/u8-is-lowercase: Likewise.
10955         * modules/unicase/u8-is-titlecase: Likewise.
10956         * modules/unicase/u8-is-uppercase: Likewise.
10957         * modules/unicase/u8-prefix-context: Likewise.
10958         * modules/unicase/u8-suffix-context: Likewise.
10959         * modules/unicase/u8-tolower: Likewise.
10960         * modules/unicase/u8-totitle: Likewise.
10961         * modules/unicase/u8-toupper: Likewise.
10962         * modules/unicase/u16-casecmp: Likewise.
10963         * modules/unicase/u16-casecoll: Likewise.
10964         * modules/unicase/u16-casefold: Likewise.
10965         * modules/unicase/u16-casexfrm: Likewise.
10966         * modules/unicase/u16-ct-casefold: Likewise.
10967         * modules/unicase/u16-ct-tolower: Likewise.
10968         * modules/unicase/u16-ct-totitle: Likewise.
10969         * modules/unicase/u16-ct-toupper: Likewise.
10970         * modules/unicase/u16-is-cased: Likewise.
10971         * modules/unicase/u16-is-casefolded: Likewise.
10972         * modules/unicase/u16-is-lowercase: Likewise.
10973         * modules/unicase/u16-is-titlecase: Likewise.
10974         * modules/unicase/u16-is-uppercase: Likewise.
10975         * modules/unicase/u16-prefix-context: Likewise.
10976         * modules/unicase/u16-suffix-context: Likewise.
10977         * modules/unicase/u16-tolower: Likewise.
10978         * modules/unicase/u16-totitle: Likewise.
10979         * modules/unicase/u16-toupper: Likewise.
10980         * modules/unicase/u32-casecmp: Likewise.
10981         * modules/unicase/u32-casecoll: Likewise.
10982         * modules/unicase/u32-casefold: Likewise.
10983         * modules/unicase/u32-casexfrm: Likewise.
10984         * modules/unicase/u32-ct-casefold: Likewise.
10985         * modules/unicase/u32-ct-tolower: Likewise.
10986         * modules/unicase/u32-ct-totitle: Likewise.
10987         * modules/unicase/u32-ct-toupper: Likewise.
10988         * modules/unicase/u32-is-cased: Likewise.
10989         * modules/unicase/u32-is-casefolded: Likewise.
10990         * modules/unicase/u32-is-lowercase: Likewise.
10991         * modules/unicase/u32-is-titlecase: Likewise.
10992         * modules/unicase/u32-is-uppercase: Likewise.
10993         * modules/unicase/u32-prefix-context: Likewise.
10994         * modules/unicase/u32-suffix-context: Likewise.
10995         * modules/unicase/u32-tolower: Likewise.
10996         * modules/unicase/u32-totitle: Likewise.
10997         * modules/unicase/u32-toupper: Likewise.
10998         * modules/unicase/ulc-casecmp: Likewise.
10999         * modules/unicase/ulc-casecoll: Likewise.
11000         * modules/unicase/ulc-casexfrm: Likewise.
11001         * modules/uniconv/u8-conv-from-enc: Likewise.
11002         * modules/uniconv/u8-conv-to-enc: Likewise.
11003         * modules/uniconv/u8-strconv-from-enc: Likewise.
11004         * modules/uniconv/u8-strconv-from-locale: Likewise.
11005         * modules/uniconv/u8-strconv-to-enc: Likewise.
11006         * modules/uniconv/u8-strconv-to-locale: Likewise.
11007         * modules/uniconv/u16-conv-from-enc: Likewise.
11008         * modules/uniconv/u16-conv-to-enc: Likewise.
11009         * modules/uniconv/u16-strconv-from-enc: Likewise.
11010         * modules/uniconv/u16-strconv-from-locale: Likewise.
11011         * modules/uniconv/u16-strconv-to-enc: Likewise.
11012         * modules/uniconv/u16-strconv-to-locale: Likewise.
11013         * modules/uniconv/u32-conv-from-enc: Likewise.
11014         * modules/uniconv/u32-conv-to-enc: Likewise.
11015         * modules/uniconv/u32-strconv-from-enc: Likewise.
11016         * modules/uniconv/u32-strconv-from-locale: Likewise.
11017         * modules/uniconv/u32-strconv-to-enc: Likewise.
11018         * modules/uniconv/u32-strconv-to-locale: Likewise.
11019         * modules/unictype/bidicategory-byname: Likewise.
11020         * modules/unictype/bidicategory-name: Likewise.
11021         * modules/unictype/bidicategory-of: Likewise.
11022         * modules/unictype/bidicategory-test: Likewise.
11023         * modules/unictype/block-list: Likewise.
11024         * modules/unictype/block-test: Likewise.
11025         * modules/unictype/category-C: Likewise.
11026         * modules/unictype/category-Cc: Likewise.
11027         * modules/unictype/category-Cf: Likewise.
11028         * modules/unictype/category-Cn: Likewise.
11029         * modules/unictype/category-Co: Likewise.
11030         * modules/unictype/category-Cs: Likewise.
11031         * modules/unictype/category-L: Likewise.
11032         * modules/unictype/category-Ll: Likewise.
11033         * modules/unictype/category-Lm: Likewise.
11034         * modules/unictype/category-Lo: Likewise.
11035         * modules/unictype/category-Lt: Likewise.
11036         * modules/unictype/category-Lu: Likewise.
11037         * modules/unictype/category-M: Likewise.
11038         * modules/unictype/category-Mc: Likewise.
11039         * modules/unictype/category-Me: Likewise.
11040         * modules/unictype/category-Mn: Likewise.
11041         * modules/unictype/category-N: Likewise.
11042         * modules/unictype/category-Nd: Likewise.
11043         * modules/unictype/category-Nl: Likewise.
11044         * modules/unictype/category-No: Likewise.
11045         * modules/unictype/category-P: Likewise.
11046         * modules/unictype/category-Pc: Likewise.
11047         * modules/unictype/category-Pd: Likewise.
11048         * modules/unictype/category-Pe: Likewise.
11049         * modules/unictype/category-Pf: Likewise.
11050         * modules/unictype/category-Pi: Likewise.
11051         * modules/unictype/category-Po: Likewise.
11052         * modules/unictype/category-Ps: Likewise.
11053         * modules/unictype/category-S: Likewise.
11054         * modules/unictype/category-Sc: Likewise.
11055         * modules/unictype/category-Sk: Likewise.
11056         * modules/unictype/category-Sm: Likewise.
11057         * modules/unictype/category-So: Likewise.
11058         * modules/unictype/category-Z: Likewise.
11059         * modules/unictype/category-Zl: Likewise.
11060         * modules/unictype/category-Zp: Likewise.
11061         * modules/unictype/category-Zs: Likewise.
11062         * modules/unictype/category-and: Likewise.
11063         * modules/unictype/category-and-not: Likewise.
11064         * modules/unictype/category-byname: Likewise.
11065         * modules/unictype/category-name: Likewise.
11066         * modules/unictype/category-none: Likewise.
11067         * modules/unictype/category-of: Likewise.
11068         * modules/unictype/category-or: Likewise.
11069         * modules/unictype/category-test: Likewise.
11070         * modules/unictype/combining-class: Likewise.
11071         * modules/unictype/ctype-alnum: Likewise.
11072         * modules/unictype/ctype-alpha: Likewise.
11073         * modules/unictype/ctype-blank: Likewise.
11074         * modules/unictype/ctype-cntrl: Likewise.
11075         * modules/unictype/ctype-digit: Likewise.
11076         * modules/unictype/ctype-graph: Likewise.
11077         * modules/unictype/ctype-lower: Likewise.
11078         * modules/unictype/ctype-print: Likewise.
11079         * modules/unictype/ctype-punct: Likewise.
11080         * modules/unictype/ctype-space: Likewise.
11081         * modules/unictype/ctype-upper: Likewise.
11082         * modules/unictype/ctype-xdigit: Likewise.
11083         * modules/unictype/decimal-digit: Likewise.
11084         * modules/unictype/digit: Likewise.
11085         * modules/unictype/mirror: Likewise.
11086         * modules/unictype/numeric: Likewise.
11087         * modules/unictype/property-alphabetic: Likewise.
11088         * modules/unictype/property-ascii-hex-digit: Likewise.
11089         * modules/unictype/property-bidi-arabic-digit: Likewise.
11090         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
11091         * modules/unictype/property-bidi-block-separator: Likewise.
11092         * modules/unictype/property-bidi-boundary-neutral: Likewise.
11093         * modules/unictype/property-bidi-common-separator: Likewise.
11094         * modules/unictype/property-bidi-control: Likewise.
11095         * modules/unictype/property-bidi-embedding-or-override: Likewise.
11096         * modules/unictype/property-bidi-eur-num-separator: Likewise.
11097         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
11098         * modules/unictype/property-bidi-european-digit: Likewise.
11099         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
11100         * modules/unictype/property-bidi-left-to-right: Likewise.
11101         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
11102         * modules/unictype/property-bidi-other-neutral: Likewise.
11103         * modules/unictype/property-bidi-pdf: Likewise.
11104         * modules/unictype/property-bidi-segment-separator: Likewise.
11105         * modules/unictype/property-bidi-whitespace: Likewise.
11106         * modules/unictype/property-byname: Likewise.
11107         * modules/unictype/property-combining: Likewise.
11108         * modules/unictype/property-composite: Likewise.
11109         * modules/unictype/property-currency-symbol: Likewise.
11110         * modules/unictype/property-dash: Likewise.
11111         * modules/unictype/property-decimal-digit: Likewise.
11112         * modules/unictype/property-default-ignorable-code-point: Likewise.
11113         * modules/unictype/property-deprecated: Likewise.
11114         * modules/unictype/property-diacritic: Likewise.
11115         * modules/unictype/property-extender: Likewise.
11116         * modules/unictype/property-format-control: Likewise.
11117         * modules/unictype/property-grapheme-base: Likewise.
11118         * modules/unictype/property-grapheme-extend: Likewise.
11119         * modules/unictype/property-grapheme-link: Likewise.
11120         * modules/unictype/property-hex-digit: Likewise.
11121         * modules/unictype/property-hyphen: Likewise.
11122         * modules/unictype/property-id-continue: Likewise.
11123         * modules/unictype/property-id-start: Likewise.
11124         * modules/unictype/property-ideographic: Likewise.
11125         * modules/unictype/property-ids-binary-operator: Likewise.
11126         * modules/unictype/property-ids-trinary-operator: Likewise.
11127         * modules/unictype/property-ignorable-control: Likewise.
11128         * modules/unictype/property-iso-control: Likewise.
11129         * modules/unictype/property-join-control: Likewise.
11130         * modules/unictype/property-left-of-pair: Likewise.
11131         * modules/unictype/property-line-separator: Likewise.
11132         * modules/unictype/property-logical-order-exception: Likewise.
11133         * modules/unictype/property-lowercase: Likewise.
11134         * modules/unictype/property-math: Likewise.
11135         * modules/unictype/property-non-break: Likewise.
11136         * modules/unictype/property-not-a-character: Likewise.
11137         * modules/unictype/property-numeric: Likewise.
11138         * modules/unictype/property-other-alphabetic: Likewise.
11139         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
11140         * modules/unictype/property-other-grapheme-extend: Likewise.
11141         * modules/unictype/property-other-id-continue: Likewise.
11142         * modules/unictype/property-other-id-start: Likewise.
11143         * modules/unictype/property-other-lowercase: Likewise.
11144         * modules/unictype/property-other-math: Likewise.
11145         * modules/unictype/property-other-uppercase: Likewise.
11146         * modules/unictype/property-paired-punctuation: Likewise.
11147         * modules/unictype/property-paragraph-separator: Likewise.
11148         * modules/unictype/property-pattern-syntax: Likewise.
11149         * modules/unictype/property-pattern-white-space: Likewise.
11150         * modules/unictype/property-private-use: Likewise.
11151         * modules/unictype/property-punctuation: Likewise.
11152         * modules/unictype/property-quotation-mark: Likewise.
11153         * modules/unictype/property-radical: Likewise.
11154         * modules/unictype/property-sentence-terminal: Likewise.
11155         * modules/unictype/property-soft-dotted: Likewise.
11156         * modules/unictype/property-space: Likewise.
11157         * modules/unictype/property-terminal-punctuation: Likewise.
11158         * modules/unictype/property-test: Likewise.
11159         * modules/unictype/property-titlecase: Likewise.
11160         * modules/unictype/property-unassigned-code-value: Likewise.
11161         * modules/unictype/property-unified-ideograph: Likewise.
11162         * modules/unictype/property-uppercase: Likewise.
11163         * modules/unictype/property-variation-selector: Likewise.
11164         * modules/unictype/property-white-space: Likewise.
11165         * modules/unictype/property-xid-continue: Likewise.
11166         * modules/unictype/property-xid-start: Likewise.
11167         * modules/unictype/property-zero-width: Likewise.
11168         * modules/unictype/scripts: Likewise.
11169         * modules/unictype/syntax-c-ident: Likewise.
11170         * modules/unictype/syntax-c-whitespace: Likewise.
11171         * modules/unictype/syntax-java-ident: Likewise.
11172         * modules/unictype/syntax-java-whitespace: Likewise.
11173         * modules/unilbrk/u8-possible-linebreaks: Likewise.
11174         * modules/unilbrk/u8-width-linebreaks: Likewise.
11175         * modules/unilbrk/u16-possible-linebreaks: Likewise.
11176         * modules/unilbrk/u16-width-linebreaks: Likewise.
11177         * modules/unilbrk/u32-possible-linebreaks: Likewise.
11178         * modules/unilbrk/u32-width-linebreaks: Likewise.
11179         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
11180         * modules/unilbrk/ulc-width-linebreaks: Likewise.
11181         * modules/uniname/uniname: Likewise.
11182         * modules/uninorm/canonical-decomposition: Likewise.
11183         * modules/uninorm/composition: Likewise.
11184         * modules/uninorm/decomposing-form: Likewise.
11185         * modules/uninorm/decomposition: Likewise.
11186         * modules/uninorm/filter: Likewise.
11187         * modules/uninorm/nfc: Likewise.
11188         * modules/uninorm/nfd: Likewise.
11189         * modules/uninorm/nfkc: Likewise.
11190         * modules/uninorm/nfkd: Likewise.
11191         * modules/uninorm/u8-normalize: Likewise.
11192         * modules/uninorm/u8-normcmp: Likewise.
11193         * modules/uninorm/u8-normcoll: Likewise.
11194         * modules/uninorm/u8-normxfrm: Likewise.
11195         * modules/uninorm/u16-normalize: Likewise.
11196         * modules/uninorm/u16-normcmp: Likewise.
11197         * modules/uninorm/u16-normcoll: Likewise.
11198         * modules/uninorm/u16-normxfrm: Likewise.
11199         * modules/uninorm/u32-normalize: Likewise.
11200         * modules/uninorm/u32-normcmp: Likewise.
11201         * modules/uninorm/u32-normcoll: Likewise.
11202         * modules/uninorm/u32-normxfrm: Likewise.
11203         * modules/unistdio/u8-asnprintf: Likewise.
11204         * modules/unistdio/u8-asprintf: Likewise.
11205         * modules/unistdio/u8-snprintf: Likewise.
11206         * modules/unistdio/u8-sprintf: Likewise.
11207         * modules/unistdio/u8-u8-asnprintf: Likewise.
11208         * modules/unistdio/u8-u8-asprintf: Likewise.
11209         * modules/unistdio/u8-u8-snprintf: Likewise.
11210         * modules/unistdio/u8-u8-sprintf: Likewise.
11211         * modules/unistdio/u8-u8-vasnprintf: Likewise.
11212         * modules/unistdio/u8-u8-vasprintf: Likewise.
11213         * modules/unistdio/u8-u8-vsnprintf: Likewise.
11214         * modules/unistdio/u8-u8-vsprintf: Likewise.
11215         * modules/unistdio/u8-vasnprintf: Likewise.
11216         * modules/unistdio/u8-vasprintf: Likewise.
11217         * modules/unistdio/u8-vsnprintf: Likewise.
11218         * modules/unistdio/u8-vsprintf: Likewise.
11219         * modules/unistdio/u16-asnprintf: Likewise.
11220         * modules/unistdio/u16-asprintf: Likewise.
11221         * modules/unistdio/u16-snprintf: Likewise.
11222         * modules/unistdio/u16-sprintf: Likewise.
11223         * modules/unistdio/u16-u16-asnprintf: Likewise.
11224         * modules/unistdio/u16-u16-asprintf: Likewise.
11225         * modules/unistdio/u16-u16-snprintf: Likewise.
11226         * modules/unistdio/u16-u16-sprintf: Likewise.
11227         * modules/unistdio/u16-u16-vasnprintf: Likewise.
11228         * modules/unistdio/u16-u16-vasprintf: Likewise.
11229         * modules/unistdio/u16-u16-vsnprintf: Likewise.
11230         * modules/unistdio/u16-u16-vsprintf: Likewise.
11231         * modules/unistdio/u16-vasnprintf: Likewise.
11232         * modules/unistdio/u16-vasprintf: Likewise.
11233         * modules/unistdio/u16-vsnprintf: Likewise.
11234         * modules/unistdio/u16-vsprintf: Likewise.
11235         * modules/unistdio/u32-asnprintf: Likewise.
11236         * modules/unistdio/u32-asprintf: Likewise.
11237         * modules/unistdio/u32-snprintf: Likewise.
11238         * modules/unistdio/u32-sprintf: Likewise.
11239         * modules/unistdio/u32-u32-asnprintf: Likewise.
11240         * modules/unistdio/u32-u32-asprintf: Likewise.
11241         * modules/unistdio/u32-u32-snprintf: Likewise.
11242         * modules/unistdio/u32-u32-sprintf: Likewise.
11243         * modules/unistdio/u32-u32-vasnprintf: Likewise.
11244         * modules/unistdio/u32-u32-vasprintf: Likewise.
11245         * modules/unistdio/u32-u32-vsnprintf: Likewise.
11246         * modules/unistdio/u32-u32-vsprintf: Likewise.
11247         * modules/unistdio/u32-vasnprintf: Likewise.
11248         * modules/unistdio/u32-vasprintf: Likewise.
11249         * modules/unistdio/u32-vsnprintf: Likewise.
11250         * modules/unistdio/u32-vsprintf: Likewise.
11251         * modules/unistdio/ulc-asnprintf: Likewise.
11252         * modules/unistdio/ulc-asprintf: Likewise.
11253         * modules/unistdio/ulc-fprintf: Likewise.
11254         * modules/unistdio/ulc-snprintf: Likewise.
11255         * modules/unistdio/ulc-sprintf: Likewise.
11256         * modules/unistdio/ulc-vasnprintf: Likewise.
11257         * modules/unistdio/ulc-vasprintf: Likewise.
11258         * modules/unistdio/ulc-vfprintf: Likewise.
11259         * modules/unistdio/ulc-vsnprintf: Likewise.
11260         * modules/unistdio/ulc-vsprintf: Likewise.
11261         * modules/unistr/u8-check: Likewise.
11262         * modules/unistr/u8-chr: Likewise.
11263         * modules/unistr/u8-cmp: Likewise.
11264         * modules/unistr/u8-cmp2: Likewise.
11265         * modules/unistr/u8-cpy: Likewise.
11266         * modules/unistr/u8-cpy-alloc: Likewise.
11267         * modules/unistr/u8-endswith: Likewise.
11268         * modules/unistr/u8-mblen: Likewise.
11269         * modules/unistr/u8-mbsnlen: Likewise.
11270         * modules/unistr/u8-mbtouc: Likewise.
11271         * modules/unistr/u8-mbtouc-unsafe: Likewise.
11272         * modules/unistr/u8-mbtoucr: Likewise.
11273         * modules/unistr/u8-move: Likewise.
11274         * modules/unistr/u8-next: Likewise.
11275         * modules/unistr/u8-prev: Likewise.
11276         * modules/unistr/u8-set: Likewise.
11277         * modules/unistr/u8-startswith: Likewise.
11278         * modules/unistr/u8-stpcpy: Likewise.
11279         * modules/unistr/u8-stpncpy: Likewise.
11280         * modules/unistr/u8-strcat: Likewise.
11281         * modules/unistr/u8-strchr: Likewise.
11282         * modules/unistr/u8-strcmp: Likewise.
11283         * modules/unistr/u8-strcoll: Likewise.
11284         * modules/unistr/u8-strcpy: Likewise.
11285         * modules/unistr/u8-strcspn: Likewise.
11286         * modules/unistr/u8-strdup: Likewise.
11287         * modules/unistr/u8-strlen: Likewise.
11288         * modules/unistr/u8-strmblen: Likewise.
11289         * modules/unistr/u8-strmbtouc: Likewise.
11290         * modules/unistr/u8-strncat: Likewise.
11291         * modules/unistr/u8-strncmp: Likewise.
11292         * modules/unistr/u8-strncpy: Likewise.
11293         * modules/unistr/u8-strnlen: Likewise.
11294         * modules/unistr/u8-strpbrk: Likewise.
11295         * modules/unistr/u8-strrchr: Likewise.
11296         * modules/unistr/u8-strspn: Likewise.
11297         * modules/unistr/u8-strstr: Likewise.
11298         * modules/unistr/u8-strtok: Likewise.
11299         * modules/unistr/u8-to-u16: Likewise.
11300         * modules/unistr/u8-to-u32: Likewise.
11301         * modules/unistr/u8-uctomb: Likewise.
11302         * modules/unistr/u16-check: Likewise.
11303         * modules/unistr/u16-chr: Likewise.
11304         * modules/unistr/u16-cmp: Likewise.
11305         * modules/unistr/u16-cmp2: Likewise.
11306         * modules/unistr/u16-cpy: Likewise.
11307         * modules/unistr/u16-cpy-alloc: Likewise.
11308         * modules/unistr/u16-endswith: Likewise.
11309         * modules/unistr/u16-mblen: Likewise.
11310         * modules/unistr/u16-mbsnlen: Likewise.
11311         * modules/unistr/u16-mbtouc: Likewise.
11312         * modules/unistr/u16-mbtouc-unsafe: Likewise.
11313         * modules/unistr/u16-mbtoucr: Likewise.
11314         * modules/unistr/u16-move: Likewise.
11315         * modules/unistr/u16-next: Likewise.
11316         * modules/unistr/u16-prev: Likewise.
11317         * modules/unistr/u16-set: Likewise.
11318         * modules/unistr/u16-startswith: Likewise.
11319         * modules/unistr/u16-stpcpy: Likewise.
11320         * modules/unistr/u16-stpncpy: Likewise.
11321         * modules/unistr/u16-strcat: Likewise.
11322         * modules/unistr/u16-strchr: Likewise.
11323         * modules/unistr/u16-strcmp: Likewise.
11324         * modules/unistr/u16-strcoll: Likewise.
11325         * modules/unistr/u16-strcpy: Likewise.
11326         * modules/unistr/u16-strcspn: Likewise.
11327         * modules/unistr/u16-strdup: Likewise.
11328         * modules/unistr/u16-strlen: Likewise.
11329         * modules/unistr/u16-strmblen: Likewise.
11330         * modules/unistr/u16-strmbtouc: Likewise.
11331         * modules/unistr/u16-strncat: Likewise.
11332         * modules/unistr/u16-strncmp: Likewise.
11333         * modules/unistr/u16-strncpy: Likewise.
11334         * modules/unistr/u16-strnlen: Likewise.
11335         * modules/unistr/u16-strpbrk: Likewise.
11336         * modules/unistr/u16-strrchr: Likewise.
11337         * modules/unistr/u16-strspn: Likewise.
11338         * modules/unistr/u16-strstr: Likewise.
11339         * modules/unistr/u16-strtok: Likewise.
11340         * modules/unistr/u16-to-u32: Likewise.
11341         * modules/unistr/u16-to-u8: Likewise.
11342         * modules/unistr/u16-uctomb: Likewise.
11343         * modules/unistr/u32-check: Likewise.
11344         * modules/unistr/u32-chr: Likewise.
11345         * modules/unistr/u32-cmp: Likewise.
11346         * modules/unistr/u32-cmp2: Likewise.
11347         * modules/unistr/u32-cpy: Likewise.
11348         * modules/unistr/u32-cpy-alloc: Likewise.
11349         * modules/unistr/u32-endswith: Likewise.
11350         * modules/unistr/u32-mblen: Likewise.
11351         * modules/unistr/u32-mbsnlen: Likewise.
11352         * modules/unistr/u32-mbtouc: Likewise.
11353         * modules/unistr/u32-mbtouc-unsafe: Likewise.
11354         * modules/unistr/u32-mbtoucr: Likewise.
11355         * modules/unistr/u32-move: Likewise.
11356         * modules/unistr/u32-next: Likewise.
11357         * modules/unistr/u32-prev: Likewise.
11358         * modules/unistr/u32-set: Likewise.
11359         * modules/unistr/u32-startswith: Likewise.
11360         * modules/unistr/u32-stpcpy: Likewise.
11361         * modules/unistr/u32-stpncpy: Likewise.
11362         * modules/unistr/u32-strcat: Likewise.
11363         * modules/unistr/u32-strchr: Likewise.
11364         * modules/unistr/u32-strcmp: Likewise.
11365         * modules/unistr/u32-strcoll: Likewise.
11366         * modules/unistr/u32-strcpy: Likewise.
11367         * modules/unistr/u32-strcspn: Likewise.
11368         * modules/unistr/u32-strdup: Likewise.
11369         * modules/unistr/u32-strlen: Likewise.
11370         * modules/unistr/u32-strmblen: Likewise.
11371         * modules/unistr/u32-strmbtouc: Likewise.
11372         * modules/unistr/u32-strncat: Likewise.
11373         * modules/unistr/u32-strncmp: Likewise.
11374         * modules/unistr/u32-strncpy: Likewise.
11375         * modules/unistr/u32-strnlen: Likewise.
11376         * modules/unistr/u32-strpbrk: Likewise.
11377         * modules/unistr/u32-strrchr: Likewise.
11378         * modules/unistr/u32-strspn: Likewise.
11379         * modules/unistr/u32-strstr: Likewise.
11380         * modules/unistr/u32-strtok: Likewise.
11381         * modules/unistr/u32-to-u16: Likewise.
11382         * modules/unistr/u32-to-u8: Likewise.
11383         * modules/unistr/u32-uctomb: Likewise.
11384         * modules/uniwbrk/u8-wordbreaks: Likewise.
11385         * modules/uniwbrk/u16-wordbreaks: Likewise.
11386         * modules/uniwbrk/u32-wordbreaks: Likewise.
11387         * modules/uniwbrk/ulc-wordbreaks: Likewise.
11388         * modules/uniwbrk/wordbreak-property: Likewise.
11389         * modules/uniwidth/u8-strwidth: Likewise.
11390         * modules/uniwidth/u8-width: Likewise.
11391         * modules/uniwidth/u16-strwidth: Likewise.
11392         * modules/uniwidth/u16-width: Likewise.
11393         * modules/uniwidth/u32-strwidth: Likewise.
11394         * modules/uniwidth/u32-width: Likewise.
11395         * modules/uniwidth/width: Likewise.
11396         * modules/unicase/cased-tests (Makefile.am): Link all test programs
11397         with $(LIBUNISTRING).
11398         * modules/unicase/ignorable-tests: Likewise.
11399         * modules/unicase/locale-language-tests: Likewise.
11400         * modules/unicase/tolower-tests: Likewise.
11401         * modules/unicase/totitle-tests: Likewise.
11402         * modules/unicase/toupper-tests: Likewise.
11403         * modules/unicase/u8-casecmp-tests: Likewise.
11404         * modules/unicase/u8-casecoll-tests: Likewise.
11405         * modules/unicase/u8-casefold-tests: Likewise.
11406         * modules/unicase/u8-is-cased-tests: Likewise.
11407         * modules/unicase/u8-is-casefolded-tests: Likewise.
11408         * modules/unicase/u8-is-lowercase-tests: Likewise.
11409         * modules/unicase/u8-is-titlecase-tests: Likewise.
11410         * modules/unicase/u8-is-uppercase-tests: Likewise.
11411         * modules/unicase/u8-tolower-tests: Likewise.
11412         * modules/unicase/u8-totitle-tests: Likewise.
11413         * modules/unicase/u8-toupper-tests: Likewise.
11414         * modules/unicase/u16-casecmp-tests: Likewise.
11415         * modules/unicase/u16-casecoll-tests: Likewise.
11416         * modules/unicase/u16-casefold-tests: Likewise.
11417         * modules/unicase/u16-is-cased-tests: Likewise.
11418         * modules/unicase/u16-is-casefolded-tests: Likewise.
11419         * modules/unicase/u16-is-lowercase-tests: Likewise.
11420         * modules/unicase/u16-is-titlecase-tests: Likewise.
11421         * modules/unicase/u16-is-uppercase-tests: Likewise.
11422         * modules/unicase/u16-tolower-tests: Likewise.
11423         * modules/unicase/u16-totitle-tests: Likewise.
11424         * modules/unicase/u16-toupper-tests: Likewise.
11425         * modules/unicase/u32-casecmp-tests: Likewise.
11426         * modules/unicase/u32-casecoll-tests: Likewise.
11427         * modules/unicase/u32-casefold-tests: Likewise.
11428         * modules/unicase/u32-is-cased-tests: Likewise.
11429         * modules/unicase/u32-is-casefolded-tests: Likewise.
11430         * modules/unicase/u32-is-lowercase-tests: Likewise.
11431         * modules/unicase/u32-is-titlecase-tests: Likewise.
11432         * modules/unicase/u32-is-uppercase-tests: Likewise.
11433         * modules/unicase/u32-tolower-tests: Likewise.
11434         * modules/unicase/u32-totitle-tests: Likewise.
11435         * modules/unicase/u32-toupper-tests: Likewise.
11436         * modules/unicase/ulc-casecmp-tests: Likewise.
11437         * modules/unicase/ulc-casecoll-tests: Likewise.
11438         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
11439         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
11440         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
11441         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
11442         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
11443         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
11444         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
11445         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
11446         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
11447         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
11448         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
11449         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
11450         * modules/unictype/bidicategory-byname-tests: Likewise.
11451         * modules/unictype/bidicategory-name-tests: Likewise.
11452         * modules/unictype/bidicategory-of-tests: Likewise.
11453         * modules/unictype/bidicategory-test-tests: Likewise.
11454         * modules/unictype/block-list-tests: Likewise.
11455         * modules/unictype/block-of-tests: Likewise.
11456         * modules/unictype/block-test-tests: Likewise.
11457         * modules/unictype/category-C-tests: Likewise.
11458         * modules/unictype/category-Cc-tests: Likewise.
11459         * modules/unictype/category-Cf-tests: Likewise.
11460         * modules/unictype/category-Cn-tests: Likewise.
11461         * modules/unictype/category-Co-tests: Likewise.
11462         * modules/unictype/category-Cs-tests: Likewise.
11463         * modules/unictype/category-L-tests: Likewise.
11464         * modules/unictype/category-Ll-tests: Likewise.
11465         * modules/unictype/category-Lm-tests: Likewise.
11466         * modules/unictype/category-Lo-tests: Likewise.
11467         * modules/unictype/category-Lt-tests: Likewise.
11468         * modules/unictype/category-Lu-tests: Likewise.
11469         * modules/unictype/category-M-tests: Likewise.
11470         * modules/unictype/category-Mc-tests: Likewise.
11471         * modules/unictype/category-Me-tests: Likewise.
11472         * modules/unictype/category-Mn-tests: Likewise.
11473         * modules/unictype/category-N-tests: Likewise.
11474         * modules/unictype/category-Nd-tests: Likewise.
11475         * modules/unictype/category-Nl-tests: Likewise.
11476         * modules/unictype/category-No-tests: Likewise.
11477         * modules/unictype/category-P-tests: Likewise.
11478         * modules/unictype/category-Pc-tests: Likewise.
11479         * modules/unictype/category-Pd-tests: Likewise.
11480         * modules/unictype/category-Pe-tests: Likewise.
11481         * modules/unictype/category-Pf-tests: Likewise.
11482         * modules/unictype/category-Pi-tests: Likewise.
11483         * modules/unictype/category-Po-tests: Likewise.
11484         * modules/unictype/category-Ps-tests: Likewise.
11485         * modules/unictype/category-S-tests: Likewise.
11486         * modules/unictype/category-Sc-tests: Likewise.
11487         * modules/unictype/category-Sk-tests: Likewise.
11488         * modules/unictype/category-Sm-tests: Likewise.
11489         * modules/unictype/category-So-tests: Likewise.
11490         * modules/unictype/category-Z-tests: Likewise.
11491         * modules/unictype/category-Zl-tests: Likewise.
11492         * modules/unictype/category-Zp-tests: Likewise.
11493         * modules/unictype/category-Zs-tests: Likewise.
11494         * modules/unictype/category-and-not-tests: Likewise.
11495         * modules/unictype/category-and-tests: Likewise.
11496         * modules/unictype/category-byname-tests: Likewise.
11497         * modules/unictype/category-name-tests: Likewise.
11498         * modules/unictype/category-none-tests: Likewise.
11499         * modules/unictype/category-of-tests: Likewise.
11500         * modules/unictype/category-or-tests: Likewise.
11501         * modules/unictype/category-test-withtable-tests: Likewise.
11502         * modules/unictype/combining-class-tests: Likewise.
11503         * modules/unictype/ctype-alnum-tests: Likewise.
11504         * modules/unictype/ctype-alpha-tests: Likewise.
11505         * modules/unictype/ctype-blank-tests: Likewise.
11506         * modules/unictype/ctype-cntrl-tests: Likewise.
11507         * modules/unictype/ctype-digit-tests: Likewise.
11508         * modules/unictype/ctype-graph-tests: Likewise.
11509         * modules/unictype/ctype-lower-tests: Likewise.
11510         * modules/unictype/ctype-print-tests: Likewise.
11511         * modules/unictype/ctype-punct-tests: Likewise.
11512         * modules/unictype/ctype-space-tests: Likewise.
11513         * modules/unictype/ctype-upper-tests: Likewise.
11514         * modules/unictype/ctype-xdigit-tests: Likewise.
11515         * modules/unictype/decimal-digit-tests: Likewise.
11516         * modules/unictype/digit-tests: Likewise.
11517         * modules/unictype/mirror-tests: Likewise.
11518         * modules/unictype/numeric-tests: Likewise.
11519         * modules/unictype/property-alphabetic-tests: Likewise.
11520         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
11521         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
11522         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
11523         * modules/unictype/property-bidi-block-separator-tests: Likewise.
11524         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
11525         * modules/unictype/property-bidi-common-separator-tests: Likewise.
11526         * modules/unictype/property-bidi-control-tests: Likewise.
11527         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
11528         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
11529         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
11530         * modules/unictype/property-bidi-european-digit-tests: Likewise.
11531         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
11532         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
11533         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
11534         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
11535         * modules/unictype/property-bidi-pdf-tests: Likewise.
11536         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
11537         * modules/unictype/property-bidi-whitespace-tests: Likewise.
11538         * modules/unictype/property-byname-tests: Likewise.
11539         * modules/unictype/property-combining-tests: Likewise.
11540         * modules/unictype/property-composite-tests: Likewise.
11541         * modules/unictype/property-currency-symbol-tests: Likewise.
11542         * modules/unictype/property-dash-tests: Likewise.
11543         * modules/unictype/property-decimal-digit-tests: Likewise.
11544         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
11545         * modules/unictype/property-deprecated-tests: Likewise.
11546         * modules/unictype/property-diacritic-tests: Likewise.
11547         * modules/unictype/property-extender-tests: Likewise.
11548         * modules/unictype/property-format-control-tests: Likewise.
11549         * modules/unictype/property-grapheme-base-tests: Likewise.
11550         * modules/unictype/property-grapheme-extend-tests: Likewise.
11551         * modules/unictype/property-grapheme-link-tests: Likewise.
11552         * modules/unictype/property-hex-digit-tests: Likewise.
11553         * modules/unictype/property-hyphen-tests: Likewise.
11554         * modules/unictype/property-id-continue-tests: Likewise.
11555         * modules/unictype/property-id-start-tests: Likewise.
11556         * modules/unictype/property-ideographic-tests: Likewise.
11557         * modules/unictype/property-ids-binary-operator-tests: Likewise.
11558         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
11559         * modules/unictype/property-ignorable-control-tests: Likewise.
11560         * modules/unictype/property-iso-control-tests: Likewise.
11561         * modules/unictype/property-join-control-tests: Likewise.
11562         * modules/unictype/property-left-of-pair-tests: Likewise.
11563         * modules/unictype/property-line-separator-tests: Likewise.
11564         * modules/unictype/property-logical-order-exception-tests: Likewise.
11565         * modules/unictype/property-lowercase-tests: Likewise.
11566         * modules/unictype/property-math-tests: Likewise.
11567         * modules/unictype/property-non-break-tests: Likewise.
11568         * modules/unictype/property-not-a-character-tests: Likewise.
11569         * modules/unictype/property-numeric-tests: Likewise.
11570         * modules/unictype/property-other-alphabetic-tests: Likewise.
11571         * modules/unictype/property-other-default-ignorable-code-point-tests:
11572         Likewise.
11573         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
11574         * modules/unictype/property-other-id-continue-tests: Likewise.
11575         * modules/unictype/property-other-id-start-tests: Likewise.
11576         * modules/unictype/property-other-lowercase-tests: Likewise.
11577         * modules/unictype/property-other-math-tests: Likewise.
11578         * modules/unictype/property-other-uppercase-tests: Likewise.
11579         * modules/unictype/property-paired-punctuation-tests: Likewise.
11580         * modules/unictype/property-paragraph-separator-tests: Likewise.
11581         * modules/unictype/property-pattern-syntax-tests: Likewise.
11582         * modules/unictype/property-pattern-white-space-tests: Likewise.
11583         * modules/unictype/property-private-use-tests: Likewise.
11584         * modules/unictype/property-punctuation-tests: Likewise.
11585         * modules/unictype/property-quotation-mark-tests: Likewise.
11586         * modules/unictype/property-radical-tests: Likewise.
11587         * modules/unictype/property-sentence-terminal-tests: Likewise.
11588         * modules/unictype/property-soft-dotted-tests: Likewise.
11589         * modules/unictype/property-space-tests: Likewise.
11590         * modules/unictype/property-terminal-punctuation-tests: Likewise.
11591         * modules/unictype/property-test-tests: Likewise.
11592         * modules/unictype/property-titlecase-tests: Likewise.
11593         * modules/unictype/property-unassigned-code-value-tests: Likewise.
11594         * modules/unictype/property-unified-ideograph-tests: Likewise.
11595         * modules/unictype/property-uppercase-tests: Likewise.
11596         * modules/unictype/property-variation-selector-tests: Likewise.
11597         * modules/unictype/property-white-space-tests: Likewise.
11598         * modules/unictype/property-xid-continue-tests: Likewise.
11599         * modules/unictype/property-xid-start-tests: Likewise.
11600         * modules/unictype/property-zero-width-tests: Likewise.
11601         * modules/unictype/scripts-tests: Likewise.
11602         * modules/unictype/syntax-c-ident-tests: Likewise.
11603         * modules/unictype/syntax-c-whitespace-tests: Likewise.
11604         * modules/unictype/syntax-java-ident-tests: Likewise.
11605         * modules/unictype/syntax-java-whitespace-tests: Likewise.
11606         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
11607         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
11608         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
11609         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
11610         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
11611         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
11612         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
11613         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
11614         * modules/uniname/uniname-tests: Likewise.
11615         * modules/uninorm/canonical-decomposition-tests: Likewise.
11616         * modules/uninorm/compat-decomposition-tests: Likewise.
11617         * modules/uninorm/composition-tests: Likewise.
11618         * modules/uninorm/decomposing-form-tests: Likewise.
11619         * modules/uninorm/decomposition-tests: Likewise.
11620         * modules/uninorm/filter-tests: Likewise.
11621         * modules/uninorm/nfc-tests: Likewise.
11622         * modules/uninorm/nfd-tests: Likewise.
11623         * modules/uninorm/nfkc-tests: Likewise.
11624         * modules/uninorm/nfkd-tests: Likewise.
11625         * modules/uninorm/u8-normcmp-tests: Likewise.
11626         * modules/uninorm/u8-normcoll-tests: Likewise.
11627         * modules/uninorm/u16-normcmp-tests: Likewise.
11628         * modules/uninorm/u16-normcoll-tests: Likewise.
11629         * modules/uninorm/u32-normcmp-tests: Likewise.
11630         * modules/uninorm/u32-normcoll-tests: Likewise.
11631         * modules/unistdio/u8-asnprintf-tests: Likewise.
11632         * modules/unistdio/u8-vasnprintf-tests: Likewise.
11633         * modules/unistdio/u8-vasprintf-tests: Likewise.
11634         * modules/unistdio/u8-vsnprintf-tests: Likewise.
11635         * modules/unistdio/u8-vsprintf-tests: Likewise.
11636         * modules/unistdio/u16-asnprintf-tests: Likewise.
11637         * modules/unistdio/u16-vasnprintf-tests: Likewise.
11638         * modules/unistdio/u16-vasprintf-tests: Likewise.
11639         * modules/unistdio/u16-vsnprintf-tests: Likewise.
11640         * modules/unistdio/u16-vsprintf-tests: Likewise.
11641         * modules/unistdio/u32-asnprintf-tests: Likewise.
11642         * modules/unistdio/u32-vasnprintf-tests: Likewise.
11643         * modules/unistdio/u32-vasprintf-tests: Likewise.
11644         * modules/unistdio/u32-vsnprintf-tests: Likewise.
11645         * modules/unistdio/u32-vsprintf-tests: Likewise.
11646         * modules/unistdio/ulc-asnprintf-tests: Likewise.
11647         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
11648         * modules/unistdio/ulc-vasprintf-tests: Likewise.
11649         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
11650         * modules/unistdio/ulc-vsprintf-tests: Likewise.
11651         * modules/unistr/u8-check-tests: Likewise.
11652         * modules/unistr/u8-chr-tests: Likewise.
11653         * modules/unistr/u8-cmp-tests: Likewise.
11654         * modules/unistr/u8-cmp2-tests: Likewise.
11655         * modules/unistr/u8-cpy-alloc-tests: Likewise.
11656         * modules/unistr/u8-cpy-tests: Likewise.
11657         * modules/unistr/u8-mblen-tests: Likewise.
11658         * modules/unistr/u8-mbsnlen-tests: Likewise.
11659         * modules/unistr/u8-mbtouc-tests: Likewise.
11660         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
11661         * modules/unistr/u8-mbtoucr-tests: Likewise.
11662         * modules/unistr/u8-move-tests: Likewise.
11663         * modules/unistr/u8-next-tests: Likewise.
11664         * modules/unistr/u8-prev-tests: Likewise.
11665         * modules/unistr/u8-set-tests: Likewise.
11666         * modules/unistr/u8-stpcpy-tests: Likewise.
11667         * modules/unistr/u8-stpncpy-tests: Likewise.
11668         * modules/unistr/u8-strcat-tests: Likewise.
11669         * modules/unistr/u8-strcmp-tests: Likewise.
11670         * modules/unistr/u8-strcoll-tests: Likewise.
11671         * modules/unistr/u8-strcpy-tests: Likewise.
11672         * modules/unistr/u8-strdup-tests: Likewise.
11673         * modules/unistr/u8-strlen-tests: Likewise.
11674         * modules/unistr/u8-strmblen-tests: Likewise.
11675         * modules/unistr/u8-strmbtouc-tests: Likewise.
11676         * modules/unistr/u8-strncat-tests: Likewise.
11677         * modules/unistr/u8-strncmp-tests: Likewise.
11678         * modules/unistr/u8-strncpy-tests: Likewise.
11679         * modules/unistr/u8-strnlen-tests: Likewise.
11680         * modules/unistr/u8-to-u16-tests: Likewise.
11681         * modules/unistr/u8-to-u32-tests: Likewise.
11682         * modules/unistr/u8-uctomb-tests: Likewise.
11683         * modules/unistr/u16-check-tests: Likewise.
11684         * modules/unistr/u16-chr-tests: Likewise.
11685         * modules/unistr/u16-cmp-tests: Likewise.
11686         * modules/unistr/u16-cmp2-tests: Likewise.
11687         * modules/unistr/u16-cpy-alloc-tests: Likewise.
11688         * modules/unistr/u16-cpy-tests: Likewise.
11689         * modules/unistr/u16-mblen-tests: Likewise.
11690         * modules/unistr/u16-mbsnlen-tests: Likewise.
11691         * modules/unistr/u16-mbtouc-tests: Likewise.
11692         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11693         * modules/unistr/u16-mbtoucr-tests: Likewise.
11694         * modules/unistr/u16-move-tests: Likewise.
11695         * modules/unistr/u16-next-tests: Likewise.
11696         * modules/unistr/u16-prev-tests: Likewise.
11697         * modules/unistr/u16-set-tests: Likewise.
11698         * modules/unistr/u16-stpcpy-tests: Likewise.
11699         * modules/unistr/u16-stpncpy-tests: Likewise.
11700         * modules/unistr/u16-strcat-tests: Likewise.
11701         * modules/unistr/u16-strcmp-tests: Likewise.
11702         * modules/unistr/u16-strcoll-tests: Likewise.
11703         * modules/unistr/u16-strcpy-tests: Likewise.
11704         * modules/unistr/u16-strdup-tests: Likewise.
11705         * modules/unistr/u16-strlen-tests: Likewise.
11706         * modules/unistr/u16-strmblen-tests: Likewise.
11707         * modules/unistr/u16-strmbtouc-tests: Likewise.
11708         * modules/unistr/u16-strncat-tests: Likewise.
11709         * modules/unistr/u16-strncmp-tests: Likewise.
11710         * modules/unistr/u16-strncpy-tests: Likewise.
11711         * modules/unistr/u16-strnlen-tests: Likewise.
11712         * modules/unistr/u16-to-u32-tests: Likewise.
11713         * modules/unistr/u16-to-u8-tests: Likewise.
11714         * modules/unistr/u16-uctomb-tests: Likewise.
11715         * modules/unistr/u32-check-tests: Likewise.
11716         * modules/unistr/u32-chr-tests: Likewise.
11717         * modules/unistr/u32-cmp-tests: Likewise.
11718         * modules/unistr/u32-cmp2-tests: Likewise.
11719         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11720         * modules/unistr/u32-cpy-tests: Likewise.
11721         * modules/unistr/u32-mblen-tests: Likewise.
11722         * modules/unistr/u32-mbsnlen-tests: Likewise.
11723         * modules/unistr/u32-mbtouc-tests: Likewise.
11724         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11725         * modules/unistr/u32-mbtoucr-tests: Likewise.
11726         * modules/unistr/u32-move-tests: Likewise.
11727         * modules/unistr/u32-next-tests: Likewise.
11728         * modules/unistr/u32-prev-tests: Likewise.
11729         * modules/unistr/u32-set-tests: Likewise.
11730         * modules/unistr/u32-stpcpy-tests: Likewise.
11731         * modules/unistr/u32-stpncpy-tests: Likewise.
11732         * modules/unistr/u32-strcat-tests: Likewise.
11733         * modules/unistr/u32-strcmp-tests: Likewise.
11734         * modules/unistr/u32-strcoll-tests: Likewise.
11735         * modules/unistr/u32-strcpy-tests: Likewise.
11736         * modules/unistr/u32-strdup-tests: Likewise.
11737         * modules/unistr/u32-strlen-tests: Likewise.
11738         * modules/unistr/u32-strmblen-tests: Likewise.
11739         * modules/unistr/u32-strmbtouc-tests: Likewise.
11740         * modules/unistr/u32-strncat-tests: Likewise.
11741         * modules/unistr/u32-strncmp-tests: Likewise.
11742         * modules/unistr/u32-strncpy-tests: Likewise.
11743         * modules/unistr/u32-strnlen-tests: Likewise.
11744         * modules/unistr/u32-to-u16-tests: Likewise.
11745         * modules/unistr/u32-to-u8-tests: Likewise.
11746         * modules/unistr/u32-uctomb-tests: Likewise.
11747         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11748         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11749         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11750         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11751         * modules/uniwidth/u8-strwidth-tests: Likewise.
11752         * modules/uniwidth/u8-width-tests: Likewise.
11753         * modules/uniwidth/u16-strwidth-tests: Likewise.
11754         * modules/uniwidth/u16-width-tests: Likewise.
11755         * modules/uniwidth/u32-strwidth-tests: Likewise.
11756         * modules/uniwidth/u32-width-tests: Likewise.
11757         * modules/uniwidth/width-tests: Likewise.
11758
11759 2010-05-18  Richard Jones  <rjones@redhat.com>
11760
11761         doc: users.txt: list hivex
11762         * users.txt: Add hivex.
11763
11764 2010-05-18  Richard Jones  <rjones@redhat.com>
11765
11766         doc: users.txt: list febootstrap
11767         * users.txt: Add febootstrap.
11768
11769 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11770
11771         bootstrap: fix an error when gnulib is not used as a git submodule
11772         * build-aux/bootstrap (gnulib_path): If its length is zero then
11773         assign "gnulib" to it.
11774         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11775
11776 2010-05-16  Bruno Haible  <bruno@clisp.org>
11777
11778         Avoid autoconf warnings about AM_ICONV.
11779         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11780         2.64.
11781
11782 2010-05-16  Bruno Haible  <bruno@clisp.org>
11783
11784         absolute-header: Make the macro usable in more situations.
11785         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11786         from gl_ABSOLUTE_HEADER.
11787         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11788
11789 2010-05-16  James Youngman  <jay@gnu.org>
11790
11791         doc: update users.txt
11792         * users.txt: Add CSSC.
11793
11794 2010-05-16  Jim Meyering  <meyering@redhat.com>
11795
11796         init.sh: fix an error in the previous change; add more comments
11797         * tests/init.sh: Compare exit code in loop against 9, not 2.
11798         Patch by Bruno Haible.
11799         Make the two tests more similar by adding an empty "then" clause.
11800         Add comments.
11801
11802         init.sh: avoid unnecessary shell re-exec
11803         * tests/init.sh: Improve the re-exec-required check to first test the
11804         current shell.  If it passes the test, do not search for a shell that
11805         does pass, and do not re-exec.  This test is particularly contorted to
11806         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11807         of $(...) evokes a syntax error and causes immediate shell exit with
11808         status 2.  Bruno Haible reported that the re-exec made it impossible
11809         to single-step through any init.sh-using script.
11810
11811 2010-05-16  Bruno Haible  <bruno@clisp.org>
11812
11813         Fix collision between gnulib's and libintl's printf replacements.
11814         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11815         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11816         (printf): When using GNU C, map the __printf__ function to rpl_printf
11817         via __asm__. When not using GNU C, define rpl_printf instead of
11818         __printf__.
11819         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11820         commit.
11821         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11822         commit.
11823         * m4/asm-underscore.m4: New file.
11824         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11825         * modules/stdio (Files): Add m4/asm-underscore.m4.
11826         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11827         Reported by Ben Pfaff.
11828
11829 2010-05-16  Bruno Haible  <bruno@clisp.org>
11830
11831         verify: Avoid skipping the test on openSUSE 11.0.
11832         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11833
11834 2010-05-13  Bruno Haible  <bruno@clisp.org>
11835
11836         Avoid useless warnings from G++.
11837         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11838         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11839         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11840
11841 2010-05-11  Jim Meyering  <meyering@redhat.com>
11842
11843         maint.mk: tweak preceding change
11844         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11845         regexps tighter by anchoring at EOL, and make the new group "shy"
11846         for slightly decreased overhead.
11847
11848 2010-05-11  Eric Blake  <eblake@redhat.com>
11849
11850         maint.mk: gnulib doesn't guarantee NSIG
11851         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11852
11853 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11854
11855         test-pwrite.c: Remove unused variable declaration.
11856         * tests/test-pwrite.c (main): Remove read_buf declaration.
11857
11858         Remove useless test-pwrite.sh file.
11859         * tests/test-pwrite.sh: Delete file.
11860         * modules/pwrite-tests: Remove references.
11861         Reported by Bruno Haible.
11862
11863 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11864
11865         init.sh: fix a typo
11866         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11867
11868 2010-05-10  Jim Meyering  <meyering@redhat.com>
11869
11870         maint.mk: avoid using a temporary file in the always-defined-macros check
11871         * top/maint.mk (.re-defmac): Remove rule.
11872         (gl_trap_): Remove definition.
11873         (sc_prohibit_always-defined_macros): Rewrite not to create and
11874         depend on a temporary file.  Instead, depend on GNU grep's ability
11875         to read a list of regular expressions from stdin when given "-f -".
11876
11877 2010-05-09  Bruno Haible  <bruno@clisp.org>
11878
11879         Update to GNU gettext 0.18, part 1.
11880         * m4/gettext.m4: Update to GNU gettext 0.18.
11881         * m4/intl.m4: Likewise.
11882         * m4/po.m4: Likewise.
11883         * modules/gettext (Files): Add m4/fcntl-o.m4.
11884         (configure.ac): Require gettext infrastructure from version 0.18.
11885
11886 2010-05-09  Jim Meyering  <meyering@redhat.com>
11887
11888         init.sh: enable MALLOC_PERTURB_
11889         * tests/init.sh: Enable glibc's malloc-perturbing option.
11890
11891         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11892         With my recent change in init.sh from the two-line form:
11893             -#   : ${srcdir=.}
11894             -#   . "$srcdir/init.sh"; path_prepend_ .
11895             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11896         I noticed that using the one-line form would cause this test
11897         to fail with a false-positive, or to stop working altogether,
11898         depending on whether help-version changed or all the tests did.
11899         * top/maint.mk (_hv_regex): Remove this definition.
11900         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11901         (_hv_regex_strong): Use a stronger regex to check for conformance.
11902         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11903         Give a separate diagnostic for lack of conforming use.
11904
11905         maint.mk: prohibit definition of symbols defined by gnulib
11906         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11907         definition of symbols defined by gnulib.
11908
11909 2010-05-09  Bruno Haible  <bruno@clisp.org>
11910
11911         acl: Avoid test failure on Cygwin-hosted mingw.
11912         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11913
11914 2010-05-09  Bruno Haible  <bruno@clisp.org>
11915
11916         error: Use system's fcntl function.
11917         * lib/error.c (fcntl): Undefine.
11918
11919 2010-05-09  Jim Meyering  <meyering@redhat.com>
11920
11921         verify: adjust formatting to be more consistent
11922         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11923         argument-list '('s, and after one comma.
11924
11925 2010-05-09  Bruno Haible  <bruno@clisp.org>
11926
11927         error: More reliable output on mingw.
11928         * lib/error.c: Include <windows.h>.
11929         (is_open): New function.
11930         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
11931         defined.
11932
11933 2010-05-09  Bruno Haible  <bruno@clisp.org>
11934
11935         vasnprintf: Fix syntax errors in libintl build on mingw.
11936         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
11937         pad_ourselves and prec_ourselves after use.
11938
11939 2010-05-08  Bruno Haible  <bruno@clisp.org>
11940
11941         * lib/config.charset: Update comments for Cygwin 1.7.
11942         * lib/localcharset.c: Likewise.
11943
11944 2010-05-07  Jim Meyering  <meyering@redhat.com>
11945
11946         init.sh: improve comments
11947         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
11948         . "${srcdir=.}/init.sh"; path_prepend_ .
11949         Add a note about path_prepend_ and the alternative of using
11950         TESTS_ENVIRONMENT.
11951
11952 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11953
11954         exclude: Unescape hashed patterns in wildcard mode.
11955         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
11956         to the hash list.
11957         * tests/test-exclude8.sh: New test case.
11958         * modules/exclude-tests: Add new test.
11959
11960 2010-05-05  Eric Blake  <eblake@redhat.com>
11961
11962         verify: automate tests
11963         * modules/verify-tests: New module.
11964         * tests/test-verify.sh: New file.
11965         * tests/test-verify.c: Guard each negative test with a unique id.
11966         Also avoid warning about unused left hand of comma expressions.
11967
11968 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11969
11970         Further improvements to verify.h, suggested by Eric Blake.
11971         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
11972         the GL_* versions, to avoid collision with OpenGL.
11973         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
11974         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
11975         than testing merely whether it's defined.
11976
11977         Modify verify.h to pacify gcc -Wredundant_decls.
11978         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
11979         These use the prefix "GL_" since they're likely to be useful elsewhere.
11980         We may need to break them out into a different .h file.
11981         (__COUNTER__): Define to 0 if the compiler doesn't support it.
11982         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
11983         of verify_function__.
11984
11985 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11986
11987         Tests for module pwrite.
11988         * modules/pwrite-tests: New file.
11989         * tests/test-pwrite.sh: New file.
11990         * tests/test-pwrite.c: New file.
11991
11992         New module pwrite.
11993         * lib/unistd.in.h (pwrite): New declaration.
11994         * lib/pwrite.c: New file, from glibc with modifications.
11995         * m4/pwrite.m4: New file.
11996         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
11997         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
11998         REPLACE_PWRITE.
11999         * modules/pwrite: New file.
12000         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
12001         REPLACE_PWRITE.
12002         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
12003         * doc/posix-functions/pwrite.texi: Mention the new module.
12004
12005 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12006
12007         pread: Update documentation.
12008         * doc/posix-functions/pread.texi: Mention the 'pread' module.
12009
12010 2010-05-04  Eric Blake  <eblake@redhat.com>
12011
12012         docs: update cygwin progress
12013         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
12014         this bug.
12015         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
12016         Added in cygwin 1.7.2.
12017         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
12018         Likewise.
12019         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
12020         Likewise.
12021         * doc/glibc-functions/dup3.texi (dup3): Likewise.
12022         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12023         * doc/glibc-functions/accept4.texi (accept4): Likewise.
12024         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
12025         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
12026         Mention nproc module.
12027         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
12028         bug in cygwin 1.7.5 addition.
12029         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
12030         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
12031         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
12032         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
12033         1.7.5.
12034         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
12035         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
12036         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
12037         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
12038         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
12039         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
12040         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
12041         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
12042         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
12043         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
12044         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
12045         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
12046         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
12047         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
12048         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
12049         Likewise.
12050         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
12051         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
12052         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
12053         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
12054         Likewise.
12055         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
12056         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
12057         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
12058         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
12059         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
12060         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
12061         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
12062         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
12063         Likewise.
12064         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
12065         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
12066         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
12067         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
12068         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
12069         Likewise.
12070         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
12071         Likewise.
12072         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
12073         Likewise.
12074         * doc/glibc-functions/xdrrec_endofrecord.texi
12075         (xdrrec_endofrecord): Likewise.
12076         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
12077         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
12078         Likewise.
12079         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
12080         Likewise.
12081
12082 2010-05-04  Jim Meyering  <meyering@redhat.com>
12083
12084         gendocs.sh: make its "-s FILE" option more useful
12085         * build-aux/gendocs.sh: When honoring the -s FILE option, update
12086         $PACKAGE to reflect the probably-different basename of "FILE".
12087
12088 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12089
12090         bootstrap: don't ignore download_po_files failure
12091         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
12092         failure.
12093
12094 2010-05-03  Jim Meyering  <meyering@redhat.com>
12095
12096         maint.mk: allow to pass options to gendocs.sh
12097         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
12098         (gendocs_options_): New overridable variable.
12099
12100         gnu-web-doc-update: don't ignore configure or build failure
12101         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
12102
12103         announce-gen: backslash-escape '@'s in --help output
12104         * build-aux/announce-gen: Fix syntax errors.
12105
12106         maint.mk, announce-gen: allow project-specific announcement mail headers
12107         * top/maint.mk (translation_project_): Define default.
12108         (announcement_Cc_, announcement_mail_headers_): Likewise.
12109         (announcement): Invoke announce-gen with new --mail-headers option.
12110         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
12111
12112         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
12113         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
12114         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
12115         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
12116         line in the "err2" output file when running "make check" in verbose
12117         mode (i.e., with set -x enabled).
12118
12119 2010-05-03  Bruno Haible  <bruno@clisp.org>
12120
12121         wctob: Fix for weird platforms.
12122         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
12123         argument value.
12124
12125 2010-05-03  Jim Meyering  <meyering@redhat.com>
12126
12127         maint.mk: prohibit unwarranted use of <strings.h>
12128         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
12129         strings.h in a file that does not also use strcasecmp, strncasecmp,
12130         ffs or ffsll.
12131
12132         maint.mk: remove obsolete comments
12133         * top/maint.mk: Remove stale, commented-out rules.
12134
12135 2010-05-02  Bruno Haible  <bruno@clisp.org>
12136
12137         wcwidth: Declare also when it's aliased.
12138         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
12139         macro.
12140
12141 2010-05-02  Bruno Haible  <bruno@clisp.org>
12142
12143         Fix regression from 2010-04-25.
12144         * gnulib-tool (func_modules_transitive_closure): Check the status of
12145         all modules, not only of the tests that are of the form foo-tests where
12146         foo is a module.
12147
12148 2010-05-02  Bruno Haible  <bruno@clisp.org>
12149
12150         wctob: Work around nasty Cygwin 1.7.2 bug.
12151         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
12152         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
12153
12154 2010-05-01  Bruno Haible  <bruno@clisp.org>
12155
12156         fpurge: Sharper test.
12157         * tests/test-fpurge.c (main): Add one more ftell check.
12158         * modules/fpurge-tests (Depends-on): Add ftell.
12159         Suggested by Eric Blake.
12160
12161 2010-05-01  Bruno Haible  <bruno@clisp.org>
12162
12163         ftello: Another test.
12164         * tests/test-ftello3.c: New file.
12165         * modules/ftello-tests (Files): Add it.
12166         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12167         MOSTLYCLEANFILES.
12168
12169         ftell: Another test.
12170         * tests/test-ftell3.c: New file.
12171         * modules/ftell-tests (Files): Add it.
12172         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12173         MOSTLYCLEANFILES.
12174
12175 2010-05-01  Bruno Haible  <bruno@clisp.org>
12176
12177         ftell, ftello: Work around Solaris bug.
12178         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
12179         * lib/ftello.c: Include stdio-impl.h.
12180         (ftello): On Solaris, when _IOWRT is set, compute the result without
12181         looking at _IOREAD.
12182         * modules/ftello (Files): Add lib/stdio-impl.h.
12183         * doc/posix-functions/ftell.texi: Mention Solaris bug.
12184         * doc/posix-functions/ftello.texi: Likewise.
12185         Reported by Eric Blake.
12186
12187 2010-05-01  Bruno Haible  <bruno@clisp.org>
12188
12189         freading: Adapt to special meaning of _IOREAD flag on Solaris.
12190         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
12191         the _IOWRT flag is also set.
12192
12193 2010-05-01  Bruno Haible  <bruno@clisp.org>
12194
12195         Fix doc about a HP-UX stdio bug.
12196         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
12197         * doc/posix-functions/ftello.texi: Likewise.
12198
12199 2010-05-01  Bruno Haible  <bruno@clisp.org>
12200
12201         lseek test: Fix failure on Solaris.
12202         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
12203         output.
12204
12205 2010-04-30  Jim Meyering  <meyering@redhat.com>
12206
12207         bootstrap: don't ignore failure to generate po*/Makevars
12208         * build-aux/bootstrap (with_gettext): Don't ignore failure
12209         to create po/Makevars or runtime-po/Makevars.
12210
12211 2010-04-29  Eric Blake  <eblake@redhat.com>
12212
12213         headers: relax license to LGPLv2+
12214         * modules/fcntl-h (License): Relax license.
12215         * modules/getopt-posix (License): Likewise.
12216         * modules/locale (License): Likewise.
12217         * modules/math (License): Likewise.
12218         * modules/pty (License): Likewise.
12219         * modules/sched (License): Likewise.
12220         * modules/search (License): Likewise.
12221         * modules/spawn (License): Likewise.
12222         * modules/stdarg (License): Likewise.
12223         * modules/sysexits (License): Likewise.
12224
12225 2010-04-29  Jim Meyering  <meyering@redhat.com>
12226
12227         inttypes: relax license to LGPLv2+
12228         * modules/inttypes (License): Relax license.
12229
12230 2010-04-29  Simon Josefsson  <simon@josefsson.org>
12231
12232         * top/maint.mk (indent): Run twice to produce idempotent results.
12233
12234 2010-04-28  Bruno Haible  <bruno@clisp.org>
12235
12236         getdate: Generate getdate.c in the source directory.
12237         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
12238         MOSTLYCLEANFILES.
12239         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
12240
12241 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
12242
12243         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
12244         is not declared as a const *; avoid warnings in that case.
12245
12246 2010-04-28  Eric Blake  <eblake@redhat.com>
12247
12248         canonicalize-lgpl: avoid compiler warning
12249         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
12250         declaration' / 'extraneous semicolon' warning with some compilers.
12251         Reported by Andreas Gruenbacher.
12252
12253 2010-04-28  Jim Meyering  <meyering@redhat.com>
12254
12255         init.sh: ensure a more reliable exit status when exiting via trap
12256         * tests/init.sh (setup_): Don't rely on $? in signal handler.
12257         Inspired by patches from Dmitry V. Levin.
12258         Also trap on signal 3 (SIGQUIT).
12259
12260 2010-04-27  Bruno Haible  <bruno@clisp.org>
12261
12262         Update doc about utimes().
12263         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
12264         'utimens' module.
12265         Reported by Andreas Gruenbacher <agruen@suse.de>.
12266
12267 2010-04-27  Eric Blake  <eblake@redhat.com>
12268
12269         full-read, full-write: relax license
12270         * modules/full-read (License): Drop to LGPLv2+.
12271         * modules/full-write (License): Likewise.
12272         * modules/safe-read (License): Likewise.
12273         * modules/safe-write (License): Likewise.
12274
12275         pthread: mention library for linking
12276         * modules/pthread (Link): Mention $(LIB_PTHREAD).
12277
12278 2010-04-27  Jim Meyering  <meyering@redhat.com>
12279
12280         maint.mk: fix a bug introduced in last change
12281         * top/maint.mk (gl_assured_headers_): Now that all names are on
12282         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
12283         is not anchored to end of word, it should be adequate.
12284
12285         maint.mk: avoid side-effect in latest syntax-check
12286         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
12287         to run commands via $(shell...), and hence to incur cost only when
12288         the new rule is actually run.
12289
12290         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
12291         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
12292         and use that to create a regexp used to detect all #if HAVE_..._H uses.
12293         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
12294         (gl_assured_headers_, az_, AZ_): Define.
12295         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
12296
12297 2010-04-26  Jim Meyering  <jim@meyering.net>
12298             Bruno Haible  <bruno@clisp.org>
12299
12300         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
12301         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
12302         Prompted by an exchange with Gilles Espinasse.
12303
12304 2010-04-26  Jim Meyering  <meyering@redhat.com>
12305
12306         git-version-gen: aesthetic tweak
12307         * build-aux/git-version-gen: Use "$nl" rather than a literal,
12308         so that the command remains on a single line.
12309
12310 2010-04-26  Eric Blake  <eblake@redhat.com>
12311
12312         git-version-gen: allow use on EBCDIC hosts
12313         * build-aux/git-version-gen (dirty): Use literal rather than tying
12314         ourselves to ascii.
12315         Reported by Steve Goetze.
12316
12317 2010-04-25  Bruno Haible  <bruno@clisp.org>
12318
12319         netdb: Add support for GNULIB_POSIXCHECK.
12320         * lib/netdb.in.h: Include warn-on-use.h.
12321         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
12322         functions are used when GNULIB_POSIXCHECK is defined and the
12323         getaddrinfo module is not in use.
12324         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
12325         freeaddrinfo, gai_strerror, getnameinfo are declared.
12326         * modules/netdb (Depends-on): Add warn-on-use.
12327         (Makefile.am): Include warn-on-use.h in netdb.h.
12328
12329 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
12330
12331         build: avoid "make check" failure without .git/ directory
12332         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
12333         there is no .git/ directory.
12334
12335 2010-04-25  Bruno Haible  <bruno@clisp.org>
12336
12337         ptsname: Fix misuse of ttyname_r.
12338         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
12339         of errno.
12340
12341 2010-04-25  Bruno Haible  <bruno@clisp.org>
12342
12343         ttyname_r: Make it work on Solaris 10.
12344         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
12345         if the system function has the POSIX declaration. Test whether the
12346         function fails if the buffer is less than 128 bytes large.
12347         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
12348         system's ttyname_r function. Provide a reasonably large buffer.
12349         * modules/ttyname_r (Depends-on): Add extensions.
12350         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
12351
12352 2010-04-25  Bruno Haible  <bruno@clisp.org>
12353
12354         Use the 'extensions' module for some more functions on Solaris.
12355         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
12356         module.
12357         * doc/posix-functions/ctime_r.texi: Likewise.
12358         * doc/posix-functions/getgrgid_r.texi: Likewise.
12359         * doc/posix-functions/getgrnam_r.texi: Likewise.
12360         * doc/posix-functions/getpwnam_r.texi: Likewise.
12361         * doc/posix-functions/getpwuid_r.texi: Likewise.
12362         * doc/posix-functions/readdir_r.texi: Likewise.
12363         * doc/posix-functions/sigwait.texi: Likewise.
12364         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
12365         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
12366
12367 2010-04-25  Bruno Haible  <bruno@clisp.org>
12368
12369         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
12370         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
12371         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
12372         * lib/ttyname_r.c: Include <limits.h>.
12373         (ttyname_r): Define using the system's ttyname_r function, if it exists
12374         and not on Solaris.
12375         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
12376         set.
12377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
12378         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
12379         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
12380         Reported by Simon Josefsson.
12381
12382 2010-04-25  Bruno Haible  <bruno@clisp.org>
12383
12384         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
12385         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
12386         * doc/posix-functions/ctime_r.texi: Likewise.
12387         * doc/posix-functions/getgrgid_r.texi: Likewise.
12388         * doc/posix-functions/getgrnam_r.texi: Likewise.
12389         * doc/posix-functions/getlogin_r.texi: Likewise.
12390         * doc/posix-functions/getpwnam_r.texi: Likewise.
12391         * doc/posix-functions/getpwuid_r.texi: Likewise.
12392         * doc/posix-functions/readdir_r.texi: Likewise.
12393         * doc/posix-functions/sigwait.texi: Likewise.
12394         * doc/posix-functions/ttyname_r.texi: Likewise.
12395         Reported by Simon Josefsson.
12396
12397 2010-04-25  Bruno Haible  <bruno@clisp.org>
12398
12399         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
12400         * gnulib-tool (func_usage): Document that --with-*-tests options apply
12401         also to --create-testdir.
12402         (func_acceptable): Don't consider the status of *-tests modules here.
12403         (func_modules_transitive_closure): Consider it here, before including a
12404         test module.
12405         (func_import, func_create_testdir): Set inc_all_direct_tests,
12406         inc_all_indirect_tests.
12407         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
12408         --create-testdir and --create-megatestdir.
12409
12410 2010-04-25  Bruno Haible  <bruno@clisp.org>
12411
12412         gnulib-tool: Add --without-*-tests options.
12413         * gnulib-tool (func_usage): Document the --without-*-tests options.
12414         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
12415         excl_unportable_tests): New variables.
12416         Fail if they are specified with --import or --update.
12417         (func_acceptable): Respect the excl_*_tests variables.
12418         (func_import): Set the excl_*_tests variables to empty.
12419
12420 2010-04-25  Simon Josefsson  <simon@josefsson.org>
12421             Bruno Haible  <bruno@clisp.org>
12422
12423         Work around a MacOS X 10.4 bug with openpty.
12424         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
12425         * tests/test-openpty.c (main): Close the master side explicitly.
12426
12427 2010-04-25  Bruno Haible  <bruno@clisp.org>
12428
12429         strnlen: Fix a C++ test error on MacOS X and Solaris.
12430         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
12431         the function is not declared.
12432         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
12433         Simon Josefsson.
12434
12435 2010-04-24  Bruno Haible  <bruno@clisp.org>
12436
12437         Avoid a gcc warning.
12438         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
12439         of correct type for %08lx directive.
12440         Reported by Eric Blake.
12441
12442 2010-04-24  Bruno Haible  <bruno@clisp.org>
12443
12444         vasnprintf: Correct errno value in case of out-of-memory.
12445         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
12446         or sprintf. Use the errno value from SNPRINTF or sprintf.
12447         Reported by Ian Beckwith <ianb@erislabs.net>.
12448
12449 2010-04-24  Bruno Haible  <bruno@clisp.org>
12450
12451         ansi-c++-opt: Find correct compiler when cross-compiling.
12452         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
12453         AC_CHECK_PROGS.
12454         Reported by Simon Josefsson.
12455
12456 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
12457
12458         vc-list-files: Add support for subversion
12459         * build-aux/vc-list-files: Use "svn list" to generate the list of
12460         files controlled by subversion.
12461
12462 2010-04-23  Jim Meyering  <meyering@redhat.com>
12463
12464         vc-list-files tests: convert to use init.sh
12465         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
12466         path_prepend_.
12467         Use Exit, not exit.
12468         Use skip_ rather than open coding it.
12469         Remove trap set-up and compare definitions.
12470         * tests/test-vc-list-files-git.sh: Likewise.
12471         * modules/vc-list-files-tests (Files): Add tests/init.sh.
12472
12473 2010-04-22  Simon Josefsson  <simon@josefsson.org>
12474
12475         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
12476         backup files.
12477
12478 2010-04-21  Simon Josefsson  <simon@josefsson.org>
12479
12480         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
12481
12482 2010-04-20  Eric Blake  <eblake@redhat.com>
12483
12484         tests: be robust to ignored SIGPIPE
12485         * tests/test-select-in.sh: Consume all output.
12486         * tests/test-lseek.sh: Check correct exit status, while avoiding
12487         EPIPE.
12488
12489 2010-04-20  Simon Josefsson  <simon@josefsson.org>
12490             Bruno Haible  <bruno@clisp.org>
12491
12492         visibility: Don't use -fvisibility if it leads to a warning.
12493         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
12494         yes, don't pretend that visibility works if it leads to a warning.
12495         Reported by Mike Gran <spk121@yahoo.com>.
12496
12497 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
12498
12499         * build-aux/bootstrap: Use "git -h" for testing for supported options
12500         instead of "git --help".  The short-form option only shows a summary,
12501         and doesn't layout the full man page.  Grep for the full option name
12502         in the summary, too.
12503
12504 2010-04-19  Bruno Haible  <bruno@clisp.org>
12505
12506         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
12507         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
12508         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
12509         mention of RELOCATABLE_STRIP.
12510         Reported by Sylvain Beucler <beuc@beuc.net>.
12511
12512 2010-04-19  Bruno Haible  <bruno@clisp.org>
12513
12514         * lib/diffseq.h: Fix typo in comment.
12515         Reported by Eric Blake.
12516
12517 2010-04-19  Bruno Haible  <bruno@clisp.org>
12518
12519         ioctl: Move autoconf macro to a .m4 file.
12520         * m4/ioctl.m4: New file, extracted from modules/ioctl.
12521         * modules/ioctl (Files): Add it.
12522         (configure.ac): Simply invoke gl_FUNC_IOCTL.
12523         Reported by Ian Beckwith <ianb@erislabs.net>.
12524
12525 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
12526             Bruno Haible  <bruno@clisp.org>
12527
12528         diffseq: Accommodate use-case with abstract arrays.
12529         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
12530         is not defined.
12531         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
12532         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
12533
12534 2010-04-18  Bruno Haible  <bruno@clisp.org>
12535
12536         * doc/posix-headers/stdbool.texi: More precise wording.
12537
12538 2010-04-17  Jim Meyering  <meyering@redhat.com>
12539
12540         maint.mk: use gnu-style indentation in an embedded perl script
12541         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
12542         Rename variable: s/two/last_two_bytes/
12543
12544 2010-04-16  Eric Blake  <eblake@redhat.com>
12545
12546         test-stdbool: skip test that fails with Solaris CC
12547         * tests/test-stdbool.c (f): Skip test that causes compilation
12548         error under buggy C++ compiler.
12549         * lib/stdbool.in.h: Document the limitation.
12550         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
12551
12552         setenv: allow compilation with C++
12553         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
12554         register keyword.
12555
12556         stdint: allow test to pass with C++
12557         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
12558
12559         getopt: allow compilation with C++
12560         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
12561         struct.
12562         * lib/getopt.c (_getopt_internal_r): Use correct type.
12563         Reported by Dagobert Michelson, via Joel E. Denny.
12564
12565 2010-04-16  Bruno Haible  <bruno@clisp.org>
12566
12567         Override netdb.h always.
12568         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
12569         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
12570         Reported by Ludovic Courtès <ludo@gnu.org>.
12571
12572 2010-04-15  Bruno Haible  <bruno@clisp.org>
12573
12574         openpty: Fix mistake from 2010-03-21.
12575         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
12576         Reported by Simon Josefsson.
12577
12578 2010-04-15  Eric Blake  <eblake@redhat.com>
12579
12580         test-forkpty: fix expected signature
12581         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
12582         Reported by Simon Josefsson.
12583
12584 2010-04-15  Jim Meyering  <meyering@redhat.com>
12585
12586         maint.mk: texinfo_suffix_re_: correct the default regexp
12587         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
12588
12589         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
12590         make it configurable via texinfo_suffix_re_.
12591
12592 2010-04-14  Eric Blake  <eblake@redhat.com>
12593
12594         strtok_r: relax license to LGPLv2+
12595         * modules/strtok_r (License): Relax license.
12596         Reported by Matthias Bolte.
12597
12598 2010-04-14  Simon Josefsson  <simon@josefsson.org>
12599
12600         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
12601         version 1.4.4 by default instead of requiring the libgcrypt
12602         version used during build.  This makes it possible to use the
12603         application with older but still binary compatible libgcrypt
12604         versions.
12605
12606 2010-04-13  Eric Blake  <eblake@redhat.com>
12607
12608         getopt-gnu: match recent glibc fixes and posix ruling
12609         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
12610         '+' handling, when requesting extensions.
12611         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
12612         'W;' handling.
12613         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
12614         * doc/posix-functions/getopt.texi (getopt): Document this.
12615         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12616         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12617         Likewise.
12618
12619         getopt: merge bug fixes from glibc
12620         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
12621         diagnostics.  Honor '+:' correctly.  Reject ';'.
12622
12623         getopt-posix: detect MacOS bug
12624         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
12625         optind when missing a required argument.
12626         * doc/posix-functions/getopt.texi (getopt): Document the bug.
12627         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12628         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12629         Likewise.
12630
12631         getopt-posix: avoid spurious failure on Solaris
12632         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
12633         an indicator that setting optind=1 is sufficient for reset.
12634
12635         getopt-posix: avoid spurious failure on FreeBSD
12636         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
12637         in POSIX mode, since the m4 test uses it.
12638
12639         gnulib-tool: silence warning on BSD sh
12640         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
12641
12642 2010-04-13  Jim Meyering  <meyering@redhat.com>
12643
12644         doc: users.txt: GNU patch now uses gnulib
12645         * users.txt: Add patch.
12646
12647 2010-04-12  Jim Meyering  <meyering@redhat.com>
12648
12649         maint.mk: generate more concise timing data for syntax-check rules
12650         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
12651         " done" from each line that reports a syntax-check test duration.
12652
12653 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
12654
12655         git-version-gen: use "git update-index..." rather than "git status"
12656         * build-aux/git-version-gen: Use git update-index --refresh, not
12657         "git status".  With some versions of git, "git status" would fail
12658         to update the index and result in an unwarranted "-dirty" suffix.
12659
12660 2010-04-11  Jim Meyering  <meyering@redhat.com>
12661
12662         openat: correct formatting (no semantic change)
12663         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
12664         Suggested by Bruno Haible.
12665
12666 2010-04-11  Bruno Haible  <bruno@clisp.org>
12667
12668         Stricter declaration checking in testdirs.
12669         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12670         If for_tests is true, augment AM_CPPFLAGS to define
12671         GNULIB_STRICT_CHECKING.
12672         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
12673         GNULIB_STRICT_CHECKING is defined, verify that the function is
12674         declared.
12675
12676 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
12677             Bruno Haible  <bruno@clisp.org>
12678
12679         libunistring: Improve configure output.
12680         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
12681         Don't say "consider installing GNU libunistring" when checking again
12682         with libiconv.
12683
12684 2010-04-11  Bruno Haible  <bruno@clisp.org>
12685
12686         libunistring: Correct value of $LTLIBUNISTRING.
12687         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
12688         correct the value of $LTLIBUNISTRING.
12689
12690 2010-04-11  Bruno Haible  <bruno@clisp.org>
12691
12692         havelib: Add static libraries to LIBS in the right order.
12693         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12694         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12695
12696 2010-04-11  Bruno Haible  <bruno@clisp.org>
12697
12698         libunistring: Detect libunistring also when it depends on libiconv.
12699         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12700         the second AC_LIB_HAVE_LINKFLAGS invocation.
12701
12702 2010-04-11  James Youngman  <jay@gnu.org>
12703
12704         close-stream: declare local scalars to be "const"
12705         * lib/close-stream.c (close_stream): Make boolean variables const
12706         to document the fact that we set but do not change them.
12707
12708 2010-04-11  Bruno Haible  <bruno@clisp.org>
12709
12710         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12711
12712 2010-04-11  Jim Meyering  <meyering@redhat.com>
12713
12714         maint.mk: don't include dist-check.mk
12715         * top/maint.mk: Remove bogus include directive.
12716
12717         maint.mk: improve empty-line-at-EOF check
12718         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12719         solution, rather than tail+Perl-based one.  The latter would read
12720         a few kilobytes from the end of each file, and did not handle empty
12721         files properly.
12722
12723         maint.mk: print the elapsed time for each syntax-check rule
12724         * top/maint.mk (sc_m_rules_): Save start time in a file.
12725         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12726         (local-check): Interpose the .z rules
12727
12728 2010-04-11  Jim Meyering  <meyering@redhat.com>
12729
12730         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12731         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12732         empty file with one that ends in an empty line.
12733
12734 2010-04-10  Bruno Haible  <bruno@clisp.org>
12735
12736         mkdir: Make it work on mingw64.
12737         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12738         * lib/mkdir.c: Update comment.
12739         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
12740
12741 2010-04-10  Bruno Haible  <bruno@clisp.org>
12742
12743         Don't override improved macro from newer autoconf.
12744         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12745         autoconf >= 2.62.
12746         Reported by Joel E. Denny <jdenny@clemson.edu>.
12747
12748 2010-04-10  Jim Meyering  <meyering@redhat.com>
12749
12750         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12751         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12752
12753         maint.mk: correct a diagnostic
12754         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12755         in diagnostic; now use $prohibit.
12756
12757 2010-04-10  Bruno Haible  <address@hidden>
12758
12759         fchownat: Fix a C++ test error on Solaris 8.
12760         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12761         the function does not exist.
12762
12763 2010-04-10  Bruno Haible  <bruno@clisp.org>
12764
12765         vasnprintf: Add more tests.
12766         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12767         (test_function): Test converting an invalid wide string.
12768
12769         vasnprintf: Correct handling of unconvertible wide string arguments.
12770         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12771         VASNPRINTF.
12772         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12773         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12774         smaller than the expected maximum need for the directive. Set errno to
12775         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12776         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12778         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12779         * modules/vasnprintf (Files): Add m4/printf.m4.
12780         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12781
12782 2010-04-10  Bruno Haible  <bruno@clisp.org>
12783
12784         vasnprintf: Fix crash in %ls directive.
12785         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12786         string is passed as argument to %ls, with no precision and no width.
12787         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12788
12789 2010-04-10  Bruno Haible  <bruno@clisp.org>
12790
12791         vasnprintf: Fix multiple test failures on mingw.
12792         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12793         _snprintf, or snwprintf, not _snwprintf.
12794
12795 2010-04-10  Bruno Haible  <bruno@clisp.org>
12796
12797         write: Fix a C++ test error on mingw.
12798         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12799
12800 2010-04-10  Bruno Haible  <bruno@clisp.org>
12801
12802         vasnprintf test: Reduce code duplication.
12803         * tests/test-vasnprintf.c (test_function): New function, extracted from
12804         test_vasnprintf.
12805         (test_vasnprintf, test_asnprintf): Invoke it.
12806
12807 2010-04-10  Bruno Haible  <bruno@clisp.org>
12808
12809         strnlen: Fix warning in C++ mode on MacOS X.
12810         * lib/string.in.h (strnlen): Use the modern idiom.
12811         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12812         defining strnlen as a macro already in <config.h>.
12813         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12814         REPLACE_STRNLEN.
12815         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12816         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12817
12818 2010-04-08  James Youngman  <jay@gnu.org>
12819
12820         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12821         the example.
12822
12823 2010-04-09  Jim Meyering  <meyering@redhat.com>
12824
12825         maint.mk: print better diagnostic when there is no $(_hv_file)
12826         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12827         announce that when $(_hv_file) (aka help-version) does not exist.
12828
12829         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12830         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12831         not try to interpret its random input bytes.  Jarno Rajahalme reported
12832         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12833         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12834         (mktempd_): Likewise, just in case.
12835
12836         ftruncate: add two years to projected module removal date: 2012
12837         * m4/ftruncate.m4: Adjust comments.
12838
12839         ftruncate: mark module as obsolete; even MinGW provides it, now
12840         * modules/ftruncate (Status): Obsolete.
12841         (Notice): Say that.
12842         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12843         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12844
12845 2010-04-08  Bruno Haible  <bruno@clisp.org>
12846
12847         Fix side effects from tests-related modules.
12848         * modules/dprintf-posix (Comment): New section.
12849         * modules/fprintf-posix (Comment): Likewise.
12850         * modules/obstack-printf-posix (Comment): Likewise.
12851         * modules/printf-posix (Comment): Likewise.
12852         * modules/snprintf-posix (Comment): Likewise.
12853         * modules/sprintf-posix (Comment): Likewise.
12854         * modules/vasnprintf-posix (Comment): Likewise.
12855         * modules/vasprintf-posix (Comment): Likewise.
12856         * modules/vdprintf-posix (Comment): Likewise.
12857         * modules/vfprintf-posix (Comment): Likewise.
12858         * modules/vprintf-posix (Comment): Likewise.
12859         * modules/vsnprintf-posix (Comment): Likewise.
12860         * modules/vsprintf-posix (Comment): Likewise.
12861         * modules/xprintf-posix (Comment): Likewise.
12862         * modules/xvasprintf-posix (Comment): Likewise.
12863         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12864         * modules/floorf-tests (Depends-on): Likewise.
12865         * modules/round-tests (Depends-on): Likewise.
12866         * modules/roundf-tests (Depends-on): Likewise.
12867         * modules/trunc-tests (Depends-on): Likewise.
12868         * modules/truncf-tests (Depends-on): Likewise.
12869         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12870         'fprintf-posix' module is not present.
12871         * tests/test-floorf2.c (check): Likewise.
12872         * tests/test-trunc2.c (check): Likewise.
12873         * tests/test-truncf2.c (check): Likewise.
12874         * tests/test-round2.c (equal): Likewise.
12875         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12876
12877 2010-04-07  Karl Berry  <karl@gnu.org>
12878
12879         * config/srclist.txt,
12880         * config/srclistvars.sh,
12881         * config/srclist-update: doc fixes.
12882
12883 2010-04-07  Jim Meyering  <meyering@redhat.com>
12884
12885         maint.mk: add a PATH crosschecking syntax-check rule
12886         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12887         Useful if you use a test like the one in help-version (coreutils,
12888         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12889         printed by prog --version.
12890
12891 2010-04-06  Bruno Haible  <bruno@clisp.org>
12892
12893         Fix link error on mingw.
12894         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12895         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12896
12897 2010-04-06  Bruno Haible  <bruno@clisp.org>
12898
12899         Assume rmdir exists.
12900         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12901
12902 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12903
12904         doc: update users.txt
12905         * users.txt: Add gcal.
12906
12907 2010-04-06  Jim Meyering  <meyering@redhat.com>
12908
12909         init.sh: simply unset TMPDIR rather than risking env -i
12910         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12911         although it probably works fine on all Unix-based systems, some
12912         systems (Cygwin?) cannot tolerate a totally cleared environment.
12913         Suggestion from Eric Blake.
12914
12915 2010-04-06  Jim Meyering  <meyering@redhat.com>
12916
12917         init.sh: portability fix: use env's POSIX-specified -i option not -u
12918         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12919         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12920
12921 2010-04-05  Bruno Haible  <bruno@clisp.org>
12922
12923         btowc: Work around Cygwin 1.7.2 bug.
12924         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12925         does not map NUL to 0.
12926         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
12927
12928 2010-04-05  Bruno Haible  <bruno@clisp.org>
12929
12930         Make the multithread modules work on Cygwin 1.7.2.
12931         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
12932         imported symbols can be declared weak, so that it returns "no" on
12933         Cygwin 1.7.2.
12934
12935 2010-04-05  Bruno Haible  <bruno@clisp.org>
12936
12937         Use the module 'strncat'.
12938         * modules/unistr/u8-strncat (Depends-on): Add strncat.
12939
12940         Tests for module 'strncat'.
12941         * modules/strncat-tests: New file.
12942         * tests/test-strncat.c: New file.
12943
12944         New module 'strncat'.
12945         * lib/string.in.h (strncat): New declaration.
12946         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
12947         * m4/strncat.m4: New file, based on m4/memchr.m4.
12948         * modules/strncat: New file.
12949         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
12950         is declared.
12951         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
12952         REPLACE_STRNCAT.
12953         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
12954         REPLACE_STRNCAT.
12955         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
12956         module.
12957         * tests/test-string-c++.cc: Check signature of strncat.
12958
12959 2010-04-05  Jim Meyering  <meyering@redhat.com>
12960
12961         xstrtoumax-tests: convert to use init.sh
12962         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
12963         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12964         Use Exit, not exit.
12965         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12966
12967         xstrtoimax-tests: convert to use init.sh
12968         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
12969         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12970         Use Exit, not exit.
12971         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12972
12973 2010-04-05  Bruno Haible  <bruno@clisp.org>
12974
12975         sys_socket: Avoid #define replacements in C++ mode.
12976         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
12977         warning to the function if possible, rather than #defining the symbol
12978         to a dysfunctional alias.
12979
12980 2010-04-05  Bruno Haible  <bruno@clisp.org>
12981
12982         fseeko: Fix C++ test error on mingw.
12983         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
12984         gl_FUNC_FSEEKO.
12985         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
12986         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
12987         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
12988         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
12989
12990 2010-04-05  Bruno Haible  <bruno@clisp.org>
12991
12992         duplocale: Improve test output.
12993         * tests/test-duplocale.c (main): Print reason for skipped test.
12994
12995 2010-04-05  Bruno Haible  <bruno@clisp.org>
12996
12997         Assume rmdir exists.
12998         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
12999         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
13000
13001 2010-04-05  Bruno Haible  <bruno@clisp.org>
13002
13003         Fix link error on Solaris 8 with cc.
13004         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
13005
13006 2010-04-05  Bruno Haible  <bruno@clisp.org>
13007
13008         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13009         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
13010
13011 2010-04-05  Bruno Haible  <bruno@clisp.org>
13012
13013         vasprintf: Update documentation.
13014         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
13015
13016 2010-04-05  Bruno Haible  <bruno@clisp.org>
13017
13018         ptsname: Improve test.
13019         * tests/test-ptsname.c (main): Also try the various master names of BSD
13020         systems.
13021
13022 2010-04-05  Bruno Haible  <bruno@clisp.org>
13023
13024         memchr: Avoid a possible C++ test error.
13025         * lib/string.in.h (memchr): Provide declaration if function is missing.
13026         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
13027         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
13028         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
13029         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
13030
13031 2010-04-05  Bruno Haible  <bruno@clisp.org>
13032
13033         strtok_r: Improve idiom.
13034         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
13035         AC_LIBOBJ is used.
13036
13037 2010-04-05  Bruno Haible  <bruno@clisp.org>
13038
13039         strdup: Improve idiom.
13040         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
13041         AC_LIBOBJ is used.
13042         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
13043         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
13044         when AC_LIBOBJ is used.
13045
13046 2010-04-05  Bruno Haible  <bruno@clisp.org>
13047
13048         mbsinit, mbrtowc, wcrtomb: Improve idioms.
13049         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
13050         don't set REPLACE_MBSINIT to 1.
13051         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
13052         don't set REPLACE_MBRTOWC to 1.
13053         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
13054         exist, don't set REPLACE_MBSRTOWCS to 1.
13055         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
13056         exist, don't set REPLACE_MBSNRTOWCS to 1.
13057         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
13058         don't set REPLACE_WCRTOMB to 1.
13059         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
13060         exist, don't set REPLACE_WCSRTOMBS to 1.
13061         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
13062         exist, don't set REPLACE_WCSNRTOMBS to 1.
13063
13064 2010-04-05  Bruno Haible  <bruno@clisp.org>
13065
13066         ldexpl: Improve idiom.
13067         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
13068         make sure to set HAVE_DECL_LDEXPL to 0.
13069
13070 2010-04-05  Jim Meyering  <meyering@redhat.com>
13071
13072         xstrtol-tests: convert to use init.sh
13073         * modules/xstrtol-tests (Files): Add tests/init.sh.
13074         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13075         Use Exit, not exit.
13076         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13077
13078         atexit-tests: convert to use init.sh
13079         * modules/atexit-tests (Files): Add tests/init.sh.
13080         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13081         Use Exit, not exit.
13082         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13083
13084         init.sh: fix typo
13085         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
13086
13087         init.sh: make it easier for a test script to write to the tty, ...
13088         when using automake's parallel-tests mode.
13089         * tests/init.sh (stderr_fileno_): Define overridable variable.
13090         (warn_): New function, to use it.
13091         (fail_, skip_, framework_failure_): Use warn_.
13092
13093 2010-04-04  Bruno Haible  <bruno@clisp.org>
13094
13095         btowc: Avoid warning.
13096         * lib/btowc.c: Include <stdlib.h>.
13097         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
13098
13099 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13100             Bruno Haible  <bruno@clisp.org>
13101
13102         wchar: Port to NetBSD 1.5.
13103         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
13104         * lib/wctype.in.h (WEOF): Likewise.
13105
13106 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13107             Bruno Haible  <bruno@clisp.org>
13108
13109         Port extended stdio to NetBSD 1.5.
13110         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
13111         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
13112         older.
13113
13114 2010-04-04  Bruno Haible  <bruno@clisp.org>
13115
13116         string: Remove unused substitution.
13117         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13118         HAVE_DECL_STRERROR.
13119         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
13120
13121 2010-04-04  Bruno Haible  <bruno@clisp.org>
13122
13123         strtod: Avoid a possible C++ test error.
13124         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
13125         set REPLACE_STRTOD.
13126
13127 2010-04-04  Bruno Haible  <bruno@clisp.org>
13128
13129         strerror: Update documentation.
13130         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
13131
13132 2010-04-04  Bruno Haible  <bruno@clisp.org>
13133
13134         stdio: Fix some C++ test errors on Solaris 8 with GCC.
13135         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
13136         _GL_CXXALIAS_SYS_CAST.
13137
13138 2010-04-04  Bruno Haible  <bruno@clisp.org>
13139
13140         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13141         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
13142         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
13143         REPLACE_FREXPL to 1.
13144         * doc/posix-functions/frexpl.texi: Update documentation.
13145
13146 2010-04-04  Bruno Haible  <bruno@clisp.org>
13147
13148         math: Fix some C++ test errors on Solaris 8 and Cygwin.
13149         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
13150
13151 2010-04-04  Bruno Haible  <bruno@clisp.org>
13152
13153         Implement nanosleep for native Windows.
13154         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
13155
13156 2010-04-04  Bruno Haible  <bruno@clisp.org>
13157
13158         math: Fix some C++ test errors on Solaris 8.
13159         * lib/math.in.h (truncf, trunc): Use simpler idiom.
13160
13161 2010-04-04  Bruno Haible  <bruno@clisp.org>
13162
13163         math: Fix some C++ test errors on Cygwin.
13164         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
13165         truncl): Provide declaration if the system does not have it.
13166         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
13167         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
13168         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
13169         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
13170         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
13171         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
13172         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
13173         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
13174         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
13175         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
13176         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
13177         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
13178         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
13179         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
13180         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
13181         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
13182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
13183         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13184         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13185         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
13186         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13187         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13188
13189 2010-04-04  Bruno Haible  <bruno@clisp.org>
13190
13191         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
13192         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13193         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13194         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13195         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13196         * m4/isinf.m4 (gl_ISINF): Likewise.
13197         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13198
13199 2010-04-04  Bruno Haible  <bruno@clisp.org>
13200
13201         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
13202         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13203
13204 2010-04-04  Bruno Haible  <bruno@clisp.org>
13205
13206         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
13207         * modules/tmpfile (configure.ac): Update.
13208
13209         tmpfile: Fix C++ test error on mingw.
13210         * lib/stdio.in.h (tmpfile): New declaration.
13211         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
13212         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
13213         * modules/tmpfile (Depends-on): Add stdio.
13214         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13215         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
13216         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
13217         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
13218         REPLACE_TMPFILE.
13219         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
13220
13221 2010-04-04  Bruno Haible  <bruno@clisp.org>
13222
13223         ioctl: Fix C++ test error on mingw.
13224         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
13225         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
13226         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
13227
13228 2010-04-03  Bruno Haible  <bruno@clisp.org>
13229
13230         wcwidth: Fix C++ test error on mingw.
13231         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
13232         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
13233         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
13234
13235 2010-04-03  Bruno Haible  <bruno@clisp.org>
13236
13237         nanosleep: Fix C++ test error on mingw.
13238         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
13239         * lib/time.in.h (nanosleep): Use modern idiom.
13240         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
13241         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
13242         REPLACE_NANOSLEEP to 1.
13243         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
13244         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
13245
13246 2010-04-03  Bruno Haible  <bruno@clisp.org>
13247
13248         strptime: Fix C++ test error on mingw.
13249         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
13250         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
13251         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
13252         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
13253         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
13254         not REPLACE_STRPTIME.
13255         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
13256         REPLACE_STRPTIME.
13257
13258 2010-04-03  Bruno Haible  <bruno@clisp.org>
13259
13260         timegm: Fix C++ test error on mingw.
13261         * lib/time.in.h (timegm): Use modern idiom.
13262         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
13263         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
13264         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
13265         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
13266
13267 2010-04-03  Bruno Haible  <bruno@clisp.org>
13268
13269         timegm: Assume declaration if function exists.
13270         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
13271         if it exists. Don't clobber ac_cv_func_timegm.
13272
13273 2010-04-03  Bruno Haible  <bruno@clisp.org>
13274
13275         time_r: Fix C++ test error on mingw.
13276         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
13277         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
13278         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
13279         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
13280         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
13281
13282 2010-04-03  Bruno Haible  <bruno@clisp.org>
13283
13284         time_r: Minor updates.
13285         * modules/time_r (Description): Mention the provided functions.
13286         * lib/time_r.c: Don't include <string.h>.
13287         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
13288         * doc/posix-functions/localtime_r.texi: Likewise.
13289
13290 2010-04-03  Bruno Haible  <bruno@clisp.org>
13291
13292         time: Fix regression introduced on 2010-03-08.
13293         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
13294         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
13295
13296 2010-04-03  Jim Meyering  <meyering@redhat.com>
13297
13298         maint.mk: don't silently disable project-specific syntax-check rules
13299         * top/maint.mk (_prohibit_regexp): Define, to help people realize
13300         that they need to convert their project-specific syntax-check rules
13301         to use the new _sc_search_regexp.
13302
13303 2010-04-03  Bruno Haible  <bruno@clisp.org>
13304
13305         fchdir: Fix regression introduced on 2010-03-08.
13306         * lib/unistd.in.h (fchdir): Fix declaration.
13307         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
13308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
13309         REPLACE_FCHDIR.
13310         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
13311         REPLACE_FCHDIR.
13312
13313 2010-04-03  Bruno Haible  <bruno@clisp.org>
13314
13315         getpagesize: Fix C++ test error on mingw.
13316         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
13317         system does not declare the function.
13318         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
13319         declared.
13320         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13321         HAVE_DECL_GETPAGESIZE.
13322         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
13323
13324 2010-04-03  Bruno Haible  <bruno@clisp.org>
13325
13326         stdio: Make C++ tests work on mingw.
13327         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
13328         does not declare the function.
13329
13330 2010-04-03  Bruno Haible  <bruno@clisp.org>
13331
13332         ftello: Fix C++ test error on mingw.
13333         * lib/stdio.in.h (ftello): Use modern idiom.
13334         * lib/ftello.c (ftello): Renamed from rpl_ftello.
13335         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
13336         is missing and that it needs to be replaced.
13337         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
13338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
13339         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
13340
13341 2010-04-03  Bruno Haible  <bruno@clisp.org>
13342
13343         fseeko: Fix C++ test error on mingw.
13344         * lib/stdio.in.h (fseeko): Use modern idiom.
13345         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
13346         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
13347         is missing and that it needs to be replaced.
13348         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
13349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
13350         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
13351
13352 2010-04-03  Bruno Haible  <bruno@clisp.org>
13353
13354         mkstemp: Fix C++ test error on mingw.
13355         * lib/stdlib.in.h (mkstemp): Use modern idiom.
13356         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
13357         function is missing and that it needs to be replaced.
13358         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
13359         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
13360
13361 2010-04-03  Bruno Haible  <bruno@clisp.org>
13362
13363         stpncpy: Fix C++ test error on mingw.
13364         * lib/string.in.h (stpncpy): Use modern idiom.
13365         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
13366         function is missing and that it needs to be replaced.
13367         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13368         REPLACE_STPNCPY.
13369         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
13370
13371 2010-04-03  Bruno Haible  <bruno@clisp.org>
13372
13373         sys_stat: Fix C++ test error on mingw.
13374         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
13375         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
13376
13377 2010-04-03  Bruno Haible  <bruno@clisp.org>
13378
13379         pty: Update doc.
13380         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
13381
13382 2010-04-03  Bruno Haible  <bruno@clisp.org>
13383
13384         unistd: Fix C++ test error on mingw.
13385         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
13386
13387 2010-04-03  Bruno Haible  <bruno@clisp.org>
13388
13389         Update doc regarding mingw.
13390         * doc/glibc-functions/openpty.texi: Update regarding mingw.
13391         * doc/glibc-functions/login_tty.texi: Likewise.
13392         * doc/glibc-functions/forkpty.texi: Likewise.
13393
13394 2010-04-03  Bruno Haible  <bruno@clisp.org>
13395
13396         stdlib: Avoid compilation failure of c-strtold on mingw.
13397         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
13398
13399 2010-04-03  Bruno Haible  <bruno@clisp.org>
13400
13401         locale: Make C++ tests work on Cygwin and mingw.
13402         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
13403         cannot provide the function.
13404         Reported by Simon Josefsson.
13405
13406 2010-04-03  Bruno Haible  <bruno@clisp.org>
13407
13408         localename: Port to MacOS X 10.6.
13409         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
13410         memory layout of the locales in MacOS X 10.6 as well.
13411         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
13412
13413 2010-04-02  Bruno Haible  <bruno@clisp.org>
13414
13415         gnulib-tool: Ensure that long-running tests are executed last.
13416         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
13417         running tests after the one for the other tests.
13418
13419 2010-04-02  Bruno Haible  <bruno@clisp.org>
13420
13421         gnulib-tool: Ensure the tests in the main directory are executed first.
13422         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
13423         start with the current directory.
13424
13425 2010-04-02  Bruno Haible  <bruno@clisp.org>
13426
13427         Tests for module 'havelib', moved here from GNU gettext.
13428         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
13429         modifications.
13430         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
13431         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
13432         with modifications.
13433         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
13434         modifications.
13435         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
13436         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
13437         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
13438         with modifications.
13439         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
13440         with modifications.
13441         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
13442         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
13443         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
13444         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
13445         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
13446         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
13447         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
13448         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
13449         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
13450         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
13451         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
13452         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
13453         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
13454         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
13455         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
13456         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
13457         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
13458         with modifications.
13459         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
13460         with modifications.
13461         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
13462         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
13463         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
13464         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
13465         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
13466         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
13467         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
13468         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
13469         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
13470         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
13471         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
13472         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
13473         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
13474         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
13475         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
13476         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
13477         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
13478         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
13479         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
13480         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
13481         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
13482         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
13483         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
13484         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
13485         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
13486         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
13487         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
13488         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
13489         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
13490         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
13491         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
13492         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
13493         * tests/havelib/rpathx/rpathx.c: New file, from
13494         gettext/autoconf-lib-link.
13495         * tests/havelib/rpathx/Makefile.am: New file, from
13496         gettext/autoconf-lib-link.
13497         * tests/havelib/rpathx/configure.ac: New file, from
13498         gettext/autoconf-lib-link with modifications.
13499         * tests/havelib/rpathy/rpathy.c: New file, from
13500         gettext/autoconf-lib-link.
13501         * tests/havelib/rpathy/Makefile.am: New file, from
13502         gettext/autoconf-lib-link.
13503         * tests/havelib/rpathy/configure.ac: New file, from
13504         gettext/autoconf-lib-link with modifications.
13505         * tests/havelib/rpathz/rpathz.c: New file, from
13506         gettext/autoconf-lib-link.
13507         * tests/havelib/rpathz/Makefile.am: New file, from
13508         gettext/autoconf-lib-link.
13509         * tests/havelib/rpathz/configure.ac: New file, from
13510         gettext/autoconf-lib-link with modifications.
13511         * tests/havelib/rpathlx/usex.c: New file, from
13512         gettext/autoconf-lib-link.
13513         * tests/havelib/rpathlx/Makefile.am: New file, from
13514         gettext/autoconf-lib-link.
13515         * tests/havelib/rpathlx/configure.ac: New file, from
13516         gettext/autoconf-lib-link with modifications.
13517         * tests/havelib/rpathly/usey.c: New file, from
13518         gettext/autoconf-lib-link.
13519         * tests/havelib/rpathly/Makefile.am: New file, from
13520         gettext/autoconf-lib-link.
13521         * tests/havelib/rpathly/configure.ac: New file, from
13522         gettext/autoconf-lib-link with modifications.
13523         * tests/havelib/rpathlz/usez.c: New file, from
13524         gettext/autoconf-lib-link.
13525         * tests/havelib/rpathlz/Makefile.am: New file, from
13526         gettext/autoconf-lib-link.
13527         * tests/havelib/rpathlz/configure.ac: New file, from
13528         gettext/autoconf-lib-link with modifications.
13529         * tests/havelib/rpathlyx/usey.c: New file, from
13530         gettext/autoconf-lib-link.
13531         * tests/havelib/rpathlyx/Makefile.am: New file, from
13532         gettext/autoconf-lib-link.
13533         * tests/havelib/rpathlyx/configure.ac: New file, from
13534         gettext/autoconf-lib-link with modifications.
13535         * tests/havelib/rpathlzyx/usez.c: New file, from
13536         gettext/autoconf-lib-link.
13537         * tests/havelib/rpathlzyx/Makefile.am: New file, from
13538         gettext/autoconf-lib-link.
13539         * tests/havelib/rpathlzyx/configure.ac: New file, from
13540         gettext/autoconf-lib-link with modifications.
13541         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
13542         with modifications.
13543
13544 2010-04-02  Bruno Haible  <bruno@clisp.org>
13545
13546         gnulib-tool: Create distributed built sources also for the tests.
13547         * gnulib-tool (func_create_testdir): Also generate distributed built
13548         sources in the tests directory.
13549
13550 2010-04-02  Bruno Haible  <bruno@clisp.org>
13551
13552         gnulib-tool: Obey user's environment variables.
13553         * gnulib-tool (func_create_testdir): When creating built sources,
13554         respect the environment variables for autoconf, automake, etc. given by
13555         the user.
13556
13557 2010-04-02  Bruno Haible  <bruno@clisp.org>
13558
13559         gnulib-tool: Provide the value of --m4-base to modules.
13560         * gnulib-tool (func_import, func_create_testdir): Emit a definition
13561         of gl_m4_base.
13562
13563 2010-04-02  Eric Blake  <eblake@redhat.com>
13564
13565         maint.mk: fix some fallout
13566         * NEWS: Document the incompatible change, and its effect on cfg.mk.
13567         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
13568
13569 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13570
13571         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
13572         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
13573         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
13574         (sc_cast_of_x_alloc_return_value): Likewise.
13575         (sc_cast_of_alloca_return_value): Likewise.
13576         (sc_space_tab): Likewise.
13577         (sc_prohibit_atoi_atof): Likewise.
13578         (sc_prohibit_magic_number_exit): Likewise.
13579         (sc_error_exit_success): Likewise.
13580         (sc_file_system): Likewise.
13581         (sc_prohibit_have_config_h): Likewise.
13582         (sc_require_config_h): Likewise.
13583         (sc_prohibit_HAVE_MBRTOWC): Likewise.
13584         (sc_obsolete_symbols): Likewise.
13585         (sc_changelog): Likewise.
13586         (sc_program_name): Likewise.
13587         (sc_the_the): Likewise.
13588         (sc_trailing_blank): Likewise.
13589         (sc_two_space_separator_in_usage): Likewise.
13590         (sc_useless_cpp_parens): Likewise.
13591         (sc_GPL_version): Likewise.
13592         (sc_GFDL_version): Likewise.
13593         (sc_texinfo_acronym): Likewise.
13594         (sc_prohibit_cvs_keyword): Likewise.
13595         (sc_prohibit_stat_st_blocks): Likewise.
13596         (sc_prohibit_S_IS_definition): Likewise.
13597         (sc_redundant_const): Likewise.
13598         (sc_makefile_TAB_only_indentation): Likewise.
13599         (sc_m4_quote_check): Likewise.
13600         (sc_makefile_path_separator_check): Likewise.
13601         (sc_copyright_check): Likewise.
13602         (sc_Wundef_boolean): Likewise.
13603         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
13604
13605         maint.mk: match 0 or more whitespace-before-function-call '('
13606         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
13607         that have zero or two-and-more spaces between the function name
13608         and the open parenthesis.
13609         (sc_error_message_warn_fatal): Likewise.
13610         (sc_error_message_uppercase): Likewise.
13611         (sc_error_message_period): Likewise.
13612
13613 2010-03-31  Eric Blake  <eblake@redhat.com>
13614
13615         maint.mk: check for [ as well as test
13616         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
13617         Based on a libvirt report by Matthias Bolte.
13618
13619         gnumakefile: don't squelch _version output
13620         * top/GNUmakefile (_version): Create one-shot dependency rather
13621         than using $(shell) when version must be regenerated.
13622         (_autoreconf): Run verbosely, by default.
13623
13624         sys_time: avoid compiler warnings
13625         * lib/sys_time.in.h (includes): Ensure gcc pragma is
13626         unconditional, fixing regression from 2010-03-29.
13627         Reported by Simon Josefsson.
13628
13629 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13630
13631         maint.mk: s/_header_without_use/_sc_header_without_use/
13632         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
13633         (sc_prohibit_assert_without_use): Use the new name.
13634         (sc_prohibit_close_stream_without_use): Likewise.
13635         (sc_prohibit_getopt_without_use): Likewise.
13636         (sc_prohibit_quotearg_without_use): Likewise.
13637         (sc_prohibit_quote_without_use): Likewise.
13638         (sc_prohibit_long_options_without_use): Likewise.
13639         (sc_prohibit_inttostr_without_use): Likewise.
13640         (sc_prohibit_ignore_value_without_use): Likewise.
13641         (sc_prohibit_error_without_use): Likewise.
13642         (sc_prohibit_xalloc_without_use): Likewise.
13643         (sc_prohibit_hash_without_use): Likewise.
13644         (sc_prohibit_hash_pjw_without_use): Likewise.
13645         (sc_prohibit_safe_read_without_use): Likewise.
13646         (sc_prohibit_argmatch_without_use): Likewise.
13647         (sc_prohibit_canonicalize_without_use): Likewise.
13648         (sc_prohibit_root_dev_ino_without_use): Likewise.
13649         (sc_prohibit_openat_without_use): Likewise.
13650         (sc_prohibit_c_ctype_without_use): Likewise.
13651         (sc_prohibit_signal_without_use): Likewise.
13652         (sc_prohibit_intprops_without_use): Likewise.
13653
13654 2010-03-30  Eric Blake  <eblake@redhat.com>
13655
13656         maint: improve module indicators
13657         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
13658         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
13659         columns, and avoid extra macro expansion.
13660
13661         fdopendir: work around FreeBSD bug
13662         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13663         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
13664         * modules/dirent (Makefile.am): Substitute it.
13665         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
13666         declaration.
13667         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
13668         fix.
13669         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13670
13671 2010-03-29  Bruno Haible  <bruno@clisp.org>
13672
13673         Emit #pragma system_header after the inclusion guard, not before.
13674         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
13675         guard that spans the entire file, not before. This enables an
13676         optimization in GCC's preprocessor.
13677         * lib/ctype.in.h: Likewise.
13678         * lib/dirent.in.h: Likewise.
13679         * lib/errno.in.h: Likewise.
13680         * lib/float.in.h: Likewise.
13681         * lib/getopt.in.h: Likewise.
13682         * lib/iconv.in.h: Likewise.
13683         * lib/langinfo.in.h: Likewise.
13684         * lib/locale.in.h: Likewise.
13685         * lib/math.in.h: Likewise.
13686         * lib/netdb.in.h: Likewise.
13687         * lib/netinet_in.in.h: Likewise.
13688         * lib/pty.in.h: Likewise.
13689         * lib/sched.in.h: Likewise.
13690         * lib/se-selinux.in.h: Likewise.
13691         * lib/search.in.h: Likewise.
13692         * lib/spawn.in.h: Likewise.
13693         * lib/stdarg.in.h: Likewise.
13694         * lib/stdint.in.h: Likewise.
13695         * lib/string.in.h: Likewise.
13696         * lib/strings.in.h: Likewise.
13697         * lib/sys_file.in.h: Likewise.
13698         * lib/sys_ioctl.in.h: Likewise.
13699         * lib/sys_time.in.h: Likewise.
13700         * lib/sys_times.in.h: Likewise.
13701         * lib/sys_utsname.in.h: Likewise.
13702         * lib/sys_wait.in.h: Likewise.
13703         * lib/sysexits.in.h: Likewise.
13704         * lib/wctype.in.h: Likewise.
13705
13706 2010-03-28  James Youngman  <jay@gnu.org>
13707
13708         save-cwd: don't leak a file descriptor when the caller execs.
13709         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13710         saved file descriptor.
13711         * modules/save-cwd (Depends-on): Depend on cloexec.
13712
13713 2010-03-29  Bruno Haible  <bruno@clisp.org>
13714
13715         Remove vestiges of fts-lgpl module.
13716         * lib/fts_.h: Assume GNULIB_FTS is 1.
13717         * lib/fts.c: Likewise.
13718         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13719
13720 2010-03-28  Bruno Haible  <bruno@clisp.org>
13721
13722         Fix definition of tests witness macro.
13723         * gnulib-tool (func_import): Fix definition of witness macro.
13724
13725 2010-03-28  Bruno Haible  <bruno@clisp.org>
13726
13727         Fix ioctl's protoype on glibc systems.
13728         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13729         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13730         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13731         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13732         signature. If not, arrange to replace the ioctl function.
13733         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13734         REPLACE_IOCTL.
13735         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13736         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13737         Reported by Ludovic Courtès <ludo@gnu.org>.
13738
13739 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13740
13741         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13742         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13743         made it so grep -r --include=GLOB* ... did not work.
13744
13745 2010-03-26  Jim Meyering  <meyering@redhat.com>
13746             Eric Blake  <eblake@redhat.com>
13747
13748         maint.mk: prohibit use of test's -o and -a operators
13749         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13750
13751 2010-03-28  Bruno Haible  <bruno@clisp.org>
13752
13753         Remove unused GNULIB_XYZ macro definitions.
13754         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13755         invocation.
13756
13757 2010-03-28  Bruno Haible  <bruno@clisp.org>
13758
13759         Mark privileged tests modules.
13760         * modules/idpriv-drop-tests (Status): New section.
13761         * modules/idpriv-droptemp-tests (Status): New section.
13762
13763 2010-03-28  Bruno Haible  <bruno@clisp.org>
13764
13765         Split C++ tests into separate tests modules.
13766         * modules/dirent-c++-tests: New file, extracted from
13767         modules/dirent-tests.
13768         * modules/dirent-tests: Depend on it.
13769         * modules/fcntl-h-c++-tests: New file, extracted from
13770         modules/fcntl-h-tests.
13771         * modules/fcntl-h-tests: Depend on it.
13772         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13773         * modules/glob-tests: Depend on it.
13774         * modules/iconv-h-c++-tests: New file, extracted from
13775         modules/iconv-h-tests.
13776         * modules/iconv-h-tests: Depend on it.
13777         * modules/langinfo-c++-tests: New file, extracted from
13778         modules/langinfo-tests.
13779         * modules/langinfo-tests: Depend on it.
13780         * modules/locale-c++-tests: New file, extracted from
13781         modules/locale-tests.
13782         * modules/locale-tests: Depend on it.
13783         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13784         * modules/math-tests: Depend on it.
13785         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13786         * modules/pty-tests: Depend on it.
13787         * modules/search-c++-tests: New file, extracted from
13788         modules/search-tests.
13789         * modules/search-tests: Depend on it.
13790         * modules/signal-c++-tests: New file, extracted from
13791         modules/signal-tests.
13792         * modules/signal-tests: Depend on it.
13793         * modules/spawn-c++-tests: New file, extracted from
13794         modules/spawn-tests.
13795         * modules/spawn-tests: Depend on it.
13796         * modules/stdio-c++-tests: New file, extracted from
13797         modules/stdio-tests.
13798         * modules/stdio-tests: Depend on it.
13799         * modules/stdlib-c++-tests: New file, extracted from
13800         modules/stdlib-tests.
13801         * modules/stdlib-tests: Depend on it.
13802         * modules/string-c++-tests: New file, extracted from
13803         modules/string-tests.
13804         * modules/string-tests: Depend on it.
13805         * modules/sys_ioctl-c++-tests: New file, extracted from
13806         modules/sys_ioctl-tests.
13807         * modules/sys_ioctl-tests: Depend on it.
13808         * modules/sys_select-c++-tests: New file, extracted from
13809         modules/sys_select-tests.
13810         * modules/sys_select-tests: Depend on it.
13811         * modules/sys_socket-c++-tests: New file, extracted from
13812         modules/sys_socket-tests.
13813         * modules/sys_socket-tests: Depend on it.
13814         * modules/sys_stat-c++-tests: New file, extracted from
13815         modules/sys_stat-tests.
13816         * modules/sys_stat-tests: Depend on it.
13817         * modules/sys_time-c++-tests: New file, extracted from
13818         modules/sys_time-tests.
13819         * modules/sys_time-tests: Depend on it.
13820         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13821         * modules/time-tests: Depend on it.
13822         * modules/unistd-c++-tests: New file, extracted from
13823         modules/unistd-tests.
13824         * modules/unistd-tests: Depend on it.
13825         * modules/wchar-c++-tests: New file, extracted from
13826         modules/wchar-tests.
13827         * modules/wchar-tests: Depend on it.
13828         * modules/wctype-c++-tests: New file, extracted from
13829         modules/wctype-tests.
13830         * modules/wctype-tests: Depend on it.
13831         Reported by Simon Josefsson.
13832
13833 2010-03-28  Bruno Haible  <bruno@clisp.org>
13834
13835         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13836         * gnulib-tool (func_exists_module): New function, extracted from
13837         func_verify_module.
13838         (func_verify_module): Use it.
13839         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13840         'foo' only if 'foo' exists.
13841         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13842         module.
13843
13844 2010-03-28  Bruno Haible  <bruno@clisp.org>
13845
13846         gnulib-tool: Add support for special categories of tests.
13847         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13848         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13849         (func_usage): Document them.
13850         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13851         inc_unportable_tests, inc_all_tests): New variables.
13852         (func_acceptable): Consider these variables.
13853         (func_modules_transitive_closure): Make it work when the 'Status' field
13854         consists of multiple words.
13855         (func_import): Store and restore the values of inc_cxx_tests,
13856         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13857         inc_all_tests in gnulib-comp.m4.
13858         (func_create_testdir): Set inc_all_tests to true.
13859         * doc/gnulib.texi (Extra tests modules): New section.
13860         Suggested by Jim Meyering.
13861
13862 2010-03-28  Bruno Haible  <bruno@clisp.org>
13863
13864         ansi-c++-opt: Allow turning off the C++ build by default.
13865         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13866         gl_CXX_CHOICE_DEFAULT_NO is defined.
13867         Requested by Eric Blake.
13868
13869 2010-03-28  Bruno Haible  <bruno@clisp.org>
13870
13871         unistd: Avoid #define replacements in C++ mode.
13872         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13873         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13874         setsockopt, shutdown, select): In C++, attach a warning to the function
13875         if possible, rather than #defining the symbol to a dysfunctional alias.
13876         Reported by John W. Eaton <jwe@gnu.org>.
13877
13878 2010-03-28  Bruno Haible  <bruno@clisp.org>
13879
13880         Fix link errors on mingw.
13881         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13882         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13883         $(LIBSOCKET).
13884         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13885         $(LIBSOCKET).
13886
13887 2010-03-28  Bruno Haible  <bruno@clisp.org>
13888             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13889
13890         lib-ignore: Determine different options for different compilers.
13891         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13892         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13893         Add comments.
13894         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13895         * NEWS: Mention the change.
13896
13897 2010-03-27  Bruno Haible  <bruno@clisp.org>
13898
13899         Remove unused GNULIB_XYZ macro definitions.
13900         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13901         * modules/fseek (configure.ac): Likewise.
13902         * modules/ioctl (configure.ac): Likewise.
13903         * modules/open (configure.ac): Likewise.
13904         * modules/stdlib-safer (configure.ac): Likewise.
13905
13906 2010-03-27  Bruno Haible  <bruno@clisp.org>
13907
13908         Add a remark about certain modules.
13909         * modules/malloc (Comment): New section.
13910         * modules/realloc (Comment): Likewise.
13911         * modules/sigpipe (Comment): Likewise.
13912
13913 2010-03-27  Bruno Haible  <bruno@clisp.org>
13914
13915         Resolve conflict between the two kinds of module indicators.
13916         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13917         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13918         * modules/canonicalize (configure.ac): Invoke
13919         gl_MODULE_INDICATOR_FOR_TESTS.
13920         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13921         GNULIB_XYZ.
13922         * tests/test-dirent-c++.cc: Likewise.
13923         * tests/test-dirent-safer.c: Likewise.
13924         * tests/test-dup2.c: Likewise.
13925         * tests/test-fchdir.c: Likewise.
13926         * tests/test-fcntl-h-c++.cc: Likewise.
13927         * tests/test-getopt.c: Likewise.
13928         * tests/test-getopt.h: Likewise.
13929         * tests/test-langinfo-c++.cc: Likewise.
13930         * tests/test-locale-c++.cc: Likewise.
13931         * tests/test-math-c++.cc: Likewise.
13932         * tests/test-pty-c++.cc: Likewise.
13933         * tests/test-search-c++.cc: Likewise.
13934         * tests/test-signal-c++.cc: Likewise.
13935         * tests/test-spawn-c++.cc: Likewise.
13936         * tests/test-stdio-c++.cc: Likewise.
13937         * tests/test-stdlib-c++.cc: Likewise.
13938         * tests/test-string-c++.cc: Likewise.
13939         * tests/test-sys_ioctl-c++.cc: Likewise.
13940         * tests/test-sys_select-c++.cc: Likewise.
13941         * tests/test-sys_socket-c++.cc: Likewise.
13942         * tests/test-sys_stat-c++.cc: Likewise.
13943         * tests/test-sys_time-c++.cc: Likewise.
13944         * tests/test-time-c++.cc: Likewise.
13945         * tests/test-unistd-c++.cc: Likewise.
13946         * tests/test-wchar-c++.cc: Likewise.
13947         * tests/uninorm/test-u8-nfc.c: Likewise.
13948         * tests/uninorm/test-u8-nfd.c: Likewise.
13949         * tests/uninorm/test-u8-nfkc.c: Likewise.
13950         * tests/uninorm/test-u8-nfkd.c: Likewise.
13951         * tests/uninorm/test-u16-nfc.c: Likewise.
13952         * tests/uninorm/test-u16-nfd.c: Likewise.
13953         * tests/uninorm/test-u16-nfkc.c: Likewise.
13954         * tests/uninorm/test-u16-nfkd.c: Likewise.
13955         * tests/uninorm/test-u32-nfc.c: Likewise.
13956         * tests/uninorm/test-u32-nfc-big.c: Likewise.
13957         * tests/uninorm/test-u32-nfd.c: Likewise.
13958         * tests/uninorm/test-u32-nfd-big.c: Likewise.
13959         * tests/uninorm/test-u32-nfkc.c: Likewise.
13960         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
13961         * tests/uninorm/test-u32-nfkd.c: Likewise.
13962         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
13963         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13964
13965 2010-03-27  Bruno Haible  <bruno@clisp.org>
13966
13967         Distinguish two kinds of module indicators.
13968         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
13969         gl_MODULE_INDICATOR.
13970         (gl_MODULE_INDICATOR): New macro.
13971         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13972         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
13973         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13974         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13975         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13976         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13977         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13978         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13979         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13980         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13981         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13982         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13983         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13984         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13985         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13986         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13987         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13988         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13989         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13990         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13991         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13992         * modules/cloexec (configure.ac): Likewise.
13993         * modules/getopt-gnu (configure.ac): Likewise.
13994         * modules/uninorm/u8-normalize (configure.ac): Likewise.
13995         * modules/uninorm/u16-normalize (configure.ac): Likewise.
13996         * modules/uninorm/u32-normalize (configure.ac): Likewise.
13997         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
13998
13999 2010-03-27  Bruno Haible  <bruno@clisp.org>
14000
14001         New module description field 'Comment'.
14002         * gnulib-tool: New option --extract-comment.
14003         (func_usage): Document it.
14004         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
14005         (func_get_comment): New function.
14006         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
14007
14008 2010-03-27  Bruno Haible  <bruno@clisp.org>
14009
14010         Addendum to 2010-02-07 commit.
14011         * gnulib-tool (func_usage): Document --extract-applicability option.
14012
14013 2010-03-27  Bruno Haible  <bruno@clisp.org>
14014
14015         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
14016         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
14017         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
14018         rather than link errors.
14019
14020 2010-03-27  Bruno Haible  <bruno@clisp.org>
14021
14022         Avoid side effects from tests-related modules on the compilation of lib.
14023         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
14024         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
14025         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
14026         parameter. Emit into AM_CPPFLAGS a definition of the designated C
14027         macro.
14028         (func_import): Define a witness macro. Assign it a value that depends
14029         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
14030         tests-related modules.
14031         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
14032         Reported by Jim Meyering.
14033
14034 2010-03-27  Bruno Haible  <bruno@clisp.org>
14035
14036         Factorize common .m4 code.
14037         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
14038         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
14039         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
14040         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
14041         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14042         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
14043         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
14044         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14045         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14046         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14047         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
14048         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14049         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14050         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14051         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14052         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
14053         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14054         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14055         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14056         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
14057         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
14058         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14059         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14060         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14061         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14062         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14063         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
14064         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
14065         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
14066         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14067         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14068         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14069
14070 2010-03-27  Bruno Haible  <bruno@clisp.org>
14071
14072         Fix a compilation error on Cygwin with g++ >= 4.3.
14073         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
14074         if it is undefined or if we alias it to chmod.
14075         (lstat): Don't warn about the use of this function if it is undefined
14076         or if we alias it to stat.
14077         Reported by Simon Josefsson.
14078
14079 2010-03-27  Bruno Haible  <bruno@clisp.org>
14080
14081         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
14082         * modules/getlogin (configure.ac): Update.
14083
14084         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
14085         * modules/getlogin_r (configure.ac): Update.
14086
14087         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
14088         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
14089         * modules/inet_ntop (configure.ac): Update.
14090
14091         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
14092         * modules/inet_pton (configure.ac): Update.
14093
14094         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
14095         * modules/mbslen (configure.ac): Update.
14096
14097         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
14098         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
14099         * modules/forkpty (configure.ac): Update.
14100         * modules/openpty (configure.ac): Update.
14101
14102 2010-03-26  Simon Josefsson  <simon@josefsson.org>
14103
14104         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
14105         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
14106
14107 2010-03-25  Eric Blake  <eblake@redhat.com>
14108
14109         maint: use pragma consistently across replacement headers
14110         * lib/ctype.in.h (system_header): Hoist for consistent placement.
14111         * lib/dirent.in.h (system_header): Likewise.
14112         * lib/errno.in.h (system_header): Likewise.
14113         * lib/float.in.h (system_header): Likewise.
14114         * lib/getopt.in.h (system_header): Likewise.
14115         * lib/iconv.in.h (system_header): Likewise.
14116         * lib/inttypes.in.h (system_header): Likewise.
14117         * lib/langinfo.in.h (system_header): Likewise.
14118         * lib/locale.in.h (system_header): Likewise.
14119         * lib/math.in.h (system_header): Likewise.
14120         * lib/netdb.in.h (system_header): Likewise.
14121         * lib/netinet_in.in.h (system_header): Likewise.
14122         * lib/pty.in.h (system_header): Likewise.
14123         * lib/sched.in.h (system_header): Likewise.
14124         * lib/se-selinux.in.h (system_header): Likewise.
14125         * lib/search.in.h (system_header): Likewise.
14126         * lib/spawn.in.h (system_header): Likewise.
14127         * lib/stdarg.in.h (system_header): Likewise.
14128         * lib/stdint.in.h (system_header): Likewise.
14129         * lib/string.in.h (system_header): Likewise.
14130         * lib/strings.in.h (system_header): Likewise.
14131         * lib/sys_file.in.h (system_header): Likewise.
14132         * lib/sys_ioctl.in.h (system_header): Likewise.
14133         * lib/sys_socket.in.h (system_header): Likewise.
14134         * lib/sys_times.in.h (system_header): Likewise.
14135         * lib/sys_utsname.in.h (system_header): Likewise.
14136         * lib/sys_wait.in.h (system_header): Likewise.
14137         * lib/sysexits.in.h (system_header): Likewise.
14138         * lib/unistd.in.h (system_header): Likewise.
14139         * lib/wctype.in.h (system_header): Likewise.
14140
14141         arpa/inet: fix mingw compilation warning
14142         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
14143         Reported by Matthew Bolte.
14144
14145 2010-03-25  Bruno Haible  <bruno@clisp.org>
14146
14147         Avoid collision between gnulib wrapper and libintl wrapper.
14148         * lib/printf.c (printf): Don't define if a printf wrapper is already
14149         defined in intl/printf.c.
14150         Reported by Michel Boaventura <michel@michelboaventura.com>.
14151
14152 2010-03-25  Bruno Haible  <bruno@clisp.org>
14153
14154         Use ANSI C.
14155         * lib/readutmp.h (getutent): Provide ANSI C prototype.
14156
14157 2010-03-25  Bruno Haible  <bruno@clisp.org>
14158
14159         Minor formatting changes.
14160         * lib/acosl.c: Insert space before function argument list.
14161         * lib/argz.c: Likewise.
14162         * lib/asinl.c: Likewise.
14163         * lib/expl.c: Likewise.
14164         * lib/gen-uni-tables.c: Likewise.
14165         * lib/gettext.h: Likewise.
14166         * lib/glthread/lock.h: Likewise.
14167         * lib/tanl.c: Likewise.
14168         * lib/uniname/uniname.c: Likewise.
14169         * tests/test-idpriv-drop.c: Likewise.
14170         * tests/test-idpriv-droptemp.c: Likewise.
14171         * tests/test-lock.c: Likewise.
14172         * tests/test-tls.c: Likewise.
14173         * lib/argp-help.c: Insert space before function-like macro argument
14174         list.
14175         * lib/memcmp.c: Likewise.
14176         * tests/test-base64.c: Likewise.
14177         * lib/localename.c: Insert space before sizeof's argument list.
14178         * lib/safe-alloc.h: Likewise.
14179         * lib/file-set.h: Insert space before macro argument list.
14180         * tests/test-argp.c: Likewise.
14181         * lib/argp-namefrob.h: Insert space before function parameter list.
14182         * lib/getaddrinfo.c: Likewise.
14183         * lib/netdb.in.h: Likewise.
14184         * lib/parse-duration.h: Likewise.
14185         * lib/parse-duration.c: Likewise.
14186         * lib/poll.c: Likewise.
14187         * lib/select.c: Likewise.
14188         * lib/trim.h: Likewise.
14189         * tests/test-usleep.c: Likewise.
14190         * lib/ldexpl.c: Insert space before function parameter list and before
14191         function argument list.
14192         * lib/logl.c: Likewise.
14193         * lib/sqrtl.c: Likewise.
14194         * lib/trim.c: Likewise.
14195         * lib/cosl.c: Use GNU style indentation. Insert space before function
14196         argument list.
14197         * lib/sinl.c: Likewise.
14198         * lib/tsearch.c: Insert space after 'for'.
14199         Reported by Jim Meyering.
14200
14201 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
14202
14203         * maint.mk (sc_Wundef_boolean): Check for the presence of the
14204         config header before grepping, as it's not present before
14205         autoreconf/configure are run.  Reported by Simon Josefsson.
14206
14207 2010-03-23  Bruno Haible  <bruno@clisp.org>
14208
14209         pt_chown: Make it work with automake < 1.11.
14210         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
14211         Reported by Simon Josefsson.
14212
14213 2010-03-23  Bruno Haible  <bruno@clisp.org>
14214
14215         pt_chown: Don't depend on GPLed modules.
14216         * lib/pt_chown.c: Don't include idpriv.h.
14217         (main): Don't drop privileges.
14218         * modules/pt_chown (Depends-on): Remove idpriv-drop.
14219         Reported by Simon Josefsson.
14220
14221 2010-03-24  Simon Josefsson  <simon@josefsson.org>
14222
14223         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
14224         suggestions from karl@freefriends.org (Karl Berry).
14225
14226 2010-03-22  Eric Blake  <eblake@redhat.com>
14227
14228         gethostname: further tweaks
14229         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
14230         are overriding gethostname.
14231         Suggested by Bruno Haible.
14232
14233 2010-03-21  Bruno Haible  <bruno@clisp.org>
14234
14235         Fix comments.
14236         * lib/forkpty.c (rpl_forkpty): Fix comment.
14237         * lib/openpty.c (rpl_openpty): Likewise.
14238         Reported by Eric Blake.
14239
14240 2010-03-22  Eric Blake  <eblake@redhat.com>
14241
14242         gethostname: fix build on mingw
14243         * lib/unistd.in.h (includes): Work around fact that mingw
14244         <winsock2.h> re-includes <unistd.h>, by avoiding any
14245         redeclarations if we are being included by <winsock2.h>.
14246         Reported by Matthias Bolte.
14247
14248 2010-03-21  Bruno Haible  <bruno@clisp.org>
14249
14250         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14251         * lib/forkpty.c (forkpty): New replacement function, from glibc with
14252         modifications.
14253         * lib/pty.in.h (forkpty): Update declaration. Add comments.
14254         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
14255         provide the replacement.
14256         * modules/forkpty (Depends-on): Add openpty, login_tty.
14257         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
14258         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
14259         * doc/glibc-functions/forkpty.texi: More supported platforms.
14260         * config/srclist.txt: Add forkpty.c (commented).
14261
14262 2010-03-21  Bruno Haible  <bruno@clisp.org>
14263
14264         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
14265         (Makefile.am): Verify that PTY_LIB is defined.
14266
14267         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
14268
14269 2010-03-21  Bruno Haible  <bruno@clisp.org>
14270
14271         Tests for module 'login_tty'.
14272         * modules/login_tty-tests: New file.
14273         * tests/test-login_tty.c: New file.
14274
14275         New module 'login_tty'.
14276         * lib/login_tty.c: New file.
14277         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
14278         * modules/login_tty: New file.
14279         * doc/glibc-functions/login_tty.texi: Mention the new module.
14280
14281 2010-03-21  Bruno Haible  <bruno@clisp.org>
14282
14283         login_tty: Documentation.
14284         * doc/glibc-functions/login_tty.texi: New file.
14285         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
14286
14287 2010-03-21  Bruno Haible  <bruno@clisp.org>
14288
14289         pty: Consistent macro naming.
14290         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
14291         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
14292         * modules/pty (configure.ac): Update.
14293
14294 2010-03-21  Bruno Haible  <bruno@clisp.org>
14295
14296         Tests for openpty: Make stricter.
14297         * tests/test-openpty.c (main): Add test of canonical processing and
14298         erase.
14299         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
14300
14301         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14302         * lib/openpty.c (openpty): New replacement function.
14303         * lib/pty.in.h: Include <termios.h>.
14304         (openpty): Update declaration. Add comments.
14305         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
14306         is not declared, arrange to provide the replacement. Check for _getpty
14307         and posix_openpt.
14308         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
14309         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
14310         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
14311         * modules/pty-tests (test_pty_c___LDADD): New variable.
14312         * doc/glibc-functions/openpty.texi: More supported platforms.
14313
14314 2010-03-21  Bruno Haible  <bruno@clisp.org>
14315
14316         setenv: Tweaks.
14317         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
14318         the test program.
14319         * doc/posix-functions/setenv.texi: Update platforms list.
14320
14321 2010-03-21  Bruno Haible  <bruno@clisp.org>
14322
14323         New module 'unlockpt'.
14324         * lib/unlockpt.c: New file, from glibc with modifications.
14325         * m4/unlockpt.m4: New file.
14326         * modules/unlockpt: New file.
14327         * lib/stdlib.in.h (unlockpt): New declaration.
14328         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
14329         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
14330         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
14331         HAVE_UNLOCKPT.
14332         * doc/posix-functions/unlockpt.texi: Mention the new module.
14333         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
14334         * config/srclist.txt: Add unlockpt.c (commented).
14335
14336 2010-03-21  Jim Meyering  <meyering@redhat.com>
14337
14338         maint.mk: prohibit inclusion of "intprops.h" without use
14339         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
14340
14341 2010-03-21  Bruno Haible  <bruno@clisp.org>
14342
14343         New module 'grantpt'.
14344         * lib/grantpt.c: New file, from glibc with modifications.
14345         * m4/grantpt.m4: New file.
14346         * modules/grantpt: New file.
14347         * lib/stdlib.in.h (grantpt): New declaration.
14348         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
14349         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
14350         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
14351         HAVE_GRANTPT.
14352         * doc/posix-functions/grantpt.texi: Mention the new module.
14353         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
14354         * config/srclist.txt: Add grantpt.c (commented).
14355
14356 2010-03-21  Bruno Haible  <bruno@clisp.org>
14357
14358         New module 'pt_chown'.
14359         * lib/pt_chown.c: New file, from glibc with modifications.
14360         * lib/pty-private.h: New file, from glibc with modifications.
14361         * modules/pt_chown: New file.
14362         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
14363
14364 2010-03-21  Bruno Haible  <bruno@clisp.org>
14365
14366         Tests for module 'ptsname'.
14367         * modules/ptsname-tests: New file.
14368         * tests/test-ptsname.c: New file.
14369
14370         New module 'ptsname'.
14371         * lib/ptsname.c: New file, from glibc with modifications.
14372         * m4/ptsname.m4: New file.
14373         * modules/ptsname: New file.
14374         * lib/stdlib.in.h (ptsname): New declaration.
14375         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
14376         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
14377         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
14378         HAVE_PTSNAME.
14379         * doc/posix-functions/ptsname.texi: Mention the new module.
14380         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
14381         * config/srclist.txt: Add ptsname.c (commented).
14382
14383 2010-03-21  Bruno Haible  <bruno@clisp.org>
14384
14385         Tests for module 'ttyname_r'.
14386         * modules/ttyname_r-tests: New file.
14387         * tests/test-ttyname_r.c: New file.
14388
14389         New module 'ttyname_r'.
14390         * lib/ttyname_r.c: New file.
14391         * m4/ttyname_r.m4: New file.
14392         * modules/ttyname_r: New file.
14393         * lib/unistd.in.h (ttyname_r): New declaration.
14394         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
14395         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
14396         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
14397         HAVE_TTYNAME_R.
14398         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
14399         * doc/posix-functions/ttyname_r.texi: Mention the new module.
14400
14401 2010-03-20  Bruno Haible  <bruno@clisp.org>
14402
14403         signal: Undefine macro definitions in C++ mode.
14404         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
14405         sigfillset): Undefine macro definitions from the system header in C++
14406         mode.
14407         Reported by John W. Eaton <jwe@gnu.org>.
14408
14409 2010-03-20  Bruno Haible  <bruno@clisp.org>
14410
14411         Ensure no #include statements inside extern "C" { ... }.
14412         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
14413         contain #include statements.
14414         * lib/time.in.h: Likewise.
14415
14416 2010-03-20  Bruno Haible  <bruno@clisp.org>
14417
14418         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
14419         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
14420         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
14421         Reported by John W. Eaton <jwe@gnu.org>.
14422
14423 2010-03-20  Bruno Haible  <bruno@clisp.org>
14424
14425         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
14426         Reported by Jim Meyering.
14427
14428 2010-03-20  Bruno Haible  <bruno@clisp.org>
14429
14430         pipe: Set errno upon failure.
14431         * lib/pipe.h: Specify that when -1 is returned, errno is set.
14432         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
14433         errno value in error message.
14434
14435 2010-03-20  Bruno Haible  <bruno@clisp.org>
14436             Jim Meyering  <meyering@redhat.com>
14437
14438         lchown: Avoid "unused variable" warning.
14439         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
14440
14441 2010-03-20  Bruno Haible  <bruno@clisp.org>
14442
14443         Work around unlink() bug on MacOS X 10.5.6.
14444         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
14445         attempting to unlink a parent directory.
14446         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
14447         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
14448         activate for the replacement function.
14449         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
14450
14451 2010-03-20  Bruno Haible  <bruno@clisp.org>
14452
14453         Fix link errors on Solaris 8.
14454         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
14455         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
14456
14457 2010-03-19  Jim Meyering  <meyering@redhat.com>
14458
14459         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
14460         The _LIBC implementation of build_range_exp correctly honors the
14461         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
14462         However, the non-_LIBC implementation would ignore that syntax-bit
14463         flag and return REG_ERANGE unconditionally.
14464         This change makes it honor that flag.
14465         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
14466         Make two pointer parameters "const".
14467         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
14468         (parse_bracket_exp): Update caller.
14469
14470         regex.m4: correct the reversed range endpoint ([b-a]) test
14471         * m4/regex.m4: When requiring that [b-a] evoke failure,
14472         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
14473         test pass once again for x86-based systems.
14474
14475 2010-03-19  Bruno Haible  <bruno@clisp.org>
14476
14477         scandir: Fix link error on Solaris 8.
14478         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
14479         macros.
14480
14481 2010-03-19  Bruno Haible  <bruno@clisp.org>
14482
14483         getusershell: Fix documentation.
14484         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
14485         module.
14486         * doc/glibc-functions/setusershell.texi: Likewise.
14487
14488         getusershell: Provide declaration, missing on Solaris 9.
14489         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
14490         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
14491         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
14492         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
14493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14494         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
14495         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
14496         HAVE_GETUSERSHELL.
14497         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
14498
14499 2010-03-19  Bruno Haible  <bruno@clisp.org>
14500
14501         wctype: Provide iswblank function.
14502         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
14503         exists and is fine.
14504         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
14505         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
14506         * tests/test-wctype.c (main): Re-enable the iswblank tests.
14507         * doc/posix-functions/iswblank.texi: Update.
14508
14509 2010-03-19  Bruno Haible  <bruno@clisp.org>
14510
14511         Tests of module 'pty' in C++ mode.
14512         * modules/pty-tests: New file.
14513         * tests/test-pty-c++.cc: New file.
14514         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14515
14516 2010-03-19  Eric Blake  <eblake@redhat.com>
14517
14518         logb: fix documentation
14519         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
14520         1.5 declaration bug.
14521
14522         forkpty, openpty: prefer glibc's const-safe prototype
14523         * lib/forkpty.c (rpl_forkpty): New file.
14524         * lib/openpty.c (rpl_openpty): Likewise.
14525         * modules/forkpty (Files): Distribute it.
14526         * modules/openpty (Files): Likewise.
14527         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
14528         check...
14529         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
14530         replacement for for non-const BSD signature.
14531         * modules/pty (Makefile.am): Substitute witnesses.
14532         * lib/pty.in.h (forkpty, openpty): Declare replacements.
14533         * tests/test-forkpty.c: Update signature check.
14534         * tests/test-openpty.c: Likewise.
14535         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
14536         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14537
14538         forkpty, openpty: split functions into new modules
14539         * modules/pty (Makefile.am): Substitute new witnesses.
14540         (Libraries): Move library detection...
14541         * modules/forkpty: ...into new module.
14542         * modules/openpty: Another new module.
14543         * modules/pty-tests: Rename and split...
14544         * modules/forkpty-tests: ...to this...
14545         * modules/openpty-tests: ...and this.
14546         * tests/test-pty.c: Rename and split...
14547         * tests/test-forkpty.c: ...to this...
14548         * tests/test-openpty.c: ...and this.
14549         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
14550         (gl_PTY): Split library searching...
14551         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
14552         (gl_FORKPTY, gl_OPENPTY): New macros.
14553         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
14554         * NEWS: Mention the split.
14555         * MODULES.html.sh (Misc): Document the modules.
14556         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
14557         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14558
14559         pty: improve replacement header
14560         * lib/pty.in.h: New file.
14561         * modules/pty (Files): Ship it.
14562         (Makefile.am): Always build replacement.
14563         * m4/pty.m4: Rename...
14564         * m4/pty_h.m4: ...to this.
14565         (gl_PTY): Modernize setting of witness macros; update check of
14566         forkpty to take proper advantage of cache.
14567         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
14568
14569         getopt: avoid compiler warning
14570         * lib/getopt.c (attribute_hidden): Remove unused macro.
14571
14572 2010-03-18  Bruno Haible  <bruno@clisp.org>
14573
14574         Fix link errors on Solaris 8.
14575         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
14576         * modules/search-tests (test_search_c___LDADD): Likewise.
14577         * modules/signal-tests (test_signal_c___LDADD): Likewise.
14578         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
14579         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
14580         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
14581         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
14582         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
14583         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
14584
14585 2010-03-18  Bruno Haible  <bruno@clisp.org>
14586
14587         Fix bug introduced on 2010-03-14.
14588         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
14589         (gl_SPAWN_H): Require it.
14590         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
14591         Reported by Simon Josefsson.
14592
14593 2010-03-18  Bruno Haible  <bruno@clisp.org>
14594
14595         Fix typo introduced on 2009-12-31.
14596         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
14597         posix_spawn_file_actions_adddup2.
14598
14599 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
14600         and Eric Blake  <eblake@redhat.com>
14601
14602         test-vc-list-files-git: make more robust
14603         * tests/test-vc-list-files-git.sh: Unset problematic environment
14604         variables.  Chain commands together.
14605
14606 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
14607
14608         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
14609         `AC_CHECK_DECL' invocation.
14610
14611 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
14612
14613         * lib/inttostr.c (inttostr): Make sure the invocation of verify
14614         appears before executable statements. Suggested by Petr Sumbera
14615         <Petr.Sumbera@Sun.COM>.
14616
14617 2010-03-14  Bruno Haible  <bruno@clisp.org>
14618
14619         * tests/test-flock.c (test_exclusive): Comment out a test that causes
14620         portability problems. Instead use a simpler test.
14621         (main): Check that invalid arguments are rejected only on Linux.
14622
14623 2010-03-14  Bruno Haible  <bruno@clisp.org>
14624
14625         Fix bug introduced on 2009-12-31.
14626         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
14627         gl_PREREQ_SYS_H_WINSOCK2 always.
14628         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
14629         SYS_SOCKET_H variable.
14630         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
14631         Update comments.
14632         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
14633         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
14634         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14635         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14636         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14637
14638 2010-03-14  Bruno Haible  <bruno@clisp.org>
14639
14640         Fix values returned by sinl, cosl.
14641         * lib/trigl.h: Add specification comments.
14642         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
14643         that combines the values from the precomputed table with the values of
14644         the Chebyshev polynomials.
14645
14646 2010-03-14  Bruno Haible  <bruno@clisp.org>
14647
14648         Fix compilation error when modules 'posix_spawn[p]' are not used.
14649         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
14650         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
14651
14652 2010-03-14  Bruno Haible  <bruno@clisp.org>
14653
14654         Fix compilation error on mingw when module 'time_r' is not used.
14655         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
14656         is 1.
14657         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
14658         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14659         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
14660         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
14661
14662 2010-03-14  Bruno Haible  <bruno@clisp.org>
14663
14664         Fix compilation error with Sun C.
14665         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
14666         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
14667         instead of GCC specific ULONG_LONG_MAX.
14668         * lib/xstrtoll.c: Likewise.
14669         * lib/xstrtoull.c: Likewise.
14670
14671 2010-03-13  Bruno Haible  <bruno@clisp.org>
14672
14673         Allow the user to disable C++ code and tests.
14674         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
14675         (gl_PROG_ANSI_CXX): Require it.
14676
14677 2010-03-13  Bruno Haible  <bruno@clisp.org>
14678
14679         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
14680         cases.
14681
14682 2010-03-13  Bruno Haible  <bruno@clisp.org>
14683
14684         Test that gnulib does not break the standard C++ headers.
14685         * tests/test-locale-c++2.cc: New file.
14686         * modules/locale-tests (Files): Add it.
14687         (Makefile.am): Compile it for test-locale-c++.
14688         * tests/test-math-c++2.cc: New file.
14689         * modules/math-tests (Files): Add it.
14690         (Makefile.am): Compile it for test-math-c++.
14691         * tests/test-signal-c++2.cc: New file.
14692         * modules/signal-tests (Files): Add it.
14693         (Makefile.am): Compile it for test-signal-c++.
14694         * tests/test-stdio-c++2.cc: New file.
14695         * modules/stdio-tests (Files): Add it.
14696         (Makefile.am): Compile it for test-stdio-c++.
14697         * tests/test-stdlib-c++2.cc: New file.
14698         * modules/stdlib-tests (Files): Add it.
14699         (Makefile.am): Compile it for test-stdlib-c++.
14700         * tests/test-string-c++2.cc: New file.
14701         * modules/string-tests (Files): Add it.
14702         (Makefile.am): Compile it for test-string-c++.
14703         * tests/test-time-c++2.cc: New file.
14704         * modules/time-tests (Files): Add it.
14705         (Makefile.am): Compile it for test-time-c++.
14706         Reported by John W. Eaton <jwe@gnu.org>.
14707
14708 2010-03-13  Bruno Haible  <bruno@clisp.org>
14709
14710         * gnulib-tool (func_usage): Clarify which options are available for
14711         --create-testdir and --create-megatestdir.
14712
14713 2010-03-13  Bruno Haible  <bruno@clisp.org>
14714
14715         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14716         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14717         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14718         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14719         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14720         when appropriate.
14721         Reported by Jim Meyering.
14722
14723 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14724
14725         * gnulib-tool (func_import): Explain origin of code.
14726
14727 2010-03-12  Bruno Haible  <bruno@clisp.org>
14728
14729         Fix problem with automake's definition of CXXLINK.
14730         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14731         Reported by Simon Josefsson and Ludovic Courtès.
14732
14733 2010-03-12  Bruno Haible  <bruno@clisp.org>
14734
14735         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14736         stable releases.
14737
14738 2010-03-11  Bruno Haible  <bruno@clisp.org>
14739
14740         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14741         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14742         whether the system provides one variant or multiple variants of the
14743         function.
14744         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14745         C++ compilers.
14746         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14747         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14748         Reported by Jim Meyering.
14749
14750 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14751
14752         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14753
14754 2010-03-08  Bruno Haible  <bruno@clisp.org>
14755
14756         gnulib-tool: Add support for --libtool in --create-testdir.
14757         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14758         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14759
14760 2010-03-08  Eric Blake  <eblake@redhat.com>
14761
14762         gnulib-tool.texi: mention possibility of git submodule
14763         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14764         submodules.
14765         * doc/.gitignore: Ignore another generated file.
14766
14767 2010-03-08  Karl Berry  <karl@gnu.org>
14768
14769         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14770         of committing gnulib files while skipping others.
14771
14772 2010-03-07  Bruno Haible  <bruno@clisp.org>
14773
14774         Tests of module 'wctype' in C++ mode.
14775         * tests/test-wctype-c++.cc: New file.
14776         * modules/wctype-tests (Files): Add it and tests/signature.h.
14777         (Depends-on): Add ansi-c++-opt.
14778         (Makefile.am): Arrange to compile and run test-wctype-c++.
14779
14780         Tests of module 'wchar' in C++ mode.
14781         * tests/test-wchar-c++.cc: New file.
14782         * modules/wchar-tests (Files): Add it and tests/signature.h.
14783         (Depends-on): Add ansi-c++-opt.
14784         (Makefile.am): Arrange to compile and run test-wchar-c++.
14785         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14786         gl_MODULE_INDICATOR.
14787
14788         Tests of module 'unistd' in C++ mode.
14789         * tests/test-unistd-c++.cc: New file.
14790         * modules/unistd-tests (Files): Add it and tests/signature.h.
14791         (Depends-on): Add ansi-c++-opt.
14792         (Makefile.am): Arrange to compile and run test-unistd-c++.
14793         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14794         gl_MODULE_INDICATOR.
14795
14796         Tests of module 'time' in C++ mode.
14797         * tests/test-time-c++.cc: New file.
14798         * modules/time-tests (Files): Add it and tests/signature.h.
14799         (Depends-on): Add ansi-c++-opt.
14800         (Makefile.am): Arrange to compile and run test-time-c++.
14801         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14802
14803         Tests of module 'sys_time' in C++ mode.
14804         * tests/test-sys_time-c++.cc: New file.
14805         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14806         (Depends-on): Add ansi-c++-opt.
14807         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14808         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14809         gl_MODULE_INDICATOR.
14810
14811         Tests of module 'sys_stat' in C++ mode.
14812         * tests/test-sys_stat-c++.cc: New file.
14813         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14814         (Depends-on): Add ansi-c++-opt.
14815         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14816         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14817         gl_MODULE_INDICATOR.
14818
14819         Tests of module 'sys_socket' in C++ mode.
14820         * tests/test-sys_socket-c++.cc: New file.
14821         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14822         (Depends-on): Add ansi-c++-opt.
14823         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14824         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14825         gl_MODULE_INDICATOR.
14826
14827         Tests of module 'sys_select' in C++ mode.
14828         * tests/test-sys_select-c++.cc: New file.
14829         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14830         (Depends-on): Add ansi-c++-opt.
14831         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14832         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14833         gl_MODULE_INDICATOR.
14834
14835         Tests of module 'sys_ioctl' in C++ mode.
14836         * tests/test-sys_ioctl-c++.cc: New file.
14837         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14838         (Depends-on): Add ansi-c++-opt.
14839         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14840         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14841         gl_MODULE_INDICATOR.
14842
14843         Tests of module 'string' in C++ mode.
14844         * tests/test-string-c++.cc: New file.
14845         * modules/string-tests (Files): Add it and tests/signature.h.
14846         (Depends-on): Add ansi-c++-opt.
14847         (Makefile.am): Arrange to compile and run test-string-c++.
14848         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14849         gl_MODULE_INDICATOR.
14850
14851         Tests of module 'stdlib' in C++ mode.
14852         * tests/test-stdlib-c++.cc: New file.
14853         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14854         (Depends-on): Add ansi-c++-opt.
14855         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14856         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14857         gl_MODULE_INDICATOR.
14858
14859         Tests of module 'stdio' in C++ mode.
14860         * tests/test-stdio-c++.cc: New file.
14861         * modules/stdio-tests (Files): Add it and tests/signature.h.
14862         (Depends-on): Add ansi-c++-opt.
14863         (Makefile.am): Arrange to compile and run test-stdio-c++.
14864         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14865         gl_MODULE_INDICATOR.
14866
14867         Tests of module 'spawn' in C++ mode.
14868         * tests/test-spawn-c++.cc: New file.
14869         * modules/spawn-tests (Files): Add it and tests/signature.h.
14870         (Depends-on): Add ansi-c++-opt.
14871         (Makefile.am): Arrange to compile and run test-spawn-c++.
14872         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14873         gl_MODULE_INDICATOR.
14874
14875         Tests of module 'signal' in C++ mode.
14876         * tests/test-signal-c++.cc: New file.
14877         * modules/signal-tests (Files): Add it and tests/signature.h.
14878         (Depends-on): Add ansi-c++-opt.
14879         (Makefile.am): Arrange to compile and run test-signal-c++.
14880         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14881         gl_MODULE_INDICATOR.
14882
14883         Tests of module 'search' in C++ mode.
14884         * tests/test-search-c++.cc: New file.
14885         * modules/search-tests (Files): Add it and tests/signature.h.
14886         (Depends-on): Add ansi-c++-opt.
14887         (Makefile.am): Arrange to compile and run test-search-c++.
14888         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14889         gl_MODULE_INDICATOR.
14890
14891         Tests of module 'math' in C++ mode.
14892         * tests/test-math-c++.cc: New file.
14893         * modules/math-tests (Files): Add it and tests/signature.h.
14894         (Depends-on): Add ansi-c++-opt.
14895         (Makefile.am): Arrange to compile and run test-math-c++.
14896         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14897
14898         Tests of module 'locale' in C++ mode.
14899         * tests/test-locale-c++.cc: New file.
14900         * modules/locale-tests (Files): Add it and tests/signature.h.
14901         (Depends-on): Add ansi-c++-opt.
14902         (Makefile.am): Arrange to compile and run test-locale-c++.
14903         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14904         gl_MODULE_INDICATOR.
14905
14906         Tests of module 'langinfo' in C++ mode.
14907         * tests/test-langinfo-c++.cc: New file.
14908         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14909         (Depends-on): Add ansi-c++-opt.
14910         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14911         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14912         gl_MODULE_INDICATOR.
14913
14914         Tests of module 'iconv-h' in C++ mode.
14915         * tests/test-iconv-h-c++.cc: New file.
14916         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14917         (Depends-on): Add ansi-c++-opt.
14918         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14919
14920         Tests of module 'glob' in C++ mode.
14921         * tests/test-glob-c++.cc: New file.
14922         * modules/glob-tests (Files): Add it.
14923         (Depends-on): Add ansi-c++-opt.
14924         (Makefile.am): Arrange to compile and run test-glob-c++.
14925
14926         Tests of module 'fcntl-h' in C++ mode.
14927         * tests/test-fcntl-h-c++.cc: New file.
14928         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
14929         (Depends-on): Add ansi-c++-opt.
14930         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
14931         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
14932         gl_MODULE_INDICATOR.
14933
14934         Tests of module 'dirent' in C++ mode.
14935         * tests/test-dirent-c++.cc: New file.
14936         * modules/dirent-tests (Files): Add it and tests/signature.h.
14937         (Depends-on): Add ansi-c++-opt.
14938         (Makefile.am): Arrange to compile and run test-dirent-c++.
14939         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14940         gl_MODULE_INDICATOR.
14941
14942         New module 'ansi-c++-opt'.
14943         * modules/ansi-c++-opt: New file.
14944         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
14945
14946         Document C++ namespace mode.
14947         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
14948
14949         wctype: Avoid #define replacements in C++ mode.
14950         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
14951         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
14952         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
14953         In C++, define a namespaced alias symbol.
14954         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
14955         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
14956         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
14957         rule.
14958
14959         wchar: Avoid #define replacements in C++ mode.
14960         * lib/wchar.in.h: Include c++defs.h.
14961         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
14962         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
14963         symbol.
14964         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
14965         * modules/wchar (Depends-on): Add c++defs.
14966         (Makefile.am): Update wchar.h rule.
14967
14968         unistd: Avoid #define replacements in C++ mode.
14969         * lib/unistd.in.h: Include c++defs.h.
14970         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
14971         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
14972         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
14973         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
14974         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
14975         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
14976         symbol.
14977         (environ): Update.
14978         * modules/unistd (Depends-on): Add c++defs.
14979         (Makefile.am): Update unistd.h rule.
14980
14981         time: Avoid #define replacements in C++ mode.
14982         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
14983         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
14984         define a namespaced alias symbol.
14985         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
14986         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
14987         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
14988         * modules/time (Depends-on): Add c++defs, warn-on-use.
14989         (Makefile.am): Update time.h rule.
14990         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14991         * modules/nanosleep (configure.ac): Likewise.
14992         * modules/strptime (configure.ac): Likewise.
14993         * modules/timegm (configure.ac): Likewise.
14994
14995         sys_time: Avoid #define replacements in C++ mode.
14996         * lib/sys_time.in.h: Include c++defs.h.
14997         (gettimeofday): In C++, define a namespaced alias symbol.
14998         * modules/sys_time (Depends-on): Add c++defs.
14999         (Makefile.am): Update sys/time.h rule.
15000
15001         sys_stat: Avoid #define replacements in C++ mode.
15002         * lib/sys_stat.in.h: Include c++defs.h.
15003         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
15004         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
15005         namespaced alias symbol.
15006         In C++, define a namespaced alias symbol.
15007         * modules/sys_stat (Depends-on): Add c++defs.
15008         (Makefile.am): Update sys/stat.h rule.
15009
15010         sys_socket: Avoid #define replacements in C++ mode.
15011         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
15012         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
15013         definitions also when the system has a <sys/socket.h>.
15014         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15015         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
15016         In C++, define a namespaced alias symbol.
15017         * modules/sys_socket (Depends-on): Add c++defs.
15018         (Makefile.am): Update sys/socket.h rule.
15019
15020         sys_select: Avoid #define replacements in C++ mode.
15021         * lib/sys_select.in.h: Include c++defs.h. Enable the function
15022         definitions also when the system has a <sys/select.h>.
15023         (select): In C++, define a namespaced alias symbol.
15024         * modules/sys_select (Depends-on): Add c++defs.
15025         (Makefile.am): Update sys/select.h rule.
15026
15027         sys_ioctl: Avoid #define replacements in C++ mode.
15028         * lib/sys_ioctl.in.h: Include c++defs.h.
15029         (ioctl): In C++, define a namespaced alias symbol.
15030         * modules/sys_ioctl (Depends-on): Add c++defs.
15031         (Makefile.am): Update sys/ioctl.h rule.
15032
15033         string: Avoid #define replacements in C++ mode.
15034         * lib/string.in.h: Include c++defs.h.
15035         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
15036         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15037         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15038         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
15039         strsignal, strverscmp): In C++, define a namespaced alias symbol.
15040         * modules/string (Depends-on): Add c++defs.
15041         (Makefile.am): Update string.h rule.
15042
15043         stdlib: Avoid #define replacements in C++ mode.
15044         * lib/stdlib.in.h: Include c++defs.h.
15045         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
15046         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
15047         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
15048         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
15049         symbol.
15050         * modules/stdlib (Depends-on): Add c++defs.
15051         (Makefile.am): Update stdlib.h rule.
15052
15053         stdio: Avoid #define replacements in C++ mode.
15054         * lib/stdio.in.h: Include c++defs.h.
15055         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
15056         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
15057         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
15058         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
15059         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
15060         namespaced alias symbol.
15061         * modules/stdio (Depends-on): Add c++defs.
15062         (Makefile.am): Update stdio.h rule.
15063
15064         spawn: Avoid #define replacements in C++ mode.
15065         * lib/spawn.in.h: Include c++defs.h.
15066         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15067         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15068         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15069         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15070         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15071         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15072         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15073         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15074         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15075         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15076         In C++, define a namespaced alias symbol.
15077         * modules/spawn (Depends-on): Add c++defs.
15078         (Makefile.am): Update spawn.h rule.
15079
15080         signal: Avoid #define replacements in C++ mode.
15081         * lib/signal.in.h: Include c++defs.h.
15082         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15083         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
15084         namespaced alias symbol.
15085         * modules/signal (Depends-on): Add c++defs.
15086         (Makefile.am): Update signal.h rule.
15087
15088         search: Avoid #define replacements in C++ mode.
15089         * lib/search.in.h: Include c++defs.h.
15090         (_gl_search_compar_fn, _gl_search_action_fn): New types.
15091         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
15092         symbol.
15093         * modules/search (Depends-on): Add c++defs.
15094         (Makefile.am): Update search.h rule.
15095
15096         math: Avoid #define replacements in C++ mode.
15097         * lib/math.in.h: Include c++defs.h.
15098         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
15099         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
15100         trunc, truncl): In C++, define a namespaced alias symbol.
15101         * modules/math (Depends-on): Add c++defs.
15102         (Makefile.am): Update math.h rule.
15103
15104         locale: Avoid #define replacements in C++ mode.
15105         * lib/locale.in.h: Include c++defs.h.
15106         (duplocale): In C++, define a namespaced alias symbol.
15107         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
15108         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
15109         * modules/locale (Depends-on): Add c++defs.
15110         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
15111
15112         langinfo: Avoid #define replacements in C++ mode.
15113         * lib/langinfo.in.h: Include c++defs.h.
15114         (nl_langinfo): In C++, define a namespaced alias symbol.
15115         * modules/langinfo (Depends-on): Add c++defs.
15116         (Makefile.am): Update langinfo.h rule.
15117
15118         iconv-h: Avoid #define replacements in C++ mode.
15119         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
15120         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
15121         symbol.
15122         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
15123         whenever iconv is present.
15124         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
15125         (Makefile.am): Update iconv.h rule.
15126
15127         glob: Avoid #define replacements in C++ mode.
15128         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
15129         (_gl_glob_errfunc_fn): New type.
15130         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
15131         symbol.
15132         * modules/glob (Depends-on): Add c++defs, warn-on-use.
15133         (Makefile.am): Update glob.h rule.
15134
15135         fcntl-h: Avoid #define replacements in C++ mode.
15136         * lib/fcntl.in.h: Include c++defs.h.
15137         (fcntl, open, openat): In C++, define a namespaced alias symbol.
15138         * modules/fcntl-h (Depends-on): Add c++defs.
15139         (Makefile.am): Update fcntl.h rule.
15140
15141         dirent: Avoid #define replacements in C++ mode.
15142         * lib/dirent.in.h: Include c++defs.h.
15143         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
15144         namespaced alias symbol.
15145         (dirfd): Update declaration.
15146         * modules/dirent (Depends-on): Add c++defs.
15147         (Makefile.am): Update dirent.h rule.
15148
15149         ctype: Make it usable in C++ code.
15150         * lib/ctype.in.h: Include c++defs.h.
15151         (isblank): Declare as extern "C".
15152         * modules/ctype (Depends-on): Add c++defs.
15153         (Makefile.am): Update ctype.h rule.
15154
15155         New module 'c++defs'.
15156         * modules/c++defs: New file.
15157         * build-aux/c++defs.h: New file.
15158         Reported by John W. Eaton <jwe@gnu.org>.
15159
15160 2010-03-07  Bruno Haible  <bruno@clisp.org>
15161
15162         logb: Provide missing declaration for Cygwin.
15163         * lib/math.in.h (logb): New declaration.
15164         * m4/logb.m4: New file.
15165         * modules/logb (Files): Add m4/logb.m4.
15166         (Depends-on): Add math.
15167         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
15168         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
15169         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
15170         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
15171         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
15172
15173 2010-03-07  Bruno Haible  <bruno@clisp.org>
15174
15175         Fix test-cond link error.
15176         * tests/test-cond.c: Include <stdio.h>.
15177
15178 2010-03-07  Bruno Haible  <bruno@clisp.org>
15179
15180         Fix test-dirent-safer link error.
15181         * modules/dirent-safer-tests (Makefile.am): Define
15182         test_dirent_safer_LDADD.
15183
15184 2010-03-07  Bruno Haible  <bruno@clisp.org>
15185
15186         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
15187         among default module list.
15188
15189 2010-03-07  Bruno Haible  <bruno@clisp.org>
15190
15191         Fix link error on platforms with GNU libiconv.
15192         * modules/unistr/u8-strcoll-tests (Makefile): Define
15193         test_u8_strcoll_LDADD.
15194         * modules/unistr/u16-strcoll-tests (Makefile): Define
15195         test_u16_strcoll_LDADD.
15196         * modules/unistr/u32-strcoll-tests (Makefile): Define
15197         test_u32_strcoll_LDADD.
15198
15199 2010-03-07  Bruno Haible  <bruno@clisp.org>
15200
15201         Use POSIX declarations for socket functions.
15202         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
15203         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
15204         rpl_sendto): Change declaration to match POSIX.
15205         * lib/connect.c (rpl_connect): Likewise.
15206         * lib/accept.c (rpl_accept): Likewise.
15207         * lib/bind.c (rpl_bind): Likewise.
15208         * lib/getpeername.c (rpl_getpeername): Likewise.
15209         * lib/getsockname.c (rpl_getsockname): Likewise.
15210         * lib/recv.c (rpl_recv): Likewise.
15211         * lib/send.c (rpl_send): Likewise.
15212         * lib/recvfrom.c (rpl_recvfrom): Likewise.
15213         * lib/sendto.c (rpl_sendto): Likewise.
15214
15215 2010-03-06  Bruno Haible  <bruno@clisp.org>
15216
15217         Clarify access, euidaccess, faccessat.
15218         * doc/posix-functions/faccessat.texi: Mention security problem under
15219         "Other problems", not "Portability problems".
15220         * doc/posix-functions/access.texi: Likewise. Mention a related security
15221         problem.
15222         * doc/glibc-functions/euidaccess.texi: Mention security problems.
15223         * lib/euidaccess.c: Add comments about platforms.
15224         * lib/unistd.in.h (access, euidaccess): Add warnings.
15225
15226 2010-03-07  Bruno Haible  <bruno@clisp.org>
15227
15228         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
15229         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
15230         (POSIX_SPAWN_SETSCHEDULER): Likewise.
15231         (POSIX_SPAWN_USEVFORK): Define in a way that works when
15232         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15233         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
15234         declare when POSIX_SPAWN_SETSCHEDULER is zero.
15235         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
15236         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
15237         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
15238         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
15239         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
15240         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
15241         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
15242         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
15243         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
15244         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
15245         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
15246         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
15247         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
15248         Likewise.
15249         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
15250         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
15251         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
15252         Likewise.
15253         * tests/test-spawn.c (main): Make it work when
15254         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15255
15256 2010-03-07  Bruno Haible  <bruno@clisp.org>
15257
15258         Fix incorrect Makefile.am generation in German locale.
15259         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15260         Execute sed command with character range in C locale.
15261
15262 2010-03-06  Bruno Haible  <bruno@clisp.org>
15263
15264         Tests for module 'iconv-h'.
15265         * modules/iconv-h-tests: New file.
15266         * tests/test-iconv-h.c: New file.
15267
15268         New module 'iconv-h'.
15269         * modules/iconv-h: New file.
15270         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
15271         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
15272         (configure.ac): Remove gl_ICONV_H.
15273         (Makefile.am): Remove rule for iconv.h.
15274
15275 2010-03-06  Bruno Haible  <bruno@clisp.org>
15276
15277         More consistent naming of *.m4 files.
15278         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
15279         * modules/wctype (Files): Update.
15280
15281         More consistent naming of *.m4 files.
15282         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
15283         * modules/wchar (Files): Update.
15284
15285 2010-03-06  Jim Meyering  <meyering@redhat.com>
15286
15287         euidaccess: relax license to LGPLv2+
15288         * modules/euidaccess (License): Relax to LGPLv2+.
15289
15290 2010-03-06  Bruno Haible  <bruno@clisp.org>
15291
15292         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
15293         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
15294         (Makefile.am): Augment lib_SOURCES instead.
15295
15296 2010-03-04  Jim Meyering  <meyering@redhat.com>
15297
15298         utime: remove obsolete module
15299         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
15300         unnecessary for years, and has been marked as obsolete for 10 months.
15301         * modules/utime: Remove file.
15302         * lib/utime.c: Remove file.
15303         * m4/utime.m4: Remove file.
15304         * m4/utimes-null.m4: Remove file.
15305         * doc/posix-functions/utime.texi (utime): Remove reference to
15306         the module.  Move the sole "fixed by gnulib" item into the
15307         "problems not fixed by Gnulib" list.
15308         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
15309
15310 2010-03-05  Simon Josefsson  <simon@josefsson.org>
15311
15312         * modules/exit (License): Relax license to LGPLv2+.
15313         (Status): Mark as obsolete.
15314         * NEWS: Mention deprecated 'exit' module.
15315         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
15316         of now obsolete 'exit'.
15317
15318 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15319
15320         fts-lgpl: remove unused module
15321         * modules/fts-lgpl: Remove.
15322         * MODULES.html.sh (func_all_modules): Adjust.
15323         * check-module (find_included_lib_files): Adjust.
15324         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
15325
15326 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
15327
15328         copy-acl: enhance Solaris ACL error handling
15329         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
15330         * lib/set-mode-acl.c (qset_acl): Likewise.
15331
15332 2010-03-02  Bruno Haible  <bruno@clisp.org>
15333
15334         spawn: Don't override the system defined values on FreeBSD 8.
15335         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
15336         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
15337         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
15338         if HAVE_POSIX_SPAWN is 1.
15339         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
15340
15341 2010-03-01  Bruno Haible  <bruno@clisp.org>
15342
15343         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
15344         regarding Automake.
15345
15346 2010-02-25  Bruno Haible  <bruno@clisp.org>
15347
15348         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
15349         * gnulib-tool: Define 'echo' as a function only before the ksh alias
15350         setting, not afterwards.
15351         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
15352
15353 2010-02-24  Eric Blake  <eblake@redhat.com>
15354
15355         bootstrap, git-version-gen: use timestamp
15356         * build-aux/git-version-gen (scriptversion): Force UTC.
15357         * build-aux/bootstrap (scriptversion): New variable.
15358
15359         bootstrap: allow older git
15360         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
15361         older than 1.6.4.  Requested by the libvirt project.
15362
15363 2010-02-23  Eric Blake  <eblake@redhat.com>
15364
15365         warn-on-use: work with old autoconf
15366         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
15367         AS_VAR semantics of autoconf 2.60.
15368         Reported by Bruno Haible.
15369
15370         bootstrap: improve some comments
15371         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
15372         clarification comments.
15373
15374         gettimeofday: provide correct function
15375         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
15376         when replacement is declared, otherwise provide gettimeofday.
15377         Reported by Michael Goffioul.
15378
15379 2010-02-23  Jim Meyering  <meyering@redhat.com>
15380
15381         lib-ignore: relax license to "unlimited", not LGPLv2+
15382         * modules/lib-ignore (License): Relax to "unlimited".
15383
15384 2010-02-23  Jim Meyering  <meyering@redhat.com>
15385
15386         lib-ignore: relax license to LGPLv2+
15387         * modules/lib-ignore (License): Relax to LGPLv2+.
15388
15389 2010-02-22  Eric Blake  <eblake@redhat.com>
15390
15391         lseek: avoid bash 3.2 broken pipe bug
15392         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
15393         warning from bash 3.2.
15394         Reported by Ben Pfaff, with analysis from Bruno Haible.
15395
15396         bootstrap: support non-FSF copyright holder
15397         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
15398         bootstrap.conf override of COPYRIGHT_HOLDER.
15399         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
15400
15401         bootstrap: interoperate with gettext 0.14.1
15402         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
15403
15404         bootstrap: allow for alternate submodule location
15405         * build-aux/bootstrap (gnulib_path): New variable; use instead of
15406         hardcoding submodule location.
15407         (gnulib_mk): Allow direct use of Makefile.am.
15408
15409         bootstrap: use GNULIB_SRCDIR to reduce disk usage
15410         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
15411         rather than reconfiguring where the submodule points.
15412
15413         gettimeofday: restore support for platforms that lack function
15414         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
15415         replacement if function is missing.
15416         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
15417         * modules/sys_time (Makefile.am): Substitute it.
15418         * lib/sys_time.in.h (gettimeofday): Check it.
15419         Reported by Michael Goffioul.
15420
15421 2010-02-21  Bruno Haible  <bruno@clisp.org>
15422
15423         * lib/stdio.in.h (obstack_printf): Fix typo.
15424
15425 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
15426
15427         vc-list-files: use bzr ls's -R option
15428         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
15429         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
15430
15431 2010-02-21  Jim Meyering  <meyering@redhat.com>
15432
15433         init.sh: fix EXEEXT shims to work also for names like test-prog
15434         * tests/init.sh: Re-exec a better shell, when needed.
15435         If the current shell lacks support for posix $(...), an init.sh-using
15436         test will now try to find a shell that supports that.  If EXEEXT is
15437         nonempty, we also require support for hyphen-in-alias-name and shell
15438         substitutions like ${var#glob}.  Failure to find such a shell results
15439         in a skipped test.
15440
15441 2010-02-21  Bruno Haible  <bruno@clisp.org>
15442
15443         Really work around around "broken pipe" error message from bash 3.2.
15444         * gnulib-tool (func_reset_sigpipe): Remove function.
15445         (echo): In bash 3.2, define to a function that uses printf.
15446         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
15447
15448 2010-02-20  Bruno Haible  <bruno@clisp.org>
15449
15450         Restore support for automake 1.9.6 with autoconf 2.61.
15451         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
15452         Reported by James Youngman <jay@gnu.org>.
15453
15454 2010-02-20  Bruno Haible  <bruno@clisp.org>
15455
15456         Improve *printf warning condition.
15457         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
15458         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
15459         and the function is overridden due to SIGPIPE emulation.
15460
15461 2010-02-20  Bruno Haible  <bruno@clisp.org>
15462
15463         * lib/stdio.in.h: Tweak comments.
15464
15465 2010-02-19  Bruno Haible  <bruno@clisp.org>
15466
15467         Make it easier to find modules. New gnulib-tool option '--find'.
15468         * gnulib-tool: New option --find.
15469         (func_usage): Document it.
15470         (func_sanitize_modulelist): New function, extracted from
15471         func_all_modules.
15472         (func_all_modules): Invoke it.
15473         * doc/gnulib-tool.texi (Which modules?): New node.
15474
15475 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
15476
15477         * lib/sys_select.in.h: Provide select replacement even if
15478         sys/select.h exists on a system, for Interix.
15479
15480 2010-02-18  Jim Meyering  <meyering@redhat.com>
15481
15482         init.sh: don't use $(...) just yet
15483         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
15484         to accommodate e.g., Solaris' /bin/sh.
15485
15486 2010-02-17  Bruno Haible  <bruno@clisp.org>
15487
15488         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
15489         Reported by Ludovic Courtès <ludo@gnu.org>.
15490
15491 2010-02-16  Simon Josefsson  <simon@josefsson.org>
15492
15493         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
15494         linking with -lintl.
15495
15496 2010-02-17  Simon Josefsson  <simon@josefsson.org>
15497
15498         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
15499         if not provided by the system's netdb.h.  Reported by
15500         ludo@gnu.org (Ludovic Courtès).
15501
15502 2010-02-15  Jim Meyering  <meyering@redhat.com>
15503
15504         init.sh: improve portability and efficiency
15505         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
15506         "dummy" in a for loop.
15507         Use '!', not '^' to select the complement of a character set used
15508         in a "case" statement.
15509         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
15510         Suggestions from Eric Blake.
15511
15512         init.sh: automatically accommodate programs with the .exe suffix
15513         Automatically arrange for an invocation of "prog" to execute the
15514         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
15515         may use the simpler "prog", yet still work when built on a system
15516         that requires specifying the added suffix.
15517         Do this by constructing a function named "prog" that invokes
15518         "prog.exe" for each .exe file in selected directories.
15519         * tests/init.sh (find_exe_basenames_): New function.
15520         (create_exe_shim_functions_): New function.
15521         (path_prepend_): Use it.
15522
15523         maint.mk: mark syntax-check sc_*.m rules as .PHONY
15524         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
15525         "make -t syntax-check" doesn't create a ton of sc_*.m files.
15526
15527 2010-02-14  Jim Meyering  <meyering@redhat.com>
15528
15529         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
15530         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
15531         (sc_prohibit_hash_pjw_without_use): New rule.
15532
15533         maint.mk: allow the default upload destination dir to be overridden
15534         * top/maint.mk (upload_dest_dir_): Define with a default that
15535         preserves the status quo.
15536         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
15537         Reported by Peter Simons.
15538
15539         maint.mk: prohibit inclusion of "hash.h" without_use
15540         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
15541
15542 2010-02-10  Jim Meyering  <meyering@redhat.com>
15543
15544         maint.mk: prohibit inclusion of "ignore-value.h" without_use
15545         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
15546
15547 2010-02-09  Eric Blake  <ebb9@byu.net>
15548         and Bruno Haible  <bruno@clisp.org>
15549
15550         obstack-printf-posix: ensure declaration
15551         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
15552         extracted from gl_FUNC_OBSTACK_PRINTF.
15553         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
15554         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15555         Likewise.
15556         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
15557         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
15558         0.
15559
15560 2010-02-08  Bruno Haible  <bruno@clisp.org>
15561
15562         gnulib-tool: Fix typo in 2010-02-07 commit.
15563         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
15564         Reported by Eric Blake.
15565
15566 2010-02-07  Bruno Haible  <bruno@clisp.org>
15567
15568         gnulib-tool: Fix up caching patches.
15569         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
15570         option --no-cache. Use associative arrays when supported by the shell.
15571         (sed_comments): New variable.
15572         (modcache): Renamed from do_cache.
15573         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
15574         abbreviate unnecessarily.
15575         (have_associative): New variable.
15576         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
15577         way also for ksh and zsh.
15578         (func_init_sed_convert_to_cache_statements): New function, extracted
15579         from func_cache_lookup_module. Add support for associative arrays.
15580         Don't set the c_MODULE_cached variable here. Ignore all lines before
15581         the first field header. Remove only the final newline, not all trailing
15582         newlines. Support empty fields correctly. Limit the use of 'eval' to
15583         assignments.
15584         (func_get_description, func_get_status, func_get_notice,
15585         func_get_applicability, func_get_filelist, func_get_dependencies,
15586         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
15587         func_get_automake_snippet, func_get_include_directive,
15588         func_get_link_directive, func_get_license, func_get_maintainer):
15589         Update documentation. List the unoptimized code first. Add support for
15590         associative arrays. Limit the use of 'eval' to assignments.
15591         (func_get_applicability): Undo stylistic pessimisations.
15592         (func_get_automake_snippet, func_get_include_directive): Reduce code
15593         duplication.
15594         (func_modules_transitive_closure, func_modules_add_dummy,
15595         func_modules_notice, func_modules_to_filelist, func_add_file,
15596         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
15597         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
15598         func_create_testdir, func_create_megatestdir): Update documentation.
15599
15600 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15601
15602         * gnulib-tool (func_cache_lookup_module): Store the module name
15603         belonging to the cache variable; error out if two different
15604         module names map to the same cache variable name.
15605
15606 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15607
15608         gnulib-tool: Make caching optional.
15609         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
15610         Update matching short versions of --no-changelog.
15611         (func_usage): Update.
15612         (sed_extract_cache_prog): Renamed from ...
15613         (sed_extract_prog): ... this; revert to old extraction script.
15614         (func_get_description, func_get_status)
15615         (func_get_notice, func_get_applicability, func_get_filelist)
15616         (func_get_dependencies, func_get_autoconf_early_snippet)
15617         (func_get_autoconf_snippet, func_get_automake_snippet)
15618         (func_get_include_directive, func_get_link_directive)
15619         (func_get_license, func_get_maintainer): If $do_cache is false,
15620         use old, non-caching extraction scripts.
15621         Suggestion by Bruno Haible.
15622
15623 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15624
15625         gnulib-tool: cache module metainformation.
15626         * gnulib-tool (sed_extract_prog): Match newline before each
15627         header, and rewrite header to a shell variable suffix.
15628         (func_cache_var, func_cache_lookup_module): New functions,
15629         to turn a module name into a cache variable prefix, and to
15630         look up and cache module metainformation.
15631         (func_get_description, func_get_status)
15632         (func_get_notice, func_get_applicability, func_get_filelist)
15633         (func_get_dependencies, func_get_autoconf_early_snippet)
15634         (func_get_autoconf_snippet, func_get_automake_snippet)
15635         (func_get_include_directive, func_get_link_directive)
15636         (func_get_license, func_get_maintainer): Use
15637         func_cache_lookup_module.
15638
15639 2010-02-07  Bruno Haible  <bruno@clisp.org>
15640
15641         fnctl: Fix missing dependency.
15642         * modules/fcntl (Depends-on): Add getdtablesize.
15643         Reported by John W. Eaton <jwe@gnu.org>.
15644
15645 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15646
15647         Argp: fix recognition of short alias options.
15648
15649         * lib/argp-parse.c (convert_options): Fix improper use of
15650         `|' between character values.
15651         * tests/test-argp.c (group1_option): New alias option
15652         --read (-r).
15653         (group1_parser): Special handling for 'r'.
15654         (test15): New test case.
15655         (test_fun): Add test15.
15656         * tests/test-argp-2.sh: Update expected --help and --usage
15657         outputs.
15658
15659 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15660
15661         * tests/test-argp.c: Fix indentation.
15662
15663 2010-02-04  Eric Blake  <ebb9@byu.net>
15664
15665         gettimeofday: expose type of second argument
15666         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
15667         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
15668         * tests/test-gettimeofday.c: Use it to silence warning.
15669         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
15670         the issue.
15671
15672 2010-02-03  Jim Meyering  <meyering@redhat.com>
15673
15674         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
15675         * lib/regcomp.c (TYPE_SIGNED): Define.
15676         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
15677
15678         regcomp.c: avoid a new -Wshadow warning
15679         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
15680
15681 2010-02-01  Jim Meyering  <meyering@redhat.com>
15682
15683         removing useless parentheses in cpp #define directives
15684         For motivation, see commit c0221df4, "define STREQ(a,b)
15685         consistently, removing useless parentheses"
15686         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
15687         * lib/mountlist.c (MNT_IGNORE): Likewise.
15688         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
15689
15690 2010-02-01  Eric Blake  <ebb9@byu.net>
15691
15692         sys_time: use link-warning
15693         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15694         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15695         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15696         * modules/sys_time (Depends-on): Add warn-on-use.
15697         (Makefile.am): Always build replacement.
15698         (configure.ac): Update substitutions.
15699         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15700         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15701         bother with SYS_TIME_H.
15702         * modules/gettimeofday (configure.ac): Declare indicator.
15703         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15704         in use.
15705
15706         closein-tests: silence compiler warning
15707         * tests/test-closein.c (main): Ignore fread result.
15708         * modules/closein-tests (Depends-on): Add ignore-value.
15709
15710         tests: silence warning about system return
15711         * tests/test-areadlink-with-size.c (main): Ignore system result.
15712         * tests/test-areadlink.c (main): Likewise.
15713         * tests/test-areadlinkat-with-size.c (main): Likewise.
15714         * tests/test-areadlinkat.c (main): Likewise.
15715         * tests/test-canonicalize-lgpl.c (main): Likewise.
15716         * tests/test-canonicalize.c (main): Likewise.
15717         * tests/test-chown.c (main): Likewise.
15718         * tests/test-fchownat.c (main): Likewise.
15719         * tests/test-fdutimensat.c (main): Likewise.
15720         * tests/test-fstatat.c (main): Likewise.
15721         * tests/test-futimens.c (main): Likewise.
15722         * tests/test-lchown.c (main): Likewise.
15723         * tests/test-link.c (main): Likewise.
15724         * tests/test-linkat.c (main): Likewise.
15725         * tests/test-lstat.c (main): Likewise.
15726         * tests/test-mkdir.c (main): Likewise.
15727         * tests/test-mkdirat.c (main): Likewise.
15728         * tests/test-mkfifo.c (main): Likewise.
15729         * tests/test-mkfifoat.c (main): Likewise.
15730         * tests/test-mknod.c (main): Likewise.
15731         * tests/test-readlink.c (main): Likewise.
15732         * tests/test-remove.c (main): Likewise.
15733         * tests/test-rename.c (main): Likewise.
15734         * tests/test-renameat.c (main): Likewise.
15735         * tests/test-rmdir.c (main): Likewise.
15736         * tests/test-symlink.c (main): Likewise.
15737         * tests/test-symlinkat.c (main): Likewise.
15738         * tests/test-unlink.c (main): Likewise.
15739         * tests/test-unlinkat.c (main): Likewise.
15740         * tests/test-utimens.c (main): Likewise.
15741         * tests/test-utimensat.c (main): Likewise.
15742         * modules/areadlink-tests (Depends-on): Add ignore-value.
15743         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15744         * modules/areadlinkat-tests (Depends-on): Likewise.
15745         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15746         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15747         * modules/canonicalize-tests (Depends-on): Likewise.
15748         * modules/chown-tests (Depends-on): Likewise.
15749         * modules/fdutimensat-tests (Depends-on): Likewise.
15750         * modules/futimens-tests (Depends-on): Likewise.
15751         * modules/lchown-tests (Depends-on): Likewise.
15752         * modules/link-tests (Depends-on): Likewise.
15753         * modules/linkat-tests (Depends-on): Likewise.
15754         * modules/lstat-tests (Depends-on): Likewise.
15755         * modules/mkdir-tests (Depends-on): Likewise.
15756         * modules/mkfifo-tests (Depends-on): Likewise.
15757         * modules/mkfifoat-tests (Depends-on): Likewise.
15758         * modules/mknod-tests (Depends-on): Likewise.
15759         * modules/openat-tests (Depends-on): Likewise.
15760         * modules/readlink-tests (Depends-on): Likewise.
15761         * modules/remove-tests (Depends-on): Likewise.
15762         * modules/rename-tests (Depends-on): Likewise.
15763         * modules/renameat-tests (Depends-on): Likewise.
15764         * modules/rmdir-tests (Depends-on): Likewise.
15765         * modules/symlink-tests (Depends-on): Likewise.
15766         * modules/symlinkat-tests (Depends-on): Likewise.
15767         * modules/unlink-tests (Depends-on): Likewise.
15768         * modules/utimens-tests (Depends-on): Likewise.
15769         * modules/utimensat-tests (Depends-on): Likewise.
15770
15771 2010-01-31  Bruno Haible  <bruno@clisp.org>
15772
15773         Perform the same test for many <math.h> functions.
15774         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15775         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15776         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15777         of gl_MATHFUNC.
15778         * modules/acos (configure.ac): Likewise.
15779         * modules/asin (configure.ac): Likewise.
15780         * modules/atan (configure.ac): Likewise.
15781         * modules/atan2 (configure.ac): Likewise.
15782         * modules/cbrt (configure.ac): Likewise.
15783         * modules/copysign (configure.ac): Likewise.
15784         * modules/cos (configure.ac): Likewise.
15785         * modules/cosh (configure.ac): Likewise.
15786         * modules/erf (configure.ac): Likewise.
15787         * modules/erfc (configure.ac): Likewise.
15788         * modules/exp (configure.ac): Likewise.
15789         * modules/fmod (configure.ac): Likewise.
15790         * modules/hypot (configure.ac): Likewise.
15791         * modules/j0 (configure.ac): Likewise.
15792         * modules/j1 (configure.ac): Likewise.
15793         * modules/jn (configure.ac): Likewise.
15794         * modules/lgamma (configure.ac): Likewise.
15795         * modules/log (configure.ac): Likewise.
15796         * modules/log10 (configure.ac): Likewise.
15797         * modules/log1p (configure.ac): Likewise.
15798         * modules/pow (configure.ac): Likewise.
15799         * modules/remainder (configure.ac): Likewise.
15800         * modules/sin (configure.ac): Likewise.
15801         * modules/sinh (configure.ac): Likewise.
15802         * modules/tan (configure.ac): Likewise.
15803         * modules/tanh (configure.ac): Likewise.
15804         * modules/y0 (configure.ac): Likewise.
15805         * modules/y1 (configure.ac): Likewise.
15806         * modules/yn (configure.ac): Likewise.
15807         Suggested by Paolo Bonzini.
15808
15809 2010-01-31  Bruno Haible  <bruno@clisp.org>
15810
15811         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15812
15813 2010-01-31  Bruno Haible  <bruno@clisp.org>
15814
15815         Work around getdelim() bug on FreeBSD 8.0.
15816         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15817         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15818         not work.
15819         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15820         is 1.
15821         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15822         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15823         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15824         a non-zero size.
15825         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15826
15827 2010-01-31  Bruno Haible  <bruno@clisp.org>
15828
15829         Work around getline() bug on FreeBSD 8.0.
15830         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15831         and a non-zero size.
15832         * tests/test-getline.c (main): Likewise.
15833         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15834         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15835
15836 2010-01-28  Eric Blake  <ebb9@byu.net>
15837
15838         regex: fix build failure
15839         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15840         platforms.
15841
15842 2010-01-28  Jim Meyering  <meyering@redhat.com>
15843
15844         regex: do not ignore memory allocation failure
15845         * lib/regex_internal.c (create_cd_newstate): Detect
15846         re_node_set_init_copy failure.   Extracted from glibc commit
15847         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15848
15849         regex: sync more white-space changes from libc
15850         * lib/regex_internal.c: White-space only changes.
15851         * lib/regexec.c: Likewise.
15852
15853         regex: add many uses of __attribute_warn_unused_result__
15854         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15855         * lib/regexec.c: Likewise.
15856         Extracted from a messy glibc commit.
15857
15858         regcomp.c: spelling and merge-artifact from glibc
15859         * lib/regcomp.c: Merge remainder of glibc's
15860         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15861
15862         regcomp.c: sync white-space changes from glibc
15863         * lib/regcomp.c: Merge to accommodate white space
15864         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15865
15866         regcomp.c: do not ignore internal return values
15867         * lib/regcomp.c: Do not ignore internal return values.
15868         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15869         but without its white-space changes and spelling fixes.
15870
15871         regex_internal.h: define __attribute_warn_unused_result__
15872         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15873
15874         maint: add a syntax-check rule to check for vulnerable Makefile.in
15875         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15876
15877 2010-01-27  Jim Meyering  <meyering@redhat.com>
15878
15879         ncftpput-ftp: clean up spaces
15880         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15881         Remove trailing blanks.
15882
15883 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15884
15885         * build-aux/git-version-gen: Fix copyright statement.
15886         * build-aux/gnupload: Likewise.
15887         * tests/test-arcfour.c: Likewise.
15888         * tests/test-arctwo.c: Likewise.
15889         * tests/test-count-one-bits.c: Likewise.
15890         * tests/test-crc.c: Likewise.
15891         * tests/test-des.c: Likewise.
15892         * tests/test-gc-arcfour.c: Likewise.
15893         * tests/test-gc-arctwo.c: Likewise.
15894         * tests/test-gc-des.c: Likewise.
15895         * tests/test-gc-hmac-md5.c: Likewise.
15896         * tests/test-gc-hmac-sha1.c: Likewise.
15897         * tests/test-gc-md2.c: Likewise.
15898         * tests/test-gc-md4.c: Likewise.
15899         * tests/test-gc-md5.c: Likewise.
15900         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15901         * tests/test-gc-rijndael.c: Likewise.
15902         * tests/test-gc-sha1.c: Likewise.
15903         * tests/test-gc.c: Likewise.
15904         * tests/test-gethostname.c: Likewise.
15905         * tests/test-gettimeofday.c: Likewise.
15906         * tests/test-hash.c: Likewise.
15907         * tests/test-hmac-md5.c: Likewise.
15908         * tests/test-hmac-sha1.c: Likewise.
15909         * tests/test-md2.c: Likewise.
15910         * tests/test-md4.c: Likewise.
15911         * tests/test-md5.c: Likewise.
15912         * tests/test-memchr.c: Likewise.
15913         * tests/test-memchr2.c: Likewise.
15914         * tests/test-memcmp.c: Likewise.
15915         * tests/test-memmem.c: Likewise.
15916         * tests/test-memrchr.c: Likewise.
15917         * tests/test-rawmemchr.c: Likewise.
15918         * tests/test-read-file.c: Likewise.
15919         * tests/test-rijndael.c: Likewise.
15920         * tests/test-sockets.c: Likewise.
15921         * tests/test-strchrnul.c: Likewise.
15922         * tests/test-strstr.c: Likewise.
15923         * tests/test-strtod.c: Likewise.
15924         * build-aux/ncftpput-ftp: Likewise.
15925
15926 2010-01-26  Eric Blake  <ebb9@byu.net>
15927
15928         ignore-value: update recommended header name
15929         * modules/ignore-value (Include): Only use <> for headers that
15930         exist in glibc.
15931
15932 2010-01-26  Jim Meyering  <meyering@redhat.com>
15933
15934         test-userspec.c: avoid compiler warnings
15935         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
15936         and "initialization discards qualifiers..." warnings.
15937         Put the first "uid" in its own scope, and make char* members "const".
15938
15939 2010-01-25  Bruno Haible  <bruno@clisp.org>
15940
15941         gnulib-tool: Make warning diagnostics consistent.
15942         * gnulib-tool (func_warning): New function.
15943         Use it everywhere where gnulib-tool produces output to stderr and it is
15944         not a fatal error.
15945
15946 2010-01-25  Bruno Haible  <bruno@clisp.org>
15947
15948         Fix test dependencies.
15949         * modules/xstrtol-tests (Depends-on): Add inttypes.
15950         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
15951
15952 2010-01-25 Pádraig Brady <P@draigBrady.com>
15953
15954         syntax-check: detect incorrect boolean macro values in config.h
15955         * modules/maintainer-makefile (configure.ac): Parameterize the location
15956         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
15957         The logic is from Eric Blake and the location indicated by Jim Meyering.
15958         Note the more natural CONFIG_HEADER name is prohibited by automake
15959         for backwards compatibility reasons.
15960         * top/maint.mk (sc_Wundef_boolean): New rule.
15961
15962 2010-01-25  Jim Meyering  <meyering@redhat.com>
15963
15964         bootstrap: detect MacOS 10.6's shasum, too
15965         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
15966         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
15967
15968 2010-01-23  Jim Meyering  <meyering@redhat.com>
15969
15970         xstrtoll: new module
15971         * modules/xstrtoll: New file.
15972         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
15973         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
15974         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
15975         ./configure fails if you use this module and lack "long long".
15976         * modules/xstrtoll-tests: New module.
15977         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
15978         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
15979         new init.sh-based test framework.
15980
15981 2010-01-24  Bruno Haible  <bruno@clisp.org>
15982
15983         Tests for module 'yn'.
15984         * modules/yn-tests: New file.
15985         * tests/test-yn.c: New file.
15986
15987         Tests for module 'y1'.
15988         * modules/y1-tests: New file.
15989         * tests/test-y1.c: New file.
15990
15991         Tests for module 'y0'.
15992         * modules/y0-tests: New file.
15993         * tests/test-y0.c: New file.
15994
15995         Tests for module 'tanh'.
15996         * modules/tanh-tests: New file.
15997         * tests/test-tanh.c: New file.
15998
15999         Tests for module 'tan'.
16000         * modules/tan-tests: New file.
16001         * tests/test-tan.c: New file.
16002
16003         Tests for module 'sqrt'.
16004         * modules/sqrt-tests: New file.
16005         * tests/test-sqrt.c: New file.
16006
16007         Tests for module 'sinh'.
16008         * modules/sinh-tests: New file.
16009         * tests/test-sinh.c: New file.
16010
16011         Tests for module 'sin'.
16012         * modules/sin-tests: New file.
16013         * tests/test-sin.c: New file.
16014
16015         Tests for module 'rint'.
16016         * modules/rint-tests: New file.
16017         * tests/test-rint.c: New file.
16018
16019         Tests for module 'remainder'.
16020         * modules/remainder-tests: New file.
16021         * tests/test-remainder.c: New file.
16022
16023         Tests for module 'pow'.
16024         * modules/pow-tests: New file.
16025         * tests/test-pow.c: New file.
16026
16027         Tests for module 'nextafter'.
16028         * modules/nextafter-tests: New file.
16029         * tests/test-nextafter.c: New file.
16030
16031         Tests for module 'modf'.
16032         * modules/modf-tests: New file.
16033         * tests/test-modf.c: New file.
16034
16035         Tests for module 'logb'.
16036         * modules/logb-tests: New file.
16037         * tests/test-logb.c: New file.
16038
16039         Tests for module 'log1p'.
16040         * modules/log1p-tests: New file.
16041         * tests/test-log1p.c: New file.
16042
16043         Tests for module 'log10'.
16044         * modules/log10-tests: New file.
16045         * tests/test-log10.c: New file.
16046
16047         Tests for module 'log'.
16048         * modules/log-tests: New file.
16049         * tests/test-log.c: New file.
16050
16051         Tests for module 'lgamma'.
16052         * modules/lgamma-tests: New file.
16053         * tests/test-lgamma.c: New file.
16054
16055         Tests for module 'ldexp'.
16056         * modules/ldexp-tests: New file.
16057         * tests/test-ldexp.c: New file.
16058
16059         Tests for module 'jn'.
16060         * modules/jn-tests: New file.
16061         * tests/test-jn.c: New file.
16062
16063         Tests for module 'j1'.
16064         * modules/j1-tests: New file.
16065         * tests/test-j1.c: New file.
16066
16067         Tests for module 'j0'.
16068         * modules/j0-tests: New file.
16069         * tests/test-j0.c: New file.
16070
16071         Tests for module 'hypot'.
16072         * modules/hypot-tests: New file.
16073         * tests/test-hypot.c: New file.
16074
16075         Tests for module 'fmod'.
16076         * modules/fmod-tests: New file.
16077         * tests/test-fmod.c: New file.
16078
16079         Tests for module 'fabs'.
16080         * modules/fabs-tests: New file.
16081         * tests/test-fabs.c: New file.
16082
16083         Tests for module 'exp'.
16084         * modules/exp-tests: New file.
16085         * tests/test-exp.c: New file.
16086
16087         Tests for module 'erfc'.
16088         * modules/erfc-tests: New file.
16089         * tests/test-erfc.c: New file.
16090
16091         Tests for module 'erf'.
16092         * modules/erf-tests: New file.
16093         * tests/test-erf.c: New file.
16094
16095         Tests for module 'cosh'.
16096         * modules/cosh-tests: New file.
16097         * tests/test-cosh.c: New file.
16098
16099         Tests for module 'cos'.
16100         * modules/cos-tests: New file.
16101         * tests/test-cos.c: New file.
16102
16103         Tests for module 'copysign'.
16104         * modules/copysign-tests: New file.
16105         * tests/test-copysign.c: New file.
16106
16107         Tests for module 'cbrt'.
16108         * modules/cbrt-tests: New file.
16109         * tests/test-cbrt.c: New file.
16110
16111         Tests for module 'atan2'.
16112         * modules/atan2-tests: New file.
16113         * tests/test-atan2.c: New file.
16114
16115         Tests for module 'atan'.
16116         * modules/atan-tests: New file.
16117         * tests/test-atan.c: New file.
16118
16119         Tests for module 'asin'.
16120         * modules/asin-tests: New file.
16121         * tests/test-asin.c: New file.
16122
16123         Tests for module 'acos'.
16124         * modules/acos-tests: New file.
16125         * tests/test-acos.c: New file.
16126
16127 2010-01-24  Bruno Haible  <bruno@clisp.org>
16128
16129         Fix tests for common <math.h> functions.
16130         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
16131         code snippet that references the function pointer, rather than merely
16132         calling the function. Substitute the FUNC_LIBM variable.
16133         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
16134         * modules/acos (configure.ac): Likewise.
16135         * modules/asin (configure.ac): Likewise.
16136         * modules/atan (configure.ac): Likewise.
16137         * modules/atan2 (configure.ac): Likewise.
16138         * modules/cbrt (configure.ac): Likewise.
16139         * modules/copysign (configure.ac): Likewise.
16140         * modules/cos (configure.ac): Likewise.
16141         * modules/cosh (configure.ac): Likewise.
16142         * modules/erf (configure.ac): Likewise.
16143         * modules/erfc (configure.ac): Likewise.
16144         * modules/exp (configure.ac): Likewise.
16145         * modules/fabs (configure.ac): Likewise.
16146         * modules/fmod (configure.ac): Likewise.
16147         * modules/hypot (configure.ac): Likewise.
16148         * modules/j0 (configure.ac): Likewise.
16149         * modules/j1 (configure.ac): Likewise.
16150         * modules/jn (configure.ac): Likewise.
16151         * modules/ldexp (configure.ac): Likewise.
16152         * modules/lgamma (configure.ac): Likewise.
16153         * modules/log (configure.ac): Likewise.
16154         * modules/log10 (configure.ac): Likewise.
16155         * modules/log1p (configure.ac): Likewise.
16156         * modules/logb (configure.ac): Likewise.
16157         * modules/modf (configure.ac): Likewise.
16158         * modules/nextafter (configure.ac): Likewise.
16159         * modules/pow (configure.ac): Likewise.
16160         * modules/remainder (configure.ac): Likewise.
16161         * modules/rint (configure.ac): Likewise.
16162         * modules/sin (configure.ac): Likewise.
16163         * modules/sinh (configure.ac): Likewise.
16164         * modules/tan (configure.ac): Likewise.
16165         * modules/tanh (configure.ac): Likewise.
16166         * modules/y0 (configure.ac): Likewise.
16167         * modules/y1 (configure.ac): Likewise.
16168         * modules/yn (configure.ac): Likewise.
16169
16170 2010-01-24  Bruno Haible  <bruno@clisp.org>
16171
16172         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
16173         * tests/test-acosl.c (x): New variable.
16174         (main): Store argument in x and fetch it from x.
16175         * tests/test-asinl.c (x): New variable.
16176         (main): Store argument in x and fetch it from x.
16177         * tests/test-atanl.c (x): New variable.
16178         (main): Store argument in x and fetch it from x.
16179         * tests/test-cosl.c (x): New variable.
16180         (main): Store argument in x and fetch it from x.
16181         * tests/test-expl.c (x): New variable.
16182         (main): Store argument in x and fetch it from x.
16183         * tests/test-logl.c (x): New variable.
16184         (main): Store argument in x and fetch it from x.
16185         * tests/test-sinl.c (x): New variable.
16186         (main): Store argument in x and fetch it from x.
16187         * tests/test-sqrtl.c (x): New variable.
16188         (main): Store argument in x and fetch it from x.
16189         * tests/test-tanl.c (x): New variable.
16190         (main): Store argument in x and fetch it from x.
16191
16192 2010-01-24  Bruno Haible  <bruno@clisp.org>
16193
16194         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
16195         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
16196         assignments to the initial TESTS_ENVIRONMENT.
16197         * doc/gnulib.texi (Unit test modules): Document it.
16198         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
16199         TESTS_ENVIRONMENT.
16200         * modules/btowc-tests (Makefile.am): Likewise.
16201         * modules/c-stack-tests (Makefile.am): Likewise.
16202         * modules/c-strcase-tests (Makefile.am): Likewise.
16203         * modules/copy-file-tests (Makefile.am): Likewise.
16204         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
16205         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
16206         * modules/mbrtowc-tests (Makefile.am): Likewise.
16207         * modules/mbscasecmp-tests (Makefile.am): Likewise.
16208         * modules/mbscasestr-tests (Makefile.am): Likewise.
16209         * modules/mbschr-tests (Makefile.am): Likewise.
16210         * modules/mbscspn-tests (Makefile.am): Likewise.
16211         * modules/mbsinit-tests (Makefile.am): Likewise.
16212         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
16213         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
16214         * modules/mbspbrk-tests (Makefile.am): Likewise.
16215         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
16216         * modules/mbsrchr-tests (Makefile.am): Likewise.
16217         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
16218         * modules/mbsspn-tests (Makefile.am): Likewise.
16219         * modules/mbsstr-tests (Makefile.am): Likewise.
16220         * modules/nl_langinfo-tests (Makefile.am): Likewise.
16221         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
16222         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
16223         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
16224         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
16225         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
16226         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
16227         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
16228         * modules/wcrtomb-tests (Makefile.am): Likewise.
16229         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
16230         * modules/wcsrtombs-tests (Makefile.am): Likewise.
16231         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
16232         assignments from TESTS_ENVIRONMENT.
16233         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
16234         augmentation.
16235         * modules/argp-version-etc-tests (Makefile.am): Likewise.
16236         * modules/atexit-tests (Makefile.am): Likewise.
16237         * modules/binary-io-tests (Makefile.am): Likewise.
16238         * modules/closein-tests (Makefile.am): Likewise.
16239         * modules/dprintf-posix-tests (Makefile.am): Likewise.
16240         * modules/exclude-tests (Makefile.am): Likewise.
16241         * modules/fflush-tests (Makefile.am): Likewise.
16242         * modules/fpending-tests (Makefile.am): Likewise.
16243         * modules/fprintf-posix-tests (Makefile.am): Likewise.
16244         * modules/freadahead-tests (Makefile.am): Likewise.
16245         * modules/freadptr-tests (Makefile.am): Likewise.
16246         * modules/freadseek-tests (Makefile.am): Likewise.
16247         * modules/fseek-tests (Makefile.am): Likewise.
16248         * modules/fseeko-tests (Makefile.am): Likewise.
16249         * modules/ftell-tests (Makefile.am): Likewise.
16250         * modules/ftello-tests (Makefile.am): Likewise.
16251         * modules/idpriv-drop-tests (Makefile.am): Likewise.
16252         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
16253         * modules/lseek-tests (Makefile.am): Likewise.
16254         * modules/parse-duration-tests (Makefile.am): Likewise.
16255         * modules/perror-tests (Makefile.am): Likewise.
16256         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
16257         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
16258         * modules/pipe-tests (Makefile.am): Likewise.
16259         * modules/pread-tests (Makefile.am): Likewise.
16260         * modules/printf-posix-tests (Makefile.am): Likewise.
16261         * modules/select-tests (Makefile.am): Likewise.
16262         * modules/sigpipe-tests (Makefile.am): Likewise.
16263         * modules/tsearch-tests (Makefile.am): Likewise.
16264         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
16265         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
16266         * modules/uniname/uniname-tests (Makefile.am): Likewise.
16267         * modules/uniwidth/width-tests (Makefile.am): Likewise.
16268         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
16269         * modules/version-etc-tests (Makefile.am): Likewise.
16270         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
16271         * modules/vprintf-posix-tests (Makefile.am): Likewise.
16272         * modules/xalloc-die-tests (Makefile.am): Likewise.
16273         * modules/xprintf-posix-tests (Makefile.am): Likewise.
16274         * modules/xstrtoimax-tests (Makefile.am): Likewise.
16275         * modules/xstrtol-tests (Makefile.am): Likewise.
16276         * modules/xstrtoumax-tests (Makefile.am): Likewise.
16277         * modules/yesno-tests (Makefile.am): Likewise.
16278         Suggested by Jim Meyering.
16279
16280 2010-01-24  Bruno Haible  <bruno@clisp.org>
16281
16282         More documentation.
16283         * doc/gnulib.texi (Writing modules): New chapter.
16284         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
16285         the new chapter.
16286
16287 2010-01-24  Jim Meyering  <meyering@redhat.com>
16288
16289         maint.mk: do not prepend "./" after filtering
16290         * top/maint.mk (_prepend_srcdir_prefix): New variable
16291         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
16292         "./" when $(srcdir) is ".".
16293
16294         define STREQ(a,b) consistently, removing useless parentheses
16295         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
16296         since the only risk is that "a" or "b" contains an unparenthesized
16297         comma, but if either did that, STREQ would have 3 or more arguments.
16298         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
16299         * lib/fts.c (STREQ): Remove unnecessary parentheses.
16300         * lib/hash-triple.c (STREQ): Likewise.
16301         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
16302         * lib/getugroups.c (STREQ): Likewise.
16303
16304 2010-01-23  Jim Meyering  <meyering@redhat.com>
16305
16306         maint.mk: fix syntax-check in a non-srcdir build directory
16307         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
16308         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
16309
16310 2010-01-22  Jim Meyering  <meyering@redhat.com>
16311
16312         userspec: add unit tests
16313         * tests/test-userspec.c: New file.
16314         * modules/userspec-tests: Likewise.
16315
16316 2010-01-21  Jim Meyering  <meyering@redhat.com>
16317
16318         maint.mk: handle source file names containing "." robustly
16319         * top/maint.mk (_dot_escaped_srcdir): Define.
16320         (VC_LIST): Use it in LHS of sed substitution.
16321
16322 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
16323
16324         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
16325         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
16326         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
16327         from a non-srcdir build.
16328
16329 2010-01-20  Eric Blake  <ebb9@byu.net>
16330
16331         warn-on-use: use instead of link-warning
16332         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
16333         * modules/unistd (Depends-on, Makefile.am): Likewise.
16334         * modules/arpa_inet (Depends-on): Replace link-warning with
16335         warn-on-use.
16336         (Makefile.am): Update rules accordingly.
16337         * modules/ctype (Depends-on, Makefile.am): Likewise.
16338         * modules/dirent (Depends-on, Makefile.am): Likewise.
16339         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
16340         * modules/inttypes (Depends-on, Makefile.am): Likewise.
16341         * modules/langinfo (Depends-on, Makefile.am): Likewise.
16342         * modules/locale (Depends-on, Makefile.am): Likewise.
16343         * modules/math (Depends-on, Makefile.am): Likewise.
16344         * modules/search (Depends-on, Makefile.am): Likewise.
16345         * modules/signal (Depends-on, Makefile.am): Likewise.
16346         * modules/spawn (Depends-on, Makefile.am): Likewise.
16347         * modules/stdlib (Depends-on, Makefile.am): Likewise.
16348         * modules/string (Depends-on, Makefile.am): Likewise.
16349         * modules/strings (Depends-on, Makefile.am): Likewise.
16350         * modules/sys_file (Depends-on, Makefile.am): Likewise.
16351         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
16352         * modules/sys_select (Depends-on, Makefile.am): Likewise.
16353         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
16354         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
16355         * modules/sys_times (Depends-on, Makefile.am): Likewise.
16356         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
16357         * modules/wchar (Depends-on, Makefile.am): Likewise.
16358         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
16359         should be poisoned.
16360         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
16361         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
16362         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
16363         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
16364         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16365         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16366         * m4/math_h.m4 (gl_MATH_H): Likewise.
16367         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16368         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
16369         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
16370         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
16371         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
16372         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
16373         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
16374         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
16375         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
16376         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16377         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
16378         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
16379         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16380         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16381         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
16382         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16383         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
16384         GL_LINK_WARNING.
16385         * lib/ctype.in.h: Likewise.
16386         * lib/dirent.in.h: Likewise.
16387         * lib/fcntl.in.h: Likewise.
16388         * lib/inttypes.in.h: Likewise.
16389         * lib/langinfo.in.h: Likewise.
16390         * lib/locale.in.h: Likewise.
16391         * lib/math.in.h: Likewise.
16392         * lib/search.in.h: Likewise.
16393         * lib/signal.in.h: Likewise.
16394         * lib/spawn.in.h: Likewise.
16395         * lib/stdio.in.h: Likewise.
16396         * lib/stdlib.in.h: Likewise.
16397         * lib/string.in.h: Likewise.
16398         * lib/strings.in.h: Likewise.
16399         * lib/sys_file.in.h: Likewise.
16400         * lib/sys_ioctl.in.h: Likewise.
16401         * lib/sys_select.in.h: Likewise.
16402         * lib/sys_socket.in.h: Likewise.
16403         * lib/sys_stat.in.h: Likewise.
16404         * lib/sys_times.in.h: Likewise.
16405         * lib/sys_utsname.in.h: Likewise.
16406         * lib/unistd.in.h: Likewise.
16407         * lib/wchar.in.h: Likewise.
16408
16409 2010-01-20  Bruno Haible  <bruno@clisp.org>
16410
16411         Avoid duplicate -lm.
16412         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
16413         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
16414         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
16415         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
16416         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
16417         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
16418         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
16419         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
16420         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
16421         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
16422         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
16423         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16424         Reported by Paolo Bonzini.
16425
16426 2010-01-19  Bruno Haible  <bruno@clisp.org>
16427
16428         langinfo, nl_langinfo: Relicense under LGPLv2+.
16429         * modules/langinfo (License): Change to LGPLv2+.
16430         * modules/nl_langinfo (License): Likewise.
16431         Patch by David Lutterkort <lutter@redhat.com>.
16432
16433 2010-01-19  Bruno Haible  <bruno@clisp.org>
16434
16435         Avoid compilation error with cc on OSF/1 5.1.
16436         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
16437         statement, not before.
16438         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16439
16440 2010-01-18  Bruno Haible  <bruno@clisp.org>
16441
16442         Avoid a link error due to the __printf__ symbol.
16443         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
16444         and 2.6.x.
16445         (__format__, __printf__): Remove definitions.
16446         * lib/argp-fmtstream.h: Likewise.
16447         * lib/argp.h: Likewise.
16448         * lib/error.h: Likewise.
16449         * lib/vasnprintf.h: Likewise.
16450         * lib/xprintf.h: Likewise.
16451         * lib/xvasprintf.h: Likewise.
16452         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16453
16454 2010-01-18  Bruno Haible  <bruno@clisp.org>
16455
16456         Tests for module 'tanl'.
16457         * modules/tanl-tests: New file.
16458         * tests/test-tanl.c: New file.
16459
16460         Tests for module 'sqrtl'.
16461         * modules/sqrtl-tests: New file.
16462         * tests/test-sqrtl.c: New file.
16463
16464         Tests for module 'sinl'.
16465         * modules/sinl-tests: New file.
16466         * tests/test-sinl.c: New file.
16467
16468         Tests for module 'logl'.
16469         * modules/logl-tests: New file.
16470         * tests/test-logl.c: New file.
16471
16472         Tests for module 'expl'.
16473         * modules/expl-tests: New file.
16474         * tests/test-expl.c: New file.
16475
16476         Tests for module 'cosl'.
16477         * modules/cosl-tests: New file.
16478         * tests/test-cosl.c: New file.
16479
16480         Tests for module 'atanl'.
16481         * modules/atanl-tests: New file.
16482         * tests/test-atanl.c: New file.
16483
16484         Tests for module 'asinl'.
16485         * modules/asinl-tests: New file.
16486         * tests/test-asinl.c: New file.
16487
16488         Tests for module 'acosl'.
16489         * modules/acosl-tests: New file.
16490         * tests/test-acosl.c: New file.
16491
16492         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16493         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
16494         tanl): Use the standard gnulib idiom.
16495         * lib/cosl.c: Don't include trigl.c and sincosl.c.
16496         * lib/sinl.c: Likewise.
16497         * lib/tanl.c: Don't include trigl.c.
16498         (kernel_tanl): Make static.
16499         * lib/sincosl.c: Include trigl.h first.
16500         * lib/trigl.c: Likewise.
16501         * m4/acosl.m4: New file.
16502         * m4/asinl.m4: New file.
16503         * m4/atanl.m4: New file.
16504         * m4/cosl.m4: New file.
16505         * m4/expl.m4: New file.
16506         * m4/logl.m4: New file.
16507         * m4/sinl.m4: New file.
16508         * m4/sqrtl.m4: New file.
16509         * m4/tanl.m4: New file.
16510         * m4/mathl.m4: Remove file.
16511         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
16512         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16513         Don't initialize GNULIB_MATHL.
16514         * modules/acosl: New file.
16515         * modules/asinl: New file.
16516         * modules/atanl: New file.
16517         * modules/cosl: New file.
16518         * modules/expl: New file.
16519         * modules/logl: New file.
16520         * modules/sinl: New file.
16521         * modules/sqrtl: New file.
16522         * modules/tanl: New file.
16523         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
16524         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
16525         substitute GNULIB_MATHL.
16526         * modules/mathl: Rewritten.
16527         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
16528         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
16529         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
16530         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
16531         * doc/posix-functions/expl.texi: Mention the 'expl' module.
16532         * doc/posix-functions/logl.texi: Mention the 'logl' module.
16533         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
16534         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
16535         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
16536
16537 2010-01-18  Bruno Haible  <bruno@clisp.org>
16538
16539         sqrt: Make gl_FUNC_SQRT requirable.
16540         * m4/sqrt.m4: New file.
16541         * modules/sqrt (Files): Add it.
16542         (configure.ac): Invoke gl_FUNC_SQRT.
16543
16544 2010-01-18  Bruno Haible  <bruno@clisp.org>
16545
16546         New modules for common <math.h> functions.
16547         * m4/mathfunc.m4: New file.
16548         * modules/acos: New file.
16549         * modules/asin: New file.
16550         * modules/atan: New file.
16551         * modules/atan2: New file.
16552         * modules/cbrt: New file.
16553         * modules/copysign: New file.
16554         * modules/cos: New file.
16555         * modules/cosh: New file.
16556         * modules/erf: New file.
16557         * modules/erfc: New file.
16558         * modules/exp: New file.
16559         * modules/fabs: New file.
16560         * modules/fmod: New file.
16561         * modules/hypot: New file.
16562         * modules/j0: New file.
16563         * modules/j1: New file.
16564         * modules/jn: New file.
16565         * modules/ldexp: New file.
16566         * modules/lgamma: New file.
16567         * modules/log: New file.
16568         * modules/log10: New file.
16569         * modules/log1p: New file.
16570         * modules/logb: New file.
16571         * modules/modf: New file.
16572         * modules/nextafter: New file.
16573         * modules/pow: New file.
16574         * modules/remainder: New file.
16575         * modules/rint: New file.
16576         * modules/sin: New file.
16577         * modules/sinh: New file.
16578         * modules/sqrt: New file.
16579         * modules/tan: New file.
16580         * modules/tanh: New file.
16581         * modules/y0: New file.
16582         * modules/y1: New file.
16583         * modules/yn: New file.
16584         * doc/posix-functions/acos.texi: Mention the 'acos' module.
16585         * doc/posix-functions/asin.texi: Mention the 'asin' module.
16586         * doc/posix-functions/atan.texi: Mention the 'atan' module.
16587         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
16588         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
16589         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
16590         * doc/posix-functions/cos.texi: Mention the 'cos' module.
16591         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
16592         * doc/posix-functions/erf.texi: Mention the 'erf' module.
16593         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
16594         * doc/posix-functions/exp.texi: Mention the 'exp' module.
16595         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
16596         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
16597         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
16598         * doc/posix-functions/j0.texi: Mention the 'j0' module.
16599         * doc/posix-functions/j1.texi: Mention the 'j1' module.
16600         * doc/posix-functions/jn.texi: Mention the 'jn' module.
16601         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
16602         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
16603         * doc/posix-functions/log.texi: Mention the 'log' module.
16604         * doc/posix-functions/log10.texi: Mention the 'log10' module.
16605         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
16606         * doc/posix-functions/logb.texi: Mention the 'logb' module.
16607         * doc/posix-functions/modf.texi: Mention the 'modf' module.
16608         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
16609         * doc/posix-functions/pow.texi: Mention the 'pow' module.
16610         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
16611         * doc/posix-functions/rint.texi: Mention the 'rint' module.
16612         * doc/posix-functions/sin.texi: Mention the 'sin' module.
16613         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
16614         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
16615         * doc/posix-functions/tan.texi: Mention the 'tan' module.
16616         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
16617         * doc/posix-functions/y0.texi: Mention the 'y0' module.
16618         * doc/posix-functions/y1.texi: Mention the 'y1' module.
16619         * doc/posix-functions/yn.texi: Mention the 'yn' module.
16620
16621 2010-01-18  Jim Meyering  <meyering@redhat.com>
16622
16623         ignore-value: relax license to LGPLv2+
16624         * modules/ignore-value (License): Relax to LGPLv2+.
16625
16626         getdate: don't leak when TZ contains two or more '"'s
16627         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
16628         double quote in TZ after the first one.
16629
16630         readtokens: do not leak internal token_lengths buffer
16631         * lib/readtokens.c (readtokens): Free the local, lengths,
16632         when the supplied "token_lengths" parameter is NULL.
16633
16634 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16635
16636         Fix a couple of missing LIBTHREAD link failures on AIX.
16637         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
16638         $(LIBTHREAD).
16639         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
16640
16641         Link test-poll against INET_PTON_LIB.
16642         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
16643         for inet_pton on Solaris 10.
16644
16645 2010-01-17  Bruno Haible  <bruno@clisp.org>
16646
16647         unistdio/*-sprintf: Fix typo in module description.
16648         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
16649         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
16650         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
16651         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
16652         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
16653         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
16654         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
16655         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16656
16657 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16658
16659         gnulib-tool: fix filelist for AIX, HP-UX ksh.
16660         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
16661         variables in shell case patterns, for AIX and HP-UX ksh.
16662
16663         Split large sed scripts, for HP-UX sed.
16664         * modules/stdio: Split sed scripts around 50 sed commands,
16665         to avoid HP-UX limit of 99 commands, in the near future.
16666         * modules/string: Likewise.
16667         * modules/unistd: Likewise.
16668
16669         gnulib-tool: avoid writing in the current directory.
16670         * gnulib-tool (func_emit_lib_Makefile_am)
16671         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
16672         not in the current directory, so concurrent gnulib-tool
16673         instances do not interfere.
16674
16675 2010-01-16  Jim Meyering  <meyering@redhat.com>
16676
16677         doc: update users.txt
16678         * users.txt: Add grep.
16679         (diffutils, gzip): Update URLs.
16680
16681 2010-01-12  Bruno Haible  <bruno@clisp.org>
16682
16683         posix_spawn: Avoid test failure on Cygwin.
16684         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
16685         characters.
16686         Reported by Simon Josefsson.
16687
16688 2010-01-12  Bruno Haible  <bruno@clisp.org>
16689
16690         * tests/test-cond.c (main): When skipping the test, show the reason.
16691
16692 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16693
16694         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16695
16696 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16697
16698         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16699         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16700
16701 2010-01-12  Eric Blake  <ebb9@byu.net>
16702
16703         build: guarantee AS_VAR_IF
16704         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16705         (gl_AS_VAR_IF): Move...
16706         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16707         Reported by Simon Josefsson.
16708
16709 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16710
16711         * lib/stdio.in.h: Fix typo.
16712
16713 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16714
16715         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16716         libgpg-error.
16717
16718 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16719
16720         * tests/test-xalloc-die.sh: Use $EXEEXT.
16721
16722 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16723             Bruno Haible  <bruno@clisp.org>
16724
16725         getlogin, getlogin_r: Avoid test failure.
16726         * tests/test-getlogin.c: Include <stdio.h>.
16727         (main): Skip the test when the function fails because stdin is not a
16728         tty.
16729         * tests/test-getlogin_r.c: Include <stdio.h>.
16730         (main): Skip the test when the function fails because stdin is not a
16731         tty.
16732
16733 2010-01-11  Eric Blake  <ebb9@byu.net>
16734
16735         tests: avoid more large file warnings
16736         * tests/test-fflush.c: Avoid warning about ftell use.
16737         * tests/test-fseek.c: Avoid warning about fseek use.
16738
16739 2010-01-10  Bruno Haible  <bruno@clisp.org>
16740
16741         nproc: Work better on Linux when /proc and /sys are not mounted.
16742         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16743         as lower bound when, on glibc/Linux systems,
16744         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16745         Suggested by Pádraig Brady <P@draigbrady.com>.
16746         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16747
16748         nproc: Refactor.
16749         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16750         extracted from num_processors.
16751         (num_processors): Call it.
16752
16753 2010-01-11  Jim Meyering  <meyering@redhat.com>
16754
16755         utimecmp: avoid new warning from upcoming gcc-4.5.0
16756         * lib/utimecmp.c (BILLION): Define using #define rather than an
16757         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16758
16759 2010-01-11  Eric Blake  <ebb9@byu.net>
16760
16761         math: add portability warnings for classification macros
16762         * modules/math (Depends-on): Add warn-on-use.
16763         (Makefile.am): Provide new substitutions.
16764         * m4/math_h.m4 (gl_MATH_H): Require inline.
16765         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16766         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16767         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16768         implement warnings.
16769
16770         unistd: warn on use of environ without module
16771         * modules/unistd (Depends-on): Add warn-on-use.
16772         (Makefile.am): Provide new substitutions.
16773         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16774         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16775
16776         stdio: warn on suspicious uses
16777         * modules/stdio (Depends-on): Add warn-on-use.
16778         (Makefile.am): Provide new substitutions.
16779         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16780         fseeko.
16781         * lib/stdio.in.h (gets): Always warn on use.
16782         (fseek, ftell): Adjust when warnings are issued, and honor
16783         _GL_NO_LARGE_FILES as a way to silence the warning.
16784         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16785         any warning about large file offsets.
16786         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16787         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16788         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16789         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16790         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16791         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16792         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16793         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16794
16795         warn-on-use: new module
16796         * modules/warn-on-use: New file.
16797         * build-aux/warn-on-use.h: Likewise.
16798         * m4/warn-on-use.m4: Likewise.
16799         * MODULES.html.sh (Support for building): Mention it.
16800
16801 2010-01-10  Bruno Haible  <bruno@clisp.org>
16802
16803         Tests for module 'unistr/u32-strdup'.
16804         * modules/unistr/u32-strdup-tests: New file.
16805         * tests/unistr/test-u32-strdup.c: New file.
16806
16807         Tests for module 'unistr/u16-strdup'.
16808         * modules/unistr/u16-strdup-tests: New file.
16809         * tests/unistr/test-u16-strdup.c: New file.
16810
16811         Tests for module 'unistr/u8-strdup'.
16812         * modules/unistr/u8-strdup-tests: New file.
16813         * tests/unistr/test-u8-strdup.c: New file.
16814         * tests/unistr/test-strdup.h: New file.
16815
16816         Tests for module 'unistr/u32-strncmp'.
16817         * modules/unistr/u32-strncmp-tests: New file.
16818         * tests/unistr/test-u32-strncmp.c: New file.
16819
16820         Tests for module 'unistr/u16-strncmp'.
16821         * modules/unistr/u16-strncmp-tests: New file.
16822         * tests/unistr/test-u16-strncmp.c: New file.
16823
16824         Tests for module 'unistr/u8-strncmp'.
16825         * modules/unistr/u8-strncmp-tests: New file.
16826         * tests/unistr/test-u8-strncmp.c: New file.
16827         * tests/unistr/test-strncmp.h: New file.
16828
16829         Tests for module 'unistr/u32-strcoll'.
16830         * modules/unistr/u32-strcoll-tests: New file.
16831         * tests/unistr/test-u32-strcoll.c: New file.
16832
16833         Tests for module 'unistr/u16-strcoll'.
16834         * modules/unistr/u16-strcoll-tests: New file.
16835         * tests/unistr/test-u16-strcoll.c: New file.
16836
16837         Tests for module 'unistr/u8-strcoll'.
16838         * modules/unistr/u8-strcoll-tests: New file.
16839         * tests/unistr/test-u8-strcoll.c: New file.
16840
16841         Tests for module 'unistr/u32-strcmp'.
16842         * modules/unistr/u32-strcmp-tests: New file.
16843         * tests/unistr/test-u32-strcmp.c: New file.
16844         * tests/unistr/test-u32-strcmp.h: New file.
16845
16846         Tests for module 'unistr/u16-strcmp'.
16847         * modules/unistr/u16-strcmp-tests: New file.
16848         * tests/unistr/test-u16-strcmp.c: New file.
16849         * tests/unistr/test-u16-strcmp.h: New file.
16850
16851         Tests for module 'unistr/u8-strcmp'.
16852         * modules/unistr/u8-strcmp-tests: New file.
16853         * tests/unistr/test-u8-strcmp.c: New file.
16854         * tests/unistr/test-u8-strcmp.h: New file.
16855         * tests/unistr/test-strcmp.h: New file.
16856
16857         Tests for module 'unistr/u32-strncat'.
16858         * modules/unistr/u32-strncat-tests: New file.
16859         * tests/unistr/test-u32-strncat.c: New file.
16860
16861         Tests for module 'unistr/u16-strncat'.
16862         * modules/unistr/u16-strncat-tests: New file.
16863         * tests/unistr/test-u16-strncat.c: New file.
16864
16865         Tests for module 'unistr/u8-strncat'.
16866         * modules/unistr/u8-strncat-tests: New file.
16867         * tests/unistr/test-u8-strncat.c: New file.
16868         * tests/unistr/test-strncat.h: New file.
16869
16870         Tests for module 'unistr/u32-strcat'.
16871         * modules/unistr/u32-strcat-tests: New file.
16872         * tests/unistr/test-u32-strcat.c: New file.
16873
16874         Tests for module 'unistr/u16-strcat'.
16875         * modules/unistr/u16-strcat-tests: New file.
16876         * tests/unistr/test-u16-strcat.c: New file.
16877
16878         Tests for module 'unistr/u8-strcat'.
16879         * modules/unistr/u8-strcat-tests: New file.
16880         * tests/unistr/test-u8-strcat.c: New file.
16881         * tests/unistr/test-strcat.h: New file.
16882
16883         Tests for module 'unistr/u32-stpncpy'.
16884         * modules/unistr/u32-stpncpy-tests: New file.
16885         * tests/unistr/test-u32-stpncpy.c: New file.
16886
16887         Tests for module 'unistr/u16-stpncpy'.
16888         * modules/unistr/u16-stpncpy-tests: New file.
16889         * tests/unistr/test-u16-stpncpy.c: New file.
16890
16891         Tests for module 'unistr/u8-stpncpy'.
16892         * modules/unistr/u8-stpncpy-tests: New file.
16893         * tests/unistr/test-u8-stpncpy.c: New file.
16894         * tests/unistr/test-stpncpy.h: New file.
16895
16896         Tests for module 'unistr/u32-strncpy'.
16897         * modules/unistr/u32-strncpy-tests: New file.
16898         * tests/unistr/test-u32-strncpy.c: New file.
16899
16900         Tests for module 'unistr/u16-strncpy'.
16901         * modules/unistr/u16-strncpy-tests: New file.
16902         * tests/unistr/test-u16-strncpy.c: New file.
16903
16904         Tests for module 'unistr/u8-strncpy'.
16905         * modules/unistr/u8-strncpy-tests: New file.
16906         * tests/unistr/test-u8-strncpy.c: New file.
16907         * tests/unistr/test-strncpy.h: New file.
16908
16909         Tests for module 'unistr/u32-stpcpy'.
16910         * modules/unistr/u32-stpcpy-tests: New file.
16911         * tests/unistr/test-u32-stpcpy.c: New file.
16912
16913         Tests for module 'unistr/u16-stpcpy'.
16914         * modules/unistr/u16-stpcpy-tests: New file.
16915         * tests/unistr/test-u16-stpcpy.c: New file.
16916
16917         Tests for module 'unistr/u8-stpcpy'.
16918         * modules/unistr/u8-stpcpy-tests: New file.
16919         * tests/unistr/test-u8-stpcpy.c: New file.
16920         * tests/unistr/test-stpcpy.h: New file.
16921
16922         Tests for module 'unistr/u32-strcpy'.
16923         * modules/unistr/u32-strcpy-tests: New file.
16924         * tests/unistr/test-u32-strcpy.c: New file.
16925
16926         Tests for module 'unistr/u16-strcpy'.
16927         * modules/unistr/u16-strcpy-tests: New file.
16928         * tests/unistr/test-u16-strcpy.c: New file.
16929
16930         Tests for module 'unistr/u8-strcpy'.
16931         * modules/unistr/u8-strcpy-tests: New file.
16932         * tests/unistr/test-u8-strcpy.c: New file.
16933         * tests/unistr/test-strcpy.h: New file.
16934
16935         Tests for module 'unistr/u32-strnlen'.
16936         * modules/unistr/u32-strnlen-tests: New file.
16937         * tests/unistr/test-u32-strnlen.c: New file.
16938
16939         Tests for module 'unistr/u16-strnlen'.
16940         * modules/unistr/u16-strnlen-tests: New file.
16941         * tests/unistr/test-u16-strnlen.c: New file.
16942
16943         Tests for module 'unistr/u8-strnlen'.
16944         * modules/unistr/u8-strnlen-tests: New file.
16945         * tests/unistr/test-u8-strnlen.c: New file.
16946         * tests/unistr/test-strnlen.h: New file.
16947
16948         Tests for module 'unistr/u32-strlen'.
16949         * modules/unistr/u32-strlen-tests: New file.
16950         * tests/unistr/test-u32-strlen.c: New file.
16951
16952         Tests for module 'unistr/u16-strlen'.
16953         * modules/unistr/u16-strlen-tests: New file.
16954         * tests/unistr/test-u16-strlen.c: New file.
16955
16956         Tests for module 'unistr/u8-strlen'.
16957         * modules/unistr/u8-strlen-tests: New file.
16958         * tests/unistr/test-u8-strlen.c: New file.
16959
16960         Tests for module 'unistr/u32-prev'.
16961         * modules/unistr/u32-prev-tests: New file.
16962         * tests/unistr/test-u32-prev.c: New file.
16963
16964         Tests for module 'unistr/u16-prev'.
16965         * modules/unistr/u16-prev-tests: New file.
16966         * tests/unistr/test-u16-prev.c: New file.
16967
16968         Tests for module 'unistr/u8-prev'.
16969         * modules/unistr/u8-prev-tests: New file.
16970         * tests/unistr/test-u8-prev.c: New file.
16971
16972         Tests for module 'unistr/u32-next'.
16973         * modules/unistr/u32-next-tests: New file.
16974         * tests/unistr/test-u32-next.c: New file.
16975
16976         Tests for module 'unistr/u16-next'.
16977         * modules/unistr/u16-next-tests: New file.
16978         * tests/unistr/test-u16-next.c: New file.
16979
16980         Tests for module 'unistr/u8-next'.
16981         * modules/unistr/u8-next-tests: New file.
16982         * tests/unistr/test-u8-next.c: New file.
16983
16984         Tests for module 'unistr/u32-strmbtouc'.
16985         * modules/unistr/u32-strmbtouc-tests: New file.
16986         * tests/unistr/test-u32-strmbtouc.c: New file.
16987
16988         Tests for module 'unistr/u16-strmbtouc'.
16989         * modules/unistr/u16-strmbtouc-tests: New file.
16990         * tests/unistr/test-u16-strmbtouc.c: New file.
16991
16992         Tests for module 'unistr/u8-strmbtouc'.
16993         * modules/unistr/u8-strmbtouc-tests: New file.
16994         * tests/unistr/test-u8-strmbtouc.c: New file.
16995
16996         Tests for module 'unistr/u32-strmblen'.
16997         * modules/unistr/u32-strmblen-tests: New file.
16998         * tests/unistr/test-u32-strmblen.c: New file.
16999
17000         Tests for module 'unistr/u16-strmblen'.
17001         * modules/unistr/u16-strmblen-tests: New file.
17002         * tests/unistr/test-u16-strmblen.c: New file.
17003
17004         Tests for module 'unistr/u8-strmblen'.
17005         * modules/unistr/u8-strmblen-tests: New file.
17006         * tests/unistr/test-u8-strmblen.c: New file.
17007
17008         Tests for module 'unistr/u32-cpy-alloc'.
17009         * modules/unistr/u32-cpy-alloc-tests: New file.
17010         * tests/unistr/test-u32-cpy-alloc.c: New file.
17011
17012         Tests for module 'unistr/u16-cpy-alloc'.
17013         * modules/unistr/u16-cpy-alloc-tests: New file.
17014         * tests/unistr/test-u16-cpy-alloc.c: New file.
17015
17016         Tests for module 'unistr/u8-cpy-alloc'.
17017         * modules/unistr/u8-cpy-alloc-tests: New file.
17018         * tests/unistr/test-u8-cpy-alloc.c: New file.
17019         * tests/unistr/test-cpy-alloc.h: New file.
17020
17021         Tests for module 'unistr/u32-mbsnlen'.
17022         * modules/unistr/u32-mbsnlen-tests: New file.
17023         * tests/unistr/test-u32-mbsnlen.c: New file.
17024
17025         Tests for module 'unistr/u16-mbsnlen'.
17026         * modules/unistr/u16-mbsnlen-tests: New file.
17027         * tests/unistr/test-u16-mbsnlen.c: New file.
17028
17029         Tests for module 'unistr/u8-mbsnlen'.
17030         * modules/unistr/u8-mbsnlen-tests: New file.
17031         * tests/unistr/test-u8-mbsnlen.c: New file.
17032
17033         Tests for module 'unistr/u32-chr'.
17034         * modules/unistr/u32-chr-tests: New file.
17035         * tests/unistr/test-u32-chr.c: New file.
17036
17037         Tests for module 'unistr/u16-chr'.
17038         * modules/unistr/u16-chr-tests: New file.
17039         * tests/unistr/test-u16-chr.c: New file.
17040
17041         Tests for module 'unistr/u8-chr'.
17042         * modules/unistr/u8-chr-tests: New file.
17043         * tests/unistr/test-u8-chr.c: New file.
17044         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
17045
17046         Tests for module 'unistr/u32-cmp2'.
17047         * modules/unistr/u32-cmp2-tests: New file.
17048         * tests/unistr/test-u32-cmp2.c: New file.
17049
17050         Tests for module 'unistr/u16-cmp2'.
17051         * modules/unistr/u16-cmp2-tests: New file.
17052         * tests/unistr/test-u16-cmp2.c: New file.
17053
17054         Tests for module 'unistr/u8-cmp2'.
17055         * modules/unistr/u8-cmp2-tests: New file.
17056         * tests/unistr/test-u8-cmp2.c: New file.
17057         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
17058
17059         Tests for module 'unistr/u32-cmp'.
17060         * modules/unistr/u32-cmp-tests: New file.
17061         * tests/unistr/test-u32-cmp.c: New file.
17062
17063         Tests for module 'unistr/u16-cmp'.
17064         * modules/unistr/u16-cmp-tests: New file.
17065         * tests/unistr/test-u16-cmp.c: New file.
17066
17067         Tests for module 'unistr/u8-cmp'.
17068         * modules/unistr/u8-cmp-tests: New file.
17069         * tests/unistr/test-u8-cmp.c: New file.
17070         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
17071
17072         Tests for module 'unistr/u32-set'.
17073         * modules/unistr/u32-set-tests: New file.
17074         * tests/unistr/test-u32-set.c: New file.
17075
17076         Tests for module 'unistr/u16-set'.
17077         * modules/unistr/u16-set-tests: New file.
17078         * tests/unistr/test-u16-set.c: New file.
17079
17080         Tests for module 'unistr/u8-set'.
17081         * modules/unistr/u8-set-tests: New file.
17082         * tests/unistr/test-u8-set.c: New file.
17083         * tests/unistr/test-set.h: New file.
17084
17085         Tests for module 'unistr/u32-move'.
17086         * modules/unistr/u32-move-tests: New file.
17087         * tests/unistr/test-u32-move.c: New file.
17088
17089         Tests for module 'unistr/u16-move'.
17090         * modules/unistr/u16-move-tests: New file.
17091         * tests/unistr/test-u16-move.c: New file.
17092
17093         Tests for module 'unistr/u8-move'.
17094         * modules/unistr/u8-move-tests: New file.
17095         * tests/unistr/test-u8-move.c: New file.
17096         * tests/unistr/test-move.h: New file.
17097
17098         Tests for module 'unistr/u32-cpy'.
17099         * modules/unistr/u32-cpy-tests: New file.
17100         * tests/unistr/test-u32-cpy.c: New file.
17101
17102         Tests for module 'unistr/u16-cpy'.
17103         * modules/unistr/u16-cpy-tests: New file.
17104         * tests/unistr/test-u16-cpy.c: New file.
17105
17106         Tests for module 'unistr/u8-cpy'.
17107         * modules/unistr/u8-cpy-tests: New file.
17108         * tests/unistr/test-u8-cpy.c: New file.
17109         * tests/unistr/test-cpy.h: New file.
17110
17111 2010-01-09  Bruno Haible  <bruno@clisp.org>
17112
17113         Tests for module 'unistr/u32-uctomb'.
17114         * modules/unistr/u32-uctomb-tests: New file.
17115         * tests/unistr/test-u32-uctomb.c: New file.
17116
17117         Tests for module 'unistr/u16-uctomb'.
17118         * modules/unistr/u16-uctomb-tests: New file.
17119         * tests/unistr/test-u16-uctomb.c: New file.
17120
17121         Tests for module 'unistr/u8-uctomb'.
17122         * modules/unistr/u8-uctomb-tests: New file.
17123         * tests/unistr/test-u8-uctomb.c: New file.
17124
17125         Tests for module 'unistr/u32-mbtoucr'.
17126         * modules/unistr/u32-mbtoucr-tests: New file.
17127         * tests/unistr/test-u32-mbtoucr.c: New file.
17128
17129         Tests for module 'unistr/u16-mbtoucr'.
17130         * modules/unistr/u16-mbtoucr-tests: New file.
17131         * tests/unistr/test-u16-mbtoucr.c: New file.
17132
17133         Tests for module 'unistr/u8-mbtoucr'.
17134         * modules/unistr/u8-mbtoucr-tests: New file.
17135         * tests/unistr/test-u8-mbtoucr.c: New file.
17136
17137         Tests for module 'unistr/u32-mbtouc'.
17138         * modules/unistr/u32-mbtouc-tests: New file.
17139         * tests/unistr/test-u32-mbtouc.c: New file.
17140
17141         Tests for module 'unistr/u16-mbtouc'.
17142         * modules/unistr/u16-mbtouc-tests: New file.
17143         * tests/unistr/test-u16-mbtouc.c: New file.
17144
17145         Tests for module 'unistr/u8-mbtouc'.
17146         * modules/unistr/u8-mbtouc-tests: New file.
17147         * tests/unistr/test-u8-mbtouc.c: New file.
17148
17149         Tests for module 'unistr/u32-mbtouc-unsafe'.
17150         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
17151         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
17152         * tests/unistr/test-u32-mbtouc.h: New file.
17153
17154         Tests for module 'unistr/u16-mbtouc-unsafe'.
17155         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
17156         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
17157         * tests/unistr/test-u16-mbtouc.h: New file.
17158
17159         Tests for module 'unistr/u8-mbtouc-unsafe'.
17160         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
17161         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
17162         * tests/unistr/test-u8-mbtouc.h: New file.
17163
17164         Tests for module 'unistr/u32-mblen'.
17165         * modules/unistr/u32-mblen-tests: New file.
17166         * tests/unistr/test-u32-mblen.c: New file.
17167
17168         Tests for module 'unistr/u16-mblen'.
17169         * modules/unistr/u16-mblen-tests: New file.
17170         * tests/unistr/test-u16-mblen.c: New file.
17171
17172         Tests for module 'unistr/u8-mblen'.
17173         * modules/unistr/u8-mblen-tests: New file.
17174         * tests/unistr/test-u8-mblen.c: New file.
17175
17176         Tests for module 'unistr/u32-to-u16'.
17177         * modules/unistr/u32-to-u16-tests: New file.
17178         * tests/unistr/test-u32-to-u16.c: New file.
17179
17180         Tests for module 'unistr/u32-to-u8'.
17181         * modules/unistr/u32-to-u8-tests: New file.
17182         * tests/unistr/test-u32-to-u8.c: New file.
17183
17184         Tests for module 'unistr/u16-to-u32'.
17185         * modules/unistr/u16-to-u32-tests: New file.
17186         * tests/unistr/test-u16-to-u32.c: New file.
17187
17188         Tests for module 'unistr/u16-to-u8'.
17189         * modules/unistr/u16-to-u8-tests: New file.
17190         * tests/unistr/test-u16-to-u8.c: New file.
17191
17192         Tests for module 'unistr/u8-to-u32'.
17193         * modules/unistr/u8-to-u32-tests: New file.
17194         * tests/unistr/test-u8-to-u32.c: New file.
17195
17196         Tests for module 'unistr/u8-to-u16'.
17197         * modules/unistr/u8-to-u16-tests: New file.
17198         * tests/unistr/test-u8-to-u16.c: New file.
17199
17200         Tests for module 'unistr/u32-check'.
17201         * modules/unistr/u32-check-tests: New file.
17202         * tests/unistr/test-u32-check.c: New file.
17203
17204         Tests for module 'unistr/u16-check'.
17205         * modules/unistr/u16-check-tests: New file.
17206         * tests/unistr/test-u16-check.c: New file.
17207
17208         Tests for module 'unistr/u8-check'.
17209         * modules/unistr/u8-check-tests: New file.
17210         * tests/unistr/test-u8-check.c: New file.
17211
17212         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
17213         (category_equals): New function.
17214         (main): Add more tests.
17215         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
17216
17217         * tests/unictype/test-bidi_byname.c (main): Add more tests.
17218
17219 2010-01-10  Bruno Haible  <bruno@clisp.org>
17220
17221         unistr/u*-strcoll: Try harder to distinguish different strings.
17222         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
17223         compare s1 and s2 to see if they are different.
17224
17225 2010-01-10  Bruno Haible  <bruno@clisp.org>
17226
17227         unistr/u*-stpncpy: Fix the return value.
17228         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
17229         description of the return value consistent with stpncpy in glibc.
17230         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
17231         written non-NUL unit.
17232
17233 2010-01-10  Bruno Haible  <bruno@clisp.org>
17234
17235         unistr/u*-next: Add missing dependencies.
17236         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
17237         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
17238         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
17239
17240 2010-01-10  Bruno Haible  <bruno@clisp.org>
17241
17242         unistr/u8-mbsnlen: Fix return value for incomplete character.
17243         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
17244         u8_mblen.
17245         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
17246         Remove unistr/u8-mblen.
17247         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
17248         u16_mblen.
17249         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
17250         Remove unistr/u16-mblen.
17251
17252 2010-01-10  Bruno Haible  <bruno@clisp.org>
17253
17254         wchar: Fix compilation error when <wchar.h> is used from coreutils.
17255         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
17256         Reported by Brian Gough <bjg@gnu.org> and
17257         Chris Clayton <chris2553@googlemail.com> via
17258         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
17259
17260 2010-01-09  Bruno Haible  <bruno@clisp.org>
17261
17262         unistr/u16-to-u32: Reject invalid input.
17263         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
17264         u16_mbtouc.
17265         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
17266         Remove unistr/u16-mbtouc.
17267
17268         unistr/u16-to-u8: Reject invalid input.
17269         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
17270         u16_mbtouc.
17271         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
17272         Remove unistr/u16-mbtouc.
17273
17274         unistr/u8-to-u32: Reject invalid input.
17275         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
17276         u8_mbtouc.
17277         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
17278         Remove unistr/u8-mbtouc.
17279
17280         unistr/u8-to-u16: Reject invalid input.
17281         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
17282         u8_mbtouc.
17283         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
17284         Remove unistr/u8-mbtouc.
17285
17286 2010-01-09  Bruno Haible  <bruno@clisp.org>
17287
17288         Tests for module 'getlogin'.
17289         * modules/getlogin-tests: New file.
17290         * tests/test-getlogin.c: New file.
17291
17292         New module 'getlogin'.
17293         * lib/unistd.in.h (getlogin): New declaration.
17294         * lib/getlogin.c: New file.
17295         * m4/getlogin.m4: New file.
17296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
17297         HAVE_GETLOGIN.
17298         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
17299         HAVE_GETLOGIN.
17300         * modules/getlogin: New file.
17301         * doc/posix-functions/getlogin.texi: Mention the new module.
17302         Reported by John W. Eaton <jwe@gnu.org>.
17303
17304 2010-01-09  Bruno Haible  <bruno@clisp.org>
17305
17306         getlogin_r: Support for native Windows.
17307         * lib/getlogin_r.c: Include <windows.h>
17308         (getlogin_r): Implement for native Windows.
17309         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
17310         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
17311         via John W. Eaton <jwe@gnu.org>.
17312
17313 2010-01-09  Bruno Haible  <bruno@clisp.org>
17314
17315         getlogin_r: Small fixes.
17316         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
17317         succeeds.
17318         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
17319         before testing whether getlogin_r is declared. No need to set
17320         HAVE_DECL_GETLOGIN_R to 1.
17321         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
17322
17323 2010-01-09  Bruno Haible  <bruno@clisp.org>
17324
17325         * lib/unistd.in.h (getlogin_r): Add comment.
17326
17327 2010-01-09  Bruno Haible  <bruno@clisp.org>
17328
17329         Tests for module 'getlogin_r'.
17330         * modules/getlogin_r-tests: New file.
17331         * tests/test-getlogin_r.c: New file.
17332
17333 2010-01-09  Jim Meyering  <meyering@redhat.com>
17334
17335         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
17336         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
17337         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
17338
17339 2010-01-08  Simon Josefsson  <simon@josefsson.org>
17340
17341         * lib/dup2.c (rpl_dup2): Improve comment.
17342
17343 2010-01-08  Eric Blake  <ebb9@byu.net>
17344
17345         maint.mk: allow packages to add makefile @@ exceptions
17346         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
17347         (sc_makefile_check): Rename...
17348         (sc_makefile_at_at_check): ...to this, and use hook.
17349
17350         dup2: work around mingw bug
17351         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
17352         Reported by Simon Josefsson.
17353
17354 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
17355
17356         glob: Fix C++ compilation.
17357         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
17358         C++.
17359
17360 2010-01-07  Bruno Haible  <bruno@clisp.org>
17361
17362         Fix indentation of wctype.in.h, broken since 2007-01-06.
17363         * lib/wctype.in.h: Fix indentation of preprocessor directives.
17364
17365 2010-01-07  Bruno Haible  <bruno@clisp.org>
17366
17367         mbslen: Avoid collision with system function.
17368         * lib/string.in.h [MirBSD]: Include <wchar.h>.
17369         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
17370         * m4/mbslen.m4: New file.
17371         * modules/mbslen (Files): Add it.
17372         (configure.ac): Invoke gl_MBSLEN.
17373         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
17374         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
17375         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
17376         via Ian Beckwith <ianb@erislabs.net>.
17377
17378 2010-01-07  Bruno Haible  <bruno@clisp.org>
17379
17380         dirent: Document the last fix.
17381         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
17382
17383 2010-01-07  Bruno Haible  <bruno@clisp.org>
17384
17385         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
17386         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
17387         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
17388         va_list are defined.
17389         * doc/posix-headers/stdio.texi: Document the bug of missing types.
17390         Reported by Eric Blake.
17391
17392 2010-01-07  Bruno Haible  <bruno@clisp.org>
17393
17394         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
17395         * modules/xlist (Depends-on): Add 'list',
17396         * modules/xoset (Depends-on): Add 'oset'.
17397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17398
17399 2010-01-07  Bruno Haible  <bruno@clisp.org>
17400
17401         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
17402         * doc/posix-functions/strncasecmp.texi: Likewise.
17403
17404 2010-01-07  Bruno Haible  <bruno@clisp.org>
17405
17406         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
17407
17408 2010-01-07  John W. Eaton  <jwe@octave.org>
17409
17410         wctype: allow C++ use
17411         * lib/wctype.in.h: Add extern "C" block for C++.
17412
17413 2010-01-06  Eric Blake  <ebb9@byu.net>
17414
17415         maint.mk: detect incorrect GFDL usage
17416         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
17417
17418 2010-01-06  Jim Meyering  <meyering@redhat.com>
17419         and Eric Blake  <ebb9@byu.net>
17420
17421         maint.mk: ignore multi-line copyright in NEWS
17422         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
17423
17424 2010-01-06  Eric Blake  <ebb9@byu.net>
17425
17426         select: add missing dependency
17427         * modules/select-tests (Depends-on): Move sockets dependency...
17428         * modules/select (Depends-on): ...here.
17429         Reported by Ian Beckwith.
17430
17431         doc: regenerate INSTALL
17432         * doc/INSTALL: Reflect recent autoconf update.
17433         * doc/INSTALL.ISO: Likewise.
17434         * doc/INSTALL.UTF-8: Likewise.
17435
17436         pread: fix compilation on glibc
17437         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
17438         Reported by Ralf Wildenhues.
17439
17440         dirent: fix test failure
17441         * lib/dirent.in.h (includes): Guarantee ino_t.
17442         Reported by Ralf Wildenhues.
17443
17444 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
17445
17446         linkat, renameat: avoid bad free
17447         * lib/at-func2.c (at_func2): Fix typo.
17448         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
17449
17450 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17451
17452         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
17453         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
17454         to avoid failure of symlink test later.
17455
17456 2010-01-06  Eric Blake  <ebb9@byu.net>
17457
17458         stdio, unistd: guarantee ssize_t
17459         * lib/unistd.in.h (includes): Ensure that types required by POSIX
17460         2008 are exposed when needed.
17461         * lib/stdio.in.h (includes): Likewise.
17462         Reported by Ralf Wildenhues.
17463
17464 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
17465
17466         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
17467         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
17468         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
17469
17470 2010-01-06  Jim Meyering  <meyering@redhat.com>
17471
17472         readtokens: this module *does* require xalloc.h
17473         It uses only functions that were omitted by the old syntax-check rule.
17474         * lib/readtokens.c: Include "xalloc.h" once again.
17475         * modules/readtokens (Depends-on): Add xalloc.
17476         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
17477
17478 2010-01-05  Eric Blake  <ebb9@byu.net>
17479
17480         maint: support 'make announcement' from a VPATH build
17481         * top/maint.mk (announcement): Look for correct NEWS file.
17482
17483 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
17484
17485         utimens (fdutimens): ignore a negative FD, per contract
17486         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
17487         when we have a valid file descriptor.  Otherwise, using a brand
17488         new glibc (with just-patched futimens that now fails with EBADF)
17489         would cause this function to fail with ENOSYS.
17490         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
17491         See also http://bugzilla.redhat.com/552320.
17492
17493 2010-01-05  Eric Blake  <ebb9@byu.net>
17494
17495         strcase: document what it provides
17496         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
17497         gnulib module.
17498         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
17499         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
17500
17501 2010-01-05  Jim Meyering  <meyering@redhat.com>
17502
17503         maint: remove useless inclusions of "xalloc.h"
17504         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
17505         * lib/readtokens.c: Likewise.
17506         * lib/same.c: Likewise.
17507         * modules/getloadavg (Depends-on): Remove xalloc.
17508         * modules/readtokens: Likewise.
17509         * modules/same: Likewise.
17510
17511         maint.mk: include 4 more function names in alloca.h-checking regexp
17512         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
17513         regexp.  Before, we would give a false-positive (saying alloca.h
17514         is included unnecessarily) when the only uses involved omitted symbols.
17515
17516         xalloc.h: use consistent formatting
17517         * lib/xalloc.h: Move declarations to start in the first column.
17518
17519 2010-01-05  Eric Blake  <ebb9@byu.net>
17520
17521         mkdir: avoid xalloc
17522         * lib/mkdir.c (includes): Drop unused header.
17523         Reported by John W. Eaton.
17524
17525 2010-01-04  Jim Meyering  <meyering@redhat.com>
17526
17527         nl_langinfo: avoid configure-time syntax error
17528         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
17529         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
17530         the empty string.  Don't let that provoke a shell syntax error.
17531
17532         regcomp, regexec, fnmatch: avoid array bounds read error
17533         * lib/regcomp.c (build_equiv_class): From glibc:
17534         Use only the low 24 bits of a findidx return value as an index
17535         into the weights array.  Patch by Ulrich Drepper:
17536         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
17537         * lib/regexec.c (check_node_accept_bytes): Likewise.
17538         * lib/fnmatch_loop.c (FCT): Likewise.
17539
17540         regcomp: skip collseq lookup when there are no rules
17541         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
17542         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
17543
17544         regcomp: recognize ill-formed { } expressions
17545         * lib/regcomp.c (parse_dup_op): From glibc:
17546         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
17547
17548         regcomp: fix typo in comment
17549         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
17550         s/satisfy/satisfies/.
17551
17552         regcomp: sync from glibc: remove dead store
17553         * lib/regcomp.c (duplicate_node_closure): Remove useless
17554         search_duplicated_node call and dead store.
17555
17556         regcomp: sync from glibc; always use nl_langinfo
17557         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
17558         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
17559         * modules/regex (Depends-on): Add nl_langinfo.
17560
17561 2010-01-04  Eric Blake  <ebb9@byu.net>
17562
17563         fdopendir: fix configure test
17564         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
17565
17566 2010-01-01  Bruno Haible  <bruno@clisp.org>
17567
17568         wchar: Remove unused configure check.
17569         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
17570
17571 2010-01-01  Eric Blake  <ebb9@byu.net>
17572
17573         headers: make check of system header explicit
17574         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
17575         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
17576         ourselves.
17577         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17578         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17579         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
17580         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
17581         internals.
17582         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
17583         missing.
17584         Suggested by Bruno Haible.
17585
17586 2010-01-01  Jim Meyering  <meyering@redhat.com>
17587
17588         ChangeLog: tweak to eliminate unnecessary copyright line
17589         * ChangeLog: Remove a copyright line that was mistakenly updated
17590         by today's update-copyright run.  Reported by Eric Blake.
17591
17592         test-update-copyright: don't let envvar setting cause test failure
17593         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17594
17595 2010-01-01  Bruno Haible  <bruno@clisp.org>
17596
17597         localename: Avoid gcc warning.
17598         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
17599         function if it is not used.
17600
17601 2010-01-01  Jim Meyering  <meyering@redhat.com>
17602
17603         update nearly all FSF copyright year lists to include 2010
17604         Use the same procedure as for 2009, outlined in
17605         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
17606
17607         version-etc: set COPYRIGHT_YEAR to 2010
17608         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
17609
17610 2009-12-31  Eric Blake  <ebb9@byu.net>
17611
17612         doc: correct availability of cygwin 1.5.x getopt
17613         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
17614         variables.
17615         * doc/posix-functions/opterr.texi (opterr): Likewise.
17616         * doc/posix-functions/optind.texi (optind): Likewise.
17617         * doc/posix-functions/optopt.texi (optopt): Likewise.
17618         * doc/posix-functions/tzname.texi (tzname): Likewise.
17619
17620         openat: update maintainer
17621         * modules/openat (Maintainer): Add myself.
17622
17623         utimens: avoid shadowing warning
17624         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
17625         buffers into one, to avoid shadowing, as well as avoiding a
17626         redundant stat.
17627         Reported by Jim Meyering.
17628
17629         test-dup2: avoid compiler warning
17630         * tests/test-dup2.c (is_inheritable): Only define if used.
17631
17632 2010-01-01  Bruno Haible  <bruno@clisp.org>
17633
17634         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
17635         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
17636         defined, use wctomb instead of wcrtomb.
17637
17638 2010-01-01  Bruno Haible  <bruno@clisp.org>
17639
17640         iconv: Reject native Solaris iconv.
17641         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
17642         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
17643
17644 2009-12-31  Bruno Haible  <bruno@clisp.org>
17645
17646         * tests/test-signal.c (main): Remove test of 'SIG'.
17647
17648 2009-12-31  Bruno Haible  <bruno@clisp.org>
17649
17650         spawn: Fix incomplete fix.
17651         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17652         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17653         warnings for GNULIB_POSIXCHECK again.
17654         Reported by Eric Blake.
17655
17656 2009-12-31  Bruno Haible  <bruno@clisp.org>
17657
17658         Avoid namespace pollution on glibc systems.
17659         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
17660         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
17661         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
17662         glibc systems.
17663
17664 2009-12-31  Bruno Haible  <bruno@clisp.org>
17665
17666         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
17667         (gl_REPLACE_WCHAR_H): Turn into a no-op.
17668         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
17669         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17670         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17671         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17672         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17673
17674 2009-12-31  Bruno Haible  <bruno@clisp.org>
17675
17676         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17677         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
17678         afterwards.
17679
17680 2009-12-31  Bruno Haible  <bruno@clisp.org>
17681
17682         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
17683         SYS_UTSNAME_H.
17684
17685 2009-12-31  Bruno Haible  <bruno@clisp.org>
17686
17687         spawn: Fix misapplied patch.
17688         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17689         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17690         warnings for GNULIB_POSIXCHECK.
17691
17692 2009-12-31  Bruno Haible  <bruno@clisp.org>
17693
17694         times: Update after sys_times changed.
17695         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17696         * modules/times (Files): Add it.
17697         (configure.ac): Invoke gl_FUNC_TIMES.
17698
17699 2009-12-31  Bruno Haible  <bruno@clisp.org>
17700
17701         Use AC_C_INLINE where necessary.
17702         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17703         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17705         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17706         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17707         * m4/mbiter.m4 (gl_MBITER): Likewise.
17708         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17709         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17710         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17711         * modules/u64 (configure.ac): Likewise.
17712
17713 2009-12-31  Bruno Haible  <bruno@clisp.org>
17714
17715         Use AC_C_INLINE instead of module 'inline' where possible.
17716         * modules/inline (Description): Clarify purpose.
17717         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17718         * modules/count-one-bits (Depends-on): Remove inline.
17719         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17720         * modules/openat (Depends-on): Remove inline.
17721         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17722         instead of depending on module 'inline'.
17723         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17724         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17725         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17726         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17727         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17728         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17729         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17730         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17731         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17732         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17733         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17734         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17735         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17736         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17737         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17738         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17739         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17740         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17741         Likewise.
17742         * modules/unictype/property-ascii-hex-digit (Depends-on,
17743         configure.ac): Likewise.
17744         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17745         configure.ac): Likewise.
17746         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17747         configure.ac): Likewise.
17748         * modules/unictype/property-bidi-block-separator (Depends-on,
17749         configure.ac): Likewise.
17750         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17751         configure.ac): Likewise.
17752         * modules/unictype/property-bidi-common-separator (Depends-on,
17753         configure.ac): Likewise.
17754         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17755         Likewise.
17756         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17757         configure.ac): Likewise.
17758         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17759         configure.ac): Likewise.
17760         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17761         configure.ac): Likewise.
17762         * modules/unictype/property-bidi-european-digit (Depends-on,
17763         configure.ac): Likewise.
17764         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17765         configure.ac): Likewise.
17766         * modules/unictype/property-bidi-left-to-right (Depends-on,
17767         configure.ac): Likewise.
17768         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17769         configure.ac): Likewise.
17770         * modules/unictype/property-bidi-other-neutral (Depends-on,
17771         configure.ac): Likewise.
17772         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17773         Likewise.
17774         * modules/unictype/property-bidi-segment-separator (Depends-on,
17775         configure.ac): Likewise.
17776         * modules/unictype/property-bidi-whitespace (Depends-on,
17777         configure.ac): Likewise.
17778         * modules/unictype/property-combining (Depends-on, configure.ac):
17779         Likewise.
17780         * modules/unictype/property-composite (Depends-on, configure.ac):
17781         Likewise.
17782         * modules/unictype/property-currency-symbol (Depends-on,
17783         configure.ac): Likewise.
17784         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17785         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17786         Likewise.
17787         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17788         configure.ac): Likewise.
17789         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17790         Likewise.
17791         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17792         Likewise.
17793         * modules/unictype/property-extender (Depends-on, configure.ac):
17794         Likewise.
17795         * modules/unictype/property-format-control (Depends-on, configure.ac):
17796         Likewise.
17797         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17798         Likewise.
17799         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17800         Likewise.
17801         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17802         Likewise.
17803         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17804         Likewise.
17805         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17806         Likewise.
17807         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17808         Likewise.
17809         * modules/unictype/property-id-start (Depends-on, configure.ac):
17810         Likewise.
17811         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17812         Likewise.
17813         * modules/unictype/property-ids-binary-operator (Depends-on,
17814         configure.ac): Likewise.
17815         * modules/unictype/property-ids-trinary-operator (Depends-on,
17816         configure.ac): Likewise.
17817         * modules/unictype/property-ignorable-control (Depends-on,
17818         configure.ac): Likewise.
17819         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17820         Likewise.
17821         * modules/unictype/property-join-control (Depends-on, configure.ac):
17822         Likewise.
17823         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17824         Likewise.
17825         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17826         Likewise.
17827         * modules/unictype/property-logical-order-exception (Depends-on,
17828         configure.ac): Likewise.
17829         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17830         Likewise.
17831         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17832         * modules/unictype/property-non-break (Depends-on, configure.ac):
17833         Likewise.
17834         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17835         Likewise.
17836         * modules/unictype/property-numeric (Depends-on, configure.ac):
17837         Likewise.
17838         * modules/unictype/property-other-alphabetic (Depends-on,
17839         configure.ac): Likewise.
17840         * modules/unictype/property-other-default-ignorable-code-point
17841         (Depends-on, configure.ac): Likewise.
17842         * modules/unictype/property-other-grapheme-extend (Depends-on,
17843         configure.ac): Likewise.
17844         * modules/unictype/property-other-id-continue (Depends-on,
17845         configure.ac): Likewise.
17846         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17847         Likewise.
17848         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17849         Likewise.
17850         * modules/unictype/property-other-math (Depends-on, configure.ac):
17851         Likewise.
17852         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17853         Likewise.
17854         * modules/unictype/property-paired-punctuation (Depends-on,
17855         configure.ac): Likewise.
17856         * modules/unictype/property-paragraph-separator (Depends-on,
17857         configure.ac): Likewise.
17858         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17859         Likewise.
17860         * modules/unictype/property-pattern-white-space (Depends-on,
17861         configure.ac): Likewise.
17862         * modules/unictype/property-private-use (Depends-on, configure.ac):
17863         Likewise.
17864         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17865         Likewise.
17866         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17867         Likewise.
17868         * modules/unictype/property-radical (Depends-on, configure.ac):
17869         Likewise.
17870         * modules/unictype/property-sentence-terminal (Depends-on,
17871         configure.ac): Likewise.
17872         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17873         Likewise.
17874         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17875         * modules/unictype/property-terminal-punctuation (Depends-on,
17876         configure.ac): Likewise.
17877         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17878         Likewise.
17879         * modules/unictype/property-unassigned-code-value (Depends-on,
17880         configure.ac): Likewise.
17881         * modules/unictype/property-unified-ideograph (Depends-on,
17882         configure.ac): Likewise.
17883         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17884         Likewise.
17885         * modules/unictype/property-variation-selector (Depends-on,
17886         configure.ac): Likewise.
17887         * modules/unictype/property-white-space (Depends-on, configure.ac):
17888         Likewise.
17889         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17890         Likewise.
17891         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17892         Likewise.
17893         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17894         Likewise.
17895         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17896         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17897         Likewise.
17898
17899 2009-12-31  Bruno Haible  <bruno@clisp.org>
17900
17901         Remove unnecessary AC_C_INLINE invocation.
17902         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17903         since 2009-08-21.
17904
17905 2009-12-31  Jim Meyering  <meyering@redhat.com>
17906
17907         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17908         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17909         With this change, we can all remove the gpg_key_ID = ... definition
17910         from our respective cfg.mk files.
17911
17912         maint.mk: create announcement template in ~/, not in /tmp
17913         * top/maint.mk (emit_upload_commands): Adjust.
17914         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17915         Remove temporary file, .ci-msg.
17916
17917 2009-12-31  Eric Blake  <ebb9@byu.net>
17918
17919         link-warning: always build headers with link warnings
17920         * modules/arpa_inet (Makefile.am): Always build replacement
17921         header.
17922         * modules/ctype (Makefile.am): Likewise.
17923         * modules/dirent (Makefile.am): Likewise.
17924         * modules/inttypes (Makefile.am): Likewise.
17925         * modules/langinfo (Makefile.am): Likewise.
17926         * modules/locale (Makefile.am): Likewise.
17927         * modules/spawn (Makefile.am): Likewise.
17928         * modules/sys_file (Makefile.am): Likewise.
17929         * modules/sys_ioctl (Makefile.am): Likewise.
17930         * modules/sys_select (Makefile.am): Likewise.
17931         * modules/sys_socket (Makefile.am): Likewise.
17932         * modules/sys_times (Makefile.am): Likewise.
17933         * modules/sys_utsname (Makefile.am): Likewise.
17934         * modules/sys_wait (Makefile.am): Likewise.
17935         * modules/wchar (Makefile.am): Likewise.
17936         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
17937         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
17938         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
17939         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
17940         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
17941         Likewise.
17942         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17943         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17944         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
17945         Likewise.
17946         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
17947         Likewise.
17948         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17949         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
17950         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
17951         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17952         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17953         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17954         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17955         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
17956         (gl_WCHAR_H_DEFAULTS): Likewise.
17957
17958 2009-12-31  Eric Blake  <ebb9@byu.net>
17959
17960         signal, spawn: use link warnings
17961         * lib/signal.in.h (sigset_t): Make unconditional.
17962         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
17963         (sigpending, sigprocmask, sigaction): Add link warnings.
17964         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
17965         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
17966         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
17967         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
17968         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
17969         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
17970         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
17971         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
17972         (posix_spawn_file_actions_destroy)
17973         (posix_spawn_file_actions_addopen)
17974         (posix_spawn_file_actions_addclose)
17975         (posix_spawn_file_actions_adddup2): Likewise.
17976         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
17977         * tests/test-signal.c (main): Enhance test.
17978
17979         spawn: improve wrapper support
17980         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
17981         (gl_SPAWN_H_DEFAULTS): New defaults.
17982         * modules/spawn (Makefile.am): Substitute them.
17983         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
17984         Only declare if missing or broken.
17985
17986         sys_times, sys_utsname: use include_next
17987         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
17988         header.
17989         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
17990         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17991         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17992         * modules/sys_times (Depends-on): Add include_next.
17993         (Makefile.am): Substitute additional values.
17994         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17995         * lib/sys_times.in.h (includes): Include native header, if
17996         available.
17997         * lib/sys_utsname.in.h (includes): Likewise.
17998         * tests/test-sys_times.c (main): Enhance test.
17999
18000         fdutimensat: revert prior patch
18001         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
18002         utimens.h.
18003         Reported by Bruno Haible.
18004
18005 2009-12-30  Eric Blake  <ebb9@byu.net>
18006
18007         sys_wait: drop link-warning dependency
18008         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
18009         link-warning efforts.
18010         * lib/sys_wait.in.h: Likewise.
18011
18012         fdutimensat: remove bogus dependency
18013         * modules/fdutimensat (Depends-on): Drop inline.
18014
18015         unistd: fix typo
18016         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
18017
18018 2009-12-30  Bruno Haible  <bruno@clisp.org>
18019
18020         Fix compilation error with Solaris cc.
18021         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
18022         * lib/unicase/u16-is-invariant.c: Likewise.
18023         * lib/unicase/u32-is-invariant.c: Likewise.
18024         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18025
18026 2009-12-30  Bruno Haible  <bruno@clisp.org>
18027
18028         Fix test crash.
18029         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
18030         locales.
18031         Reported by Simon Josefsson <simon@josefsson.org>.
18032
18033 2009-12-30  Bruno Haible  <bruno@clisp.org>
18034
18035         Fix compilation error on most platforms.
18036         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
18037         Reported by Simon Josefsson <simon@josefsson.org>
18038         and Nelson H. F. Beebe <beebe@math.utah.edu>.
18039
18040 2009-12-30  Eric Blake  <ebb9@byu.net>
18041
18042         futimens, utimensat: work around ntfs-3g bug
18043         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
18044         a ctime bug is present, and expand workaround to cover ntfs-3g.
18045         * lib/utimens.c (fdutimens, lutimens): Likewise.
18046         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
18047         (validate_timespec): Adjust return value.
18048         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
18049         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18050         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
18051
18052 2009-12-29  Eric Blake  <ebb9@byu.net>
18053
18054         link-warning: make usage consistent
18055         * modules/ctype (Depends-on): Add link-warning.
18056         (Makefile.am): Update rules accordingly.
18057         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18058         * modules/locale (Depends-on, Makefile.am): Likewise.
18059         * modules/sys_file (Makefile.am): Likewise.
18060         * modules/getopt-posix (Makefile.am): Delete unused link warning
18061         efforts.
18062         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
18063         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
18064         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
18065         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
18066
18067         stdio: remove unused variables
18068         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
18069         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
18070         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18071
18072         tests: test more substitute headers
18073         * modules/ctype-tests: New file.
18074         * modules/dirent-tests: Likewise.
18075         * modules/spawn-tests: Likewise.
18076         * modules/sys_file-tests: Likewise.
18077         * modules/sys_ioctl-tests: Likewise.
18078         * modules/sys_wait-tests: Likewise.
18079         * tests/test-ctype.c: Likewise.
18080         * tests/test-dirent.c: Likewise.
18081         * tests/test-spawn.c: Likewise.
18082         * tests/test-sys_file.c: Likewise.
18083         * tests/test-sys_ioctl.c: Likewise.
18084         * tests/test-sys_wait.c: Likewise.
18085         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
18086         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
18087         whether or not flock is in use.
18088
18089         tests: remove License section from module
18090         * modules/arpa_inet-tests: Remove unneeded section.
18091         * modules/byteswap-tests: Likewise.
18092         * modules/ceilf-tests: Likewise.
18093         * modules/ceill-tests: Likewise.
18094         * modules/crypto/des-tests: Likewise.
18095         * modules/crypto/gc-arcfour-tests: Likewise.
18096         * modules/crypto/gc-arctwo-tests: Likewise.
18097         * modules/crypto/gc-des-tests: Likewise.
18098         * modules/crypto/gc-hmac-md5-tests: Likewise.
18099         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18100         * modules/crypto/gc-md2-tests: Likewise.
18101         * modules/crypto/gc-md4-tests: Likewise.
18102         * modules/crypto/gc-md5-tests: Likewise.
18103         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18104         * modules/crypto/gc-rijndael-tests: Likewise.
18105         * modules/crypto/gc-sha1-tests: Likewise.
18106         * modules/crypto/gc-tests: Likewise.
18107         * modules/crypto/md2-tests: Likewise.
18108         * modules/crypto/md4-tests: Likewise.
18109         * modules/fcntl-h-tests: Likewise.
18110         * modules/floorf-tests: Likewise.
18111         * modules/floorl-tests: Likewise.
18112         * modules/frexp-nolibm-tests: Likewise.
18113         * modules/frexp-tests: Likewise.
18114         * modules/frexpl-nolibm-tests: Likewise.
18115         * modules/frexpl-tests: Likewise.
18116         * modules/getaddrinfo-tests: Likewise.
18117         * modules/inttypes-tests: Likewise.
18118         * modules/isfinite-tests: Likewise.
18119         * modules/isinf-tests: Likewise.
18120         * modules/ldexpl-tests: Likewise.
18121         * modules/locale-tests: Likewise.
18122         * modules/math-tests: Likewise.
18123         * modules/netdb-tests: Likewise.
18124         * modules/netinet_in-tests: Likewise.
18125         * modules/printf-frexp-tests: Likewise.
18126         * modules/printf-frexpl-tests: Likewise.
18127         * modules/priv-set-tests: Likewise.
18128         * modules/random_r-tests: Likewise.
18129         * modules/round-tests: Likewise.
18130         * modules/roundf-tests: Likewise.
18131         * modules/roundl-tests: Likewise.
18132         * modules/search-tests: Likewise.
18133         * modules/select-tests: Likewise.
18134         * modules/signal-tests: Likewise.
18135         * modules/stdbool-tests: Likewise.
18136         * modules/stddef-tests: Likewise.
18137         * modules/stdint-tests: Likewise.
18138         * modules/stdio-tests: Likewise.
18139         * modules/stdlib-tests: Likewise.
18140         * modules/string-tests: Likewise.
18141         * modules/strings-tests: Likewise.
18142         * modules/sys_select-tests: Likewise.
18143         * modules/sys_socket-tests: Likewise.
18144         * modules/sys_stat-tests: Likewise.
18145         * modules/sys_time-tests: Likewise.
18146         * modules/sys_utsname-tests: Likewise.
18147         * modules/sysexits-tests: Likewise.
18148         * modules/time-tests: Likewise.
18149         * modules/trunc-tests: Likewise.
18150         * modules/truncf-tests: Likewise.
18151         * modules/truncl-tests: Likewise.
18152         * modules/tsearch-tests: Likewise.
18153         * modules/unistd-tests: Likewise.
18154         * modules/wchar-tests: Likewise.
18155         * modules/wctype-tests: Likewise.
18156
18157         tests: fix license on several tests
18158         * tests/test-des.c: Update to GPLv3+.
18159         * tests/test-flock.c: Likewise.
18160         * tests/test-fsync.c: Likewise.
18161         * tests/test-futimens.h: Likewise.
18162         * tests/test-gc-arcfour.c: Likewise.
18163         * tests/test-gc-arctwo.c: Likewise.
18164         * tests/test-gc-des.c: Likewise.
18165         * tests/test-gc-hmac-md5.c: Likewise.
18166         * tests/test-gc-hmac-sha1.c: Likewise.
18167         * tests/test-gc-md2.c: Likewise.
18168         * tests/test-gc-md4.c: Likewise.
18169         * tests/test-gc-md5.c: Likewise.
18170         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18171         * tests/test-gc-rijndael.c: Likewise.
18172         * tests/test-gc-sha1.c: Likewise.
18173         * tests/test-gc.c: Likewise.
18174         * tests/test-getcwd.c: Likewise.
18175         * tests/test-link.c: Likewise.
18176         * tests/test-link.h: Likewise.
18177         * tests/test-lutimens.h: Likewise.
18178         * tests/test-md2.c: Likewise.
18179         * tests/test-md4.c: Likewise.
18180         * tests/test-mkdir.h: Likewise.
18181         * tests/test-rename.c: Likewise.
18182         * tests/test-rename.h: Likewise.
18183         * tests/test-safe-alloc.c: Likewise.
18184         * tests/test-utimens-common.h: Likewise.
18185         * tests/test-utimens.h: Likewise.
18186
18187         maint: sync license texts
18188         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
18189         * doc/gpl-3.0.texi: Revert copyright year update.
18190         * doc/lgpl-3.0.texi: Likewise.
18191
18192 2009-12-29  Jim Meyering  <meyering@redhat.com>
18193
18194         update nearly all FSF copyright year lists to include 2009
18195         The files named by the following are exempted:
18196             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
18197               test -f "$dst" && { echo "$dst"; continue; }
18198               test -d "$dst" || continue
18199               echo "$dst"/$(basename "$src")
18200             done > exempt
18201             git ls-files tests/unictype >> exempt
18202         In the remaining files, convert to all-interval notation if
18203         - there is already at least one year interval like 2000-2003
18204         - the file is maintained by me
18205         - the file is in lib/uni*/, where that style already prevails
18206         Otherwise, use update-copyright's default.
18207
18208 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18209         and Eric Blake  <ebb9@byu.net>
18210
18211         tests: don't require debug system() to pass
18212         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
18213         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18214         * tests/test-unlink.h (test_unlink_func): Likewise.
18215         * tests/test-fstatat.c (main): ...into callers.
18216         * tests/test-lstat.c (main): Likewise.
18217         * tests/test-rmdir.c (main): Likewise.
18218         * tests/test-unlink.c (main): Likewise.
18219         * tests/test-unlinkat.c (main): Likewise.
18220         * tests/test-areadlink-with-size.c (main): Don't require a
18221         debug-only system call to pass, aiding cross-testing to mingw.
18222         * tests/test-areadlink.c (main): Likewise.
18223         * tests/test-areadlinkat-with-size.c (main): Likewise.
18224         * tests/test-areadlinkat.c (main): Likewise.
18225         * tests/test-canonicalize-lgpl.c (main): Likewise.
18226         * tests/test-canonicalize.c (main): Likewise.
18227         * tests/test-chown.c (main): Likewise.
18228         * tests/test-fchownat.c (main): Likewise.
18229         * tests/test-lchown.c (main): Likewise.
18230         * tests/test-fdutimensat.c (main): Likewise.
18231         * tests/test-futimens.c (main): Likewise.
18232         * tests/test-link.c (main): Likewise.
18233         * tests/test-linkat.c (main): Likewise.
18234         * tests/test-mkdir.c (main): Likewise.
18235         * tests/test-mkdirat.c (main): Likewise.
18236         * tests/test-mkfifo.c (main): Likewise.
18237         * tests/test-mkfifoat.c (main): Likewise.
18238         * tests/test-mknod.c (main): Likewise.
18239         * tests/test-readlink.c (main): Likewise.
18240         * tests/test-remove.c (main): Likewise.
18241         * tests/test-rename.c (main): Likewise.
18242         * tests/test-renameat.c (main): Likewise.
18243         * tests/test-symlink.c (main): Likewise.
18244         * tests/test-symlinkat.c (main): Likewise.
18245         * tests/test-utimens.c (main): Likewise.
18246         * tests/test-utimensat.c (main): Likewise.
18247
18248 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18249
18250         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
18251         on $(UNUSED_PARAMETER_H) to avoid build failure.
18252
18253 2009-12-28  Jim Meyering  <meyering@redhat.com>
18254
18255         update-copyright: you may specify a max. line length other than 72
18256         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18257
18258         maint: use consistent FSF copyright line syntax
18259         * lib/posixtm.c: Add missing comma in FSF copyright line.
18260         * lib/posixtm.h: Likewise.
18261         * lib/getugroups.c: Add missing ", Inc.".
18262
18263         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
18264         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
18265         FSF copyright line.  Remove trailing blanks.
18266
18267 2009-12-28  Eric Blake  <ebb9@byu.net>
18268
18269         test-dup2: reduce dependencies
18270         * modules/cloexec (Configure.ac): Set witness.
18271         * modules/dup2-tests (Depends-on): Drop cloexec.
18272         * tests/test-dup2.c (main): Skip portion of test if cloexec module
18273         not present.
18274         Suggested by Bruno Haible.
18275
18276 2009-12-26  Bruno Haible  <bruno@clisp.org>
18277
18278         Remove an unneeded dependency.
18279         * modules/fseterr (Depends-on): Remove dup2.
18280
18281 2009-12-26  Eric Blake  <ebb9@byu.net>
18282
18283         tests: use macros.h in more places
18284         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
18285         (ASSERT_STREAM): Provide default of stderr.
18286         * tests/test-dirent-safer.c: Include macros.h, using alternate
18287         stream for assertions.
18288         * tests/test-dup-safer.c: Likewise.
18289         * tests/test-freopen-safer.c: Likewise.
18290         * tests/test-getopt.c: Likewise.
18291         * tests/test-openat-safer.c: Likewise.
18292         * tests/test-pipe.c: Likewise.
18293         * tests/test-popen-safer.c: Likewise.
18294         * modules/dirent-safer-tests (Files): Include macros.h.
18295         * modules/unistd-safer-tests (Files): Likewise.
18296         * modules/freopen-safer-tests (Files): Likewise.
18297         * modules/getopt-posix-tests (Files): Likewise.
18298         * modules/openat-safer-tests (Files): Likewise.
18299         * modules/pipe-tests (Files): Likewise.
18300
18301 2009-12-26  Bruno Haible  <bruno@clisp.org>
18302
18303         javacomp: Portability fix.
18304         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
18305         that it also works on Solaris.
18306
18307 2009-12-26  Bruno Haible  <bruno@clisp.org>
18308
18309         localename: Fix storage allocation of gl_locale_name_thread's result.
18310         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
18311         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
18312         all platforms that have 'uselocale'.
18313         (gl_locale_name_thread_unsafe): New function, extracted from
18314         gl_locale_name_thread.
18315         (gl_locale_name_thread): Call struniq on all platforms that have
18316         'uselocale'.
18317         * tests/test-localename.c (test_locale_name_thread): Check that the
18318         resulting strings are permanently allocated.
18319         * modules/localename-tests (Depends-on): Add strdup.
18320
18321 2009-12-26  Bruno Haible  <bruno@clisp.org>
18322
18323         * tests/test-localename.c (categories): Fill in the strings.
18324
18325 2009-12-26  Jim Meyering  <meyering@redhat.com>
18326
18327         isdir: complete the removal of m4/isdir.m4
18328         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
18329
18330         isdir: clean up, since at least grep still uses it
18331         * lib/isdir.c: Include "isdir.h".
18332         (S_ISDIR): Remove now-unneeded definition.
18333         * modules/isdir (Files): Add lib/isdir.h.
18334         * lib/isdir.h: New file, with declaration.
18335         * m4/isdir.m4: Remove file -- unneeded.
18336
18337 2009-12-25  Bruno Haible  <bruno@clisp.org>
18338
18339         selinux-h: Make generated .h files standalone.
18340         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
18341         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
18342         * lib/se-selinux.in.h: Likewise.
18343         * modules/selinux-h (Depends-on): Add unused-parameter.
18344         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
18345         selinux/selinux.h and selinux/context.h.
18346         Suggested by Eric Blake.
18347
18348 2009-12-25  Bruno Haible  <bruno@clisp.org>
18349
18350         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
18351         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
18352         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
18353         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
18354         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
18355
18356 2009-12-24  Bruno Haible  <bruno@clisp.org>
18357
18358         openat: Fix warning.
18359         * lib/openat-proc.c: Include <unistd.h>.
18360
18361 2009-12-24  Bruno Haible  <bruno@clisp.org>
18362
18363         New module 'unused-parameter'.
18364         * build-aux/unused-parameter.h: New file, extracted from earlier
18365         gnulib-common.m4.
18366         * modules/unused-parameter: New file.
18367         * lib/unistr.h: Include unused-parameter.h.
18368         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
18369         _GL_UNUSED.
18370         * modules/unistr/base (Depends-on): Add unused-parameter.
18371
18372 2009-12-24  Bruno Haible  <bruno@clisp.org>
18373
18374         Add missing dependencies to 'extensions' module.
18375         * m4/extensions.m4: Add comment.
18376         * modules/accept4 (Depends-on): Add extensions.
18377         * modules/dup3 (Depends-on): Likewise.
18378         * modules/fcntl (Depends-on): Likewise.
18379         * modules/futimens (Depends-on): Likewise.
18380         * modules/mknod (Depends-on): Likewise.
18381         * modules/pipe2 (Depends-on): Likewise.
18382         * modules/stat-time (Depends-on): Likewise.
18383         * modules/strcasestr-simple (Depends-on): Likewise.
18384         * modules/strsignal (Depends-on): Likewise.
18385         * modules/utimensat (Depends-on): Likewise.
18386         * modules/localcharset (Depends-on): Likewise. Needed because of
18387         gl_FCNTL_O_FLAGS.
18388         * modules/wcrtomb (Depends-on): Likewise. Needed because of
18389         AC_TYPE_MBSTATE_T.
18390         * modules/wcsnrtombs (Depends-on): Likewise.
18391         * modules/wcsrtombs (Depends-on): Likewise.
18392
18393 2009-12-24  Bruno Haible  <bruno@clisp.org>
18394
18395         binary-io: Avoid gcc warning due to SET_BINARY.
18396         * lib/binary-io.h (SET_BINARY): Cast the result to void.
18397         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
18398
18399 2009-12-24  Bruno Haible  <bruno@clisp.org>
18400
18401         Avoid future namespace pollution on glibc systems.
18402         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
18403         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
18404         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
18405         glibc systems.
18406
18407 2009-12-24  Bruno Haible  <bruno@clisp.org>
18408
18409         Refactor common macros used in tests.
18410         * tests/macros.h: New file.
18411         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
18412         and/or <stdlib.h>, if appropriate.
18413         (ASSERT, SIZEOF): Remove macros.
18414         * tests/test-areadlink-with-size.c: Likewise.
18415         * tests/test-areadlinkat.c: Likewise.
18416         * tests/test-areadlinkat-with-size.c: Likewise.
18417         * tests/test-argmatch.c: Likewise.
18418         * tests/test-argv-iter.c: Likewise.
18419         * tests/test-array-mergesort.c: Likewise.
18420         * tests/test-array_list.c: Likewise.
18421         * tests/test-array_oset.c: Likewise.
18422         * tests/test-avltree_list.c: Likewise.
18423         * tests/test-avltree_oset.c: Likewise.
18424         * tests/test-avltreehash_list.c: Likewise.
18425         * tests/test-base64.c: Likewise.
18426         * tests/test-binary-io.c: Likewise.
18427         * tests/test-bitrotate.c: Likewise.
18428         * tests/test-btowc.c: Likewise.
18429         * tests/test-byteswap.c: Likewise.
18430         * tests/test-c-ctype.c: Likewise.
18431         * tests/test-c-stack.c: Likewise.
18432         * tests/test-c-strcasecmp.c: Likewise.
18433         * tests/test-c-strcasestr.c: Likewise.
18434         * tests/test-c-strncasecmp.c: Likewise.
18435         * tests/test-c-strstr.c: Likewise.
18436         * tests/test-canonicalize-lgpl.c: Likewise.
18437         * tests/test-canonicalize.c: Likewise.
18438         * tests/test-carray_list.c: Likewise.
18439         * tests/test-ceilf1.c: Likewise.
18440         * tests/test-ceilf2.c: Likewise.
18441         * tests/test-ceill.c: Likewise.
18442         * tests/test-chown.c: Likewise.
18443         * tests/test-cloexec.c: Likewise.
18444         * tests/test-copy-acl.c: Likewise.
18445         * tests/test-copy-file.c: Likewise.
18446         * tests/test-count-one-bits.c: Likewise.
18447         * tests/test-dprintf-posix.c: Likewise.
18448         * tests/test-dup2.c: Likewise.
18449         * tests/test-dup3.c: Likewise.
18450         * tests/test-duplocale.c: Likewise.
18451         * tests/test-fbufmode.c: Likewise.
18452         * tests/test-fchdir.c: Likewise.
18453         * tests/test-fchownat.c: Likewise.
18454         * tests/test-fcntl-safer.c: Likewise.
18455         * tests/test-fcntl.c: Likewise.
18456         * tests/test-fdopendir.c: Likewise.
18457         * tests/test-fdutimensat.c: Likewise.
18458         * tests/test-fflush2.c: Likewise.
18459         * tests/test-file-has-acl.c: Likewise.
18460         * tests/test-filevercmp.c: Likewise.
18461         * tests/test-flock.c: Likewise.
18462         * tests/test-floorf1.c: Likewise.
18463         * tests/test-floorf2.c: Likewise.
18464         * tests/test-floorl.c: Likewise.
18465         * tests/test-fnmatch.c: Likewise.
18466         * tests/test-fopen.h: Likewise.
18467         * tests/test-fpending.c: Likewise.
18468         * tests/test-fprintf-posix.c: Likewise.
18469         * tests/test-fpurge.c: Likewise.
18470         * tests/test-freadable.c: Likewise.
18471         * tests/test-freadahead.c: Likewise.
18472         * tests/test-freading.c: Likewise.
18473         * tests/test-freadptr.c: Likewise.
18474         * tests/test-freadptr2.c: Likewise.
18475         * tests/test-freadseek.c: Likewise.
18476         * tests/test-freopen.c: Likewise.
18477         * tests/test-frexp.c: Likewise.
18478         * tests/test-frexpl.c: Likewise.
18479         * tests/test-fseek.c: Likewise.
18480         * tests/test-fseeko.c: Likewise.
18481         * tests/test-fstatat.c: Likewise.
18482         * tests/test-fstrcmp.c: Likewise.
18483         * tests/test-fsync.c: Likewise.
18484         * tests/test-ftell.c: Likewise.
18485         * tests/test-ftello.c: Likewise.
18486         * tests/test-func.c: Likewise.
18487         * tests/test-futimens.c: Likewise.
18488         * tests/test-fwritable.c: Likewise.
18489         * tests/test-fwriting.c: Likewise.
18490         * tests/test-getcwd.c: Likewise.
18491         * tests/test-getdate.c: Likewise.
18492         * tests/test-getdelim.c: Likewise.
18493         * tests/test-getdtablesize.c: Likewise.
18494         * tests/test-getgroups.c: Likewise.
18495         * tests/test-getline.c: Likewise.
18496         * tests/test-getndelim2.c: Likewise.
18497         * tests/test-glob.c: Likewise.
18498         * tests/test-hash.c: Likewise.
18499         * tests/test-i-ring.c: Likewise.
18500         * tests/test-iconv-utf.c: Likewise.
18501         * tests/test-iconv.c: Likewise.
18502         * tests/test-idpriv-drop.c: Likewise.
18503         * tests/test-idpriv-droptemp.c: Likewise.
18504         * tests/test-inet_ntop.c: Likewise.
18505         * tests/test-inet_pton.c: Likewise.
18506         * tests/test-isblank.c: Likewise.
18507         * tests/test-isfinite.c: Likewise.
18508         * tests/test-isinf.c: Likewise.
18509         * tests/test-isnan.c: Likewise.
18510         * tests/test-isnand.h: Likewise.
18511         * tests/test-isnanf.h: Likewise.
18512         * tests/test-isnanl.h: Likewise.
18513         * tests/test-lchown.c: Likewise.
18514         * tests/test-ldexpl.c: Likewise.
18515         * tests/test-link.c: Likewise.
18516         * tests/test-linkat.c: Likewise.
18517         * tests/test-linked_list.c: Likewise.
18518         * tests/test-linkedhash_list.c: Likewise.
18519         * tests/test-localename.c: Likewise.
18520         * tests/test-lseek.c: Likewise.
18521         * tests/test-lstat.c: Likewise.
18522         * tests/test-mbmemcasecmp.c: Likewise.
18523         * tests/test-mbmemcasecoll.c: Likewise.
18524         * tests/test-mbrtowc.c: Likewise.
18525         * tests/test-mbscasecmp.c: Likewise.
18526         * tests/test-mbscasestr1.c: Likewise.
18527         * tests/test-mbscasestr2.c: Likewise.
18528         * tests/test-mbscasestr3.c: Likewise.
18529         * tests/test-mbscasestr4.c: Likewise.
18530         * tests/test-mbschr.c: Likewise.
18531         * tests/test-mbscspn.c: Likewise.
18532         * tests/test-mbsinit.c: Likewise.
18533         * tests/test-mbsncasecmp.c: Likewise.
18534         * tests/test-mbsnrtowcs.c: Likewise.
18535         * tests/test-mbspbrk.c: Likewise.
18536         * tests/test-mbspcasecmp.c: Likewise.
18537         * tests/test-mbsrchr.c: Likewise.
18538         * tests/test-mbsrtowcs.c: Likewise.
18539         * tests/test-mbsspn.c: Likewise.
18540         * tests/test-mbsstr1.c: Likewise.
18541         * tests/test-mbsstr2.c: Likewise.
18542         * tests/test-mbsstr3.c: Likewise.
18543         * tests/test-memchr.c: Likewise.
18544         * tests/test-memchr2.c: Likewise.
18545         * tests/test-memcmp.c: Likewise.
18546         * tests/test-memmem.c: Likewise.
18547         * tests/test-memrchr.c: Likewise.
18548         * tests/test-mkdir.c: Likewise.
18549         * tests/test-mkdirat.c: Likewise.
18550         * tests/test-mkfifo.c: Likewise.
18551         * tests/test-mkfifoat.c: Likewise.
18552         * tests/test-mknod.c: Likewise.
18553         * tests/test-nanosleep.c: Likewise.
18554         * tests/test-nl_langinfo.c: Likewise.
18555         * tests/test-obstack-printf.c: Likewise.
18556         * tests/test-open.c: Likewise.
18557         * tests/test-openat.c: Likewise.
18558         * tests/test-pipe-filter-gi1.c: Likewise.
18559         * tests/test-pipe-filter-gi2-main.c: Likewise.
18560         * tests/test-pipe-filter-ii1.c: Likewise.
18561         * tests/test-pipe-filter-ii2-main.c: Likewise.
18562         * tests/test-pipe2.c: Likewise.
18563         * tests/test-popen.h: Likewise.
18564         * tests/test-posixtm.c: Likewise.
18565         * tests/test-pread.c: Likewise.
18566         * tests/test-printf-frexp.c: Likewise.
18567         * tests/test-printf-frexpl.c: Likewise.
18568         * tests/test-printf-posix.c: Likewise.
18569         * tests/test-priv-set.c: Likewise.
18570         * tests/test-quotearg.c: Likewise.
18571         * tests/test-random_r.c: Likewise.
18572         * tests/test-rawmemchr.c: Likewise.
18573         * tests/test-rbtree_list.c: Likewise.
18574         * tests/test-rbtree_oset.c: Likewise.
18575         * tests/test-rbtreehash_list.c: Likewise.
18576         * tests/test-readlink.c: Likewise.
18577         * tests/test-remove.c: Likewise.
18578         * tests/test-rename.c: Likewise.
18579         * tests/test-renameat.c: Likewise.
18580         * tests/test-rmdir.c: Likewise.
18581         * tests/test-round1.c: Likewise.
18582         * tests/test-roundf1.c: Likewise.
18583         * tests/test-roundl.c: Likewise.
18584         * tests/test-safe-alloc.c: Likewise.
18585         * tests/test-sameacls.c: Likewise.
18586         * tests/test-set-mode-acl.c: Likewise.
18587         * tests/test-setenv.c: Likewise.
18588         * tests/test-sigaction.c: Likewise.
18589         * tests/test-signbit.c: Likewise.
18590         * tests/test-sleep.c: Likewise.
18591         * tests/test-snprintf-posix.c: Likewise.
18592         * tests/test-snprintf.c: Likewise.
18593         * tests/test-sprintf-posix.c: Likewise.
18594         * tests/test-stat-time.c: Likewise.
18595         * tests/test-stat.c: Likewise.
18596         * tests/test-strcasestr.c: Likewise.
18597         * tests/test-strchrnul.c: Likewise.
18598         * tests/test-strerror.c: Likewise.
18599         * tests/test-striconv.c: Likewise.
18600         * tests/test-striconveh.c: Likewise.
18601         * tests/test-striconveha.c: Likewise.
18602         * tests/test-strsignal.c: Likewise.
18603         * tests/test-strstr.c: Likewise.
18604         * tests/test-strtod.c: Likewise.
18605         * tests/test-strverscmp.c: Likewise.
18606         * tests/test-symlink.c: Likewise.
18607         * tests/test-symlinkat.c: Likewise.
18608         * tests/test-trunc1.c: Likewise.
18609         * tests/test-trunc2.c: Likewise.
18610         * tests/test-truncf1.c: Likewise.
18611         * tests/test-truncf2.c: Likewise.
18612         * tests/test-truncl.c: Likewise.
18613         * tests/test-uname.c: Likewise.
18614         * tests/test-unlink.c: Likewise.
18615         * tests/test-unlinkat.c: Likewise.
18616         * tests/test-unsetenv.c: Likewise.
18617         * tests/test-usleep.c: Likewise.
18618         * tests/test-utimens.c: Likewise.
18619         * tests/test-utimensat.c: Likewise.
18620         * tests/test-vasnprintf-posix.c: Likewise.
18621         * tests/test-vasnprintf-posix2.c: Likewise.
18622         * tests/test-vasnprintf.c: Likewise.
18623         * tests/test-vasprintf-posix.c: Likewise.
18624         * tests/test-vasprintf.c: Likewise.
18625         * tests/test-vdprintf-posix.c: Likewise.
18626         * tests/test-vfprintf-posix.c: Likewise.
18627         * tests/test-vprintf-posix.c: Likewise.
18628         * tests/test-vsnprintf-posix.c: Likewise.
18629         * tests/test-vsnprintf.c: Likewise.
18630         * tests/test-vsprintf-posix.c: Likewise.
18631         * tests/test-wcrtomb.c: Likewise.
18632         * tests/test-wcsnrtombs.c: Likewise.
18633         * tests/test-wcsrtombs.c: Likewise.
18634         * tests/test-wctype.c: Likewise.
18635         * tests/test-wcwidth.c: Likewise.
18636         * tests/test-xfprintf-posix.c: Likewise.
18637         * tests/test-xmemdup0.c: Likewise.
18638         * tests/test-xprintf-posix.c: Likewise.
18639         * tests/test-xvasprintf.c: Likewise.
18640         * tests/unicase/test-locale-language.c: Likewise.
18641         * tests/unicase/test-mapping-part1.h: Likewise.
18642         * tests/unicase/test-predicate-part1.h: Likewise.
18643         * tests/unicase/test-u8-casecmp.c: Likewise.
18644         * tests/unicase/test-u8-casecoll.c: Likewise.
18645         * tests/unicase/test-u8-casefold.c: Likewise.
18646         * tests/unicase/test-u8-is-cased.c: Likewise.
18647         * tests/unicase/test-u8-is-casefolded.c: Likewise.
18648         * tests/unicase/test-u8-is-lowercase.c: Likewise.
18649         * tests/unicase/test-u8-is-titlecase.c: Likewise.
18650         * tests/unicase/test-u8-is-uppercase.c: Likewise.
18651         * tests/unicase/test-u8-tolower.c: Likewise.
18652         * tests/unicase/test-u8-totitle.c: Likewise.
18653         * tests/unicase/test-u8-toupper.c: Likewise.
18654         * tests/unicase/test-u16-casecmp.c: Likewise.
18655         * tests/unicase/test-u16-casecoll.c: Likewise.
18656         * tests/unicase/test-u16-casefold.c: Likewise.
18657         * tests/unicase/test-u16-is-cased.c: Likewise.
18658         * tests/unicase/test-u16-is-casefolded.c: Likewise.
18659         * tests/unicase/test-u16-is-lowercase.c: Likewise.
18660         * tests/unicase/test-u16-is-titlecase.c: Likewise.
18661         * tests/unicase/test-u16-is-uppercase.c: Likewise.
18662         * tests/unicase/test-u16-tolower.c: Likewise.
18663         * tests/unicase/test-u16-totitle.c: Likewise.
18664         * tests/unicase/test-u16-toupper.c: Likewise.
18665         * tests/unicase/test-u32-casecmp.c: Likewise.
18666         * tests/unicase/test-u32-casecoll.c: Likewise.
18667         * tests/unicase/test-u32-casefold.c: Likewise.
18668         * tests/unicase/test-u32-is-cased.c: Likewise.
18669         * tests/unicase/test-u32-is-casefolded.c: Likewise.
18670         * tests/unicase/test-u32-is-lowercase.c: Likewise.
18671         * tests/unicase/test-u32-is-titlecase.c: Likewise.
18672         * tests/unicase/test-u32-is-uppercase.c: Likewise.
18673         * tests/unicase/test-u32-tolower.c: Likewise.
18674         * tests/unicase/test-u32-totitle.c: Likewise.
18675         * tests/unicase/test-u32-toupper.c: Likewise.
18676         * tests/unicase/test-ulc-casecmp.c: Likewise.
18677         * tests/unicase/test-ulc-casecoll.c: Likewise.
18678         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18679         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18680         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18681         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18682         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18683         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18684         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18685         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18686         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18687         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18688         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18689         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18690         * tests/unictype/test-bidi_byname.c: Likewise.
18691         * tests/unictype/test-bidi_name.c: Likewise.
18692         * tests/unictype/test-bidi_of.c: Likewise.
18693         * tests/unictype/test-bidi_test.c: Likewise.
18694         * tests/unictype/test-block_list.c: Likewise.
18695         * tests/unictype/test-block_of.c: Likewise.
18696         * tests/unictype/test-block_test.c: Likewise.
18697         * tests/unictype/test-categ_and.c: Likewise.
18698         * tests/unictype/test-categ_and_not.c: Likewise.
18699         * tests/unictype/test-categ_byname.c: Likewise.
18700         * tests/unictype/test-categ_name.c: Likewise.
18701         * tests/unictype/test-categ_none.c: Likewise.
18702         * tests/unictype/test-categ_of.c: Likewise.
18703         * tests/unictype/test-categ_or.c: Likewise.
18704         * tests/unictype/test-categ_test_withtable.c: Likewise.
18705         * tests/unictype/test-combining.c: Likewise.
18706         * tests/unictype/test-decdigit.c: Likewise.
18707         * tests/unictype/test-digit.c: Likewise.
18708         * tests/unictype/test-mirror.c: Likewise.
18709         * tests/unictype/test-numeric.c: Likewise.
18710         * tests/unictype/test-pr_byname.c: Likewise.
18711         * tests/unictype/test-pr_test.c: Likewise.
18712         * tests/unictype/test-predicate-part1.h: Likewise.
18713         * tests/unictype/test-scripts.c: Likewise.
18714         * tests/unictype/test-sy_c_ident.c: Likewise.
18715         * tests/unictype/test-sy_java_ident.c: Likewise.
18716         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18717         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18718         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18719         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18720         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18721         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18722         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18723         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18724         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18725         * tests/uninorm/test-compat-decomposition.c: Likewise.
18726         * tests/uninorm/test-composition.c: Likewise.
18727         * tests/uninorm/test-decomposing-form.c: Likewise.
18728         * tests/uninorm/test-decomposition.c: Likewise.
18729         * tests/uninorm/test-u8-nfc.c: Likewise.
18730         * tests/uninorm/test-u8-nfd.c: Likewise.
18731         * tests/uninorm/test-u8-nfkc.c: Likewise.
18732         * tests/uninorm/test-u8-nfkd.c: Likewise.
18733         * tests/uninorm/test-u8-normcmp.c: Likewise.
18734         * tests/uninorm/test-u8-normcoll.c: Likewise.
18735         * tests/uninorm/test-u16-nfc.c: Likewise.
18736         * tests/uninorm/test-u16-nfd.c: Likewise.
18737         * tests/uninorm/test-u16-nfkc.c: Likewise.
18738         * tests/uninorm/test-u16-nfkd.c: Likewise.
18739         * tests/uninorm/test-u16-normcmp.c: Likewise.
18740         * tests/uninorm/test-u16-normcoll.c: Likewise.
18741         * tests/uninorm/test-u32-nfc.c: Likewise.
18742         * tests/uninorm/test-u32-nfd.c: Likewise.
18743         * tests/uninorm/test-u32-nfkc.c: Likewise.
18744         * tests/uninorm/test-u32-nfkd.c: Likewise.
18745         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18746         * tests/uninorm/test-u32-normcmp.c: Likewise.
18747         * tests/uninorm/test-u32-normcoll.c: Likewise.
18748         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18749         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18750         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18751         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18752         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18753         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18754         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18755         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18756         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18757         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18758         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18759         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18760         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18761         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18762         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18763         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18764         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18765         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18766         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18767         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18768         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18769         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18770         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18771         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18772         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18773         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18774         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18775         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18776         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18777         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18778         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18779         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18780         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18781         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18782         * tests/uniwidth/test-u8-width.c: Likewise.
18783         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18784         * tests/uniwidth/test-u16-width.c: Likewise.
18785         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18786         * tests/uniwidth/test-u32-width.c: Likewise.
18787         * tests/uniwidth/test-uc_width.c: Likewise.
18788         * tests/uniwidth/test-uc_width2.c: Likewise.
18789         * modules/acl-tests (Files): Add tests/macros.h.
18790         * modules/areadlink-tests (Files): Likewise.
18791         * modules/areadlink-with-size-tests (Files): Likewise.
18792         * modules/areadlinkat-tests (Files): Likewise.
18793         * modules/areadlinkat-with-size-tests (Files): Likewise.
18794         * modules/argmatch-tests (Files): Likewise.
18795         * modules/argv-iter-tests (Files): Likewise.
18796         * modules/array-list-tests (Files): Likewise.
18797         * modules/array-mergesort-tests (Files): Likewise.
18798         * modules/array-oset-tests (Files): Likewise.
18799         * modules/avltree-list-tests (Files): Likewise.
18800         * modules/avltree-oset-tests (Files): Likewise.
18801         * modules/avltreehash-list-tests (Files): Likewise.
18802         * modules/base64-tests (Files): Likewise.
18803         * modules/binary-io-tests (Files): Likewise.
18804         * modules/bitrotate-tests (Files): Likewise.
18805         * modules/btowc-tests (Files): Likewise.
18806         * modules/byteswap-tests (Files): Likewise.
18807         * modules/c-ctype-tests (Files): Likewise.
18808         * modules/c-stack-tests (Files): Likewise.
18809         * modules/c-strcase-tests (Files): Likewise.
18810         * modules/c-strcasestr-tests (Files): Likewise.
18811         * modules/c-strstr-tests (Files): Likewise.
18812         * modules/canonicalize-lgpl-tests (Files): Likewise.
18813         * modules/canonicalize-tests (Files): Likewise.
18814         * modules/carray-list-tests (Files): Likewise.
18815         * modules/ceilf-tests (Files): Likewise.
18816         * modules/ceill-tests (Files): Likewise.
18817         * modules/chown-tests (Files): Likewise.
18818         * modules/cloexec-tests (Files): Likewise.
18819         * modules/copy-file-tests (Files): Likewise.
18820         * modules/count-one-bits-tests (Files): Likewise.
18821         * modules/dprintf-posix-tests (Files): Likewise.
18822         * modules/dup2-tests (Files): Likewise.
18823         * modules/dup3-tests (Files): Likewise.
18824         * modules/duplocale-tests (Files): Likewise.
18825         * modules/fbufmode-tests (Files): Likewise.
18826         * modules/fchdir-tests (Files): Likewise.
18827         * modules/fcntl-safer-tests (Files): Likewise.
18828         * modules/fcntl-tests (Files): Likewise.
18829         * modules/fdopendir-tests (Files): Likewise.
18830         * modules/fdutimensat-tests (Files): Likewise.
18831         * modules/fflush-tests (Files): Likewise.
18832         * modules/filevercmp-tests (Files): Likewise.
18833         * modules/flock-tests (Files): Likewise.
18834         * modules/floorf-tests (Files): Likewise.
18835         * modules/floorl-tests (Files): Likewise.
18836         * modules/fnmatch-tests (Files): Likewise.
18837         * modules/fopen-safer-tests (Files): Likewise.
18838         * modules/fopen-tests (Files): Likewise.
18839         * modules/fpending-tests (Files): Likewise.
18840         * modules/fprintf-posix-tests (Files): Likewise.
18841         * modules/fpurge-tests (Files): Likewise.
18842         * modules/freadable-tests (Files): Likewise.
18843         * modules/freadahead-tests (Files): Likewise.
18844         * modules/freading-tests (Files): Likewise.
18845         * modules/freadptr-tests (Files): Likewise.
18846         * modules/freadseek-tests (Files): Likewise.
18847         * modules/freopen-tests (Files): Likewise.
18848         * modules/frexp-nolibm-tests (Files): Likewise.
18849         * modules/frexp-tests (Files): Likewise.
18850         * modules/frexpl-nolibm-tests (Files): Likewise.
18851         * modules/frexpl-tests (Files): Likewise.
18852         * modules/fseek-tests (Files): Likewise.
18853         * modules/fseeko-tests (Files): Likewise.
18854         * modules/fstrcmp-tests (Files): Likewise.
18855         * modules/fsync-tests (Files): Likewise.
18856         * modules/ftell-tests (Files): Likewise.
18857         * modules/ftello-tests (Files): Likewise.
18858         * modules/func-tests (Files): Likewise.
18859         * modules/futimens-tests (Files): Likewise.
18860         * modules/fwritable-tests (Files): Likewise.
18861         * modules/fwriting-tests (Files): Likewise.
18862         * modules/getcwd-tests (Files): Likewise.
18863         * modules/getdate-tests (Files): Likewise.
18864         * modules/getdelim-tests (Files): Likewise.
18865         * modules/getdtablesize-tests (Files): Likewise.
18866         * modules/getgroups-tests (Files): Likewise.
18867         * modules/getline-tests (Files): Likewise.
18868         * modules/getndelim2-tests (Files): Likewise.
18869         * modules/glob-tests (Files): Likewise.
18870         * modules/hash-tests (Files): Likewise.
18871         * modules/i-ring-tests (Files): Likewise.
18872         * modules/iconv-tests (Files): Likewise.
18873         * modules/iconv_open-utf-tests (Files): Likewise.
18874         * modules/idpriv-drop-tests (Files): Likewise.
18875         * modules/idpriv-droptemp-tests (Files): Likewise.
18876         * modules/inet_ntop-tests (Files): Likewise.
18877         * modules/inet_pton-tests (Files): Likewise.
18878         * modules/isblank-tests (Files): Likewise.
18879         * modules/isfinite-tests (Files): Likewise.
18880         * modules/isinf-tests (Files): Likewise.
18881         * modules/isnan-tests (Files): Likewise.
18882         * modules/isnand-nolibm-tests (Files): Likewise.
18883         * modules/isnand-tests (Files): Likewise.
18884         * modules/isnanf-nolibm-tests (Files): Likewise.
18885         * modules/isnanf-tests (Files): Likewise.
18886         * modules/isnanl-nolibm-tests (Files): Likewise.
18887         * modules/isnanl-tests (Files): Likewise.
18888         * modules/lchown-tests (Files): Likewise.
18889         * modules/ldexpl-tests (Files): Likewise.
18890         * modules/link-tests (Files): Likewise.
18891         * modules/linkat-tests (Files): Likewise.
18892         * modules/linked-list-tests (Files): Likewise.
18893         * modules/linkedhash-list-tests (Files): Likewise.
18894         * modules/localename-tests (Files): Likewise.
18895         * modules/lseek-tests (Files): Likewise.
18896         * modules/lstat-tests (Files): Likewise.
18897         * modules/mbmemcasecmp-tests (Files): Likewise.
18898         * modules/mbmemcasecoll-tests (Files): Likewise.
18899         * modules/mbrtowc-tests (Files): Likewise.
18900         * modules/mbscasecmp-tests (Files): Likewise.
18901         * modules/mbscasestr-tests (Files): Likewise.
18902         * modules/mbschr-tests (Files): Likewise.
18903         * modules/mbscspn-tests (Files): Likewise.
18904         * modules/mbsinit-tests (Files): Likewise.
18905         * modules/mbsncasecmp-tests (Files): Likewise.
18906         * modules/mbsnrtowcs-tests (Files): Likewise.
18907         * modules/mbspbrk-tests (Files): Likewise.
18908         * modules/mbspcasecmp-tests (Files): Likewise.
18909         * modules/mbsrchr-tests (Files): Likewise.
18910         * modules/mbsrtowcs-tests (Files): Likewise.
18911         * modules/mbsspn-tests (Files): Likewise.
18912         * modules/mbsstr-tests (Files): Likewise.
18913         * modules/memchr-tests (Files): Likewise.
18914         * modules/memchr2-tests (Files): Likewise.
18915         * modules/memcmp-tests (Files): Likewise.
18916         * modules/memmem-tests (Files): Likewise.
18917         * modules/memrchr-tests (Files): Likewise.
18918         * modules/mkdir-tests (Files): Likewise.
18919         * modules/mkfifo-tests (Files): Likewise.
18920         * modules/mkfifoat-tests (Files): Likewise.
18921         * modules/mknod-tests (Files): Likewise.
18922         * modules/nanosleep-tests (Files): Likewise.
18923         * modules/nl_langinfo-tests (Files): Likewise.
18924         * modules/obstack-printf-tests (Files): Likewise.
18925         * modules/open-tests (Files): Likewise.
18926         * modules/openat-tests (Files): Likewise.
18927         * modules/pipe-filter-gi-tests (Files): Likewise.
18928         * modules/pipe-filter-ii-tests (Files): Likewise.
18929         * modules/pipe2-tests (Files): Likewise.
18930         * modules/popen-safer-tests (Files): Likewise.
18931         * modules/popen-tests (Files): Likewise.
18932         * modules/posixtm-tests (Files): Likewise.
18933         * modules/pread-tests (Files): Likewise.
18934         * modules/printf-frexp-tests (Files): Likewise.
18935         * modules/printf-frexpl-tests (Files): Likewise.
18936         * modules/printf-posix-tests (Files): Likewise.
18937         * modules/priv-set-tests (Files): Likewise.
18938         * modules/quotearg-tests (Files): Likewise.
18939         * modules/random_r-tests (Files): Likewise.
18940         * modules/rawmemchr-tests (Files): Likewise.
18941         * modules/rbtree-list-tests (Files): Likewise.
18942         * modules/rbtree-oset-tests (Files): Likewise.
18943         * modules/rbtreehash-list-tests (Files): Likewise.
18944         * modules/readlink-tests (Files): Likewise.
18945         * modules/remove-tests (Files): Likewise.
18946         * modules/rename-tests (Files): Likewise.
18947         * modules/renameat-tests (Files): Likewise.
18948         * modules/rmdir-tests (Files): Likewise.
18949         * modules/round-tests (Files): Likewise.
18950         * modules/roundf-tests (Files): Likewise.
18951         * modules/roundl-tests (Files): Likewise.
18952         * modules/safe-alloc-tests (Files): Likewise.
18953         * modules/setenv-tests (Files): Likewise.
18954         * modules/sigaction-tests (Files): Likewise.
18955         * modules/signbit-tests (Files): Likewise.
18956         * modules/sleep-tests (Files): Likewise.
18957         * modules/snprintf-posix-tests (Files): Likewise.
18958         * modules/snprintf-tests (Files): Likewise.
18959         * modules/sprintf-posix-tests (Files): Likewise.
18960         * modules/stat-tests (Files): Likewise.
18961         * modules/stat-time-tests (Files): Likewise.
18962         * modules/strcasestr-tests (Files): Likewise.
18963         * modules/strchrnul-tests (Files): Likewise.
18964         * modules/strerror-tests (Files): Likewise.
18965         * modules/striconv-tests (Files): Likewise.
18966         * modules/striconveh-tests (Files): Likewise.
18967         * modules/striconveha-tests (Files): Likewise.
18968         * modules/strsignal-tests (Files): Likewise.
18969         * modules/strstr-tests (Files): Likewise.
18970         * modules/strtod-tests (Files): Likewise.
18971         * modules/strverscmp-tests (Files): Likewise.
18972         * modules/symlink-tests (Files): Likewise.
18973         * modules/symlinkat-tests (Files): Likewise.
18974         * modules/trunc-tests (Files): Likewise.
18975         * modules/truncf-tests (Files): Likewise.
18976         * modules/truncl-tests (Files): Likewise.
18977         * modules/uname-tests (Files): Likewise.
18978         * modules/unicase/cased-tests (Files): Likewise.
18979         * modules/unicase/ignorable-tests (Files): Likewise.
18980         * modules/unicase/locale-language-tests (Files): Likewise.
18981         * modules/unicase/tolower-tests (Files): Likewise.
18982         * modules/unicase/totitle-tests (Files): Likewise.
18983         * modules/unicase/toupper-tests (Files): Likewise.
18984         * modules/unicase/u8-casecmp-tests (Files): Likewise.
18985         * modules/unicase/u8-casecoll-tests (Files): Likewise.
18986         * modules/unicase/u8-casefold-tests (Files): Likewise.
18987         * modules/unicase/u8-is-cased-tests (Files): Likewise.
18988         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
18989         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
18990         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
18991         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
18992         * modules/unicase/u8-tolower-tests (Files): Likewise.
18993         * modules/unicase/u8-totitle-tests (Files): Likewise.
18994         * modules/unicase/u8-toupper-tests (Files): Likewise.
18995         * modules/unicase/u16-casecmp-tests (Files): Likewise.
18996         * modules/unicase/u16-casecoll-tests (Files): Likewise.
18997         * modules/unicase/u16-casefold-tests (Files): Likewise.
18998         * modules/unicase/u16-is-cased-tests (Files): Likewise.
18999         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
19000         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
19001         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
19002         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
19003         * modules/unicase/u16-tolower-tests (Files): Likewise.
19004         * modules/unicase/u16-totitle-tests (Files): Likewise.
19005         * modules/unicase/u16-toupper-tests (Files): Likewise.
19006         * modules/unicase/u32-casecmp-tests (Files): Likewise.
19007         * modules/unicase/u32-casecoll-tests (Files): Likewise.
19008         * modules/unicase/u32-casefold-tests (Files): Likewise.
19009         * modules/unicase/u32-is-cased-tests (Files): Likewise.
19010         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
19011         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
19012         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
19013         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
19014         * modules/unicase/u32-tolower-tests (Files): Likewise.
19015         * modules/unicase/u32-totitle-tests (Files): Likewise.
19016         * modules/unicase/u32-toupper-tests (Files): Likewise.
19017         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
19018         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
19019         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
19020         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
19021         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
19022         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
19023         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
19024         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
19025         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
19026         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
19027         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
19028         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
19029         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
19030         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
19031         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
19032         * modules/unictype/bidicategory-name-tests (Files): Likewise.
19033         * modules/unictype/bidicategory-of-tests (Files): Likewise.
19034         * modules/unictype/bidicategory-test-tests (Files): Likewise.
19035         * modules/unictype/block-list-tests (Files): Likewise.
19036         * modules/unictype/block-of-tests (Files): Likewise.
19037         * modules/unictype/block-test-tests (Files): Likewise.
19038         * modules/unictype/category-C-tests (Files): Likewise.
19039         * modules/unictype/category-Cc-tests (Files): Likewise.
19040         * modules/unictype/category-Cf-tests (Files): Likewise.
19041         * modules/unictype/category-Cn-tests (Files): Likewise.
19042         * modules/unictype/category-Co-tests (Files): Likewise.
19043         * modules/unictype/category-Cs-tests (Files): Likewise.
19044         * modules/unictype/category-L-tests (Files): Likewise.
19045         * modules/unictype/category-Ll-tests (Files): Likewise.
19046         * modules/unictype/category-Lm-tests (Files): Likewise.
19047         * modules/unictype/category-Lo-tests (Files): Likewise.
19048         * modules/unictype/category-Lt-tests (Files): Likewise.
19049         * modules/unictype/category-Lu-tests (Files): Likewise.
19050         * modules/unictype/category-M-tests (Files): Likewise.
19051         * modules/unictype/category-Mc-tests (Files): Likewise.
19052         * modules/unictype/category-Me-tests (Files): Likewise.
19053         * modules/unictype/category-Mn-tests (Files): Likewise.
19054         * modules/unictype/category-N-tests (Files): Likewise.
19055         * modules/unictype/category-Nd-tests (Files): Likewise.
19056         * modules/unictype/category-Nl-tests (Files): Likewise.
19057         * modules/unictype/category-No-tests (Files): Likewise.
19058         * modules/unictype/category-P-tests (Files): Likewise.
19059         * modules/unictype/category-Pc-tests (Files): Likewise.
19060         * modules/unictype/category-Pd-tests (Files): Likewise.
19061         * modules/unictype/category-Pe-tests (Files): Likewise.
19062         * modules/unictype/category-Pf-tests (Files): Likewise.
19063         * modules/unictype/category-Pi-tests (Files): Likewise.
19064         * modules/unictype/category-Po-tests (Files): Likewise.
19065         * modules/unictype/category-Ps-tests (Files): Likewise.
19066         * modules/unictype/category-S-tests (Files): Likewise.
19067         * modules/unictype/category-Sc-tests (Files): Likewise.
19068         * modules/unictype/category-Sk-tests (Files): Likewise.
19069         * modules/unictype/category-Sm-tests (Files): Likewise.
19070         * modules/unictype/category-So-tests (Files): Likewise.
19071         * modules/unictype/category-Z-tests (Files): Likewise.
19072         * modules/unictype/category-Zl-tests (Files): Likewise.
19073         * modules/unictype/category-Zp-tests (Files): Likewise.
19074         * modules/unictype/category-Zs-tests (Files): Likewise.
19075         * modules/unictype/category-and-not-tests (Files): Likewise.
19076         * modules/unictype/category-and-tests (Files): Likewise.
19077         * modules/unictype/category-byname-tests (Files): Likewise.
19078         * modules/unictype/category-name-tests (Files): Likewise.
19079         * modules/unictype/category-none-tests (Files): Likewise.
19080         * modules/unictype/category-of-tests (Files): Likewise.
19081         * modules/unictype/category-or-tests (Files): Likewise.
19082         * modules/unictype/category-test-withtable-tests (Files): Likewise.
19083         * modules/unictype/combining-class-tests (Files): Likewise.
19084         * modules/unictype/ctype-alnum-tests (Files): Likewise.
19085         * modules/unictype/ctype-alpha-tests (Files): Likewise.
19086         * modules/unictype/ctype-blank-tests (Files): Likewise.
19087         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
19088         * modules/unictype/ctype-digit-tests (Files): Likewise.
19089         * modules/unictype/ctype-graph-tests (Files): Likewise.
19090         * modules/unictype/ctype-lower-tests (Files): Likewise.
19091         * modules/unictype/ctype-print-tests (Files): Likewise.
19092         * modules/unictype/ctype-punct-tests (Files): Likewise.
19093         * modules/unictype/ctype-space-tests (Files): Likewise.
19094         * modules/unictype/ctype-upper-tests (Files): Likewise.
19095         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
19096         * modules/unictype/decimal-digit-tests (Files): Likewise.
19097         * modules/unictype/digit-tests (Files): Likewise.
19098         * modules/unictype/mirror-tests (Files): Likewise.
19099         * modules/unictype/numeric-tests (Files): Likewise.
19100         * modules/unictype/property-alphabetic-tests (Files): Likewise.
19101         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
19102         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
19103         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
19104         Likewise.
19105         * modules/unictype/property-bidi-block-separator-tests (Files):
19106         Likewise.
19107         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
19108         Likewise.
19109         * modules/unictype/property-bidi-common-separator-tests (Files):
19110         Likewise.
19111         * modules/unictype/property-bidi-control-tests (Files): Likewise.
19112         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
19113         Likewise.
19114         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
19115         Likewise.
19116         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
19117         Likewise.
19118         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
19119         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
19120         Likewise.
19121         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
19122         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
19123         Likewise.
19124         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
19125         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
19126         * modules/unictype/property-bidi-segment-separator-tests (Files):
19127         Likewise.
19128         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
19129         * modules/unictype/property-byname-tests (Files): Likewise.
19130         * modules/unictype/property-combining-tests (Files): Likewise.
19131         * modules/unictype/property-composite-tests (Files): Likewise.
19132         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
19133         * modules/unictype/property-dash-tests (Files): Likewise.
19134         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
19135         * modules/unictype/property-default-ignorable-code-point-tests (Files):
19136         Likewise.
19137         * modules/unictype/property-deprecated-tests (Files): Likewise.
19138         * modules/unictype/property-diacritic-tests (Files): Likewise.
19139         * modules/unictype/property-extender-tests (Files): Likewise.
19140         * modules/unictype/property-format-control-tests (Files): Likewise.
19141         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
19142         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
19143         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
19144         * modules/unictype/property-hex-digit-tests (Files): Likewise.
19145         * modules/unictype/property-hyphen-tests (Files): Likewise.
19146         * modules/unictype/property-id-continue-tests (Files): Likewise.
19147         * modules/unictype/property-id-start-tests (Files): Likewise.
19148         * modules/unictype/property-ideographic-tests (Files): Likewise.
19149         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
19150         * modules/unictype/property-ids-trinary-operator-tests (Files):
19151         Likewise.
19152         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
19153         * modules/unictype/property-iso-control-tests (Files): Likewise.
19154         * modules/unictype/property-join-control-tests (Files): Likewise.
19155         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
19156         * modules/unictype/property-line-separator-tests (Files): Likewise.
19157         * modules/unictype/property-logical-order-exception-tests (Files):
19158         Likewise.
19159         * modules/unictype/property-lowercase-tests (Files): Likewise.
19160         * modules/unictype/property-math-tests (Files): Likewise.
19161         * modules/unictype/property-non-break-tests (Files): Likewise.
19162         * modules/unictype/property-not-a-character-tests (Files): Likewise.
19163         * modules/unictype/property-numeric-tests (Files): Likewise.
19164         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
19165         * modules/unictype/property-other-default-ignorable-code-point-tests
19166         (Files): Likewise.
19167         * modules/unictype/property-other-grapheme-extend-tests (Files):
19168         Likewise.
19169         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
19170         * modules/unictype/property-other-id-start-tests (Files): Likewise.
19171         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
19172         * modules/unictype/property-other-math-tests (Files): Likewise.
19173         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
19174         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
19175         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
19176         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
19177         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
19178         * modules/unictype/property-private-use-tests (Files): Likewise.
19179         * modules/unictype/property-punctuation-tests (Files): Likewise.
19180         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
19181         * modules/unictype/property-radical-tests (Files): Likewise.
19182         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
19183         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
19184         * modules/unictype/property-space-tests (Files): Likewise.
19185         * modules/unictype/property-terminal-punctuation-tests (Files):
19186         Likewise.
19187         * modules/unictype/property-test-tests (Files): Likewise.
19188         * modules/unictype/property-titlecase-tests (Files): Likewise.
19189         * modules/unictype/property-unassigned-code-value-tests (Files):
19190         Likewise.
19191         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
19192         * modules/unictype/property-uppercase-tests (Files): Likewise.
19193         * modules/unictype/property-variation-selector-tests (Files): Likewise.
19194         * modules/unictype/property-white-space-tests (Files): Likewise.
19195         * modules/unictype/property-xid-continue-tests (Files): Likewise.
19196         * modules/unictype/property-xid-start-tests (Files): Likewise.
19197         * modules/unictype/property-zero-width-tests (Files): Likewise.
19198         * modules/unictype/scripts-tests (Files): Likewise.
19199         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
19200         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
19201         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
19202         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
19203         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
19204         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
19205         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
19206         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
19207         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
19208         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
19209         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
19210         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
19211         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
19212         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
19213         * modules/uninorm/composition-tests (Files): Likewise.
19214         * modules/uninorm/decomposing-form-tests (Files): Likewise.
19215         * modules/uninorm/decomposition-tests (Files): Likewise.
19216         * modules/uninorm/filter-tests (Files): Likewise.
19217         * modules/uninorm/nfc-tests (Files): Likewise.
19218         * modules/uninorm/nfd-tests (Files): Likewise.
19219         * modules/uninorm/nfkc-tests (Files): Likewise.
19220         * modules/uninorm/nfkd-tests (Files): Likewise.
19221         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
19222         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
19223         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
19224         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
19225         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
19226         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
19227         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
19228         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19229         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
19230         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
19231         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
19232         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
19233         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19234         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
19235         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
19236         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
19237         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
19238         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19239         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
19240         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
19241         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
19242         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
19243         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19244         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
19245         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
19246         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
19247         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
19248         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
19249         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
19250         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
19251         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
19252         * modules/uniwidth/u8-width-tests (Files): Likewise.
19253         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
19254         * modules/uniwidth/u16-width-tests (Files): Likewise.
19255         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
19256         * modules/uniwidth/u32-width-tests (Files): Likewise.
19257         * modules/uniwidth/width-tests (Files): Likewise.
19258         * modules/unlink-tests (Files): Likewise.
19259         * modules/unsetenv-tests (Files): Likewise.
19260         * modules/usleep-tests (Files): Likewise.
19261         * modules/utimens-tests (Files): Likewise.
19262         * modules/utimensat-tests (Files): Likewise.
19263         * modules/vasnprintf-posix-tests (Files): Likewise.
19264         * modules/vasnprintf-tests (Files): Likewise.
19265         * modules/vasprintf-posix-tests (Files): Likewise.
19266         * modules/vasprintf-tests (Files): Likewise.
19267         * modules/vdprintf-posix-tests (Files): Likewise.
19268         * modules/vfprintf-posix-tests (Files): Likewise.
19269         * modules/vprintf-posix-tests (Files): Likewise.
19270         * modules/vsnprintf-posix-tests (Files): Likewise.
19271         * modules/vsnprintf-tests (Files): Likewise.
19272         * modules/vsprintf-posix-tests (Files): Likewise.
19273         * modules/wcrtomb-tests (Files): Likewise.
19274         * modules/wcsnrtombs-tests (Files): Likewise.
19275         * modules/wcsrtombs-tests (Files): Likewise.
19276         * modules/wctype-tests (Files): Likewise.
19277         * modules/wcwidth-tests (Files): Likewise.
19278         * modules/xmemdup0-tests (Files): Likewise.
19279         * modules/xprintf-posix-tests (Files): Likewise.
19280         * modules/xvasprintf-tests (Files): Likewise.
19281
19282 2009-12-24  Eric Blake  <ebb9@byu.net>
19283
19284         test-nanosleep: fix typo
19285         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
19286         patch.
19287         Reported by Bruno Haible.
19288
19289 2009-12-24  Bruno Haible  <bruno@clisp.org>
19290
19291         Reduce namespace pollution on glibc systems.
19292         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
19293         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
19294         systems.
19295         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
19296         <getopt.h> on glibc systems.
19297         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
19298         systems.
19299         * lib/fcntl.c: Include <unistd.h> here instead.
19300
19301 2009-12-24  Bruno Haible  <bruno@clisp.org>
19302
19303         * lib/stdlib.in.h (includes): Fix typo in today's commit.
19304
19305 2009-12-24  Eric Blake  <ebb9@byu.net>
19306
19307         tests: add signature checks
19308         * tests/signature.h (SIGNATURE_CHECK): New file.
19309         * modules/atexit-tests (Files): Use it.
19310         * modules/btowc-tests (Files): Likewise.
19311         * modules/canonicalize-lgpl-tests (Files): Likewise.
19312         * modules/ceilf-tests (Files): Likewise.
19313         * modules/ceill-tests (Files): Likewise.
19314         * modules/chown-tests (Files): Likewise.
19315         * modules/dprintf-posix-tests (Files): Likewise.
19316         * modules/dup2-tests (Files): Likewise.
19317         * modules/dup3-tests (Files): Likewise.
19318         * modules/duplocale-tests (Files): Likewise.
19319         * modules/fchdir-tests (Files): Likewise.
19320         * modules/fcntl-tests (Files): Likewise.
19321         * modules/fdopendir-tests (Files): Likewise.
19322         * modules/fflush-tests (Files): Likewise.
19323         * modules/flock-tests (Files): Likewise.
19324         * modules/floorf-tests (Files): Likewise.
19325         * modules/floorl-tests (Files): Likewise.
19326         * modules/fnmatch-tests (Files): Likewise.
19327         * modules/fopen-tests (Files): Likewise.
19328         * modules/fprintf-posix-tests (Files): Likewise.
19329         * modules/freopen-tests (Files): Likewise.
19330         * modules/frexp-nolibm-tests (Files): Likewise.
19331         * modules/frexp-tests (Files): Likewise.
19332         * modules/frexpl-nolibm-tests (Files): Likewise.
19333         * modules/frexpl-tests (Files): Likewise.
19334         * modules/fseek-tests (Files): Likewise.
19335         * modules/fseeko-tests (Files): Likewise.
19336         * modules/fsync-tests (Files): Likewise.
19337         * modules/ftell-tests (Files): Likewise.
19338         * modules/ftello-tests (Files): Likewise.
19339         * modules/futimens-tests (Files): Likewise.
19340         * modules/getaddrinfo-tests (Files): Likewise.
19341         * modules/getcwd-tests (Files): Likewise.
19342         * modules/getdelim-tests (Files): Likewise.
19343         * modules/getdtablesize-tests (Files): Likewise.
19344         * modules/getgroups-tests (Files): Likewise.
19345         * modules/gethostname-tests (Files): Likewise.
19346         * modules/getline-tests (Files): Likewise.
19347         * modules/getopt-posix-tests (Files): Likewise.
19348         * modules/gettimeofday-tests (Files): Likewise.
19349         * modules/glob-tests (Files): Likewise.
19350         * modules/iconv-tests (Files): Likewise.
19351         * modules/inet_ntop-tests (Files): Likewise.
19352         * modules/inet_pton-tests (Files): Likewise.
19353         * modules/isblank-tests (Files): Likewise.
19354         * modules/lchown-tests (Files): Likewise.
19355         * modules/ldexpl-tests (Files): Likewise.
19356         * modules/link-tests (Files): Likewise.
19357         * modules/linkat-tests (Files): Likewise.
19358         * modules/lseek-tests (Files): Likewise.
19359         * modules/lstat-tests (Files): Likewise.
19360         * modules/mbrtowc-tests (Files): Likewise.
19361         * modules/mbsinit-tests (Files): Likewise.
19362         * modules/mbsnrtowcs-tests (Files): Likewise.
19363         * modules/mbsrtowcs-tests (Files): Likewise.
19364         * modules/memchr-tests (Files): Likewise.
19365         * modules/memcmp-tests (Files): Likewise.
19366         * modules/memmem-tests (Files): Likewise.
19367         * modules/memrchr-tests (Files): Likewise.
19368         * modules/mkdir-tests (Files): Likewise.
19369         * modules/mkfifo-tests (Files): Likewise.
19370         * modules/mkfifoat-tests (Files): Likewise.
19371         * modules/mknod-tests (Files): Likewise.
19372         * modules/nanosleep-tests (Files): Likewise.
19373         * modules/nl_langinfo-tests (Files): Likewise.
19374         * modules/obstack-printf-tests (Files): Likewise.
19375         * modules/open-tests (Files): Likewise.
19376         * modules/openat-tests (Files): Likewise.
19377         * modules/perror-tests (Files): Likewise.
19378         * modules/pipe2-tests (Files): Likewise.
19379         * modules/poll-tests (Files): Likewise.
19380         * modules/popen-tests (Files): Likewise.
19381         * modules/posix_spawn-tests (Files): Likewise.
19382         * modules/posix_spawnp-tests (Files): Likewise.
19383         * modules/pread-tests (Files): Likewise.
19384         * modules/printf-posix-tests (Files): Likewise.
19385         * modules/pty-tests (Files): Likewise.
19386         * modules/random_r-tests (Files): Likewise.
19387         * modules/rawmemchr-tests (Files): Likewise.
19388         * modules/readlink-tests (Files): Likewise.
19389         * modules/remove-tests (Files): Likewise.
19390         * modules/rename-tests (Files): Likewise.
19391         * modules/renameat-tests (Files): Likewise.
19392         * modules/rmdir-tests (Files): Likewise.
19393         * modules/round-tests (Files): Likewise.
19394         * modules/roundf-tests (Files): Likewise.
19395         * modules/roundl-tests (Files): Likewise.
19396         * modules/select-tests (Files): Likewise.
19397         * modules/setenv-tests (Files): Likewise.
19398         * modules/sigaction-tests (Files): Likewise.
19399         * modules/sleep-tests (Files): Likewise.
19400         * modules/snprintf-posix-tests (Files): Likewise.
19401         * modules/snprintf-tests (Files): Likewise.
19402         * modules/sprintf-posix-tests (Files): Likewise.
19403         * modules/stat-tests (Files): Likewise.
19404         * modules/strcasestr-tests (Files): Likewise.
19405         * modules/strchrnul-tests (Files): Likewise.
19406         * modules/strerror-tests (Files): Likewise.
19407         * modules/strsignal-tests (Files): Likewise.
19408         * modules/strstr-tests (Files): Likewise.
19409         * modules/strtod-tests (Files): Likewise.
19410         * modules/strverscmp-tests (Files): Likewise.
19411         * modules/symlink-tests (Files): Likewise.
19412         * modules/symlinkat-tests (Files): Likewise.
19413         * modules/times-tests (Files): Likewise.
19414         * modules/trunc-tests (Files): Likewise.
19415         * modules/truncf-tests (Files): Likewise.
19416         * modules/truncl-tests (Files): Likewise.
19417         * modules/tsearch-tests (Files): Likewise.
19418         * modules/uname-tests (Files): Likewise.
19419         * modules/unlink-tests (Files): Likewise.
19420         * modules/unsetenv-tests (Files): Likewise.
19421         * modules/usleep-tests (Files): Likewise.
19422         * modules/utimensat-tests (Files): Likewise.
19423         * modules/vasprintf-tests (Files): Likewise.
19424         * modules/vdprintf-posix-tests (Files): Likewise.
19425         * modules/vfprintf-posix-tests (Files): Likewise.
19426         * modules/vprintf-posix-tests (Files): Likewise.
19427         * modules/vsnprintf-posix-tests (Files): Likewise.
19428         * modules/vsnprintf-tests (Files): Likewise.
19429         * modules/vsprintf-posix-tests (Files): Likewise.
19430         * modules/wcrtomb-tests (Files): Likewise.
19431         * modules/wcsnrtombs-tests (Files): Likewise.
19432         * modules/wcsrtombs-tests (Files): Likewise.
19433         * modules/wcwidth-tests (Files): Likewise.
19434         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
19435         * tests/test-isinf.c (isinf): Likewise.
19436         * tests/test-isnan.c (isnan): Likewise.
19437         * tests/test-signbit.c (signbit): Likewise.
19438         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
19439         declaration, either as macro or with correct signature.
19440         (select): Ensure function under test is declared with correct
19441         signature in correct header.
19442         * tests/test-atexit.c (atexit): Likewise.
19443         * tests/test-btowc.c (btowc): Likewise.
19444         * tests/test-canonicalize-lgpl.c (realpath)
19445         (canonicalize_file_name): Likewise.
19446         * tests/test-ceilf1.c (ceilf): Likewise.
19447         * tests/test-ceill.c (ceill): Likewise.
19448         * tests/test-chown.c (chown): Likewise.
19449         * tests/test-dprintf-posix.c (dprintf): Likewise.
19450         * tests/test-dup2.c (dup2): Likewise.
19451         * tests/test-dup3.c (dup3): Likewise.
19452         * tests/test-duplocale.c (duplocale): Likewise.
19453         * tests/test-fchdir.c (fchdir): Likewise.
19454         * tests/test-fchownat.c (fchownat): Likewise.
19455         * tests/test-fcntl.c (fcntl): Likewise.
19456         * tests/test-fdopendir.c (fdopendir): Likewise.
19457         * tests/test-fflush.c (fflush): Likewise.
19458         * tests/test-flock.c (flock): Likewise.
19459         * tests/test-floorf1.c (floorf): Likewise.
19460         * tests/test-floorl.c (floorl): Likewise.
19461         * tests/test-fnmatch.c (fnmatch): Likewise.
19462         * tests/test-fopen.c (fopen): Likewise.
19463         * tests/test-fprintf-posix.c (fprintf): Likewise.
19464         * tests/test-freopen.c (freopen): Likewise.
19465         * tests/test-frexp.c (frexp): Likewise.
19466         * tests/test-frexpl.c (frexpl): Likewise.
19467         * tests/test-fseek.c (fseek): Likewise.
19468         * tests/test-fseeko.c (fseeko): Likewise.
19469         * tests/test-fstatat.c (fstatat): Likewise.
19470         * tests/test-fsync.c (fsync): Likewise.
19471         * tests/test-ftell.c (ftell): Likewise.
19472         * tests/test-ftello.c (ftello): Likewise.
19473         * tests/test-futimens.c (futimens): Likewise.
19474         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
19475         (gai_strerror): Likewise.
19476         * tests/test-getcwd.c (getcwd): Likewise.
19477         * tests/test-getdelim.c (getdelim): Likewise.
19478         * tests/test-getdtablesize.c (getdtablesize): Likewise.
19479         * tests/test-getgroups.c (getgroups): Likewise.
19480         * tests/test-gethostname.c (gethostname): Likewise.
19481         * tests/test-getline.c (getline): Likewise.
19482         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
19483         Likewise.
19484         * tests/test-gettimeofday.c (gettimeofday): Likewise.
19485         * tests/test-glob.c (glob, globfree): Likewise.
19486         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
19487         * tests/test-inet_ntop.c (inet_ntop): Likewise.
19488         * tests/test-inet_pton.c (inet_pton): Likewise.
19489         * tests/test-isblank.c (isblank): Likewise.
19490         * tests/test-lchown.c (lchown): Likewise.
19491         * tests/test-ldexpl.c (ldexpl): Likewise.
19492         * tests/test-link.c (link): Likewise.
19493         * tests/test-linkat.c (linkat): Likewise.
19494         * tests/test-lseek.c (lseek): Likewise.
19495         * tests/test-lstat.c (lstat): Likewise.
19496         * tests/test-mbrtowc.c (mbrtowc): Likewise.
19497         * tests/test-mbsinit.c (mbsinit): Likewise.
19498         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
19499         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
19500         * tests/test-memchr.c (memchr): Likewise.
19501         * tests/test-memcmp.c (memcmp): Likewise.
19502         * tests/test-memmem.c (memmem): Likewise.
19503         * tests/test-memrchr.c (memrchr): Likewise.
19504         * tests/test-mkdir.c (mkdir): Likewise.
19505         * tests/test-mkdirat.c (mkdirat): Likewise.
19506         * tests/test-mkfifo.c (mkfifo): Likewise.
19507         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
19508         * tests/test-mknod.c (mknod): Likewise.
19509         * tests/test-nanosleep.c (nanosleep): Likewise.
19510         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
19511         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
19512         Likewise.
19513         * tests/test-open.c (open): Likewise.
19514         * tests/test-openat.c (openat): Likewise.
19515         * tests/test-perror.c (perror): Likewise.
19516         * tests/test-pipe2.c (pipe2): Likewise.
19517         * tests/test-poll.c (poll): Likewise.
19518         * tests/test-popen.c (popen, pclose): Likewise.
19519         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
19520         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
19521         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
19522         (posix_spawn_file_actions_destroy)
19523         (posix_spawn_file_actions_addclose)
19524         (posix_spawn_file_actions_addopen)
19525         (posix_spawn_file_actions_adddup2): Likewise.
19526         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
19527         * tests/test-pread.c (pread): Likewise.
19528         * tests/test-printf-posix.c (printf): Likewise.
19529         * tests/test-pty.c (openpty, forkpty): Likewise.
19530         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
19531         (random_r): Likewise.
19532         * tests/test-rawmemchr.c (rawmemchr): Likewise.
19533         * tests/test-readlink.c (readlink): Likewise.
19534         * tests/test-remove.c (remove): Likewise.
19535         * tests/test-rename.c (rename): Likewise.
19536         * tests/test-renameat.c (renameat): Likewise.
19537         * tests/test-rmdir.c (rmdir): Likewise.
19538         * tests/test-round1.c (round): Likewise.
19539         * tests/test-roundf1.c (roundf): Likewise.
19540         * tests/test-roundl.c (roundl): Likewise.
19541         * tests/test-setenv.c (setenv): Likewise.
19542         * tests/test-sigaction.c (sigaction): Likewise.
19543         * tests/test-sleep.c (sleep): Likewise.
19544         * tests/test-snprintf.c (snprintf): Likewise.
19545         * tests/test-sprintf-posix.c (sprintf): Likewise.
19546         * tests/test-stat.c (stat): Likewise.
19547         * tests/test-stpncpy.c (stpncpy): Likewise.
19548         * tests/test-strcasestr.c (strcasestr): Likewise.
19549         * tests/test-strchrnul.c (strchrnul): Likewise.
19550         * tests/test-strerror.c (strerror): Likewise.
19551         * tests/test-strsignal.c (strsignal): Likewise.
19552         * tests/test-strstr.c (strstr): Likewise.
19553         * tests/test-strtod.c (strtod): Likewise.
19554         * tests/test-strverscmp.c (strverscmp): Likewise.
19555         * tests/test-symlink.c (symlink): Likewise.
19556         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
19557         * tests/test-times.c (times): Likewise.
19558         * tests/test-trunc1.c (trunc): Likewise.
19559         * tests/test-truncf1.c (truncf): Likewise.
19560         * tests/test-truncl.c (truncl): Likewise.
19561         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
19562         Likewise.
19563         * tests/test-uname.c (uname): Likewise.
19564         * tests/test-unlink.c (unlink): Likewise.
19565         * tests/test-unlinkat.c (unlinkat): Likewise.
19566         * tests/test-unsetenv.c (unsetenv): Likewise.
19567         * tests/test-usleep.c (usleep): Likewise.
19568         * tests/test-utimensat.c (utimensat): Likewise.
19569         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
19570         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
19571         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
19572         * tests/test-vprintf-posix.c (vprintf): Likewise.
19573         * tests/test-vsnprintf.c (vsnprintf): Likewise.
19574         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
19575         * tests/test-wcrtomb.c (wcrtomb): Likewise.
19576         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
19577         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
19578         * tests/test-wcwidth.c (wcwidth): Likewise.
19579
19580         build: pull in conditional headers during GNULIB_POSIXCHECK
19581         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
19582         definitions from any conditionally-included headers.
19583         * lib/stdlib.in.h (includes): Likewise.
19584         * lib/unistd.in.h (includes): Likewise.
19585
19586 2009-12-24  Bruno Haible  <bruno@clisp.org>
19587
19588         * tests/test-argv-iter.c: Include header file being tested immediately
19589         after config.h.
19590         * tests/test-base64.c: Likewise.
19591         * tests/test-flock.c: Likewise.
19592         * tests/test-fsync.c: Likewise.
19593         * tests/test-getdate.c: Likewise.
19594         * tests/test-getndelim2.c: Likewise.
19595         * tests/test-isfinite.c: Likewise.
19596         * tests/test-isinf.c: Likewise.
19597         * tests/test-strerror.c: Likewise.
19598         * tests/test-strsignal.c: Likewise.
19599
19600 2009-12-23  Eric Blake  <ebb9@byu.net>
19601
19602         unistd: work around cygwin bug
19603         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
19604         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
19605         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
19606
19607 2009-12-23  Bruno Haible  <bruno@clisp.org>
19608
19609         localename: More tests.
19610         * tests/test-localename.c (SIZEOF): New macro.
19611         (categories): New variable.
19612         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
19613         test_locale_name_default): Add test w.r.t. thread locale.
19614         (test_locale_name_thread): New function.
19615         (main): Invoke it.
19616
19617         localename: Make aware of thread locale.
19618         * lib/localename.h (gl_locale_name_thread): New declaration.
19619         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
19620         behaviour with respect to thread locale.
19621         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
19622         <langinfo.h>, glthread/lock.h.
19623         (SIZE_BITS): New macro.
19624         (string_hash): New function.
19625         (struct hash_node): New type.
19626         (HASH_TABLE_SIZE): New macro.
19627         (struniq_hash_table, struniq_lock): New variables.
19628         (struniq): New function.
19629         (gl_locale_name_thread): New function.
19630         (gl_locale_name): Invoke it.
19631         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
19632         * modules/localename (Depends-on): Add lock.
19633         Reported by Mike Gran <spk121@yahoo.com>.
19634
19635 2009-12-23  Eric Blake  <ebb9@byu.net>
19636
19637         va-args: new module
19638         * modules/va-args: New file.
19639         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
19640         * MODULES.html.sh (Core language properties): Mention it.
19641
19642         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
19643         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
19644         named alias for __attribute__((__unused__)).
19645         * lib/chown.c: Update client.
19646         * lib/fchmodat.c: Likewise.
19647         * lib/fts.c: Likewise.
19648         * lib/getdate.y: Likewise.
19649         * lib/getgroups.c: Likewise.
19650         * lib/getopt.c: Likewise.
19651         * lib/getugroups.c: Likewise.
19652         * lib/mkdir.c: Likewise.
19653         * lib/mkfifo.c: Likewise.
19654         * lib/mkfifoat.c: Likewise.
19655         * lib/mknod.c: Likewise.
19656         * lib/mknodat.c: Likewise.
19657         * lib/readlink.c: Likewise.
19658         * lib/se-context.in.h: Likewise.
19659         * lib/se-selinux.in.h: Likewise.
19660         * lib/sockets.c: Likewise.
19661         * lib/symlink.c: Likewise.
19662         * lib/symlinkat.c: Likewise.
19663         * lib/unicodeio.c: Likewise.
19664         * lib/unistr.h: Likewise.
19665         * tests/test-areadlink.c: Likewise.
19666         * tests/test-areadlinkat.c: Likewise.
19667         * tests/test-filenamecat.c: Likewise.
19668         * tests/test-fseeko.c: Likewise.
19669         * tests/test-ftello.c: Likewise.
19670         * tests/test-getdate.c: Likewise.
19671         * tests/test-getgroups.c: Likewise.
19672         * tests/test-gethostname.c: Likewise.
19673         * tests/test-quotearg.c: Likewise.
19674         * tests/test-version-etc.c: Likewise.
19675         * tests/test-xalloc-die.c: Likewise.
19676         * tests/test-xfprintf-posix.c: Likewise.
19677         * tests/test-xprintf-posix.c: Likewise.
19678         * tests/test-xvasprintf.c: Likewise.
19679
19680         tests: avoid compiler warnings
19681         * tests/test-fcntl.c (main): Delete unused parameters.
19682         * tests/test-freopen-safer.c (main): Likewise.
19683         * tests/test-xalloc-die.c (main): Mark unused parameters.
19684         * tests/test-fseeko.c (main): Likewise.
19685         * tests/test-ftello.c (main): Likewise.
19686         * tests/test-nanosleep.c (main): Avoid declaration warning.
19687         * tests/test-sleep.c (main): Likewise.
19688         * tests/test-unsetenv.c (main): Silence warning about string
19689         literal.
19690         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19691
19692 2009-12-23  Bruno Haible  <bruno@clisp.org>
19693
19694         * tests/test-localename.c (test_locale_name): New function, extracted
19695         from main. Also test mixed situations.
19696         (test_locale_name_posix, test_locale_name_environ,
19697         test_locale_name_default): New functions.
19698         (main): Invoke them all.
19699         * modules/localename-tests (configure.ac): Test for newlocale.
19700
19701 2009-12-23  Bruno Haible  <bruno@clisp.org>
19702
19703         unistd: Ensure getcwd gets declared before being overridden.
19704         * lib/unistd.in.h: Conditionally include <io.h>.
19705
19706 2009-12-22  Bruno Haible  <bruno@clisp.org>
19707
19708         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19709         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19710         (gl_WCHAR_H): Invoke it.
19711         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19712         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19713         Reported by Karl Berry <karl@freefriends.org>.
19714
19715 2009-12-22  Eric Blake  <ebb9@byu.net>
19716
19717         math, unistd: avoid redundant includes
19718         * lib/math.in.h (isnan): No need to re-include <math.h>.
19719         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19720
19721         getsubopt: work around cygwin bug
19722         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19723         avoid conflicting with system getsubopt.
19724         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19725         bug.
19726
19727         getopt: synchronize from glibc
19728         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19729         parameter order.  Adjust all callers.
19730         (_getopt_internal_r, main): Adjust quoting in error messages.
19731         Drop considerations for outdated POSIX 1003.2 error message.
19732         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19733         callers.
19734         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19735
19736         test-getopt: test stderr behavior
19737         * modules/getopt-posix-tests (Depends-on): Add dup2.
19738         * tests/test-getopt.c (ASSERT): Avoid stderr.
19739         (main): Move stderr to a temporary file.
19740         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19741         Instead, add parameter to inform caller if output occurred.
19742         (test_getopt): Adjust all existing tests to expect silence, and
19743         add new tests of leading ":".
19744         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19745         glibc shortcomings with leading "-:" or "+:" in optstring.
19746         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19747         Likewise.
19748         * doc/posix-functions/getopt.texi (getopt): Likewise.
19749
19750         test-getopt: enhance test
19751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19752         supports optind=0.
19753         * tests/test-getopt.c (OPTIND_MIN): Move...
19754         * tests/test-getopt.h (OPTIND_MIN): ...here.
19755         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19756         Require that optind=0 works, since modern BSD supports it in
19757         addition to optreset, and since coreutils expects it.
19758         (test_getopt_long_only): New test.
19759         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19760         glibc shortcomings with 'W;', and enforcement of optind=0.
19761         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19762         Likewise.
19763
19764 2009-12-21  Bruno Haible  <bruno@clisp.org>
19765
19766         localename: Improvements for MacOS X and Cygwin.
19767         * lib/localename.h (gl_locale_name_environ): New declaration.
19768         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19769         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19770         (gl_locale_name_posix): Invoke it.
19771         (gl_locale_name_default): Add comments. Use Windows native API also on
19772         Cygwin.
19773
19774 2009-12-21  Bruno Haible  <bruno@clisp.org>
19775
19776         Update list of Win32 locale ids.
19777         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19778         (LANG_SAMI): Renamed from LANG_SAAMI.
19779         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19780         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19781         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19782         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19783         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19784         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19785         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19786         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19787         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19788         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19789         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19790         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19791         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19792         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19793         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19794         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19795         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19796         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19797         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19798         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19799         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19800         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19801         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19802         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19803         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19804         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19805         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19806         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19807         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19808         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19809         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19810         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19811         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19812         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19813         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19814         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19815         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19816         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19817         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19818         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19819         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19820         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19821         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19822         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19823         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19824         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19825         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19826         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19827         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19828         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19829         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19830         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19831         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19832         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19833         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19834         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19835         Add more languages and countries for Sami, Sorbian. Add more countries
19836         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19837         for Pashto. Change country for Syriac, Tswana.
19838
19839 2009-12-21  Eric Blake  <ebb9@byu.net>
19840
19841         test-utimens: avoid spurious failure
19842         * tests/test-chown.h (nap): Factor...
19843         * tests/nap.h: ...into new file.
19844         * tests/test-lchown.h (nap): Avoid duplication.
19845         * tests/test-utimens-common.h (nap): Use shared implementation,
19846         necessary on file systems with 1-second resolution.
19847         * modules/chown-tests (Files): Include new file.
19848         * modules/fdutimensat-tests (Files): Likewise.
19849         * modules/futimens-tests (Files): Likewise.
19850         * modules/lchown-tests (Files): Likewise.
19851         * modules/openat-tests (Files): Likewise.
19852         * modules/utimens-tests (Files): Likewise.
19853         * modules/utimensat-tests (Files): Likewise.
19854
19855 2009-12-19  Eric Blake  <ebb9@byu.net>
19856
19857         futimens, utimensat: work around Linux bug
19858         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19859         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19860         * lib/utimensat.c (rpl_utimensat): Work around it.
19861         * lib/futimens.c (rpl_futimens): Adjust comment.
19862
19863         utimens: work around Linux ctime bug
19864         * lib/utimens.c (detect_ctime_bug): New helper function.
19865         (update_timespec): Differentiate between workaround needed for
19866         this bug vs. what is needed for systems that lack utimensat.
19867         (fdutimens, lutimens): Work around bug.
19868
19869         utimens: check for ctime update
19870         * tests/test-utimens-common.h (check_ctime): Define.
19871         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19872         * tests/test-futimens.h (test_futimens): Likewise.
19873         * tests/test-lutimens.h (test_lutimens): Likewise.
19874         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19875         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19876
19877 2009-12-19  Bruno Haible  <bruno@clisp.org>
19878
19879         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19880         * tests/test-dprintf-posix2.sh: New file.
19881         * tests/test-dprintf-posix2.c: New file.
19882         * modules/dprintf-posix-tests (Files): Add them.
19883         (configure.ac): Check for getrlimit and setrlimit.
19884         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19885
19886 2009-12-19  Bruno Haible  <bruno@clisp.org>
19887
19888         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19889         * tests/test-fprintf-posix3.sh: New file.
19890         * tests/test-fprintf-posix3.c: New file.
19891         * modules/fprintf-posix-tests (Files): Add them.
19892         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19893
19894 2009-12-19  Eric Blake  <ebb9@byu.net>
19895
19896         dirfd: fix prototype
19897         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19898         * lib/dirfd.c (dirfd): Likewise.
19899
19900         canonicalize: reduce memory usage
19901         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19902         allocation to size.
19903         Reported by Solar Designer <solar@openwall.com>.
19904
19905 2009-12-19  Bruno Haible  <bruno@clisp.org>
19906
19907         New module attribute 'Applicability'.
19908         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19909         * gnulib-tool: New option --extract-applicability.
19910         (func_usage): Document it.
19911         (sed_extract_prog): Recognize it.
19912         (func_get_applicability): New function.
19913         (func_import): Generalize handling of 'link-warning' module.
19914         * modules/link-warning (Applicability): New section.
19915         * modules/arg-nonnull (Applicability): New section.
19916         Repoted by Simon Josefsson <simon@josefsson.org>.
19917
19918 2009-12-19  Bruno Haible  <bruno@clisp.org>
19919
19920         fflush: tweak
19921         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19922         * lib/fseeko.c (rpl_fseeko): Likewise.
19923
19924 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19925
19926         * lib/gl_list.h: Fix typo in comment.
19927
19928 2009-12-16  Eric Blake  <ebb9@byu.net>
19929
19930         fcntl: use to simplify other modules
19931         * modules/cloexec (Depends-on): Add fcntl.
19932         * modules/fchdir (Depends-on): Likewise.
19933         * modules/fd-safer-flag (Depends-on): Likewise.
19934         * modules/unistd-safer (Depends-on): Likewise.
19935         * modules/dup3 (configure.ac): Set module indicator.
19936         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
19937         missing.
19938         * lib/fchdir.c (_gl_register_dup): Fix comment.
19939         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
19940         * lib/dup-safer.c (dup_safer): Likewise.
19941         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
19942         * lib/dup3.c (dup3): Likewise.
19943         * tests/test-fchdir.c (main): Enhance test.
19944         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
19945
19946         fcntl: port portions of fcntl to mingw
19947         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
19948         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
19949         replacement for mingw.
19950         * modules/fcntl (Description): Update.
19951         (Depends-on): Add dup2.
19952         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
19953         * modules/fcntl-h (Makefile.am): Substitute it.
19954         * lib/fcntl.in.h (fcntl): Update declaration.
19955         (F_DUPFD, F_GETFD): New macros, when needed.
19956         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19957         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
19958         * tests/test-fcntl.c (check_flags, main): Enhance test for items
19959         we now guarantee.
19960
19961         fcntl: work around cygwin bug in F_DUPFD
19962         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
19963         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
19964         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
19965         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
19966         * doc/posix-functions/fcntl.texi (fcntl): Document it.
19967
19968         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
19969         * modules/fcntl (Files): List new files.
19970         (configure.ac): Run a test.
19971         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
19972         * lib/fcntl.c (rpl_fcntl): Likewise.
19973         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
19974         (gl_FCNTL_H): Always replace fcntl.h.
19975         * modules/fcntl-h (Makefile.am): Substitute witnesses.
19976         * lib/fcntl.in.h (fcntl): Declare replacement.
19977         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
19978         needed, plus a witness.
19979         * doc/posix-functions/fcntl.texi (fcntl): Document this.
19980         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19981         * tests/test-fcntl.c: New file.
19982         * modules/fcntl-tests: Likewise.
19983
19984         binary-io: avoid potential compilation warning
19985         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
19986         directives.
19987
19988         fflush: avoid compilation error on NetBSD
19989         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
19990         between off_t and fpos_t, since the latter is sometimes a struct.
19991         * lib/fseeko.c (rpl_fseeko): Likewise.
19992         Reported by Alexander Nasonov <alnsn@yandex.ru>.
19993
19994 2009-12-15  Eric Blake  <ebb9@byu.net>
19995
19996         fcntl-h, stdio, sys_ioctl: fix declarations
19997         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
19998         function must not take arguments.
19999         * lib/sys_ioctl.in.h (ioctl): Likewise.
20000         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
20001         (open): Add a link warning.
20002
20003 2009-12-15  Jim Meyering  <meyering@redhat.com>
20004
20005         areadlink, areadlink-with-size: relax license to LGPLv2+
20006         * modules/areadlink (License): Relax to LGPLv2+.
20007         * modules/areadlink-with-size (License): Likewise.
20008
20009 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
20010             Bruno Haible  <bruno@clisp.org>
20011
20012         *printf: Fix memory leak.
20013         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
20014         * lib/vfprintf.c (vfprintf): Likewise.
20015         * lib/dprintf.c (dprintf): Likewise.
20016         * lib/vdprintf.c (vdprintf): Likewise.
20017
20018 2009-12-14  Eric Blake  <ebb9@byu.net>
20019
20020         accept4: adjust module dependencies
20021         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
20022
20023         utimens: one more try at avoiding compiler warning
20024         * lib/utimens.c (lutimens): Lower scope of result.
20025
20026 2009-12-13  Bruno Haible  <bruno@clisp.org>
20027
20028         Move the malloc checking from module 'list' to new module 'xlist'.
20029         * modules/xlist: New file.
20030         * lib/gl_xlist.h: New file.
20031         * lib/gl_xlist.c: New file.
20032         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
20033         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
20034         gl_list_add_last, gl_list_add_before, gl_list_add_after,
20035         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
20036         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
20037         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
20038         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
20039         gl_sortedlist_nx_add): New declarations.
20040         (struct gl_list_implementation): Rename and change methods accordingly.
20041         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
20042         (gl_list_nx_create): Renamed from gl_list_create.
20043         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20044         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20045         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20046         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20047         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20048         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20049         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20050         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20051         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
20052         gl_list_create_empty.
20053         (gl_list_nx_create): Renamed from gl_list_create.
20054         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20055         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20056         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20057         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20058         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20059         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20060         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20061         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20062         * lib/gl_array_list.c: Don't include xalloc.h.
20063         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
20064         NULL upon out-of-memory.
20065         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
20066         out-of-memory.
20067         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
20068         Change return type to 'int'.
20069         (gl_array_nx_set_at): Renamed from gl_array_set_at.
20070         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20071         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
20072         upon out-of-memory.
20073         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
20074         upon out-of-memory.
20075         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
20076         upon out-of-memory.
20077         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
20078         upon out-of-memory.
20079         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
20080         out-of-memory.
20081         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
20082         Update.
20083         (gl_array_list_implementation): Update.
20084         * lib/gl_carray_list.c: Don't include xalloc.h.
20085         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
20086         Return NULL upon out-of-memory.
20087         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
20088         out-of-memory.
20089         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
20090         Change return type to 'int'.
20091         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
20092         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20093         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
20094         upon out-of-memory.
20095         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
20096         upon out-of-memory.
20097         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
20098         out-of-memory.
20099         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
20100         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
20101         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
20102         Update.
20103         (gl_carray_list_implementation): Update.
20104         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
20105         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
20106         gl_linked_create_empty. Return NULL upon out-of-memory.
20107         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
20108         out-of-memory.
20109         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
20110         Change return type to 'int'. Return -1 upon out-of-memory.
20111         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
20112         out-of-memory.
20113         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
20114         upon out-of-memory.
20115         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
20116         upon out-of-memory.
20117         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
20118         NULL upon out-of-memory.
20119         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
20120         upon out-of-memory.
20121         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
20122         out-of-memory.
20123         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
20124         Update.
20125         * lib/gl_linked_list.c: Don't include xalloc.h.
20126         (gl_linked_list_implementation): Update.
20127         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
20128         (add_to_bucket): Change return type to 'int'.
20129         (gl_linkedhash_list_implementation): Update.
20130         * lib/gl_anytree_list1.h (free_subtree): New function.
20131         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
20132         gl_tree_create_empty. Return NULL upon out-of-memory.
20133         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
20134         Change return type to 'int'. Return -1 upon out-of-memory.
20135         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
20136         out-of-memory.
20137         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
20138         (gl_tree_remove_node): New function, moved here from
20139         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
20140         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
20141         Update.
20142         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
20143         malloc, not xmalloc. Return NULL upon out-of-memory.
20144         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20145         out-of-memory.
20146         (gl_tree_remove_node_from_tree): New function, extracted from
20147         gl_tree_remove_node.
20148         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20149         upon out-of-memory.
20150         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20151         out-of-memory.
20152         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20153         upon out-of-memory.
20154         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20155         upon out-of-memory.
20156         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20157         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
20158         not xmalloc. Return NULL upon out-of-memory.
20159         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20160         out-of-memory.
20161         (gl_tree_remove_node_from_tree): New function, extracted from
20162         gl_tree_remove_node.
20163         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20164         upon out-of-memory.
20165         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20166         out-of-memory.
20167         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20168         upon out-of-memory.
20169         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20170         upon out-of-memory.
20171         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20172         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
20173         gl_anytree_list1.h before gl_anyavltree_list2.h.
20174         (gl_avltree_list_implementation): Update.
20175         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
20176         gl_anytree_list1.h before gl_anyavltree_list2.h.
20177         (gl_rbtree_list_implementation): Update.
20178         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
20179         Change return type to 'int'. Return -1 upon out-of-memory. Use
20180         __builtin_expect.
20181         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
20182         (gl_avltreehash_list_implementation): Update.
20183         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
20184         (gl_rbtreehash_list_implementation): Update.
20185         * modules/array-list (Depends-on): Remove xalloc.
20186         * modules/carray-list (Depends-on): Likewise.
20187         * modules/linked-list (Depends-on): Likewise.
20188         * modules/linkedhash-list (Depends-on): Likewise.
20189         * modules/avltree-list (Depends-on): Likewise.
20190         * modules/rbtree-list (Depends-on): Likewise.
20191         * modules/avltreehash-list (Depends-on): Likewise.
20192         * modules/rbtreehash-list (Depends-on): Likewise.
20193
20194         * modules/xsublist: New file.
20195         * lib/gl_xsublist.h: New file.
20196         * lib/gl_xsublist.c: New file.
20197         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
20198         (gl_sublist_nx_create): New declaration.
20199         * lib/gl_sublist.c: Don't include xalloc.h.
20200         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
20201         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
20202         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
20203         Change return type to 'int'. Return -1 upon out-of-memory.
20204         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
20205         upon out-of-memory.
20206         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
20207         NULL upon out-of-memory.
20208         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
20209         upon out-of-memory.
20210         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
20211         NULL upon out-of-memory.
20212         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
20213         NULL upon out-of-memory.
20214         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
20215         upon out-of-memory.
20216         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
20217         (gl_sublist_list_implementation): Update.
20218         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
20219         upon out-of-memory.
20220         * modules/sublist (Depends-on): Remove xalloc.
20221
20222         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
20223         * tests/test-carray_list.c: Likewise.
20224         * tests/test-linked_list.c: Likewise.
20225         * tests/test-linkedhash_list.c: Likewise.
20226         * tests/test-avltree_list.c: Likewise.
20227         * tests/test-rbtree_list.c: Likewise.
20228         * tests/test-avltreehash_list.c: Likewise.
20229         * tests/test-rbtreehash_list.c: Likewise.
20230         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
20231         * modules/carray-list-tests (Makefile.am): Likewise.
20232         * modules/linked-list-tests (Makefile.am): Likewise.
20233         * modules/linkedhash-list-tests (Makefile.am): Likewise.
20234         * modules/avltree-list-tests (Makefile.am): Likewise.
20235         * modules/rbtree-list-tests (Makefile.am): Likewise.
20236         * modules/avltreehash-list-tests (Makefile.am): Likewise.
20237         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
20238
20239         * NEWS: Mention the changes.
20240
20241         * lib/clean-temp.c: Include gl_xlist.h.
20242         * modules/clean-temp (Depends-on): Add xlist.
20243
20244         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
20245         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
20246
20247         * tests/test-array_oset.c: Include gl_xlist.h.
20248         * modules/array-oset-tests (Depends-on): Add xlist.
20249
20250         Reported by José E. Marchesi <jemarch@gnu.org>.
20251
20252 2009-12-13  Bruno Haible  <bruno@clisp.org>
20253
20254         Move the malloc checking from module 'oset' to new module 'xoset'.
20255         * modules/xoset: New file.
20256         * lib/gl_xoset.h: New file.
20257         * lib/gl_xoset.c: New file.
20258         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
20259         declarations.
20260         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
20261         (struct gl_oset_implementation): Rename and change methods accordingly.
20262         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
20263         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20264         'int'. Mark as __warn_unused_result__.
20265         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
20266         gl_oset_create_empty.
20267         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20268         'int'.
20269         * lib/gl_array_oset.c: Don't include xalloc.h.
20270         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
20271         malloc, not xmalloc.
20272         (grow): Change return type to 'int'. Don't call xalloc_die.
20273         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
20274         to 'int'.
20275         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
20276         'int'.
20277         (gl_array_oset_implementation): Update.
20278         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
20279         gl_tree_create_empty.
20280         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
20281         'int'.
20282         * lib/gl_avltree_oset.c: Don't include xalloc.h.
20283         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20284         xmalloc.
20285         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20286         not xmalloc.
20287         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20288         xmalloc.
20289         (gl_avltree_oset_implementation): Update.
20290         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
20291         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20292         xmalloc.
20293         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20294         not xmalloc.
20295         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20296         xmalloc.
20297         (gl_rbtree_oset_implementation): Update.
20298         * modules/array-oset (Depends-on): Remove xalloc.
20299         * modules/avltree-oset (Depends-on): Likewise.
20300         * modules/rbtree-oset (Depends-on): Likewise.
20301         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
20302         * tests/test-avltree_oset.c: Likewise.
20303         * tests/test-rbtree_oset.c: Likewise.
20304         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
20305         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
20306         * modules/rbtree-oset-tests (Makefile.am): Likewise.
20307         * NEWS: Mention the change.
20308
20309 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
20310
20311         maint.mk: allow a project to override release-prep commands
20312         * top/maint.mk (alpha, beta, stable): Move release-preparatory
20313         commands into a new rule.
20314         (release-prep): New rule.
20315         (release-prep-hook): New overridable variable.
20316
20317 2009-12-13  Bruno Haible  <bruno@clisp.org>
20318
20319         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
20320
20321 2009-12-13  Jim Meyering  <meyering@redhat.com>
20322
20323         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
20324         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
20325
20326 2009-12-12  Bruno Haible  <bruno@clisp.org>
20327
20328         duplocale: Tweak.
20329         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
20330
20331 2009-12-12  Karl Berry  <karl@gnu.org>
20332
20333         * config/srclist.txt (strtoll.c): tab changes, no more sync.
20334
20335 2009-12-12  Bruno Haible  <bruno@clisp.org>
20336
20337         * m4/po.m4: Undo incorrect untabification.
20338
20339 2009-12-12  Bruno Haible  <bruno@clisp.org>
20340
20341         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
20342         * modules/c-strtod (Depends-on): Add locale.
20343         * modules/c-strtold (Depends-on): Likewise.
20344
20345 2009-12-12  Bruno Haible  <bruno@clisp.org>
20346
20347         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
20348
20349 2009-12-11  Eric Blake  <ebb9@byu.net>
20350
20351         setenv: relax requirement in light of POSIX ruling
20352         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
20353         not NULL.
20354         * tests/test-setenv.c (main): Relax test.
20355         * tests/test-unsetenv.c (main): Likewise.
20356         * doc/posix-functions/setenv.texi (setenv): Document this.
20357         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20358
20359 2009-12-11  Bruno Haible  <bruno@clisp.org>
20360
20361         New module 'fd-safer-flag'.
20362         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
20363         * lib/dup-safer.c (dup_safer_flag): Remove function.
20364         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
20365         * lib/fd-safer.c (fd_safer_flag): Remove function.
20366         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
20367         * modules/cloexec (configure.ac): Drop indicator macro.
20368         * modules/fd-safer-flag: New file.
20369         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
20370         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
20371         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
20372
20373 2009-12-11  Bruno Haible  <bruno@clisp.org>
20374
20375         Tests for module 'nl_langinfo'.
20376         * modules/nl_langinfo-tests: New file.
20377         * tests/test-nl_langinfo.sh: New file.
20378         * tests/test-nl_langinfo.c: New file.
20379
20380         New module 'nl_langinfo'.
20381         * lib/nl_langinfo.c: New file.
20382         * m4/nl_langinfo.m4: New file.
20383         * modules/nl_langinfo: New file.
20384         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
20385
20386 2009-12-11  Bruno Haible  <bruno@clisp.org>
20387
20388         Tests for module 'langinfo'.
20389         * modules/langinfo-tests: New file.
20390         * tests/test-langinfo.c: New file.
20391
20392         New module 'langinfo'.
20393         * lib/langinfo.in.h: New file.
20394         * m4/langinfo_h.m4: New file.
20395         * modules/langinfo: New file.
20396         * doc/posix-headers/langinfo.texi: Mention the new module.
20397
20398 2009-12-11  Bruno Haible  <bruno@clisp.org>
20399
20400         * lib/config.charset: Untabify.
20401
20402 2009-12-11  Bruno Haible  <bruno@clisp.org>
20403
20404         * modules/unistd-safer (configure.ac): Drop indicator macro.
20405
20406 2009-12-11  Bruno Haible  <bruno@clisp.org>
20407
20408         Move pipe2-safer code to its own file.
20409         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
20410         * lib/pipe-safer.c (pipe2_safer): Remove function.
20411         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
20412         (Makefile.am): Add it to lib_SOURCES.
20413
20414 2009-12-10  Bruno Haible  <bruno@clisp.org>
20415
20416         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
20417
20418 2009-12-10  Bruno Haible  <bruno@clisp.org>
20419
20420         Declare which arguments expect non-NULL values, for GCC and clang.
20421         * build-aux/arg-nonnull.h: New file.
20422         * modules/arg-nonnull: New file.
20423         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
20424         (inet_ntop, inet_pton): Use it.
20425         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
20426         (closedir, dirfd, opendir, scandir, alphasort): Use it.
20427         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
20428         (open, openat): Use it.
20429         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
20430         (fnmatch): Use it.
20431         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
20432         (getopt, getopt_long, getopt_long_only): Use it.
20433         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
20434         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
20435         Use it.
20436         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
20437         (iconv_open): Use it.
20438         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
20439         (strtoimax, strtoumax): Use it.
20440         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
20441         (duplocale): Use it.
20442         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
20443         (frexp, frexpl): Use it.
20444         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
20445         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
20446         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
20447         (tsearch, tfind, tdelete, twalk): Use it.
20448         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
20449         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
20450         sigpending): Use it.
20451         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
20452         (posix_spawn, posix_spawnp, posix_spawnattr_init,
20453         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
20454         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
20455         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20456         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
20457         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
20458         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
20459         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
20460         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
20461         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
20462         Use it.
20463         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
20464         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
20465         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
20466         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
20467         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
20468         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
20469         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
20470         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
20471         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
20472         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
20473         strtoull, unsetenv): Use it.
20474         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
20475         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
20476         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
20477         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
20478         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
20479         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
20480         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
20481         (strcasecmp, strncasecmp): Use it.
20482         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
20483         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
20484         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
20485         rpl_setsockopt): Use it.
20486         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
20487         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
20488         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
20489         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
20490         (gettimeofday): Use it.
20491         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
20492         (times): Use it.
20493         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
20494         (uname): Use it.
20495         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
20496         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
20497         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
20498         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
20499         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
20500         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
20501         unlinkat, write): Use it.
20502         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
20503         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
20504         * lib/argv-iter.h: Include arg-nonnull.h.
20505         (_ATTRIBUTE_NONNULL_): Remove macro.
20506         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
20507         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
20508         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
20509         optimization.
20510         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
20511         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
20512         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
20513         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
20514         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
20515         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
20516         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
20517         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
20518         * modules/arpa_inet (Depends-on): Add arg-nonnull.
20519         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
20520         * modules/dirent (Depends-on): Add arg-nonnull.
20521         (Makefile.am): Insert arg-nonnull.h into dirent.h.
20522         * modules/fcntl-h (Depends-on): Add arg-nonnull.
20523         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
20524         * modules/fnmatch (Depends-on): Add arg-nonnull.
20525         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
20526         * modules/getopt-posix (Depends-on): Add arg-nonnull.
20527         (Makefile.am): Insert arg-nonnull.h into getopt.h.
20528         * modules/glob (Depends-on): Add arg-nonnull.
20529         (Makefile.am): Insert arg-nonnull.h into glob.h.
20530         * modules/iconv_open (Depends-on): Add arg-nonnull.
20531         (Makefile.am): Insert arg-nonnull.h into iconv.h.
20532         * modules/inttypes (Depends-on): Add arg-nonnull.
20533         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
20534         * modules/locale (Depends-on): Add arg-nonnull.
20535         (Makefile.am): Insert arg-nonnull.h into locale.h.
20536         * modules/math (Depends-on): Add arg-nonnull.
20537         (Makefile.am): Insert arg-nonnull.h into math.h.
20538         * modules/netdb (Depends-on): Add arg-nonnull.
20539         (Makefile.am): Insert arg-nonnull.h into netdb.h.
20540         * modules/search (Depends-on): Add arg-nonnull.
20541         (Makefile.am): Insert arg-nonnull.h into search.h.
20542         * modules/signal (Depends-on): Add arg-nonnull.
20543         (Makefile.am): Insert arg-nonnull.h into signal.h.
20544         * modules/spawn (Depends-on): Add arg-nonnull.
20545         (Makefile.am): Insert arg-nonnull.h into spawn.h.
20546         * modules/stdio (Depends-on): Add arg-nonnull.
20547         (Makefile.am): Insert arg-nonnull.h into stdio.h.
20548         * modules/stdlib (Depends-on): Add arg-nonnull.
20549         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
20550         * modules/string (Depends-on): Add arg-nonnull.
20551         (Makefile.am): Insert arg-nonnull.h into string.h.
20552         * modules/strings (Depends-on): Add arg-nonnull.
20553         (Makefile.am): Insert arg-nonnull.h into strings.h.
20554         * modules/sys_socket (Depends-on): Add arg-nonnull.
20555         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
20556         * modules/sys_stat (Depends-on): Add arg-nonnull.
20557         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
20558         * modules/sys_time (Depends-on): Add arg-nonnull.
20559         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
20560         * modules/sys_times (Depends-on): Add arg-nonnull.
20561         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
20562         * modules/sys_utsname (Depends-on): Add arg-nonnull.
20563         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
20564         * modules/time (Depends-on): Add arg-nonnull.
20565         (Makefile.am): Insert arg-nonnull.h into time.h.
20566         * modules/unistd (Depends-on): Add arg-nonnull.
20567         (Makefile.am): Insert arg-nonnull.h into unistd.h.
20568         * modules/wchar (Depends-on): Add arg-nonnull.
20569         (Makefile.am): Insert arg-nonnull.h into wchar.h.
20570         * modules/argv-iter (Depends-on): Add arg-nonnull.
20571         * tests/test-canonicalize.c (null_ptr): New function.
20572         (main): Use it.
20573         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
20574         (main): Use it.
20575         * tests/test-memmem.c (null_ptr): New function.
20576         (main): Use it.
20577         Reported by Jim Meyering.
20578
20579 2009-12-10  Bruno Haible  <bruno@clisp.org>
20580
20581         Use spaces for indentation, not tabs.
20582         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20583         * m4/*.m4: Untabify.
20584         * build-aux/*.h: Untabify.
20585         * tests/**/*.[hc]: Untabify.
20586         * README: New section "Indent with spaces, not TABs", based on
20587         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
20588         * NEWS: Mention the change.
20589
20590 2009-12-10  Bruno Haible  <bruno@clisp.org>
20591
20592         pty test: Fix link error.
20593         * modules/pty-tests (Makefile.am): Add the default LDADD value to
20594         test_pty_LDADD.
20595
20596 2009-12-07  Simon Josefsson  <simon@josefsson.org>
20597
20598         * modules/pty: New file.
20599         * modules/pty-tests: New file.
20600         * m4/pty.m4: New file.
20601         * tests/test-pty.c: New file.
20602         * doc/glibc-headers/pty.texi: Modified.
20603         * doc/glibc-functions/forkpty.texi: Modified.
20604         * doc/glibc-functions/openpty.texi: Modified.
20605
20606 2009-12-10  Bruno Haible  <bruno@clisp.org>
20607
20608         Avoid syntax error in C++ mode.
20609         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
20610
20611 2009-12-10  Bruno Haible  <bruno@clisp.org>
20612
20613         Use sed with option -e.
20614         * gnulib-tool (func_version, func_emit_copyright_notice,
20615         func_emit_initmacro_end, func_import, func_create_testdir): Pass
20616         option -e to sed.
20617         * modules/link-warning (Makefile.am): Likewise.
20618
20619 2009-12-10  Jim Meyering  <meyering@redhat.com>
20620
20621         mgetgroups: do not write bytes beyond end of malloc'd buffer
20622         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
20623         username, we call getgroups with a one-element-shorter buffer,
20624         but still told it the length was original, max_n_groups.
20625
20626 2009-12-09  Eric Blake  <ebb9@byu.net>
20627
20628         cloexec: relax license
20629         * modules/cloexec (Maintainer): Add myself.
20630         (License): Use LGPL, not GPL.
20631
20632         link-warning: optimize generation
20633         * modules/link-warning (Makefile.am): Reduce process usage.
20634
20635 2009-12-09  Bruno Haible  <bruno@clisp.org>
20636
20637         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
20638         workaround was added on 2009-11-17.
20639
20640 2009-12-09  Jim Meyering  <meyering@redhat.com>
20641             Bruno Haible  <bruno@clisp.org>
20642
20643         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
20644         * modules/link-warning (Makefile.am): Make the comment-removing sed
20645         command more robust in the face of bootstrap-prepended comment lines.
20646
20647 2009-12-09  Bruno Haible  <bruno@clisp.org>
20648
20649         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
20650         most one group.
20651
20652 2009-12-09  Simon Josefsson <simon@josefsson.org>
20653             Bruno Haible  <bruno@clisp.org>
20654
20655         * build-aux/link-warning.h: Add copyright notice.
20656         * modules/link-warning (Makefile.am): Generate link-warning.h from
20657         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
20658         * NEWS: Mention change in link-warning module.
20659         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
20660         * modules/dirent (Makefile.am): Add dependency to dirent.h.
20661         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
20662         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
20663         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
20664         * modules/math (Makefile.am): Add dependency to math.h.
20665         * modules/search (Makefile.am): Add dependency to search.h.
20666         * modules/signal (Makefile.am): Add dependency to signal.h.
20667         * modules/spawn (Makefile.am): Add dependency to spawn.h.
20668         * modules/stdio (Makefile.am): Add dependency to stdio.h.
20669         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
20670         * modules/string (Makefile.am): Add dependency to string.h.
20671         * modules/strings (Makefile.am): Add dependency to strings.h.
20672         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
20673         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
20674         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
20675         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
20676         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
20677         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
20678         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
20679         * modules/unistd (Makefile.am): Add dependency to unistd.h.
20680         * modules/wchar (Makefile.am): Add dependency to wchar.h.
20681
20682 2009-12-09  Bruno Haible  <bruno@clisp.org>
20683
20684         fchdir: Optimize away rpl_fstat when possible.
20685         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
20686         REPLACE_OPEN_DIRECTORY.
20687         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
20688
20689 2009-12-09  Bruno Haible  <bruno@clisp.org>
20690
20691         * lib/fchdir.c: Update comment.
20692
20693 2009-12-09  Bruno Haible  <bruno@clisp.org>
20694
20695         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20696
20697 2009-12-08  Eric Blake  <ebb9@byu.net>
20698
20699         fchdir: avoid memory leak on re-registration.
20700         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20701
20702 2009-12-08  Jim Meyering  <meyering@redhat.com>
20703
20704         init.sh: avoid Solaris 10 /bin/sh portability problem
20705         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20706         sourced script:
20707           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20708           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20709           bar
20710         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20711         and two tests used that idiom.
20712         * tests/init.sh: Update suggested usage comments.
20713         (path_prepend_): New function, to be used in place
20714         of the --src-path=DIR option.
20715         (setup_): Move PATH-prepending code into path_prepend_.
20716         * tests/test-pread.sh: Adapt to new usage.
20717         * tests/test-xalloc-die.sh: Likewise.
20718
20719 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20720
20721         * doc/gnulib.texi (Glibc pty.h): Add.
20722         * doc/glibc-functions/forkpty.texi: Add.
20723         * doc/glibc-functions/openpty.texi: Add.
20724         Suggested by Bruno Haible.
20725
20726 2009-12-08  Eric Blake  <ebb9@byu.net>
20727
20728         fchdir: fix logic bugs
20729         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20730         * tests/test-fchdir.c (main): Enhance test.
20731         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20732         is in use.
20733
20734         dup2: fix logic bugs
20735         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20736         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20737         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20738         exists.
20739         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20740
20741 2009-12-07  Eric Blake  <ebb9@byu.net>
20742
20743         unlink: fix m4 detection
20744         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20745
20746         unistd-safer: add unit test
20747         * modules/unistd-safer-tests: New file.
20748         * tests/test-dup-safer.c: Likewise.
20749         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20750         * tests/test-dup2.c (setmode): Likewise.
20751         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20752
20753         cloexec: preserve text vs. binary across dup_cloexec
20754         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20755         mode.
20756         * modules/dup2-tests (Depends-on): Add binary-io.
20757         * modules/cloexec-tests (Depends-on): Likewise.
20758         * tests/test-dup2.c (setmode, is_mode): New helpers.
20759         (main): Add tests that translation mode is preserved.
20760         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20761         Reported by Bruno Haible.
20762
20763         mgetgroups: reduce duplicate listings
20764         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20765         resulting array.
20766         * tests/test-chown.h (test_chown): Simplify client.
20767         * tests/test-lchown.h (test_lchown): Likewise.
20768
20769 2009-12-06  Bruno Haible  <bruno@clisp.org>
20770
20771         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20772         value.
20773
20774 2009-12-06  Bruno Haible  <bruno@clisp.org>
20775
20776         * lib/progname.c: Include stdio.h, stdlib.h.
20777         (set_program_name): Reject a NULL argument.
20778
20779 2009-12-05  Eric Blake  <ebb9@byu.net>
20780
20781         pipe2-safer: new module
20782         * modules/pipe2-safer: New file.
20783         * lib/unistd-safer.h (pipe2_safer): New prototype.
20784         * lib/unistd--.h (pipe2): New wrapper.
20785         * lib/pipe-safer.c (pipe2_safer): New function.
20786         * modules/pipe (Depends-on): Add pipe2-safer.
20787         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20788
20789         stdlib-safer: preserve cloexec flag for mkostemp[s]
20790         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20791         fd_safer_flag.
20792
20793         unistd-safer: allow preservation of cloexec status via flag
20794         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20795         prototypes.
20796         * lib/dup-safer.c (dup_safer_flag): New function.
20797         * lib/fd-safer.c (fd_safer_flag): Likewise.
20798         * modules/cloexec (configure.ac): Set witness.
20799
20800         test-dup2: enhance test
20801         * modules/dup2-tests (Depends-on): Add cloexec.
20802         * tests/test-dup2.c (main): Enhance test.
20803
20804         cloexec: add dup_cloexec
20805         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20806         header and comments.
20807         * lib/cloexec.c (set_cloexec_flag): Add comments.
20808         (dup_cloexec): New function, with mingw implementation borrowed
20809         from...
20810         * lib/w32spawn.h (dup_noinherit): ...here.
20811         * modules/execute (Depends-on): Add cloexec.
20812         * modules/pipe (Depends-on): Likewise.
20813         * modules/cloexec (Depends-on): Add dup2.
20814         * modules/cloexec-tests (Files): New file.
20815         * tests/test-cloexec.c: Likewise.
20816
20817         test-xalloc-die: fix test for mingw
20818         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20819         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20820         directory and .exe suffix off argv[0] output.
20821
20822         test-fseeko: fix test for mingw
20823         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20824         than undefining fseek, so test will pass on mingw.
20825
20826 2009-12-05  Bruno Haible  <bruno@clisp.org>
20827
20828         * lib/progname.h (set_program_name): Clarify specification.
20829         * lib/progname.c (set_program_name): Likewise.
20830         Reported by Jim Meyering.
20831
20832 2009-12-05  Jim Meyering  <meyering@redhat.com>
20833
20834         maint.mk: backslash-escape parens in default regexp
20835         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20836         backslash-escape the literal parentheses.
20837
20838         maint.mk: news-date-check: use grep -E
20839         * top/maint.mk (today): Define a Make variable, not a...
20840         (news-date-check): ...shell variable.
20841         (news-date-regexp): Use the Make variable.
20842         Use grep's -E option.  Change the failing diagnostic to mention
20843         the variable, $(news-date-regexp).
20844
20845 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20846
20847         maintainer-makefile: allow customization of NEWS entry format
20848         * top/maint.mk (news-date-regexp): New overridable variable.
20849         (news-date-check): Use it.
20850
20851 2009-12-04  Eric Blake  <ebb9@byu.net>
20852
20853         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20854         * lib/mgetgroups.h (xgetgroups): New prototype.
20855         * lib/mgetgroups.c (xgetgroups): New wrapper.
20856         (mgetgroups): Handle ENOSYS.
20857         * modules/mgetgroups (Depends-on): Add realloc.
20858         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20859
20860         mgetgroups: avoid argument promotion issues with -1
20861         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20862         for invalid gid_t.
20863         * tests/test-chown.h (getegid, test_chown): Likewise.
20864         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20865
20866 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20867
20868         exclude: Fix header file problems.
20869         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20870
20871 2009-12-01  Jim Meyering  <meyering@redhat.com>
20872
20873         fts: fts_open: do not let an empty string cause immediate failure
20874         This is required in support of GNU rm, for which the command
20875         "rm A '' B" must process and remove both A and B, in spite of
20876         the empty string argument.
20877         * lib/fts.c (fts_open): Do not let the presence of an empty string
20878         cause fts_open to fail immediately.  Most fts-using tools must be
20879         able to process all arguments, in order, and can be expected to
20880         diagnose such arguments themselves.
20881
20882 2009-11-30  Eric Blake  <ebb9@byu.net>
20883
20884         utimens: fix compilation error
20885         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20886         Declare variable at right scope.
20887
20888 2009-11-29  Jim Meyering  <meyering@redhat.com>
20889
20890         bootstrap: handle perl-5.11's changed --version output
20891         * build-aux/bootstrap (get_version): Handle perl separately,
20892         since perl-5.11's --version output is different.
20893
20894 2009-11-28  Jim Meyering  <meyering@redhat.com>
20895
20896         userspec: depend on the inttostr module, too
20897         * modules/userspec (Depends-on): Add inttostr.
20898
20899         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20900         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20901         number of MAXUID when it evaluates to (uid_t) -1.
20902         Likewise for group ID.  Reported by Matt McCutchen in
20903         <http://savannah.gnu.org/bugs/?28113>
20904
20905         userspec: reformat to use spaces, not TABs
20906         * lib/userspec.c: Expand TABs to spaces.
20907         Add Emacs' "indent-tabs-mode: nil" hint.
20908
20909 2009-11-27  Eric Blake  <ebb9@byu.net>
20910
20911         getopt-gnu: flush out another BSD bug
20912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20913         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20914         flush out BSD bug.
20915         * tests/test-getopt.h (test_getopt): End lists with NULL.
20916         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20917         (test_getopt_long_posix): Enhance test.
20918         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20919         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20920         getopt-gnu.
20921         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20922         Likewise.
20923
20924 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20925
20926         * modules/idpriv-droptemp-tests (Notice): Fix text.
20927
20928 2009-11-27  Jim Meyering  <meyering@redhat.com>
20929
20930         test-xalloc-die: avoid spurious failure due to libtool argv difference
20931         In a libtool-enabled project, this test would fail due to a difference
20932         in the emitted program name, e.g.,
20933         -test-xalloc-die: memory exhausted
20934         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
20935         Use program to avoid that.
20936         * modules/xalloc-die-tests (Depends-on): Add progname.
20937         * tests/test-xalloc-die.c: Include progname.h".
20938         (program_name): Remove decl.
20939         (main): Call set_program_name.
20940         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
20941
20942 2009-11-26  Richard Jones  <rjones@redhat.com>
20943
20944         w32sock: leave win32 error in place.
20945         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
20946
20947 2009-11-26  Eric Blake  <ebb9@byu.net>
20948
20949         init.sh: suggest to use skip_ and fail_ functions in comments
20950         * tests/init.sh: Add a sentence.
20951
20952 2009-11-25  Bruno Haible  <bruno@clisp.org>
20953
20954         init.sh: add documentation in comments
20955         * tests/init.sh: Add some developer and user documentation.
20956
20957 2009-11-26  Jim Meyering  <meyering@redhat.com>
20958
20959         init.sh: accommodate even those who specify bogus srcdir manually
20960         * tests/init.sh: Normally, srcdir is guaranteed by automake and
20961         configure-time tests to be sanitized, so that there is no need to
20962         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
20963         (with no double quotes) suffices.  However, since tests may be
20964         invoked manually, and since you may explicitly set srcdir to the
20965         name of a directory containing spaces, do quote its uses here.
20966         * tests/test-pread.sh: Likewise.
20967         Suggested by Bruno Haible.
20968
20969         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
20970         * tests/test-pread.sh: Write no data into the pipe, because
20971         test-pread actually reads none.  This avoids a diagnostic,
20972         "bash: echo: write error: Broken pipe", that arises in the unusual
20973         event something is ignoring SIGPIPE, and might be interpreted
20974         as some sort of failure.  Reported by Bruno Haible.
20975
20976 2009-11-25  Jim Meyering  <meyering@redhat.com>
20977
20978         test-pread: cover failure with ESPIPE and EINVAL
20979         * tests/test-pread.c (main): Test for failure, too.
20980         * tests/test-pread.sh: Invoke with stdin on a pipe.
20981         Suggested by Eric Blake.
20982
20983         pread: improvement and fix
20984         * modules/pread (Depends-on): Depend on lseek, for portability to
20985         e.g., mingw.  Suggested by Eric Blake.
20986         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
20987
20988         unistd.in.h: correct declaration of pread
20989         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
20990         Reported by Richard W.M. Jones.
20991
20992         test-pread.sh: distribute the test script
20993         * modules/pread-tests (Files): Include test-pread.sh.
20994
20995         test-pread.sh: clean up
20996         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
20997         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
20998         That is unnecessary, since it's always ".".
20999         Suggestion from Eric Blake.
21000
21001         test-pread.sh: make executable
21002         * tests/test-pread.sh: Set executable bit.
21003         Reported by Eric Blake.
21004
21005         correct typo in test-pread.sh
21006         * tests/test-pread.sh: Add #! line.
21007
21008         test pread
21009         * tests/test-pread.c: New file.
21010         * tests/test-pread.sh: Likewise.
21011         * modules/pread-tests: Likewise.
21012
21013         pread: new module
21014         * modules/pread: New file.
21015         * lib/unistd.in.h (pread): Define/declare.
21016         * lib/pread.c (pread): New file.
21017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
21018         * modules/unistd (Makefile.am): Substitute witnesses.
21019         * doc/posix-functions/pread.texi (pread): Update.
21020         * MODULES.html.sh: Add pread.
21021
21022 2009-11-25  Jim Meyering  <meyering@redhat.com>
21023
21024         tests/init.sh: new file to be used via most *.sh tests
21025         * tests/init.sh: New file.
21026
21027 2009-11-25  Eric Blake  <ebb9@byu.net>
21028
21029         utimens: work around older Linux failure with symlinks
21030         * lib/utimens.c (lutimensat_works_really): New variable.
21031         (fdutimens, lutimens): Use it to manage kernels that support
21032         nanosecond times on files, but not on symlinks.
21033         Reported by OndÅ™ej Vašík.
21034
21035         utimes: fix configure grammar
21036         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
21037
21038 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
21039
21040         regex: Fix fastmap for multibyte character ranges.
21041         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
21042         characters when a multibyte character range is included.
21043
21044 2009-11-22  Andy Wingo  <wingo@pobox.com>
21045
21046         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
21047         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
21048
21049 2009-11-24  Bruno Haible  <bruno@clisp.org>
21050
21051         doc: Most *_l functions exist in MacOS X 10.5.
21052         * doc/posix-functions/duplocale.texi: Update platforms list.
21053         * doc/posix-functions/freelocale.texi: Likewise.
21054         * doc/posix-functions/newlocale.texi: Likewise.
21055         * doc/posix-functions/uselocale.texi: Likewise.
21056         * doc/posix-functions/isalnum_l.texi: Likewise.
21057         * doc/posix-functions/isalpha_l.texi: Likewise.
21058         * doc/posix-functions/isblank_l.texi: Likewise.
21059         * doc/posix-functions/iscntrl_l.texi: Likewise.
21060         * doc/posix-functions/isdigit_l.texi: Likewise.
21061         * doc/posix-functions/isgraph_l.texi: Likewise.
21062         * doc/posix-functions/islower_l.texi: Likewise.
21063         * doc/posix-functions/isprint_l.texi: Likewise.
21064         * doc/posix-functions/ispunct_l.texi: Likewise.
21065         * doc/posix-functions/isspace_l.texi: Likewise.
21066         * doc/posix-functions/isupper_l.texi: Likewise.
21067         * doc/posix-functions/iswalnum_l.texi: Likewise.
21068         * doc/posix-functions/iswalpha_l.texi: Likewise.
21069         * doc/posix-functions/iswblank_l.texi: Likewise.
21070         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21071         * doc/posix-functions/iswctype_l.texi: Likewise.
21072         * doc/posix-functions/iswdigit_l.texi: Likewise.
21073         * doc/posix-functions/iswgraph_l.texi: Likewise.
21074         * doc/posix-functions/iswlower_l.texi: Likewise.
21075         * doc/posix-functions/iswprint_l.texi: Likewise.
21076         * doc/posix-functions/iswpunct_l.texi: Likewise.
21077         * doc/posix-functions/iswspace_l.texi: Likewise.
21078         * doc/posix-functions/iswupper_l.texi: Likewise.
21079         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21080         * doc/posix-functions/isxdigit_l.texi: Likewise.
21081         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
21082         * doc/posix-functions/strcasecmp_l.texi: Likewise.
21083         * doc/posix-functions/strcoll_l.texi: Likewise.
21084         * doc/posix-functions/strfmon_l.texi: Likewise.
21085         * doc/posix-functions/strftime_l.texi: Likewise.
21086         * doc/posix-functions/strncasecmp_l.texi: Likewise.
21087         * doc/posix-functions/strxfrm_l.texi: Likewise.
21088         * doc/posix-functions/tolower_l.texi: Likewise.
21089         * doc/posix-functions/toupper_l.texi: Likewise.
21090         * doc/posix-functions/towctrans_l.texi: Likewise.
21091         * doc/posix-functions/towlower_l.texi: Likewise.
21092         * doc/posix-functions/towupper_l.texi: Likewise.
21093         * doc/posix-functions/wcscoll_l.texi: Likewise.
21094         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21095         * doc/posix-functions/wctrans_l.texi: Likewise.
21096         * doc/posix-functions/wctype_l.texi: Likewise.
21097         * doc/glibc-functions/strptime_l.texi: Likewise.
21098         * doc/glibc-functions/strtod_l.texi: Likewise.
21099         * doc/glibc-functions/strtof_l.texi: Likewise.
21100         * doc/glibc-functions/strtol_l.texi: Likewise.
21101         * doc/glibc-functions/strtold_l.texi: Likewise.
21102         * doc/glibc-functions/strtoll_l.texi: Likewise.
21103         * doc/glibc-functions/strtoul_l.texi: Likewise.
21104         * doc/glibc-functions/strtoull_l.texi: Likewise.
21105         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21106         * doc/glibc-functions/wcstod_l.texi: Likewise.
21107         * doc/glibc-functions/wcstof_l.texi: Likewise.
21108         * doc/glibc-functions/wcstol_l.texi: Likewise.
21109         * doc/glibc-functions/wcstold_l.texi: Likewise.
21110         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21111         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21112         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21113
21114 2009-11-24  Bruno Haible  <bruno@clisp.org>
21115
21116         duplocale: Fix logic bug.
21117         * lib/duplocale.c: Don't include <langinfo.h>.
21118         (_NL_LOCALE_NAME): Remove macro.
21119         (rpl_duplocale): Use setlocale instead of nl_langinfo.
21120         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
21121
21122 2009-11-23  Jim Meyering  <meyering@redhat.com>
21123
21124         test-update-copyright: don't hard-code /usr/bin/perl
21125         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
21126         perl to print the current year.  Gilles Espinasse reported that
21127         the replaced use of perl was hard-coded as /usr/bin/perl.
21128
21129 2009-11-23  Bruno Haible  <bruno@clisp.org>
21130
21131         duplocale: Add support for glibc 2.3.x.
21132         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
21133
21134 2009-11-22  Bruno Haible  <bruno@clisp.org>
21135
21136         vasnprintf: Tiny optimization.
21137         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
21138         MacOS X.
21139
21140 2009-11-22  Bruno Haible  <bruno@clisp.org>
21141
21142         Tests for module 'duplocale'.
21143         * modules/duplocale-tests: New file.
21144         * tests/test-duplocale.c: New file.
21145
21146         New module 'duplocale'.
21147         * m4/duplocale.m4: New file.
21148         * lib/locale.in.h (duplocale): New declaration.
21149         * lib/duplocale.c: New file.
21150         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
21151         gl_LOCALE_H_DEFAULTS): New macros.
21152         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
21153         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21154         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
21155         REPLACE_DUPLOCALE.
21156         * modules/duplocale: New file.
21157         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
21158
21159 2009-11-22  Bruno Haible  <bruno@clisp.org>
21160
21161         * modules/locale-tests (configure.ac): Test for newlocale function.
21162         * tests/test-locale.c: When the system has extended locale functions,
21163         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
21164
21165         locale: Make locale_t available when possible.
21166         * lib/locale.in.h: Include <xlocale.h> when it exists.
21167         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
21168         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
21169         * modules/locale (Depends-on): Add extensions.
21170         (Makefile.am): Also substitute HAVE_XLOCALE_H.
21171         * doc/posix-headers/locale.texi: Document the problem with locale_t.
21172
21173 2009-11-22  Bruno Haible  <bruno@clisp.org>
21174
21175         Add comments.
21176         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
21177         invocation.
21178         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
21179         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21180         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21181
21182 2009-11-22  Bruno Haible  <bruno@clisp.org>
21183
21184         error: account for the possibility of freopen (stdout).
21185         * lib/error.c: Include <unistd.h>.
21186         (flush_stdout): New function, extracted from error and error_at_line.
21187         Determine stdout's fd dynamically.
21188         (error, error_at_line): Invoke flush_stdout.
21189         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
21190         * modules/error (Depends-on): Add unistd.
21191
21192 2009-11-22  Bruno Haible  <bruno@clisp.org>
21193
21194         diffseq: Add comment.
21195         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
21196
21197 2009-11-22  Jim Meyering  <meyering@redhat.com>
21198
21199         c-stack: avoid defining an unused static function
21200         * lib/c-stack.c (find_stack_direction): Do not define this function
21201         when it will not be used.
21202
21203         diffseq: avoid spurious gcc warnings
21204         * lib/diffseq.h (IF_LINT2): Define.
21205         (compareseq): Use it to initialize two members of "part".
21206         This avoids two used-uninitialized warnings.
21207
21208 2009-11-21  Jim Meyering  <meyering@redhat.com>
21209
21210         c-stack: avoid "ignoring return value of `write'" warning
21211         * lib/c-stack.c: Include "ignore-value.h".
21212         (die): Explicitly ignore each write return value.
21213         * modules/c-stack (Depends-on): Add ignore-value.
21214
21215 2009-11-21  Bruno Haible  <bruno@clisp.org>
21216
21217         diffseq: reduce scope of variable 'best'.
21218         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
21219         variable, earlier used for two different purposes.
21220
21221 2009-11-21  Jim Meyering  <meyering@redhat.com>
21222
21223         diffseq: remove useless assignment to "best"
21224         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
21225         assignment.  At that point "best" is already guaranteed to be zero.
21226
21227 2009-11-20  Eric Blake  <ebb9@byu.net>
21228
21229         build: mention ftp redirector in release announcements
21230         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
21231         values that used to come from cfg.mk; mention FTP redirect URL.
21232         * build-aux/announce-gen: Mention the mirror list.
21233         Suggested by Karl Berry.
21234
21235         nanosleep: improve port to mingw
21236         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
21237         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
21238         LIB_NANOSLEEP, but only when needed.
21239         * modules/select (Link): Document LIBSOCKET.
21240         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
21241         enough.
21242
21243         nanosleep: work around cygwin bug
21244         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
21245         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
21246         bug.
21247         (getnow): Delete, not needed.
21248         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
21249         LIB_CLOCK_GETTIME.
21250         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
21251         clock-time, gettime.
21252         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
21253         bug.
21254         * modules/nanosleep-tests: New test.
21255         * tests/test-nanosleep.c: New file.
21256
21257         sleep: work around cygwin bug
21258         * lib/sleep.c (rpl_sleep): Work around the bug.
21259         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
21260         (gl_PREREQ_SLEEP): Delete unused macro.
21261         * modules/sleep (Depends-on): Add verify.
21262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21263         * modules/unistd (Makefile.am): Substitute witness.
21264         * lib/unistd.in.h (sleep): Update prototype.
21265         * doc/posix-functions/sleep.texi (sleep): Document the bug.
21266         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
21267         * modules/sleep-tests (Depends-on): Check for alarm.
21268
21269 2009-11-20  Jim Meyering  <meyering@redhat.com>
21270
21271         maint.mk: improve sc_prohibit_magic_number_exit
21272         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
21273         so it does not match uses like System.exit(1).
21274         Add comments showing how to correct all offenders.
21275
21276 2009-11-19  Eric Blake  <ebb9@byu.net>
21277
21278         xalloc-die-tests: add missing library
21279         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
21280
21281         test-xvasprintf: silence compiler warnings
21282         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
21283         empty string from gcc.
21284
21285 2009-11-19  Jim Meyering  <meyering@redhat.com>
21286
21287         xfreopen: new module, from coreutils
21288         * modules/xfreopen: New module.
21289         * lib/xfreopen.c: New file.
21290         * lib/xfreopen.h: New file.
21291         * MODULES.html.sh (File stream based Input/Output"): Add it.
21292
21293 2009-11-19  Eric Blake  <ebb9@byu.net>
21294
21295         manywarnings: depend on warnings
21296         * modules/manywarnings (Depends-on): Add warnings.
21297
21298         build: avoid compiler warnings
21299         * lib/select.c (rpl_select): Delete unused variable.
21300         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
21301
21302 2009-11-18  Eric Blake  <ebb9@byu.net>
21303
21304         tests: avoid false negative with --with-packager
21305         * tests/test-version-etc.sh: Discard packager information.
21306         * tests/test-argp-version-etc-1.sh: Likewise.
21307         Reported by Mike Frysinger.
21308
21309         utimens: fix regression on Solaris
21310         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
21311         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
21312         can only change fd timestamps via futimesat.  Instead, use an
21313         additional witness macro to avoid BSD bug.
21314         Reported by Jim Meyering.
21315
21316 2009-11-17  Eric Blake  <ebb9@byu.net>
21317
21318         usleep: use it to simplify tests
21319         * modules/stat-time-tests (Depends-on): Add usleep.
21320         (configure.ac): Drop usleep check.
21321         * modules/chown-tests (Depends-on, configure.ac): Likewise.
21322         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
21323         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
21324         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
21325         * modules/openat-tests (Depends-on, configure.ac): Likewise.
21326         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
21327         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
21328         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
21329         Likewise.
21330         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
21331         * tests/test-lchown.h (nap): Likewise.
21332         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
21333         * tests/test-stat-time.c (nap): Likewise.
21334         * tests/test-utimens-common.h (nap): Update comments.
21335
21336         usleep: new module
21337         * modules/usleep: New file.
21338         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
21339         * lib/usleep.c (usleep): Likewise.
21340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
21341         * modules/unistd (Makefile.am): Substitute witnesses.
21342         * lib/unistd.in.h (usleep): Add declaration.
21343         * doc/pastposix-functions/usleep.texi (usleep): Document this.
21344         * MODULES.html.sh (Date and time): Likewise.
21345         * modules/usleep-tests (Depends-on): New test.
21346         * tests/test-usleep.c: New file.
21347
21348         chown: work around OpenBSD bug
21349         * lib/chown.c (rpl_chown): Work around the bug.
21350         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
21351         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
21352         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
21353         * modules/chown (Depends-on): Add stdbool.
21354         * modules/lchown (Depends-on): Likewise.
21355         * doc/posix-functions/chown.texi (chown): Document the bug.
21356         * doc/posix-functions/lchown.texi (lchown): Likewise.
21357         * tests/test-lchown.h (test_chown): Relax test.
21358
21359         mkstemp: avoid conflict with C++ keyword template
21360         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
21361         * lib/mkostemp.c (mkostemp): Likewise.
21362         * lib/mkostemps.c (mkostemps): Likewise.
21363         * lib/mkstemp.c (mkstemp): Likewise.
21364         * lib/mkstemps.c (mkstemps): Likewise.
21365
21366         xalloc-die-tests: optimize
21367         * tests/test-xalloc-die.sh: Reduce number of processes.
21368
21369 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21370
21371         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
21372         patch from ludo@gnu.org (Ludovic Courtès).
21373
21374 2009-11-17  Jim Meyering  <meyering@redhat.com>
21375
21376         version-etc: use proper license string
21377         * modules/version-etc (License): Use LGPL, not LGPLv3+.
21378         * modules/version-etc-fsf: Likewise.
21379
21380 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21381
21382         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
21383         printed to stdout.  Deal with EOL differences.
21384
21385 2009-11-17  Eric Blake  <ebb9@byu.net>
21386
21387         unsetenv: work around Solaris bug
21388         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
21389         * lib/unsetenv.c (rpl_unsetenv): Work around it.
21390         Reported by Jim Meyering.
21391
21392         vasnprintf: avoid compiler warnings
21393         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
21394         variables.
21395         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
21396
21397 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21398
21399         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
21400         settings since xalloc-die is no longer the self test,
21401         xalloc-die.sh is.
21402
21403 2009-11-17  Jim Meyering  <meyering@redhat.com>
21404
21405         test-xalloc-die.sh: make the code agree with the commit log
21406         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
21407         at the end, just in case you happen to have a test-xalloc-die
21408         program in some other PATH directory.
21409
21410         test-xalloc-die.sh: fix a portability bug
21411         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
21412         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
21413         Otherwise, argv[0] (as often seen in diagnostics) would be too
21414         system-dependent, sometimes with, and sometimes without the leading "./".
21415
21416         version-etc-fsf: relax license to LGPLv3+
21417         * modules/version-etc-fsf (License): Relax license.
21418
21419 2009-11-16  Eric Blake  <ebb9@byu.net>
21420
21421         xalloc-die-tests: avoid printing null pointer
21422         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
21423         shell script.
21424         * tests/test-xalloc-die.c (program_name): Declare.
21425         * tests/test-xalloc-die.sh (tmpfiles): New file.
21426
21427         setenv, unsetenv: work around various bugs
21428         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
21429         (setenv) [HAVE_SETENV]: Work around bugs.
21430         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
21431         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
21432         for bugs.
21433         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
21434         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
21435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
21436         * modules/stdlib (Makefile.am): Update substitutions.
21437         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
21438         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
21439         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21440         * modules/setenv-tests: New test.
21441         * modules/unsetenv-tests: Likewise.
21442         * tests/test-setenv.c: New file.
21443         * tests/test-unsetenv.c: Likewise.
21444
21445 2009-11-16  Jim Meyering  <meyering@redhat.com>
21446
21447         version-etc: relax license to LGPLv3+
21448         * modules/version-etc (License): Relax license.
21449
21450         better AC_REQUIRE expanded-before-required-warning avoidance
21451         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
21452         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
21453         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
21454         which is no longer needed.
21455
21456 2009-11-16  Eric Blake  <ebb9@byu.net>
21457
21458         test-freading: clean up temporary file
21459         * tests/test-freading.c (main): Remove file on success, and use
21460         ASSERT more liberally.
21461         Reported by Jim Meyering.
21462
21463 2009-11-16  Jim Meyering  <meyering@redhat.com>
21464
21465         avoid new AC_REQUIRE expanded-before-required warnings
21466         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
21467         merely using it.
21468         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
21469         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
21470
21471 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21472
21473         * tests/test-xalloc-die.c: New file.
21474         * modules/xalloc-die-tests: New file.
21475         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
21476         XFAIL_TESTS so it can be appended by modules.
21477
21478 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21479
21480         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
21481         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
21482
21483 2009-11-14  Eric Blake  <ebb9@byu.net>
21484
21485         fnmatch: avoid compiler warning
21486         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
21487         to silence compiler warning about mismatch signedness in ?:.
21488         Reported by Robert Millan.
21489
21490         intprops: add double-inclusion guard
21491         * lib/intprops.h: Allow idempotent includes.
21492         Suggested by Bruce Korb.
21493
21494         openat: detect Solaris fchownat bug
21495         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
21496         penalizing glibc chownat when only lchownat is broken.
21497         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
21498         trailing slash bugs.
21499         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
21500         * modules/openat-tests (Files): Include more files.
21501         (Depends-on): Add mgetgroups, sleep, stat-time.
21502         (configure.ac): Add additional checks.
21503         (Makefile.am): Build new test.
21504         * tests/test-fchownat.c: New file.
21505
21506         lchown: detect Solaris and FreeBSD bug
21507         * lib/lchown.c (rpl_lchown): Work around bug.
21508         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
21509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21510         * modules/unistd (Makefile.am): Populate it.
21511         * lib/unistd.in.h (lchown): Update declaration.
21512         * doc/posix-functions/lchown.texi (lchown): Document the bug.
21513         * modules/lchown-tests: New file.
21514         * tests/test-lchown.h (test_lchown): Likewise.
21515         * tests/test-lchown.c (main): Likewise.
21516
21517         chown: detect Solaris and FreeBSD bug
21518         * lib/chown.c (rpl_chown): Work around bug.
21519         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
21520         (gl_PREREQ_CHOWN): Delete.
21521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21522         * modules/unistd (Makefile.am): Populate it.
21523         * lib/unistd.in.h (chown): Update declaration.
21524         * lib/lchown.c (chown): Update client.
21525         * modules/lchown (Depends-on): Add lstat.
21526         * doc/posix-functions/chown.texi (chown): Document the bug.
21527         * doc/posix-functions/getgroups.texi (getgroups): Document
21528         getgroups pitfall.
21529         * modules/chown-tests: New file.
21530         * tests/test-chown.h (test_chown): Likewise.
21531         * tests/test-chown.c (main): Likewise.
21532
21533 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
21534
21535         gnulib-tool: correctly detect absence of m4 directories
21536         * gnulib-tool: Avoid extra newline on data passed to wc -l.
21537
21538 2009-11-14  Jim Meyering  <meyering@redhat.com>
21539
21540         maint.mk: Prohibit inclusion of "xalloc.h" without use.
21541         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21542
21543 2009-11-14  John W. Eaton  <jwe@gnu.org>
21544
21545         strftime.h: wrap funtion declaration in extern "C" block
21546         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
21547
21548 2009-11-13  Eric Blake  <ebb9@byu.net>
21549
21550         getgroups: avoid compiler warning
21551         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
21552
21553         getgroups: work around FreeBSD bug
21554         * lib/getgroups.c (rpl_getgroups): Work around the bug.
21555         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
21556         * doc/posix-functions/getgroups.texi (getgroups): Document it.
21557         * tests/test-getgroups.c (main): Fix buffer overrun.
21558
21559         getgroups: avoid compilation failure
21560         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
21561         * modules/getgroups (Depends-on): Add stdint.
21562
21563 2009-11-13  Jim Meyering  <meyering@redhat.com>
21564
21565         test-getgroups: avoid compilation failure
21566         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
21567
21568 2009-11-13  Eric Blake  <ebb9@byu.net>
21569
21570         mgetgroups: new module, taken from coreutils
21571         * modules/mgetgroups: New file.
21572         * lib/mgetgroups.h: Likewise.
21573         * lib/mgetgroups.c (mgetgroups): Likewise.
21574         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
21575         * MODULES.html.sh (Users and groups): Mention it.
21576
21577         getgroups: don't expose GETGROUPS_T to user
21578         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
21579         an element at a time if GETGROUPS_T is wrong size.
21580         * lib/getugroups.h (getugroups): Change signature.
21581         * lib/unistd.in.h (getgroups): Likewise.
21582         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
21583         signature needs fixing.
21584         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
21585         AC_TYPE_GETGROUPS.
21586         * modules/group-member (Depends-on): Add getgroups.
21587         * lib/group-member.c (group_info, get_group_info): Use gid_t.
21588         (group_member): Rely on getgroups replacement.
21589         * lib/getugroups.c (getugroups): Use gid_t.
21590         * tests/test-getgroups.c (main): Likewise.
21591         * NEWS: Mention the signature change.
21592         * doc/posix-functions/getgroups.texi (getgroups): Mention the
21593         problem with signature.
21594         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
21595         GETGROUPS_T is still useful for setgroups.
21596
21597         getgroups, getugroups: provide stubs for mingw
21598         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
21599         * lib/getugroups.c (getugroups): Likewise.
21600         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
21601         function.  Modernize replacement scheme.
21602         (gl_PREREQ_GETGROUPS): Delete.
21603         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
21604         * modules/getgroups (configure.ac): Declare witness.
21605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21606         * modules/unistd (Depends-on): Substitute witness.
21607         * lib/unistd.in.h (getgroups): Declare replacement.
21608
21609         getgroups: avoid calling exit
21610         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
21611         drop xalloc.
21612         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
21613         dependencies.
21614         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
21615         exiting, in the rare case of malloc failure.
21616
21617         getgroups: fix logic error
21618         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
21619         has more than 20 groups.
21620         * modules/getgroups-tests: New test.
21621         * tests/test-getgroups.c: New file.
21622
21623 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21624
21625         * tests/test-base64.c: Improve.
21626
21627 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21628
21629         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
21630         Blake <ebb9@byu.net>.
21631
21632 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21633
21634         * tests/test-xvasprintf.c: Add %s%s related checks.
21635
21636 2009-11-12  Eric Blake  <ebb9@byu.net>
21637
21638         version-etc: match standards.texi style
21639         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
21640         and use <> only for URLs.
21641
21642 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
21643
21644         fts: do not fail on a submount during traversal
21645         * lib/fts.c (fts_build): Read the stat info again after opening
21646         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
21647         Original report at http://bugzilla.redhat.com/501848.
21648
21649 2009-11-12  Jim Meyering  <meyering@redhat.com>
21650
21651         bootstrap: sync from coreutils
21652         * build-aux/bootstrap (bootstrap_epilogue): New function.
21653         Use git_modules_config in one more place.  This make bootstrap's
21654         --gnulib-srcdir option more useful for testing.
21655
21656         bootstrap: generalize autoheader check
21657         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
21658         AC_CONFIG_HEADERS.
21659
21660 2009-11-11  Eric Blake  <ebb9@byu.net>
21661
21662         mkfifoat: use new modules for Solaris and BSD bugs
21663         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
21664         * lib/mkfifoat.c (mknodat): Split...
21665         * lib/mknodat.c (mknodat): ...into new file.
21666         * modules/mkfifoat (Files): Ship new file.
21667         (Depends-on): Add mkfifo, mknod.
21668         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
21669         (Depends-on): Add symlink.
21670         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
21671         redundant with test_mkfifo.h.
21672         (do_mkfifoat, do_mknodat): New helpers.
21673
21674         mknod: new module
21675         * modules/mknod: New file.
21676         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
21677         * lib/mknod.c (mknod): Likewise.
21678         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21679         defaults.
21680         * modules/sys_stat (Makefile.am): Substitute them.
21681         * lib/sys_stat.in.h (mknod): Declare replacement.
21682         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21683         Document it.
21684         * doc/posix-functions/mknod.texi (mknod): Likewise.
21685         * modules/mknod-tests: New test.
21686         * tests/test-mknod.c: Likewise.
21687
21688         mkfifo: new module
21689         * modules/mkfifo: New file.
21690         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21691         * lib/mkfifo.c (mkfifo): Likewise.
21692         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21693         defaults.
21694         * modules/sys_stat (Makefile.am): Substitute them.
21695         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21696         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21697         Document it.
21698         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21699         * modules/mkfifo-tests: New test.
21700         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21701         from test-mkfifoat.c.
21702         * tests/test-mkfifo.c: New file.
21703
21704         readlink: detect FreeBSD bug
21705         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21706         slash on symlink.
21707         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21708         * tests/test-readlink.h (test_readlink): Enhance test.
21709
21710         symlink: detect FreeBSD bug
21711         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21712         slash on symlink.
21713         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21714         * tests/test-symlink.h (test_symlink): Enhance test.
21715
21716 2009-11-10  Eric Blake  <ebb9@byu.net>
21717
21718         link: detect FreeBSD bug
21719         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21720         symlink.
21721         * doc/posix-functions/link.texi (link): Document the bug.
21722         * tests/test-link.h (test_link): Enhance test.
21723         * tests/test-linkat.c (main): Update caller.
21724
21725         unlink, remove: detect FreeBSD bug
21726         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21727         slash on symlink.
21728         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21729         * doc/posix-functions/remove.texi (remove): Likewise.
21730         * tests/test-unlink.h (test_unlink): Enhance test.
21731         * tests/test-remove.c (main): Likewise.
21732
21733 2009-11-09  Eric Blake  <ebb9@byu.net>
21734
21735         rename: detect FreeBSD bug
21736         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21737         slash on symlink.
21738         * modules/renameat-tests (Depends-on): Add filenamecat.
21739         * tests/test-rename.h (test_rename): Allow one more errno.
21740         * tests/test-renameat.c (main): Likewise.
21741         * doc/posix-functions/rename.texi (rename): Document the bug.
21742
21743         open: detect FreeBSD bug
21744         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21745         symlink.
21746         * doc/posix-functions/open.texi (open): Document the bug.
21747         * doc/posix-functions/utimes.texi (utimes): Likewise.
21748         * tests/test-open.h (test_open): Add parameters, and test symlink
21749         handling.
21750         * tests/test-open.c (main): Adjust caller.
21751         * tests/test-fcntl-safer.c (main): Likewise.
21752         * modules/open-tests (Depends-on): Add stdbool, symlink.
21753         * modules/fcntl-safer-tests (Depends-on): Likewise.
21754         * tests/test-openat.c (main): Add test-open tests.
21755
21756         stat: detect FreeBSD bug
21757         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21758         symlink.
21759         * doc/posix-functions/stat.texi (stat): Document the bug.
21760         * tests/test-stat.h (test_stat_func): Add argument.
21761         * tests/test-stat.c (main): Adjust caller.
21762         * tests/test-fstatat.c (main): Likewise.
21763         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21764         Reported by Jim Meyering.
21765
21766 2009-11-09  James Youngman  <jay@gnu.org>
21767
21768         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21769         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21770
21771 2009-11-08  Jim Meyering  <meyering@redhat.com>
21772
21773         utimens: remove invalid futimesat call
21774         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21775         It used the file descriptor of the target file as the DIR_FD
21776         parameter and NULL as the file name.  That caused failure with
21777         errno == EFAULT on FreeBSD-8.0-rc2
21778
21779 2009-11-07  Eric Blake  <ebb9@byu.net>
21780
21781         fflush, freadseek: use fseeko, not fseek
21782         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21783         (clear_ungetc_buffer): Avoid potential problems on large files.
21784         * lib/freadseek.c (freadseek): Likewise.
21785         * modules/freadseek (Depends-on): Add fseeko.
21786         * modules/fseek (configure.ac): Set a witness.
21787         * tests/test-fflush.c (main): Use fseeko.
21788         * tests/test-fpurge.c (fseek): Disable link warning.
21789         * tests/test-freadable.c (fseek): Likewise.
21790         * tests/test-freading.c (fseek): Likewise.
21791         * tests/test-fseeko.c (fseek): Likewise.
21792         * tests/test-ftell.c (fseek): Likewise.
21793         * tests/test-ftello.c (fseek): Likewise.
21794         * tests/test-fwritable.c (fseek): Likewise.
21795         * tests/test-fwriting.c (fseek): Likewise.
21796
21797 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21798
21799         * modules/memchr (Depends-on): Drop getpagesize dependency.
21800
21801 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21802
21803         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21804         Reported by Ludovic Courtès.
21805         * build-aux/pmccabe2html: Improve example usage.
21806         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21807
21808 2009-11-06  Jim Meyering  <meyering@redhat.com>
21809
21810         do-release-commit-and-tag: New module.
21811         Automate the release-commit and tag process.
21812         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21813         * modules/do-release-commit-and-tag: New file.
21814         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21815
21816 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21817
21818         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21819         because test-select.c uses inet_pton.
21820
21821 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21822
21823         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21824         GETADDRINFO_LIB.  Bump serial number.
21825         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21826         Suggested by Eric Blake <ebb9@byu.net>.
21827
21828 2009-11-05  Eric Blake  <ebb9@byu.net>
21829
21830         strtod: detect darwin bug
21831         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21832         Reported by Leo Davis.
21833
21834         freopen-safer: new module
21835         * modules/freopen-safer: New module.
21836         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21837         * lib/freopen-safer.c (freopen_safer): New file.
21838         * lib/stdio-safer.h (freopen_safer): New declaration.
21839         * lib/stdio--.h (freopen): New override.
21840         * MODULES.html.sh (File stream based Input/Output): Mention it.
21841         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21842         freopen-safer module.
21843         * doc/posix-functions/stderr.texi (stderr): Likewise.
21844         * doc/posix-functions/stdin.texi (stdin): Likewise.
21845         * doc/posix-functions/stdout.texi (stdout): Likewise.
21846         * modules/freopen-safer-tests: New test.
21847         * tests/test-reopen-safer.c: New file.
21848
21849 2009-11-05  Jim Meyering  <meyering@redhat.com>
21850
21851         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21852         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21853
21854 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21855
21856         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21857
21858 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21859
21860         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21861
21862 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21863
21864         Fix link error.
21865         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21866         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21867
21868 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21869
21870         * tests/test-func.c: Also test value of __func__.
21871
21872 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21873
21874         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21875         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21876
21877 2009-11-05  Bruno Haible  <bruno@clisp.org>
21878
21879         Fix link error.
21880         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21881         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21882         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21883
21884 2009-11-05  Bruno Haible  <bruno@clisp.org>
21885
21886         Tests for module 'inet_pton'.
21887         * modules/inet_pton-tests: New file.
21888         * tests/test-inet_pton.c: New file.
21889
21890 2009-11-05  Bruno Haible  <bruno@clisp.org>
21891
21892         Tests for module 'inet_ntop'.
21893         * modules/inet_ntop-tests: New file.
21894         * tests/test-inet_ntop.c: New file.
21895
21896 2009-11-04  Eric Blake  <ebb9@byu.net>
21897
21898         stdlib-safer: wrap all mkstemp variants
21899         * modules/mkostemp (configure.ac): Set witness.
21900         * modules/mkostemps (configure.ac): Likewise.
21901         * modules/mkstemps (configure.ac): Likewise.
21902         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21903         (mkstemps_safer): Wrap more functions.
21904         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21905         wrapping.
21906         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21907         (mkstemps_safer): Implement the wrappers.
21908
21909         mkstemps, mkostemps: new modules
21910         * modules/mkostemps: New module.
21911         * modules/mkstemps: Likewise.
21912         * lib/mkostemps.c (mkostemps): New file.
21913         * lib/mkstemps.c (mkstemps): Likewise.
21914         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21915         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21916         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21917         * modules/stdlib (Makefile.am): Substitute them.
21918         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21919         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21920         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21921         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21922         * MODULES.html.sh (File system functions): Mention them.
21923
21924         tempname: resync from glibc
21925         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
21926         same values for __GT_FILE as glibc.  Abort even when assertions
21927         are disabled.
21928         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
21929         match its value otherwise.  Allow idempotent inclusion.
21930         * lib/mkdtemp.c (mkdtemp): Adjust caller.
21931         * lib/mkostemp.c (mkostemp): Likewise.
21932         * lib/mkstemp.c (mkstemp): Likewise.
21933         * lib/tmpfile.c (tmpfile): Likewise.
21934         * NEWS: Document this.
21935
21936         utimens: fix use of futimens on older Linux
21937         * lib/utimens.c (fdutimens): Use updated, rather than original,
21938         timespec to avoid bug in older Linux kernel.
21939         Reported by Simon Josefsson.
21940
21941 2009-11-04  Bruno Haible  <bruno@clisp.org>
21942
21943         Make num_processors more flexible and consistent.
21944         * lib/nproc.h (enum nproc_query): New type.
21945         (num_processors): Add a 'query' argument.
21946         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
21947         (num_processors): Add a 'query' argument. Test the value of the
21948         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
21949         mingw, count the number of CPUs available for the current process.
21950         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
21951         Check for sched_getaffinity and sched_getaffinity_np.
21952         * modules/nproc (Depends-on): Add c-ctype, extensions.
21953         * NEWS: Mention the change.
21954
21955 2009-11-03  Bruno Haible  <bruno@clisp.org>
21956
21957         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
21958
21959 2009-11-03  Jim Meyering  <meyering@redhat.com>
21960
21961         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
21962         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
21963         if it is defined.
21964
21965 2009-11-02  Eric Blake  <ebb9@byu.net>
21966
21967         mktime, timegm: share common declaration
21968         * lib/mktime-internal.h: New file.
21969         * lib/mktime.c: Use it rather than open-coding a declaration.
21970         * lib/timegm.c: Likewise.
21971         * modules/mktime (Files): Ship it.
21972         * modules/timegm (Files): Likewise.
21973         Suggested by Bruno Haible.
21974
21975         test-update-copyright: update test to match script changes
21976         * tests/test-update-copyright.sh: Avoid hard-coding perl
21977         location.  Don't update *.bak created by earlier runs.
21978
21979 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21980             Simon Josefsson  <simon@josefsson.org>
21981             Bruno Haible  <bruno@clisp.org>
21982
21983         Fix link error on Solaris 8.
21984         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
21985         also in libnsl. Define also INET_PTON_LIB.
21986         * modules/inet_pton (Link): New section.
21987
21988 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21989             Bruno Haible  <bruno@clisp.org>
21990
21991         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
21992         * modules/inet_ntop (Link): New section.
21993         Reported by Boyan Kasarov <bkasarov@gmail.com>.
21994
21995 2009-11-02  Eric Blake  <ebb9@byu.net>
21996
21997         maint: avoid compiler warnings in m4 macros
21998         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
21999         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
22000
22001 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22002
22003         * m4/pmccabe2html.m4: Remove file.
22004         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
22005         function.  Change maintainer.
22006         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
22007         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
22008         Courtès).
22009
22010 2009-10-31  Eric Blake  <ebb9@byu.net>
22011
22012         fseeko: fix m4 regression
22013         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
22014         regression from 2009-10-27.
22015         Reported by Ralf Wildenhues.
22016
22017 2009-10-31  Jim Meyering  <meyering@redhat.com>
22018
22019         inttostr: aesthetics and improved (compile-time) safety
22020         Define inttype_is_signed rather than inttype_is_unsigned,
22021         since the sole use is via "#if inttype_is_signed".
22022         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
22023         inttype_is_unsigned.
22024         * lib/offtostr.c (inttype_is_signed): Likewise.
22025         * lib/uinttostr.c (inttype_is_signed): Likewise.
22026         * lib/umaxtostr.c (inttype_is_signed): Likewise.
22027         * lib/inttostr.c (inttostr): Use verify to cross-check the
22028         inttype_is_signed value and the signedness of the actual type.
22029         * modules/inttostr (Depends-on): Add verify.
22030
22031 2009-10-30  Eric Blake  <ebb9@byu.net>
22032
22033         build: avoid compiler warnings
22034         * lib/fchmodat.c (lchmod): Mark unused variables.
22035         * lib/getopt.c (_getopt_initialize): Likewise.
22036         * lib/mktime.c (__mktime_internal): Provide prototype.
22037         * lib/inttostr.c (inttostr): Avoid compiler warning even with
22038         older gcc that do not understand #pragma GCC diagnostic.
22039         * lib/uinttostr.c (inttype_is_unsigned): Define.
22040         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
22041
22042 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
22043
22044         stat: fix compilation on AIX
22045         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
22046         only see struct stat64.
22047
22048 2009-10-30  Eric Blake  <ebb9@byu.net>
22049
22050         exclude: make more robust
22051         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
22052         rather than masking a coding bug.
22053         Suggested by Bruno Haible.
22054
22055 2009-10-30  Jim Meyering  <meyering@redhat.com>
22056
22057         perl scripts: remove #!/usr/bin/perl in favor of more portable...
22058         Rather than putting #!/usr/bin/perl on the first line,
22059         start with a variant of what's recommended by "man perlrun" that
22060         invokes the first "perl" program from your shell's search path.
22061         * build-aux/gitlog-to-changelog: Replace #!... as above.
22062         Add a "Local Variables" perl mode setting.
22063         Prompted by a patch from Ludovic Courtès.
22064         Improved by Eric Blake.
22065         * build-aux/useless-if-before-free: Likewise.
22066         * build-aux/announce-gen: Likewise.
22067         * build-aux/update-copyright: Likewise.
22068
22069 2009-10-29  Eric Blake  <ebb9@byu.net>
22070
22071         filenamecat-lgpl: adjust clients
22072         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
22073         filenamecat.
22074         * modules/renameat (Depends-on): Likewise.
22075
22076         filenamecat: split into filenamecat-lgpl
22077         * modules/filenamecat-lgpl: New module.
22078         * modules/filenamecat (Files): Move library-safe files into
22079         filenamecat-lgpl.
22080         (Depends-on): Add filenamecat-lgpl.
22081         (configure.ac): Declare witness.
22082         * lib/filenamecat.h (file_name_concat): Only declare when using
22083         GPL module.
22084         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
22085         Move...
22086         * lib/filenamecat-lgpl.c: ...into new file.
22087         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
22088         (gl_FILE_NAME_CONCAT): Use it.
22089         * MODULES.html.sh (File system functions): Mention new module.
22090
22091         argp: avoid memory leak
22092         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
22093         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
22094         base_name, since the latter malloc()s and can call exit().
22095         Leak introduced 2006-07-03.
22096
22097         dirname-lgpl: adjust clients that don't need full dirname
22098         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
22099         * modules/filenamecat (Depends-on): Likewise.
22100         * modules/linkat (Depends-on): Likewise.
22101         * modules/mkancesdirs (Depends-on): Likewise.
22102         * modules/mkdir (Depends-on): Likewise.
22103         * modules/openat (Depends-on): Likewise.
22104         * modules/savewd (Depends-on): Likewise.
22105         * modules/rename (Depends-on): Likewise.
22106         (License): Relax license.
22107         * modules/mkdir-tests (Depends-on): Drop progname.
22108         (Makefile.am): Delete unneeded LDADD.
22109         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
22110
22111         dirname: split into dirname-lgpl
22112         * modules/dirname-lgpl: New module.
22113         * modules/dirname (Files): Move library-safe files into
22114         dirname-lgpl.
22115         (Depends-on): Add dirname-lgpl.
22116         (configure.ac): Declare witness.
22117         * modules/double-slash-root (License): Relax license.
22118         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
22119         module.
22120         * lib/dirname.c (dir_len, mdir_name): Move...
22121         * lib/dirname-lgpl.c: ...into new file.
22122         * lib/basename.c (last_component, base_len): Move...
22123         * lib/basename-lgpl.c: ...into new file.
22124         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
22125         (gl_DIRNAME): Use it.
22126         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
22127         Mention new module.
22128         * modules/dirname-tests (Depends-on): Add progname.
22129         * tests/test-dirname.c (program_name): Delete.
22130
22131         mkdir: make safe for libraries
22132         * modules/mkdir (Depends-on): Drop xalloc.
22133         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
22134         exit.
22135
22136         tests: avoid some compiler warnings
22137         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
22138         literals.
22139         * tests/test-memchr.c (main): Avoid type mismatch.
22140         * tests/test-arpa_inet.c (main): Avoid unused parameters.
22141         * tests/test-base64.c (main): Likewise.
22142         * tests/test-getdelim.c (main): Likewise.
22143         * tests/test-gethostname.c (main): Likewise.
22144         * tests/test-getline.c (main): Likewise.
22145         * tests/test-netinet_in.c (main): Likewise.
22146         * tests/test-select.c (open_server_socket, main): Likewise.
22147         * tests/test-select-stdin.c (main): Likewise.
22148         * tests/test-sockets.c (main): Likewise.
22149         * tests/test-strsignal.c (main): Likewise.
22150         * tests/test-sys_select.c (main): Likewise.
22151         * tests/test-sys_socket.c (main): Likewise.
22152         * tests/test-u64.c (main): Likewise.
22153         * tests/test-xfprintf-posix.c (main): Likewise.
22154         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
22155
22156         sockets: avoid compiler warning
22157         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
22158
22159         maint: detect usage(1) and other suspicious exits
22160         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
22161
22162 2009-10-29  Jim Meyering  <meyering@redhat.com>
22163
22164         timespec: long-to-int truncation could make timespec_cmp malfunction
22165         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
22166         a multiple of 2^32 nanoseconds as no difference.
22167
22168 2009-10-28  Jim Meyering  <meyering@redhat.com>
22169
22170         fprintftime: wrap macro code argument in "do {...} while(0)"
22171         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
22172         cpy macro must be a statement that can be followed by a semicolon.
22173         Now that the else clause contains a comment and is hence longer
22174         than one line, I require curly braces.  That in turn requires
22175         that we wrap this code block in the standard do...while(0).
22176
22177         fprintftime: remove stray semicolon from previous change
22178         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
22179
22180         fprintftime: avoid a warning about ignored fwrite return value
22181         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
22182         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
22183         that is unsafe.
22184         * modules/fprintftime (Depends-on): Add ignore-value.
22185
22186         exclude: avoid an unwarranted warning
22187         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
22188
22189 2009-10-27  Eric Blake  <ebb9@byu.net>
22190
22191         fseek: avoid compilation failure when fflush is replaced
22192         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
22193         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
22194         module is in use.
22195         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
22196         module is not in use; since REPLACE_FSEEK worked otherwise.
22197         (GNULIB_FTELLO): Likewise for ftell.
22198         Reported by Ian Beckwith and others.
22199
22200 2009-10-27  Bruno Haible  <bruno@clisp.org>
22201
22202         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
22203         Reported by Jim Meyering.
22204
22205 2009-10-27  Jim Meyering  <jim@meyering.net>
22206             Bruno Haible  <bruno@clisp.org>
22207
22208         Avoid warning despite dropping the return value of fwrite.
22209         * lib/unicodeio.c: Include ignore-value.h.
22210         (fwrite_success_callback): Explicitly ignore fwrite's return value.
22211         * modules/unicodeio (Depends-on): Add ignore-value.
22212
22213 2009-10-26  Eric Blake  <ebb9@byu.net>
22214
22215         areadlinkat: fix fallback path
22216         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
22217         pointer and zero.
22218
22219 2009-10-22  Pádraig Brady  <P@draigBrady.com>
22220
22221         Use a better IO block size for modern systems
22222         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
22223         * lib/md2.c: Likewise.
22224         * lib/md4.c: Likewise.
22225         * lib/md5.c: Likewise.
22226         * lib/sha1.c: Likewise.
22227         * lib/sha256.c: Likewise.
22228         * lib/sha512.c: Likewise.
22229
22230 2009-10-22  Eric Blake  <ebb9@byu.net>
22231
22232         tests: avoid several compiler warnings
22233         * tests/test-getcwd.c (main): Avoid buffer underflow.
22234         * tests/test-getdate.c (main): String literals are not safe with
22235         putenv, so use setenv.  Declare unused argument.
22236         * modules/getdate-tests (Depends-on): Add setenv.
22237         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
22238         problems with string literals in char *.
22239         * tests/test-hash.c (main): Avoid shadowing declaration.
22240         (insert_new): Treat string literals as char const *.
22241         * tests/test-getopt.h (test_getopt): Likewise.
22242         (getopt_loop): Alter types to minimize casting elsewhere.
22243         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
22244         (test_getopt_long_posix): Likewise.
22245         (do_getopt_long): Add wrapper to minimize casting.
22246         * tests/test-atexit.c (clear_temp_file): Use void.
22247         * tests/test-areadlink-with-size.c (main): Declare unused
22248         arguments.
22249         * tests/test-areadlink.c (main): Likewise.
22250         * tests/test-areadlinkat-with-size.c (main): Likewise.
22251         * tests/test-areadlinkat.c (main): Likewise.
22252         * tests/test-canonicalize-lgpl.c (main): Likewise.
22253         * tests/test-canonicalize.c (main): Likewise.
22254         * tests/test-dirent-safer.c (main): Likewise.
22255         * tests/test-dirname.c (main): Likewise.
22256         * tests/test-dup2.c (main): Likewise.
22257         * tests/test-fchdir.c (main): Likewise.
22258         * tests/test-fcntl-h.c (main): Likewise.
22259         * tests/test-fcntl-safer.c (main): Likewise.
22260         * tests/test-fdopendir.c (main): Likewise.
22261         * tests/test-fdutimensat.c (main): Likewise.
22262         * tests/test-fflush.c (main): Likewise.
22263         * tests/test-filenamecat.c (main): Likewise.
22264         * tests/test-filevercmp.c (main): Likewise.
22265         * tests/test-fopen-safer.c (main): Likewise.
22266         * tests/test-fopen.c (main): Likewise.
22267         * tests/test-fpending.c (main): Likewise.
22268         * tests/test-fpurge.c (main): Likewise.
22269         * tests/test-freading.c (main): Likewise.
22270         * tests/test-fstatat.c (main): Likewise.
22271         * tests/test-fsync.c (main): Likewise.
22272         * tests/test-futimens.c (main): Likewise.
22273         * tests/test-getndelim2.c (main): Likewise.
22274         * tests/test-gettimeofday.c (main): Likewise.
22275         * tests/test-getopt.c (main): Likewise.
22276         * tests/test-i-ring.c (main): Likewise.
22277         * tests/test-inttypes.c (main): Likewise.
22278         * tests/test-link.c (main): Likewise.
22279         * tests/test-lstat.c (main): Likewise.
22280         * tests/test-math.c (main): Likewise.
22281         * tests/test-md5.c (main): Likewise.
22282         * tests/test-memchr2.c (main): Likewise.
22283         * tests/test-memrchr.c (main): Likewise.
22284         * tests/test-mkdir.c (main): Likewise.
22285         * tests/test-mkdirat.c (main): Likewise.
22286         * tests/test-mkfifoat.c (main): Likewise.
22287         * tests/test-open.c (main): Likewise.
22288         * tests/test-openat-safer.c (main): Likewise.
22289         * tests/test-openat.c (main): Likewise.
22290         * tests/test-quotearg.c (main): Likewise.
22291         * tests/test-rawmemchr.c (main): Likewise.
22292         * tests/test-readlink.c (main): Likewise.
22293         * tests/test-remove.c (main): Likewise.
22294         * tests/test-rename.c (main): Likewise.
22295         * tests/test-renameat.c (main): Likewise.
22296         * tests/test-rmdir.c (main): Likewise.
22297         * tests/test-sha1.c (main): Likewise.
22298         * tests/test-signal.c (main): Likewise.
22299         * tests/test-sigaction.c (main): Likewise.
22300         * tests/test-stat.c (main): Likewise.
22301         * tests/test-stat-time.c (main): Likewise.
22302         * tests/test-stddef.c (main): Likewise.
22303         * tests/test-stdint.c (main): Likewise.
22304         * tests/test-stdio.c (main): Likewise.
22305         * tests/test-stdlib.c (main): Likewise.
22306         * tests/test-strchrnul.c (main): Likewise.
22307         * tests/test-strerror.c (main): Likewise.
22308         * tests/test-string.c (main): Likewise.
22309         * tests/test-strtod.c (main): Likewise.
22310         * tests/test-strverscmp.c (main): Likewise.
22311         * tests/test-symlink.c (main): Likewise.
22312         * tests/test-symlinkat.c (main): Likewise.
22313         * tests/test-sys_stat.c (main): Likewise.
22314         * tests/test-sys_time.c (main): Likewise.
22315         * tests/test-time.c (main): Likewise.
22316         * tests/test-unistd.c (main): Likewise.
22317         * tests/test-unlink.c (main): Likewise.
22318         * tests/test-unlinkat.c (main): Likewise.
22319         * tests/test-utimens.c (main): Likewise.
22320         * tests/test-utimensat.c (main): Likewise.
22321         * tests/test-version-etc.c (main): Likewise.
22322         * tests/test-wchar.c (main): Likewise.
22323         * tests/test-wctype.c (main): Likewise.
22324         * tests/test-xprintf-posix.c (main): Likewise.
22325         * tests/test-posixtm.c (main): Likewise.
22326         (STREQ): Delete unused macro.
22327         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
22328         shadowed variables.
22329         * tests/test-memchr.c (main): Likewise.
22330
22331 2009-10-21  Eric Blake  <ebb9@byu.net>
22332
22333         areadlinkat: avoid failure on older glibc
22334         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
22335         rather than mis-comparing 0 against FUNC_RESULT of char*.
22336
22337 2009-10-21  Bruno Haible  <bruno@clisp.org>
22338
22339         * modules/stpncpy (License): Relicense under LGPLv2+.
22340         Reported by David Lutterkort <lutter@redhat.com>.
22341
22342 2009-10-20  Eric Blake  <ebb9@byu.net>
22343
22344         utimensat: work around Solaris 9 bug
22345         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
22346         has trailing slash bugs.
22347         * tests/test-lutimens.h (test_lutimens): Enhance test.
22348         * tests/test-utimens.h (test_utimens): Likewise.
22349         * doc/posix-functions/utime.texi (utime): Enhance documentation.
22350         * doc/posix-functions/utimes.texi (utimes): Likewise.
22351         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22352         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
22353         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
22354         * doc/posix-functions/futimens.texi (futimens): Likewise.
22355
22356         fdutimensat: new module
22357         * modules/fdutimensat: New file.
22358         * lib/fdutimensat.c (fdutimensat): Likewise.
22359         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
22360         * MODULES.html.sh (File system functions): Mention module.
22361         * modules/fdutimensat-tests: New test.
22362         * tests/test-fdutimensat.c: Likewise.
22363
22364         doc: regenerate INSTALL
22365         * doc/INSTALL: Reflect recent autoconf update.
22366         * doc/INSTALL.ISO: Likewise.
22367         * doc/INSTALL.UTF-8: Likewise.
22368
22369 2009-10-20  Pádraig Brady  <P@draigBrady.com>
22370
22371         acl: warn if ACL support is not detected
22372         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
22373
22374 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
22375
22376         * lib/nproc.h: Add extern "C" block for C++.
22377
22378 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
22379             Bruno Haible  <bruno@clisp.org>
22380
22381         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
22382         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
22383         * doc/posix-functions/isalpha.texi: Likewise.
22384         * doc/posix-functions/isblank.texi: Likewise.
22385         * doc/posix-functions/iscntrl.texi: Likewise.
22386         * doc/posix-functions/isdigit.texi: Likewise.
22387         * doc/posix-functions/isgraph.texi: Likewise.
22388         * doc/posix-functions/islower.texi: Likewise.
22389         * doc/posix-functions/isprint.texi: Likewise.
22390         * doc/posix-functions/ispunct.texi: Likewise.
22391         * doc/posix-functions/isspace.texi: Likewise.
22392         * doc/posix-functions/isupper.texi: Likewise.
22393         * doc/posix-functions/isxdigit.texi: Likewise.
22394
22395 2009-10-18  Bruno Haible  <bruno@clisp.org>
22396
22397         Tests for module 'isblank'.
22398         * modules/isblank-tests: New file.
22399         * tests/test-isblank.c: New file.
22400
22401         New module 'isblank'.
22402         * lib/isblank.c: New file.
22403         * m4/isblank.m4: New file.
22404         * modules/isblank: New file.
22405         * doc/posix-functions/isblank.texi: Mention the new module.
22406
22407 2009-10-18  Bruno Haible  <bruno@clisp.org>
22408
22409         New module 'ctype'.
22410         * lib/ctype.in.h: New file.
22411         * m4/ctype.m4: New file.
22412         * modules/ctype: New file.
22413         * doc/posix-headers/ctype.texi: Mention the new module.
22414
22415 2009-10-18  Jim Meyering  <meyering@redhat.com>
22416
22417         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
22418         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
22419         right after its initialization, rather than farther down.
22420         Keeping these in close proximity makes it easier to ensure
22421         that each such variable is initialized.  E.g.,
22422
22423             LIB_CLOCK_GETTIME=
22424             AC_SUBST([LIB_CLOCK_GETTIME])
22425
22426         This change also increments these serial numbers.
22427         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
22428         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22430
22431 2009-10-18  Bruno Haible  <bruno@clisp.org>
22432
22433         Don't let environment variables perturb build.
22434         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
22435         (gl_PREREQ_GETHRXTIME): ... not here.
22436
22437 2009-10-18  Bruno Haible  <bruno@clisp.org>
22438
22439         Avoid symlink attack in localcharset module.
22440         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
22441         (O_NOFOLLOW): Define fallback.
22442         (get_charset_aliases): Don't open the file if it is a symbolic link.
22443         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
22444         gl_FCNTL_H.
22445         (gl_FCNTL_H): Require it.
22446         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
22447         * modules/localcharset (Files): Add m4/fcntl_h.m4.
22448         Reported by Fergal Glynn <fglynn@veracode.com>.
22449
22450 2009-10-18  Bruno Haible  <bruno@clisp.org>
22451
22452         Implement nproc for mingw.
22453         * lib/nproc.c: Include <windows.h>
22454         (num_processors): On native Windows platforms, try GetSystemInfo.
22455
22456 2009-10-18  Bruno Haible  <bruno@clisp.org>
22457
22458         Implement nproc for IRIX.
22459         * lib/nproc.c: Include <sys/sysmp.h>.
22460         (num_processors): On IRIX systems, try sysmp.
22461         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
22462
22463 2009-10-18  Bruno Haible  <bruno@clisp.org>
22464
22465         Implement nproc for HP-UX.
22466         * lib/nproc.c: Include <sys/pstat.h>
22467         (num_processors): On HP-UX systems, try pstat_getdynamic.
22468         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
22469         pstat_getdynamic.
22470
22471 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
22472             Bruno Haible  <bruno@clisp.org>
22473
22474         Implement nproc for NetBSD, OpenBSD.
22475         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
22476         (ARRAY_SIZE): New macro.
22477         (num_processors): On BSD systems, try sysctl of HW_NCPU.
22478         * m4/nproc.m4: New file.
22479         * modules/nproc (Files): Add m4/nproc.m4.
22480         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
22481         (Makefile.am): Instead, augment lib_SOURCES.
22482
22483 2009-10-18  Bruno Haible  <bruno@clisp.org>
22484
22485         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
22486         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
22487         sys/param.h.
22488
22489 2009-10-16  Eric Blake  <ebb9@byu.net>
22490
22491         utimensat: new module
22492         * modules/utimensat: New file.
22493         * lib/utimensat.c (utimensat): Likewise.
22494         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22495         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
22496         so we can work around Linux bugs.
22497         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22498         * modules/sys_stat (Makefile.am): Substitute them.
22499         * lib/sys_stat.in.h (utimensat): Declare it.
22500         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22501         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22502         * modules/utimensat-tests: New test.
22503         * tests/test-utimensat.c: Likewise.
22504
22505         utimens: let lutimens work on non-symlinks
22506         * lib/utimens.c (lutimens): Fall back to utimens rather than
22507         failing with ENOSYS, when file is not a symlink.
22508         (utimens): Reduce redirection.
22509         * tests/test-lutimens.h (test_lutimens): Update test to cover
22510         non-symlinks.
22511         * tests/test-utimens.h (test_utimens): Update test to cover
22512         symlinks.
22513         * tests/test-utimens.c (main): Update caller.
22514
22515         utimens: cache whether utimensat syscall works
22516         * lib/utimens.c (utimensat_works_really): New cache variable.
22517         (fdutimens, lutimens): Use it to avoid failing syscall.
22518
22519         test-stat-time, test-utimens: improve portability
22520         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
22521         ext4 on alpha, and for cygwin.
22522         * tests/test-utimens-common.h: New file.
22523         (nap): Factor delays into single function.
22524         * tests/test-lutimens.h (test_lutimens): Use new header.
22525         * tests/test-futimens.h (test_futimens): Likewise.
22526         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
22527         timestamps to occur from same machine, as was done previously for
22528         test_utimens.
22529         * modules/utimens-tests (Files): Ship new file.
22530         * modules/futimens-tests (Files): Likewise.
22531         Reported in part by Jim Meyering.
22532
22533         sys_stat: sort replacement declarations
22534         * lib/sys_stat.in.h: Sort declarations.
22535         * lib/futimens.c (futimens): Fix typo.
22536
22537 2009-10-15  Jim Meyering  <meyering@redhat.com>
22538
22539         don't let environment settings perturb build
22540         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
22541         could cause a configure-time and/or build-time malfunction.
22542         Typically, a configure-time function-in-library test is performed
22543         via code like this:
22544
22545           LIB_VAR=
22546           AC_SUBST([LIB_VAR])
22547           prefix_saved_LIBS=$LIBS
22548             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
22549                        [test "$ac_cv_search_FUNC" = "none required" ||
22550                         LIB_VAR=$ac_cv_search_FUNC])
22551           LIBS=$prefix_saved_LIBS
22552
22553         However, in each of the files affected by this change, the LIB_VAR=
22554         initialization was omitted.  Thus, when set in the environment, its
22555         value would propagate into generated Makefiles when FUNC is not found
22556         in LIB_NAME.
22557         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
22558         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22559         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22560
22561 2009-10-14  Eric Blake  <ebb9@byu.net>
22562
22563         fchdir: avoid infinite recursion in mingw
22564         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
22565         recursing.
22566
22567         test-stat-time: port to mingw
22568         * tests/test-stat-time.c (force_unlink): Return a value.
22569         (test_ctime) [W32]: Fix compilation error.
22570         (nap): Don't call usleep with too large an argument.  Use
22571         force_unlink.
22572         * doc/pastposix-functions/usleep.texi (usleep): Document the
22573         portability issue.
22574
22575 2009-10-13  Jim Meyering  <meyering@redhat.com>
22576
22577         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
22578         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
22579         * modules/pipe-filter-ii: Likewise.
22580         * modules/sys_socket-tests: Likewise.
22581         * modules/tsearch-tests: Likewise.
22582         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
22583         (check): Depend on it.
22584
22585 2009-10-12  Eric Blake  <ebb9@byu.net>
22586
22587         utimens-tests: port to NFS file systems
22588         * tests/test-utimens.h (test_utimens): Refactor utimecmp
22589         comparisons to avoid spurious failures from timestamp drift
22590         between NFS machines.
22591
22592 2009-10-12  Eric Blake  <ebb9@byu.net>
22593
22594         stat-time-tests: minor cleanups
22595         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
22596         * tests/test-stat-time.c (nap): Separate assignment from call.
22597         Suggested by Paolo Bonzini and Bruno Haible.
22598
22599         sys_stat: guarantee struct timespec
22600         * lib/sys_stat.in.h (includes): Always include <time.h>
22601         * modules/sys_stat (Depends-on): Add time.
22602         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
22603         mode_t permission values.
22604         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
22605         get at subsecond timestamps.
22606
22607 2009-10-10  Eric Blake  <ebb9@byu.net>
22608
22609         futimens: new module
22610         * modules/futimens: New file.
22611         * lib/futimens.c (futimens): Likewise.
22612         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
22613         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
22614         we can work around Linux bugs.
22615         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22616         * modules/sys_stat (Makefile.am): Substitute them.
22617         * lib/sys_stat.in.h (futimens): Declare it.
22618         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22619         * doc/posix-functions/futimens.texi (futimens): Likewise.
22620         * modules/futimens-tests: New test.
22621         * tests/test-futimens.c: Likewise.
22622
22623         utimens: introduce fdutimens
22624         * lib/utimens.h (fdutimens): New prototype.
22625         * lib/utimens.c (gl_futimens): Move guts...
22626         (fdutimens): ...to new interface.
22627         * tests/test-utimens.c (do_fdutimens): Use it.
22628
22629         utimens: add UTIME_NOW and UTIME_OMIT support
22630         * lib/utimens.c (validate_timespec, update_timespec): New helper
22631         functions.
22632         (gl_futimens, lutimens): Use them.
22633         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
22634         stdbool, sys_stat.
22635         (Link): Mention resulting library dependency.
22636         * modules/utimecmp (Link): Likewise.
22637         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
22638         (Makefile.am): Pick up library dependency.
22639         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
22640         definition.
22641         * tests/test-sys_stat.c: Test the definitions.
22642         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
22643         * NEWS: Document library dependency.
22644
22645         utimecmp: support symlink timestamps
22646         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
22647         hashing when possible.  Use pathconf when available.
22648         (SYSCALL_RESOLUTION): Recognize tighter resolution.
22649         * modules/utimecmp (Depends-on): Add lstat.
22650
22651         utimens: add lutimens interface
22652         * lib/utimens.c (lutimens): New function.
22653         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
22654         * lib/utimens.h (lutimens): Declare new interface.
22655         * tests/test-utimens.c (main): Enhance test.
22656         * tests/test-lutimens.h (test_lutimens): New file.
22657         * modules/utimens-tests (Files): Distribute it.
22658         (Depends-on): Add symlink.
22659         (configure.ac): Check for usleep.
22660
22661         utimens: validate futimens usage
22662         * lib/utimens.c (gl_futimens): Require valid fd up front, using
22663         fewer syscalls on failure later on.  Avoid compiler warning on
22664         mingw.
22665         * modules/utimens (Depends-on): Add dup2.
22666
22667         utimens: add test
22668         * modules/utimens-tests: New test.
22669         * tests/test-utimens.h: New file.
22670         * tests/test-futimens.h: Likewise.
22671         * tests/test-utimens.c: Likewise.
22672
22673         doc: mention timestamp portability issues
22674         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
22675         instead.
22676         * doc/posix-functions/utime.texi (utime): Likewise.
22677         * doc/posix-functions/utimes.texi (utimes): Likewise.
22678         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
22679         instead.
22680         * doc/posix-functions/futimens.texi (futimens): Mention utimens
22681         module.
22682         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22683         Mention weakness with symlink timestamps.
22684         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
22685         to utimensat/futimens instead.
22686         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
22687
22688         test-dup2: enhance test
22689         * tests/test-dup2.c (main): Also check AT_FDCWD.
22690
22691         test-stat-time: avoid more spurious failures
22692         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22693         xfs; and avoid race if the two timestamps cross quantization edge.
22694
22695         relocatable: prefer 'file system' over 'filesystem'
22696         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22697         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22698         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22699         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22700         * lib/relocatable.c (compute_curr_prefix): Likewise.
22701
22702 2009-10-10  Jim Meyering  <meyering@redhat.com>
22703
22704         stat-time-tests: check for the usleep function
22705         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22706
22707 2009-10-10  Bruno Haible  <bruno@clisp.org>
22708
22709         * modules/xnanosleep: Put the Link section after the Include section.
22710
22711 2009-10-09  Eric Blake  <ebb9@byu.net>
22712
22713         dup2: work around FreeBSD 6.1 bug
22714         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22715         * doc/posix-functions/dup2.texi (dup2): Document it.
22716         Reported by Nelson H. F. Beebe and Jim Meyering.
22717
22718         test-stat-time: port to buggy NFS clients
22719         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22720         (test_ctime): Also skip test if mtime and ctime are skewed.
22721
22722         maint: prefer 'file system' over 'filesystem'
22723         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22724         * doc/posix-functions/lstat.texi (lstat): Likewise.
22725         * lib/file-has-acl.c (file_has_acl): Likewise.
22726         * lib/fwriteerror.c [TEST]: Likewise.
22727         * tests/test-areadlink.h (test_areadlink): Likewise.
22728         * tests/test-areadlinkat-with-size.c (main): Likewise.
22729         * tests/test-areadlinkat.c (main): Likewise.
22730         * tests/test-canonicalize-lgpl.c (main): Likewise.
22731         * tests/test-canonicalize.c (main): Likewise.
22732         * tests/test-fstatat.c (main): Likewise.
22733         * tests/test-linkat.c (main): Likewise.
22734         * tests/test-lstat.h (test_lstat_func): Likewise.
22735         * tests/test-mkdir.h (test_mkdir): Likewise.
22736         * tests/test-readlink.h (test_readlink): Likewise.
22737         * tests/test-remove.c (main): Likewise.
22738         * tests/test-rename.h (test_rename): Likewise.
22739         * tests/test-renameat.c (main): Likewise.
22740         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22741         * tests/test-symlink.h (test_symlink): Likewise.
22742         * tests/test-symlinkat.c (main): Likewise.
22743         * tests/test-unlink.h (test_unlink_func): Likewise.
22744         * tests/test-unlinkat.c (main): Likewise.
22745
22746         maint: make realtime library usage explicit
22747         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22748         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22749         * modules/settime (Link): Likewise.
22750         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22751
22752         test-stat-time: speed up execution
22753         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22754         warning on mingw.
22755         (nap): New helper function.
22756         (prepare_test): Use it to reduce sleep time.
22757         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22758         execution.
22759         * modules/stat-time-tests (configure.ac): Check for usleep.
22760
22761 2009-10-09  Jim Meyering  <meyering@redhat.com>
22762
22763         selinux-h: always use getfilecon wrappers
22764         * lib/getfilecon.c: New file.
22765         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22766         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22767         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22768         (fgetfilecon): Provide a stub.
22769         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22770         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22771         file unconditionally.
22772         When <selinux/selinux.h> is found, arrange to use wrappers.
22773         * modules/selinux-h (Files): Add getfilecon.c.
22774         (Makefile.am): Substitute include-next-related bits
22775         into the now-always-generated selinux/selinux.h file.
22776         * doc/glibc-functions/lgetfilecon.texi: New file.
22777         * doc/glibc-functions/fgetfilecon.texi: New file.
22778         * doc/glibc-functions/getfilecon.texi: New file.
22779         * doc/glibc-functions/getfilecon-desc.texi: New file.
22780         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22781         which to pull in the new files.
22782         * MODULES.html.sh (Misc): Add selinux-h.
22783
22784 2009-10-08  Jim Meyering  <meyering@redhat.com>
22785
22786         unistd: fix comment typo
22787         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22788
22789 2009-10-08  Eric Blake  <ebb9@byu.net>
22790
22791         areadlink: use SIZE_MAX consistently
22792         * modules/areadlink (Depends-on): Add stdint.
22793         * modules/areadlink-with-size (Depends-on): Likewise.
22794         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22795         gives NULL; drop sys/types, since unistd gives size_t; and add
22796         stdint for SIZE_MAX.
22797         (SIZE_MAX): Rely on headers.
22798         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22799         and add stdint.
22800         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22801         (SIZE_MAX): Likewise.
22802         (INITIAL_BUF_SIZE): Turn into enum.
22803         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22804
22805 2009-10-08  Jim Meyering  <meyering@redhat.com>
22806
22807         areadlinkat: avoid compilation failure
22808         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22809         Fix typo in comment.
22810
22811 2009-10-07  Eric Blake  <ebb9@byu.net>
22812
22813         areadlinkat-with-size: new module
22814         * modules/areadlinkat-with-size: New module.
22815         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22816         * lib/areadlink.h (areadlinkat): Declare it.
22817         * MODULES.html.sh (File system functions): Mention it.
22818         * modules/areadlinkat-with-size-tests: New test.
22819         * tests/test-areadlinkat-with-size.c: New file.
22820
22821         xreadlinkat: new module
22822         * modules/xreadlinkat: New module.
22823         * lib/xreadlinkat.c (xreadlinkat): New file.
22824         * lib/xreadlink.h (xreadlinkat): Declare it.
22825         * MODULES.html.sh (File system functions): Mention it.
22826
22827         areadlinkat: new module
22828         * lib/at-func.c (FUNC_FAIL): New define.
22829         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22830         * modules/areadlinkat: New module.
22831         * lib/linkat.c (areadlinkat): Move...
22832         * lib/areadlinkat.c (areadlinkat): ...to new file.
22833         * lib/areadlink.h (areadlinkat): Declare it.
22834         * modules/linkat (Depends-on): Add areadlinkat.
22835         * MODULES.html.sh (File system functions): Mention it.
22836         * modules/areadlinkat-tests: New test.
22837         * tests/test-areadlinkat.c: New file.
22838
22839         areadlink, areadlink-with-size: add tests
22840         * modules/areadlink-tests: New test.
22841         * modules/areadlink-with-size-tests: Likewise.
22842         * tests/test-areadlink.h: New file.
22843         * tests/test-areadlink.c: Likewise.
22844         * tests/test-areadlink-with-size.c: Likewise.
22845
22846         maint: minor cleanups
22847         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22848         _UNUSED_PARAMETER_ instead.
22849         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22850         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22851         * modules/linkat-tests (Files): Distribute test-link.h.
22852
22853         openat, utimens: whitespace cleanup
22854         * lib/openat.c: Prefer space throughout, rather than mix of 8
22855         spaces vs. tabs.
22856         * lib/at-func.c: Likewise.
22857         * lib/utimens.c: Likewise.
22858
22859         openat: avoid using wrong fd
22860         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22861         working directory chooses same fd.
22862         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22863
22864         mkdir, mkdirat: fix cygwin 1.5.x bug
22865         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22866         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22867         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22868         bug.
22869         (gl_PREREQ_MKDIR): Delete unused macro.
22870         * modules/mkdir (Files): Track file rename.
22871         (configure.ac): Update macro name.
22872         * modules/openat (Depends-on): Add mkdir.
22873         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22874
22875         mkdir, mkdirat: add tests
22876         * modules/mkdir-tests: New test.
22877         * tests/test-mkdir.h: New file.
22878         * tests/test-mkdir.c: Likewise.
22879         * tests/test-mkdirat.c: Likewise.
22880         * modules/openat-tests (Files): Add new files.
22881         (Makefile.am): Run new test.
22882
22883 2009-10-06  Eric Blake  <ebb9@byu.net>
22884
22885         doc: tweak *at function documentation
22886         * doc/posix-functions/faccessat.texi (faccessat): Mention
22887         known issue with replacement.
22888         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22889         * doc/posix-functions/linkat.texi (linkat): Likewise.
22890         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22891         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22892         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22893         * doc/posix-functions/renameat.texi (renameat): Likewise.
22894         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22895
22896         openat: fix GNU/Hurd bug in unlinkat
22897         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22898         broken.
22899         * doc/posix-functions/unlink.texi (unlink): Document this.
22900         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22901
22902         fdopendir: fix GNU/Hurd bug
22903         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22904         allowing non-directory fds.
22905         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22906         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22907         * modules/dirent (Makefile.am): Substitute it.
22908         * lib/dirent.in.h (fdopendir): Declare replacement.
22909         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22910         * tests/test-fdopendir.c (main): Test something other than
22911         /dev/null, since on Hurd that behaves like a directory.
22912
22913         test-symlink: port to GNU/Hurd
22914         * tests/test-symlink.h (test_symlink): Relax expected errno.
22915
22916         doc: tweak more cygwin information
22917         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22918         now compatible with glibc.
22919         * doc/posix-functions/getopt.texi (getopt): Likewise.
22920
22921         getopt-gnu: add another test
22922         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22923         guarantee behavior relied on by m4.
22924         * tests/test-getopt.c (main): Use it.
22925         * modules/getopt-posix-tests (Depends-on): Add setenv.
22926         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
22927
22928         getopt: fix compilation on darwin
22929         * lib/getopt.in.h (includes): Leave breadcrumbs during system
22930         include.
22931         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
22932         Reported by Ludovic Courtès.
22933
22934 2009-10-06  Bruno Haible  <bruno@clisp.org>
22935
22936         * modules/size_max (Description): Discourage its use.
22937         Reported by Simon Josefsson.
22938
22939 2009-10-06  Jim Meyering  <meyering@redhat.com>
22940
22941         linkat: avoid compilation failure
22942         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
22943
22944 2009-10-05  Eric Blake  <ebb9@byu.net>
22945
22946         linkat: support Linux 2.6.17
22947         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
22948         linkat on Linux, but allow cache variable override.
22949         * lib/linkat.c (rpl_linkat): Define override.
22950         * modules/linkat (Depends-on): Add symlinkat.
22951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
22952         * modules/unistd (Makefile.am): Substitute it.
22953         * lib/unistd.in.h (linkat): Declare replacement.
22954         Reported by Pádraig Brady.
22955
22956         quotearg: port test to systems with C.UTF-8 locale
22957         * tests/test-quotearg.c (struct result_strings): Add another
22958         member, differentiating between C.ASCII and C.UTF-8 handling.
22959         (compare_strings): Add parameter.
22960         (main): Adjust all callers.
22961
22962         getopt: avoid clash with FreeBSD _getopt_internal
22963         * lib/getopt.in.h (_getopt_internal): Override the name.
22964         * lib/getopt_int.h (includes): Pick up any overrides.
22965         Reported by Reuben Thomas.
22966
22967         hash: allow C89 compilation
22968         * lib/hash.c (check_tuning): Move declaration before statement.
22969         Reported by Reuben Thomas.
22970
22971 2009-10-05  Karl Berry  <karl@gnu.org>
22972
22973         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
22974
22975 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
22976             Bruno Haible  <bruno@clisp.org>
22977
22978         * lib/uname.c (uname): Use a table-driven algorithm to compute
22979         Windows NT versions.
22980
22981 2009-10-04  Bruno Haible  <bruno@clisp.org>
22982
22983         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
22984         program_invocation_short_name.
22985         * modules/progname (configure.ac): Test for presence of
22986         program_invocation_short_name.
22987         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
22988
22989 2009-10-04  Bruno Haible  <bruno@clisp.org>
22990
22991         * lib/progname.c (set_program_name): Fix comment.
22992         Reported by Jim Meyering.
22993
22994 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22995             Bruno Haible  <bruno@clisp.org>
22996
22997         * lib/uname.c: Include <string.h>.
22998         (uname): Do only one call to GetVersionEx in the common case.
22999
23000 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23001             Bruno Haible  <bruno@clisp.org>
23002
23003         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
23004         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
23005         (uname): Add support for Windows CE and various non-x86 CPU types.
23006
23007 2009-10-03  Bruno Haible  <bruno@clisp.org>
23008
23009         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
23010         invocation to tests/configure.ac.
23011         Reported by Ian Beckwith <ianb@erislabs.net>.
23012
23013 2009-10-02  Eric Blake  <ebb9@byu.net>
23014
23015         fchdir: avoid compiler warning
23016         * lib/fchdir.c (canonicalize_file_name)
23017         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
23018
23019         test-open: support mingw errno values
23020         * tests/test-open.h (test_open): Relax test.
23021         * tests/test-fopen.h (test_fopen): Likewise.
23022         * tests/test-openat-safer.c (main): Likewise.
23023
23024         open: fix opening directory on mingw
23025         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
23026
23027         test-open: on GNU/Hurd, /dev/null is a directory
23028         * tests/test-fopen.h (main): Rename...
23029         (test_fopen): ...to this.  Use a guaranteed non-directory when
23030         confirming open behavior on trailing slash.
23031         * tests/test-openat-safer.c (main): Likewise.
23032         * tests/test-open.h (main): Likewise....
23033         (test_open): ...to this.
23034         * tests/test-fopen.c (main): Adjust caller.
23035         * tests/test-fopen-safer.c (main): Likewise.
23036         * tests/test-open.c (main): Likewise.
23037         * tests/test-fcntl-safer.c (main): Likewise.
23038         Reported by Samuel Thibault.
23039
23040         rename, fchdir: don't ignore chdir failure
23041         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
23042         * lib/rename.c (rpl_rename) [W32]: Likewise.
23043         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
23044         an empty destination directory if source cannot be renamed,
23045         although there is still possibility for failure.
23046         * doc/posix-functions/rename.texi (rename): Document the race.
23047         Reported by Jim Meyering.
23048
23049         maint: cleanup whitespace in recent commits
23050         * lib/rename.c (rpl_rename): Remove tabs.
23051         * tests/test-link.h (test_link): Likewise.
23052         * lib/fchdir.c (get_name): Likewise.
23053         Reported by Jim Meyering.
23054
23055 2009-10-02  Ben Pfaff  <blp@gnu.org>
23056
23057         relocatable-prog-wrapper: Add missing dependency on
23058         double-slash-root.
23059         * modules/relocatable-prog-wrapper: Add dependency.
23060         Reported by Ian Beckwith <ianb@erislabs.net>.
23061
23062 2009-10-02  Eric Blake  <ebb9@byu.net>
23063
23064         renameat: fix Solaris bugs
23065         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
23066         needed fixing.
23067         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
23068         * modules/stdio (Makefile.am): Substitute it.
23069         * lib/stdio.in.h (renameat): Declare replacement.
23070         * lib/renameat.c (rpl_renameat): Implement fix.
23071
23072         renameat: new module
23073         * modules/renameat: New file.
23074         * lib/renameat.c (renameat): Likewise.
23075         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
23076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23077         * modules/stdio (Makefile.am): Substitute them.
23078         * lib/stdio.in.h (renameat): Declare it.
23079         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23080         * doc/posix-functions/renameat.texi (renameat): Likewise.
23081         * modules/renameat-tests: New test.
23082         * tests/test-renameat.c: Likewise.
23083
23084         rename: fix mingw bugs
23085         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
23086         directory overwrite bugs.
23087
23088         rename: fix another cygwin 1.5 bug
23089         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
23090         checks.
23091         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
23092         unnecessary cygwin workarounds.  Also work around bug with moving
23093         full directory onto an empty one.
23094         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
23095
23096         rename-dest-slash: merge into rename module
23097         * modules/rename-dest-slash (Status): Mark obsolete.
23098         (Depends-on): Add rename.
23099         (Files): Let rename do it all.
23100         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
23101         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
23102         * m4/rename-dest-slash.m4: ...so this file can be deleted.
23103         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
23104         * lib/rename.c (rpl_rename): Update comments.
23105
23106         rename: fix cygwin 1.5.x bugs
23107         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
23108         * lib/rename.c (rpl_rename): Work around them.
23109         * modules/rename (Depends-on): Add same-inode.
23110
23111         rename: fix Solaris 10 bug
23112         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23113         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
23114         was the only bug.
23115
23116         rename: fix Solaris 9 bug
23117         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
23118         on non-directory.  Avoid calling exit.
23119         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
23120         strdup.
23121         * modules/rename-tests (Depends-on): Drop lstat.
23122         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23123         (gl_PREREQ_RENAME): Delete unused macro.
23124
23125         rename-dest-slash: fix NetBSD bug
23126         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
23127         links.
23128         * modules/rename-dest-slash (Depends-on): Add same-inode.
23129
23130         rename-tests: new test, exposes several platform bugs
23131         * modules/rename-tests: New file.
23132         * tests/test-rename.h: Likewise.
23133         * tests/test-rename.c: Likewise.
23134         * doc/posix-functions/rename.texi (rename): Improve documentation,
23135         including bugs that will eventually be fixed in gnulib.
23136
23137 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
23138
23139         * lib/uname.c: Include <stdlib.h>
23140         (uname): Assume version info is available.
23141
23142 2009-10-02  Jim Meyering  <meyering@redhat.com>
23143
23144         gnu-web-doc-update: correct --help output
23145         * build-aux/gnu-web-doc-update: Make --help output relevant.
23146
23147         gnu-web-doc-update: add standard options
23148         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
23149
23150         gnu-web-doc-update: New module.
23151         Use this script to automatically update the on-line web documentation
23152         for your GNU project at http://www.gnu.org/software/$pkg/manual/
23153         * modules/gnu-web-doc-update: New file, from coreutils.
23154         * build-aux/gnu-web-doc-update: New script.
23155
23156 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
23157
23158         link: LoadLibrary is not needed.
23159         * lib/link.c: Use GetModuleHandle.
23160
23161 2009-10-01  Eric Blake  <ebb9@byu.net>
23162
23163         getopt: bump serial number
23164         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
23165         change.
23166
23167         tests: tighten link, rmdir, and remove tests
23168         * tests/test-link.h (includes): No need to use <config.h> here.
23169         Clean up if directory hard link was created, otherwise test for
23170         trailing '.'.
23171         * tests/test-linkat.c (main): Simplify.
23172         * tests/test-remove.c (main): Enhance test for trailing '.'.
23173         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23174
23175 2009-10-01  Jim Meyering  <meyering@redhat.com>
23176
23177         maint.mk: requiring "make major" was annoying, for a "minor" release.
23178         What is intended is "stable", to contrast with alpha and beta,
23179         so require "make stable", not "make major".
23180         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
23181         (get_tool_versions): Likewise.
23182         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
23183
23184 2009-09-30  Ben Pfaff  <blp@gnu.org>
23185
23186         Fix broken build of replacement for Windows tmpfile().
23187         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
23188         flags argument added along with the 'mkostemp' module.
23189
23190 2009-09-28  Bruno Haible  <bruno@clisp.org>
23191
23192         Avoid identifier clash with POSIX function 'remove' defined as a macro.
23193         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
23194         to 'remove_elt'.
23195         (gl_list_remove): Update.
23196         * lib/gl_list.c (gl_list_remove): Update.
23197         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
23198         to 'remove_elt'.
23199         (gl_oset_remove): Update.
23200         * lib/gl_list.c (gl_oset_remove): Update.
23201         Reported by Eric Blake.
23202
23203 2009-09-28  Eric Blake  <ebb9@byu.net>
23204
23205         doc: mention yet more cygwin 1.7 status
23206         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
23207         cygwin.
23208         * doc/glibc-functions/execvpe.texi (execvpe): New file.
23209         * doc/gnulib.texi (Glibc unistd.h): Mention it.
23210
23211         argp: fix test failure
23212         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
23213         that are not upper-case.  Pass correct range to tolower.
23214
23215 2009-09-27  Jim Meyering  <meyering@redhat.com>
23216
23217         test-yesno: work around sparc-dash here-document infelicity
23218         Without this change, the literal \177 byte in a here document
23219         would make dash 0.5.5.1-3 access uninitialized memory.
23220         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
23221         Instead, use a marker, "@", and filter through tr to create the desired
23222         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
23223
23224 2009-09-27  Bruno Haible  <bruno@clisp.org>
23225
23226         Disable untested support for new flavours of ACLs on AIX.
23227         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
23228         progress.
23229         * lib/set-mode-acl.c (qset_acl): Likewise.
23230
23231 2008-12-07  Bruno Haible  <bruno@clisp.org>
23232
23233         Add support for new flavours of ACLs on AIX. (Untested.)
23234         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
23235         (file_has_acl): Add support for newer AIX.
23236         * lib/set-mode-acl.c (qset_acl): Likewise.
23237         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
23238         Rainer Tammer <tammer@tammer.net>.
23239
23240 2009-09-26  Eric Blake  <ebb9@byu.net>
23241
23242         argp: fix compilation of getopt
23243         * lib/getopt.in.h (includes): Use different guard than glibc.
23244         Reported by Sergey Poznyakoff.
23245
23246         doc: mention more cygwin 1.7 status
23247         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
23248         bug.
23249         * doc/posix-functions/execl.texi (execl): Likewise.
23250         * doc/posix-functions/execle.texi (execle): Likewise.
23251         * doc/posix-functions/execlp.texi (execlp): Likewise.
23252         * doc/posix-functions/execv.texi (execv): Likewise.
23253         * doc/posix-functions/execve.texi (execve): Likewise.
23254         * doc/posix-functions/execvp.texi (execvp): Likewise.
23255         * doc/glibc-functions/canonicalize_file_name.texi
23256         (canonicalize_file_name): Cygwin 1.7 now provides this.
23257         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
23258         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
23259         on AT_SYMLINK_NOFOLLOW.
23260
23261 2009-09-24  Eric Blake  <ebb9@byu.net>
23262
23263         test-linkat: make test more robust
23264         * tests/test-linkat.c (main): Avoid collision with EEXIST.
23265
23266         getopt: fix inclusion guards for cygwin
23267         * modules/getopt-posix (Depends-on): Add include-next.
23268         (Makefile.am): Substitute more items in replacement header.
23269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
23270         <getopt.h>.
23271         * lib/getopt.in.h (includes): Use split inclusion guard, and
23272         prefer <getopt.h> over include <unistd.h> when one is present.
23273         (option): Also override name of 'struct option'.
23274
23275         same-inode: revert prior change; it is not yet ready
23276         * NEWS: Undo mention of this change.
23277         * lib/same-inode.h (same-inode.h): Undo tri-state change.
23278         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23279         * lib/cycle-check.c (cycle_check): Likewise.
23280         * lib/same.c (same_name): Likewise.
23281         * lib/at-func2.c (at_func2): Likewise.
23282
23283 2009-09-23  Eric Blake  <ebb9@byu.net>
23284
23285         linkat: new module
23286         * modules/linkat: New file.
23287         * lib/at-func2.c (at_func2): Likewise.
23288         * lib/linkat.c (linkat): Likewise.
23289         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23290         * lib/openat-priv.h (at_func2): Add declaration.
23291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23292         * modules/unistd (Makefile.am): Substitute them.
23293         * lib/unistd.in.h (linkat): Declare it.
23294         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23295         * doc/posix-functions/linkat.texi (linkat): Likewise.
23296         * doc/posix-functions/link.texi (link): Tweak wording.
23297         * tests/test-link.c (main): Move guts...
23298         * tests/test-link.h (test_link): ...into new file.
23299         * modules/linkat-tests: New test.
23300         * tests/test-linkat.c: Likewise.
23301         * modules/link-tests (Files): Ship new file.
23302         (Depends-on): Add stdbool.
23303
23304         dirname: add library-safe mdir_name
23305         * lib/dirname.h (mdir_name): New prototype.
23306         * lib/dirname.c (dir_name): Move guts...
23307         (mdir_name): ...to new function that avoids xalloc_die.
23308
23309         fchdir: another mingw fix
23310         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
23311         * lib/fchdir.c (get_name): New helper method; skips canonicalize
23312         on mingw (where it has not yet been ported), and make it optional
23313         elsewhere.
23314         (_gl_register_fd): Use it.
23315
23316         same-inode: make SAME_INODE tri-state, to port to mingw
23317         * NEWS: Mention this change.
23318         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
23319         st_ino always being 0.
23320         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23321         * lib/cycle-check.c (cycle_check): Likewise.
23322         * lib/same.c (same_name): Likewise.
23323
23324         lstat: avoid mingw compilation error
23325         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
23326         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
23327         lstat ourselves.
23328         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
23329         was adequate.
23330         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
23331         the checks for lstat.
23332         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
23333
23334         link: fix test failure on Solaris 9
23335         * lib/link.c (rpl_link): Don't assume link will catch bogus
23336         trailing slash on source.
23337
23338         test-symlinkat: enhance test
23339         * tests/test-readlink.c (main): Move guts...
23340         * tests/test-readlink.h (test_readlink): ...into new file.
23341         * tests/test-symlink.c (main): Move guts...
23342         * tests/test-symlink.h (test_symlink): ...into new file.
23343         * tests/test-symlinkat.c (main): Use new files for further
23344         coverage.
23345         (do_symlink, do_readlink): New helper functions.
23346         * modules/symlink-tests (Files): Ship new file.
23347         (Depends-on): Add stdbool.
23348         * modules/readlink-tests (Files): Ship new file.
23349         (Depends-on): Add stdbool.
23350         * modules/symlinkat-tests (Files): Use new files.
23351
23352 2009-09-23  Eric Blake  <ebb9@byu.net>
23353
23354         readlink: document portability issue with symlink length
23355         * doc/posix-functions/lstat.texi (lstat): Mention that some file
23356         systems have bogus st_size on symlinks, and mention the
23357         areadlink-with-size module.
23358         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23359         * doc/posix-functions/readlink.texi (readlink): Mention the
23360         areadlink module, and ERANGE failure.
23361         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23362         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
23363
23364         readlink: fix Solaris 9 bug with trailing slash
23365         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
23366         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
23367         * doc/posix-functions/readlink.texi (readlink): Document this.
23368         * modules/readlink-tests: New test.
23369         * tests/test-readlink.c: Likewise.
23370
23371         readlink: fix cygwin 1.5.x bug with return type
23372         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
23373         * lib/unistd.in.h (readlink): Use ssize_t.
23374         * lib/readlink.c (readlink): Likewise.
23375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23376         * modules/unistd (Makefile.am): Substitute it.
23377         * lib/unistd.in.h (readlink): Declare replacement.
23378         * doc/posix-functions/readlink.texi (readlink): Document this.
23379
23380         symlink: use throughout gnulib
23381         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
23382         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
23383         symlink is not used.
23384         * modules/symlinkat (Depends-on): Add symlink.
23385         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23386         * modules/canonicalize-tests (Depends-on): Likewise.
23387         * modules/lstat-tests (Depends-on): Likewise.
23388         * modules/openat-tests (Depends-on): Likewise.
23389         * modules/remove-tests (Depends-on): Likewise.
23390         * modules/rmdir-tests (Depends-on): Likewise.
23391         * modules/unlink-tests (Depends-on): Likewise.
23392         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
23393         * tests/test-canonicalize.c (symlink): Likewise.
23394         * tests/test-fstatat.c (symlink): Likewise.
23395         * tests/test-lstat.c (symlink): Likewise.
23396         * tests/test-remove.c (symlink): Likewise.
23397         * tests/test-rmdir.c (symlink): Likewise.
23398         * tests/test-unlink.c (symlink): Likewise.
23399         * tests/test-unlinkat.c (symlink): Likewise.
23400
23401         symlink: new module, for Solaris 9 bug
23402         * modules/symlink: New file.
23403         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23404         * lib/symlink.c: Likewise.
23405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23406         * modules/unistd (Makefile.am): Substitute them.
23407         * lib/unistd.in.h (symlink): Declare replacement.
23408         * MODULES.html.sh (File system functions): Mention it.
23409         * doc/posix-functions/symlink.texi (symlink): Likewise.
23410         * modules/symlink-tests: New test.
23411         * tests/test-symlink.c: Likewise.
23412
23413 2009-09-23  Bruno Haible  <bruno@clisp.org>
23414
23415         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
23416         when needed.
23417         Test case: gnulib-tool --import --with-tests atexit inttypes.
23418         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
23419
23420 2009-09-23  Bruno Haible  <bruno@clisp.org>
23421
23422         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
23423         subcommand, not in a subshell.
23424
23425 2009-09-22  Eric Blake  <ebb9@byu.net>
23426
23427         unistd: sort replacement declarations
23428         * lib/unistd.in.h: Sort declarations.
23429
23430         open, openat: minor optimization
23431         * lib/open.c (open): If open succeeded, len is non-zero.
23432         * lib/openat.c (rpl_openat): Likewise.
23433
23434         link-follow: ensure correct result
23435         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
23436         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
23437         distinguish between possible failures.
23438
23439 2009-09-21  Eric Blake  <ebb9@byu.net>
23440
23441         fts: avoid compiler warning
23442         * lib/fts.c (dirent_inode_sort_may_be_useful)
23443         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
23444
23445 2009-09-19  Bruno Haible  <bruno@clisp.org>
23446
23447         * lib/progreloc.c (canonicalize_file_name): New declaration.
23448
23449 2009-09-19  Eric Blake  <ebb9@byu.net>
23450
23451         link: fix quoting
23452         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
23453
23454         openat: fix openat bugs on Solaris 9
23455         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
23456         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
23457         * modules/openat (Depends-on): Add open.
23458         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
23459         * modules/fcntl-h (Makefile.am): Substitute it.
23460         * lib/fcntl.in.h (openat): Declare replacement.
23461         * doc/posix-functions/openat.texi (openat): Document this.
23462
23463         openat: move fstatat and unlinkat into correct files
23464         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
23465         compiled.
23466         * lib/openat.c (fstatat, unlinkat): Move...
23467         * lib/fstatat.c (fstatat): ...into correct files.
23468         * lib/unlinkat.c (unlinkat): Likewise.
23469
23470         openat: fix unlinkat bugs on Solaris 9
23471         * lib/unlinkat.c (unlinkat): New file.
23472         * modules/openat (Depends-on): Add unlink.
23473         (Files): Distribute it.
23474         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
23475         trailing slash behavior is broken.
23476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23477         * modules/unistd (Makefile.am): Substitute it.
23478         * lib/unistd.in.h (unlinkat): Declare replacement.
23479         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
23480
23481         openat: fix fstatat bugs on Solaris 9
23482         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
23483         stat.
23484         * doc/posix-functions/fstatat.texi (fstatat): Document this.
23485
23486         test-unlinkat: enhance test, to expose Solaris 9 bug
23487         * tests/test-unlink.c (main): Factor guts...
23488         * tests/test-unlink.h (test_rmdir_func): ...into new file.
23489         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
23490         * tests/test-rmdir.c (main): Adjust caller.
23491         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
23492         (unlinker): New helper function.
23493         (rmdirat): Enhance check.
23494         * modules/rmdir-tests (Depends-on): Add stdbool.
23495         * modules/unlink-tests (Depends-on): Likewise.
23496         (Files): Add test-unlink.h.
23497         * modules/openat-tests (Files): Likewise.
23498         (Depends-on): Add unlinkdir.
23499
23500         test-fstatat: new test, to expose Solaris 9 bugs
23501         * tests/test-stat.c (main): Factor guts...
23502         * tests/test-stat.h (test_stat_func): ...into new file.
23503         * tests/test-lstat.c (main): Factor guts...
23504         * tests/test-lstat.h (test_lstat_func): ...into new file.
23505         * tests/test-fstatat.c: New file.
23506         * modules/stat-tests (Files): Add test-stat.h.
23507         * modules/lstat-tests (Files): Add test-lstat.h.
23508         (Depends-on): Add stdbool.
23509         * modules/openat-tests (Depends-on): Add pathmax.
23510         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
23511         (Makefile.am): Run new test.
23512
23513         remove: new module, for mingw and Solaris 9 bugs
23514         * modules/remove: New file.
23515         * lib/remove.c: Likewise.
23516         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
23517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23518         * modules/stdio (Makefile.am): Use them.
23519         * lib/stdio.in.h (remove): Declare replacement.
23520         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23521         * doc/posix-functions/remove.texi (remove): Likewise.
23522         * modules/remove-tests: New test.
23523         * tests/test-remove.c: Likewise.
23524
23525         unlink: new module, for Solaris 9 bug
23526         * modules/unlink: New file.
23527         * lib/unlink.c: Likewise.
23528         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23530         * modules/unistd (Makefile.am): Use them.
23531         * lib/unistd.in.h (stat): Declare replacement.
23532         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23533         * doc/posix-functions/unlink.texi (unlink): Likewise.
23534         * modules/unlink-tests: New test.
23535         * tests/test-unlink.c: Likewise.
23536
23537         lstat: fix Solaris 9 bug
23538         * lib/lstat.c (lstat): Also check for trailing slash on
23539         non-symlink, non-directories.  Use stat module to simplify logic.
23540         * doc/posix-functions/lstat.texi (lstat): Document it.
23541         * modules/lstat-tests (Depends-on): Add errno, same-inode.
23542         (configure.ac): Check for symlink.
23543         * tests/test-lstat.c (main): Add more tests.
23544
23545         stat: add as dependency to other modules
23546         * modules/chown (Depends-on): Add stat.
23547         * modules/euidaccess (Depends-on): Likewise.
23548         * modules/fchdir (Depends-on): Likewise.
23549         * modules/isdir (Depends-on): Likewise.
23550         * modules/link (Depends-on): Likewise.
23551         * modules/lstat (Depends-on): Likewise.
23552         * modules/mkdir-p (Depends-on): Likewise.
23553         * modules/modechange (Depends-on): Likewise.
23554         * modules/open (Depends-on): Likewise.
23555         * modules/readlink (Depends-on): Likewise.
23556         * modules/same (Depends-on): Likewise.
23557
23558         stat: fix Solaris 9 bug
23559         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
23560         slash.
23561         * lib/stat.c (rpl_stat): Work around it.
23562         * doc/posix-functions/stat.texi (stat): Update documentation.
23563
23564         stat: new module, for mingw bug
23565         * modules/stat: New file.
23566         * lib/stat.c: Likewise.
23567         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23568         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23569         * modules/sys_stat (Makefile.am): Use them.
23570         * lib/sys_stat.in.h (stat): Declare replacement.
23571         * lib/openat.c (fstatat): Deal with lstat and stat being function
23572         macros.
23573         * modules/openat (Depends-on): Add inline.
23574         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23575         * doc/posix-functions/stat.texi (stat): Likewise.
23576         * modules/stat-tests: New test.
23577         * tests/test-stat.c: Likewise.
23578
23579 2009-09-19  Jim Meyering  <meyering@redhat.com>
23580
23581         syntax-check: detect unnecessary inclusion of canonicalize.h
23582         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
23583
23584 2009-09-19  Eric Blake  <ebb9@byu.net>
23585
23586         canonicalize-lgpl: adjust clients to use correct header
23587         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23588         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
23589         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
23590         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
23591         * lib/progreloc.c (includes): Likewise.
23592
23593 2009-09-19  Jim Meyering  <meyering@redhat.com>
23594
23595         test-posixtm.c: correct a comment
23596         * tests/test-posixtm.c: Correct first-line comment.
23597         Spotted by Eric Blake.
23598
23599 2009-09-16  Jim Meyering  <meyering@redhat.com>
23600
23601         posixtm-tests: make T const-correct; add a test case
23602         * tests/test-posixtm.c (T): Declare const.
23603         Add a test for -(2^31+1).
23604         Remove useless can-succeed-only-in-2002 test.
23605
23606         posixtm-tests: adjust the sole failing test
23607         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
23608         expected output matches what mktime now produces.  Cross-checked via
23609         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
23610
23611         posixtm: move #ifdef'd tests into a new module
23612         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
23613         * tests/test-posixtm.c: ... this new file.
23614         * modules/posixtm-tests: New module.
23615
23616 2009-09-19  Eric Blake  <ebb9@byu.net>
23617
23618         openat: simplify use of at-func.c
23619         * lib/at-func.c (includes): Include prerequisites here, to
23620         simplify requirements on client files.
23621         * lib/openat-priv.h: Add double-inclusion guard.
23622         * lib/faccessat.c (includes): Simplify.
23623         * lib/fchmodat.c (includes): Likewise.
23624         * lib/fchownat.c (includes): Likewise.
23625         * lib/mkdirat.c (includes): Likewise.
23626         * lib/mkfifoat.c (includes): Likewise.
23627         * lib/symlinkat.c (includes): Likewise.
23628
23629         openat: allow return of fd 0
23630         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
23631         * modules/save-cwd (Depends-on): Replace fcntl-safer with
23632         unistd-safer.
23633         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
23634         <fcntl.h>; this module does not leak fds.
23635         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
23636         must be allowed to return 0, leaving openat_safer to add the
23637         safety.
23638         (openat_permissive): Avoid writing to just-opened fd 2 if
23639         restoring the current directory fails.
23640         * lib/openat-die.c (openat_restore_fail): Add comment.
23641         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
23642         (save_cwd): Guarantee safe fd, but without use of open_safer.
23643         * tests/test-openat.c: New test.
23644         * modules/openat-tests (Files, Makefile.am): Distribute and build
23645         new file.
23646
23647         relocatable-prog-wrapper: fix build
23648         * modules/relocatable-prog-wrapper (Files): Update name of
23649         canonicalize m4 file, broken on 2009-09-17.
23650         Reported by emad hajjar <aleppos@hotmail.com>.
23651
23652 2009-09-19  Bruno Haible  <bruno@clisp.org>
23653
23654         * lib/safe-alloc.h: Use the standard header with GPL copyright.
23655         * lib/safe-alloc.c: Likewise.
23656         Reported by Ian Beckwith <ianb@erislabs.net>.
23657
23658 2009-09-18  Bruno Haible  <bruno@clisp.org>
23659
23660         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
23661         Reported by <erobles@sensacd.com.mx>.
23662
23663 2009-09-17  Eric Blake  <ebb9@byu.net>
23664
23665         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
23666         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
23667         slashes when checking if last component is missing.
23668         * tests/test-canonicalize.c (main): Test this.
23669
23670         canonicalize, canonicalize-lgpl: honor // if distinct from /
23671         * modules/canonicalize (Files): Add double-slash-root.m4.
23672         * modules/canonicalize-lgpl (Files): Likewise.
23673         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23674         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
23675         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
23676         fallback definition.
23677         (canonicalize_filename_mode): Use it to protect //.
23678         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
23679         (__realpath): Likewise.
23680         * tests/test-canonicalize.c (main): Test this.
23681         * tests/test-canonicalize-lgpl.c (main): Likewise.
23682         * modules/canonicalize-tests (Depends-on): Add same-inode.
23683         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23684
23685         canonicalize-lgpl: fix glibc bug with trailing slash
23686         * m4/canonicalize-lgpl.m4: Move contents...
23687         * m4/canonicalize.m4: ...here.
23688         (gl_CANONICALIZE_LGPL): Factor realpath check...
23689         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
23690         glibc 2.3.5 bug, fixed 2005-04-27.
23691         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23692         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23693         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23694         * modules/canonicalize-lgpl (Files): Manage file rename.
23695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23696         * modules/stdlib (Makefile.am): Substitute witness.
23697         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23698         is needed.
23699         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23700         replacement is required.
23701         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23702         * doc/glibc-functions/canonicalize_file_name.texi
23703         (canonicalize_file_name): Document this.
23704         * doc/posix-functions/realpath.texi (realpath): Likewise.
23705
23706         canonicalize-lgpl: reject non-directory with trailing slash
23707         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23708         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23709         catches failures in glibc 2.3.5.
23710         * tests/test-canonicalize.c (main): Likewise.
23711
23712         canonicalize-lgpl: use native realpath if it works
23713         * lib/canonicalize-lgpl.c (realpath): Guard with
23714         FUNC_REALPATH_WORKS.
23715         * lib/stdlib.in.h (realpath): Make declaration optional based on
23716         HAVE_REALPATH.
23717         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23718         native realpath works.
23719         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23720         * modules/stdlib (Makefile.am): Substitute witness.
23721
23722         canonicalize, canonicalize-lgpl: use <stdlib.h>
23723         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23724         (Include): Mention <stdlib.h>.
23725         (configure.ac): Mention functions we provide.
23726         * modules/canonicalize (configure.ac): Likewise.
23727         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23728         realpath if canonicalize_file_name is missing.
23729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23730         * modules/stdlib (Makefile.am): Substitute witnesses.
23731         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23732         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23733         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23734         * NEWS: Document this.
23735         * doc/glibc-functions/canonicalize_file_name.texi
23736         (canonicalize_file_name): Likewise.
23737         * doc/posix-functions/realpath.texi (realpath): Likewise.
23738         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23739
23740         test-canonicalize: consolidate into single C program
23741         * tests/test-canonicalize.sh: Delete; move setup into...
23742         * tests/test-canonicalize.c (main): ...the program, making it
23743         easier to run in debugger.  Add some tests.
23744         * modules/canonicalize-tests (Files): Remove unused file.
23745         (Depends-on): Add progname.
23746         (configure.ac, Makefile.am): Simplify.
23747
23748         test-canonicalize-lgpl: consolidate into single C program
23749         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23750         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23751         easier to run in debugger.  Add some tests.
23752         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23753         (configure.ac, Makefile.am): Simplify.
23754
23755         canonicalize: avoid resolvepath
23756         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23757         unnecessary checks.
23758         * lib/canonicalize.c (includes): Simplify.
23759         (canonicalize_file_name): Drop resolvepath implementation.
23760         * modules/canonicalize (Depends-on): Drop filenamecat.
23761
23762         canonicalize: don't lose errno
23763         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23764         over calls to free.
23765
23766         canonicalize: simplify errno handling
23767         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23768         assignment.
23769
23770         canonicalize, canonicalize-lgpl: update module dependencies
23771         * modules/canonicalize (Depends-on): Add extensions, lstat,
23772         pathmax, stdlib.
23773         (Files): Drop pathmax.h.
23774         (configure.ac): Adjust macro name.
23775         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23776         lstat, stdlib, sys_stat.
23777         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23778         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23779         extensions.
23780         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23781         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23782         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23783         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23784         declaration, if available.
23785         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23786         we can rely on the readlink module.
23787         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23788         (includes): Use <unistd.h> unconditionally.
23789
23790 2009-09-17  Eric Blake  <ebb9@byu.net>
23791
23792         maint: make Include sections of modules consistent
23793         * modules/alloca: Use only header name; no need to list #include.
23794         * modules/alloca-opt: Likewise.
23795         * modules/arpa_inet: Likewise.
23796         * modules/canon-host: Likewise.
23797         * modules/configmake: Likewise.
23798         * modules/dirent: Likewise.
23799         * modules/eealloc: Likewise.
23800         * modules/environ: Likewise.
23801         * modules/fchdir: Likewise.
23802         * modules/fcntl: Likewise.
23803         * modules/fcntl-h: Likewise.
23804         * modules/gethrxtime: Likewise.
23805         * modules/gettime: Likewise.
23806         * modules/ignore-value: Likewise.
23807         * modules/inet_ntop: Likewise.
23808         * modules/inet_pton: Likewise.
23809         * modules/inttypes: Likewise.
23810         * modules/isnand-nolibm: Likewise.
23811         * modules/isnanf-nolibm: Likewise.
23812         * modules/mbchar: Likewise.
23813         * modules/mbfile: Likewise.
23814         * modules/mbiter: Likewise.
23815         * modules/mbuiter: Likewise.
23816         * modules/netdb: Likewise.
23817         * modules/netinet_in: Likewise.
23818         * modules/nproc: Likewise.
23819         * modules/pagealign_alloc: Likewise.
23820         * modules/poll: Likewise.
23821         * modules/printf-frexp: Likewise.
23822         * modules/pthread: Likewise.
23823         * modules/putenv: Likewise.
23824         * modules/random_r: Likewise.
23825         * modules/relocatable-prog: Likewise.
23826         * modules/search: Likewise.
23827         * modules/select: Likewise.
23828         * modules/selinux-h: Likewise.
23829         * modules/settime: Likewise.
23830         * modules/signal: Likewise.
23831         * modules/size_max: Likewise.
23832         * modules/socklen: Likewise.
23833         * modules/ssize_t: Likewise.
23834         * modules/stdarg: Likewise.
23835         * modules/stdbool: Likewise.
23836         * modules/stddef: Likewise.
23837         * modules/stdint: Likewise.
23838         * modules/stdio: Likewise.
23839         * modules/stdlib: Likewise.
23840         * modules/string: Likewise.
23841         * modules/strings: Likewise.
23842         * modules/sys_file: Likewise.
23843         * modules/sys_ioctl: Likewise.
23844         * modules/sys_select: Likewise.
23845         * modules/sys_socket: Likewise.
23846         * modules/sys_stat: Likewise.
23847         * modules/sys_time: Likewise.
23848         * modules/sys_times: Likewise.
23849         * modules/sys_utsname: Likewise.
23850         * modules/sys_wait: Likewise.
23851         * modules/sysexits: Likewise.
23852         * modules/time: Likewise.
23853         * modules/times: Likewise.
23854         * modules/tmpfile: Likewise.
23855         * modules/trim: Likewise.
23856         * modules/unistd: Likewise.
23857         * modules/wchar: Likewise.
23858         * modules/wctype: Likewise.
23859
23860 2009-09-17  Bruno Haible  <bruno@clisp.org>
23861
23862         Make getdate.y compile on QNX and NetBSD 5 / i386.
23863         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23864         TIME_T_FITS_IN_LONG_INT.
23865         * lib/getdate.y (long_time_t): New type.
23866         (relative_time): Change type of 'seconds' field to long_time_t.
23867         (get_date): Update types of local variables. Check against overflow
23868         during conversion from long_time_t to time_t.
23869         Reported by Matt Kraai <kraai@ftbfs.org>
23870         and Hasso Tepper <hasso@netbsd.org>.
23871
23872 2009-09-17  Bruno Haible  <bruno@clisp.org>
23873
23874         * modules/COPYING: Update copyright years.
23875         * modules/README: Likeiwse.
23876         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23877         Reported by Ian Beckwith <ianb@erislabs.net>.
23878
23879 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23880
23881         * users.txt: Update references for gnuit package.
23882
23883 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23884
23885         * m4/getdelim.m4: Fix typo in copyright line.
23886
23887 2009-09-17  Bruno Haible  <bruno@clisp.org>
23888
23889         * lib/atoll.c: Use the standard header with GPL copyright.
23890         * lib/argz.in.h: Likewise.
23891         * lib/glob.c: Likewise.
23892         * lib/glob-libc.h: Likewise.
23893         * lib/random_r.c: Likewise.
23894         * lib/siglist.h: Likewise.
23895         * lib/strsignal.c: Likewise.
23896         Reported by Ian Beckwith <ianb@erislabs.net>.
23897
23898 2009-09-17  Eric Blake  <ebb9@byu.net>
23899
23900         rmdir: ensure correct dependency order
23901         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23902
23903 2009-09-17  Bruno Haible  <bruno@clisp.org>
23904
23905         Disable assertion that fails on NetBSD 5 / i386.
23906         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23907         Reported by Sam Steingold <sds@gnu.org>
23908         and Hasso Tepper <hasso@netbsd.org>.
23909
23910 2009-09-16  Eric Blake  <ebb9@byu.net>
23911
23912         unlinkdir: port to mingw
23913         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23914         on which no one can unlink a directory.
23915
23916         stdlib: sort witness names
23917         * modules/stdlib (Makefile.am): Sort replacements.
23918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23919         * lib/stdlib.in.h: Likewise.
23920
23921         parse-duration-tests: avoid link failure
23922         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23923         LIBINTL.
23924         Reported by Tom G. Christensen.
23925
23926         openat-tests: ensure unlinkat behaves like rmdir
23927         * tests/test-rmdir.c (main): Factor guts...
23928         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
23929         * modules/rmdir-tests (Files): Ship new file.
23930         * modules/openat-tests: New test.
23931         * tests/test-unlinkat.c: Likewise.
23932
23933         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
23934         * modules/rmdir-errno (Status, Notice): Now obsolete.
23935
23936         rmdir: work around cygwin 1.5.x and mingw bugs
23937         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
23938         * lib/rmdir.c (rmdir): Work around it.
23939         * modules/rmdir (Status, Notice): No longer obsolete.
23940         (Files): Add dos.m4.
23941         (Depends-on): Add unistd.
23942         (configure.ac): Set witnesses.
23943         (License): Relax to LGPLv2+.
23944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
23945         * modules/unistd (Makefile.am): Substitute witnesses.
23946         * lib/unistd.in.h (rmdir): Declare replacement.
23947         * doc/posix-functions/rmdir.texi (rmdir): Document this.
23948         * modules/rmdir-tests: New tests.
23949         * tests/test-rmdir.c: Likewise.
23950
23951 2009-09-15  Eric Blake  <ebb9@byu.net>
23952
23953         fchdir: improve use of replacement functions
23954         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
23955         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
23956         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
23957         REPLACE_CLOSEDIR.
23958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
23959         * modules/sys_stat (Makefile.am): Substitute correct witness.
23960         * modules/dirent (Makefile.am): Likewise.
23961         * modules/unistd (Makefile.am): Likewise.
23962         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
23963         * lib/unistd.in.h (dup): Likewise.
23964         * lib/sys_stat.in.h (fstat): Likewise.
23965
23966         maint: ignore gnulib-tool temp files
23967         * .gitignore: Ignore files created during gnulib-tool --test.
23968
23969 2009-09-13  Jim Meyering  <meyering@redhat.com>
23970
23971         posixtm: don't reject a time that specify "60" as the number of seconds
23972         * lib/posixtm.c (posixtime): The code to reject invalid dates
23973         would also reject a time specified with the .60 suffix.
23974         But POSIX allows that, in order to accommodate leap seconds.
23975         So don't reject it.
23976         (main): Adjust tests accordingly.
23977         * modules/posixtm (Depends-on): Add stpcpy.
23978
23979 2009-09-11  Jim Meyering  <meyering@redhat.com>
23980
23981         announce-gen: include [$release_type] in emitted Subject:
23982         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
23983         e.g., [stable] in the emitted Subject: line.
23984
23985 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23986
23987         Remove obsolete macros from several modules.
23988         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
23989         obsolete Autoconf macros with their modern counterparts.
23990         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
23991         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
23992         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
23993         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
23994         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
23995         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23996         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23997         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23998         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23999         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
24000         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24001         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24002         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
24003         * m4/sockets.m4 (gl_SOCKETS): Likewise.
24004         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
24005         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
24006         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24007         * m4/time_r.m4 (gl_TIME_R): Likewise.
24008         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24009         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
24010         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24011
24012         Fix copyright header in build-aux scripts.
24013         * build-aux/git-version-gen: Fix copyright header to match GPLv3
24014         recommendation.
24015         * build-aux/ncftpput-ftp: Likewise.
24016         * build-aux/update-copyright: Likewise.
24017
24018 2009-09-09  Eric Blake  <ebb9@byu.net>
24019
24020         test-link: allow Linux choice of errno
24021         * tests/test-link.c (main): Relax test for alternate error.
24022
24023         strndup: fix improper m4 caching
24024         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
24025         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
24026         (gl_PREREQ_STRNDUP): Delete.
24027         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
24028         * modules/string (Makefile.am): Substitute it.
24029         * lib/string.in.h (strndup): Modernize prototype.
24030
24031         getcwd: port to mingw
24032         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
24033         different from the POSIX assumptions made throughout the getcwd
24034         module; fortunately, the mingw getcwd does not need replacement.
24035         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
24036         * modules/getcwd-tests: New test.
24037         * tests/test-getcwd.c: Likewise.
24038
24039         link: fix platform bugs
24040         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
24041         * lib/link.c (link): Work around them.  Fix related mingw bug.
24042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
24043         * modules/unistd (Makefile.am): Substitute it.
24044         * lib/unistd.in.h (link): Declare replacement.
24045         * doc/posix-functions/link.texi (link): Document this.
24046         * modules/link (Depends-on): Add strdup-posix, sys_stat.
24047
24048         test-link: consolidate into single C program, test more cases
24049         * tests/test-link.sh: Delete.
24050         * tests/test-link.c: Test more error conditions.  Exposes bugs on
24051         at least Cygwin and Solaris.
24052         * modules/link-tests (Files): Remove unused file.
24053         (Depends-on): Add errno, sys_stat.
24054         (Makefile.am): Simplify.
24055
24056 2009-09-08  Bruno Haible  <bruno@clisp.org>
24057
24058         Work around towlower, towupper bug on mingw.
24059         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
24060         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
24061         * doc/posix-functions/towlower.texi: Mention the mingw bug.
24062         * doc/posix-functions/towupper.texi: Likewise.
24063         Reported by Eric Blake.
24064
24065 2009-09-08  Jim Meyering  <meyering@redhat.com>
24066
24067         build: don't try to run autoheader if we don't use it
24068         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
24069         is not used in configure.ac.
24070
24071 2009-09-08  Eric Blake  <ebb9@byu.net>
24072
24073         euidaccess: fix compilation error
24074         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
24075
24076         rawmemchr: relax license
24077         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
24078         okay.
24079         Reported by Jim Meyering.
24080
24081         mkfifoat: new module
24082         * modules/mkfifoat: New file.
24083         * lib/mkfifoat.c: Likewise.
24084         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
24085         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24086         * modules/sys_stat (Makefile.am): Use them.
24087         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
24088         * MODULES.html.sh (File system functions): Mention module.
24089         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24090         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24091         * modules/mkfifoat-tests: New test.
24092         * tests/test-mkfifoat.c: Likewise.
24093
24094         strchrnul: relax license
24095         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
24096         okay.
24097         Reported by Jim Meyering.
24098
24099 2009-09-08  Eric Blake  <ebb9@byu.net>
24100
24101         fstatat: fix compilation on Solaris
24102         * lib/fstatat.c (includes): Add fcntl.h.
24103         Reported by Pádraig Brady.
24104
24105 2009-09-07  Eric Blake  <ebb9@byu.net>
24106
24107         rename: modernize replacement
24108         * modules/rename (Depends-on): Add stdio.
24109         (configure.ac): Declare witness.
24110         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
24111         stdio take care of replacement.
24112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24113         * modules/stdio (Makefile.am): Substitute them.
24114         * lib/stdio.in.h (rename): Declare replacement.
24115         * lib/rename.c (includes): Allow cross-compilation to non-windows
24116         machines.
24117         * doc/posix-functions/rename.texi (rename): Improve
24118         documentation.
24119
24120         stdio: sort witness names
24121         * modules/stdio (Makefile.am): Sort replacements.
24122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24123         * lib/stdio.in.h: Likewise.
24124
24125         getcwd: minor cleanups
24126         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
24127         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
24128
24129         openat: provide more convenience names
24130         * modules/faccessat (configure.ac): Add C witness.
24131         * lib/unistd.in.h (readlinkat): Fix typo.
24132         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
24133         convenience wrappers.
24134         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
24135         wrappers in syntax checks.
24136
24137 2009-09-06  Eric Blake  <ebb9@byu.net>
24138
24139         doc: fix comments in recent patches
24140         * lib/faccessat.c: Mention correct function.
24141         * lib/fchmodat.c: Likewise.
24142         * lib/fchownat.c: Likewise.
24143         * lib/symlinkat.c: Likewise.
24144         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
24145         constants.
24146
24147         faccessat, symlinkat: continue cleanup of previous patch
24148         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
24149         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24150         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
24151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
24152         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
24153         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
24154         set.
24155
24156 2009-09-06  Bruno Haible  <bruno@clisp.org>
24157
24158         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
24159         (fstatat): Declare if GNULIB_FSTATAT is set.
24160         (mkdirat): Declare if GNULIB_MKDIRAT is set.
24161         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
24162         (unlinkat): Declare if GNULIB_UNLINKAT is set.
24163         * modules/fcntl-h (Files): Remove m4/openat.m4.
24164         * modules/sys_stat (Files): Remove m4/openat.m4.
24165         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
24166         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
24167         * modules/unistd (Files): Remove m4/openat.m4.
24168         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
24169         GNULIB_OPENAT.
24170         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
24171         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
24172         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24173         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
24174         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
24175         gl_OPENAT_DEFAULTS.
24176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
24177         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
24178         Don't require gl_OPENAT_DEFAULTS.
24179         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
24180         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
24181         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
24182         (gl_OPENAT_DEFAULTS): Remove macro.
24183
24184 2009-09-06  Bruno Haible  <bruno@clisp.org>
24185
24186         * modules/openat (configure.ac): Remove unneeded witness.
24187
24188 2009-09-06  Bruno Haible  <bruno@clisp.org>
24189
24190         Set errno to ENOSYS when a function is entirely unsupported.
24191         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
24192         EOPNOTSUPP.
24193         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24194         * modules/chown (Depends-on): Remove errno.
24195
24196 2009-09-06  Bruno Haible  <bruno@clisp.org>
24197
24198         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
24199
24200 2009-09-06  Bruno Haible  <bruno@clisp.org>
24201
24202         * lib/sys_stat.in.h: Fix preprocessor command indentation.
24203
24204 2009-09-06  Ben Pfaff  <blp@gnu.org>
24205             Bruno Haible  <bruno@clisp.org>
24206
24207         Work around a glibc bug in strtok_r.
24208         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
24209         Undefine if UNDEFINE_STRTOK_R is set.
24210         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
24211         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24212         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
24213         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
24214         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
24215         UNDEFINE_STRTOK_R.
24216         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
24217
24218 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24219
24220         exclude: minor fix
24221         * lib/exclude.c: Include wctype.h
24222
24223 2009-09-06  Akim Demaille  <demaille@gostai.com>
24224
24225         bootstrap: improve error message
24226         * build-aux/bootstrap (find_tool): Upon failure, report the list
24227         of candidates.
24228         Honor the initial value of the envvar.
24229
24230 2009-09-05  Eric Blake  <ebb9@byu.net>
24231
24232         symlinkat: new module
24233         * modules/symlinkat: New file.
24234         * lib/symlinkat.c: Likewise.
24235         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
24236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24237         * modules/unistd (Makefile.am): Use them.
24238         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
24239         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
24240         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
24241         * MODULES.html.sh (File system functions): Mention module.
24242         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24243         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24244         * modules/symlinkat-tests: New test.
24245         * tests/test-symlinkat.c: Likewise.
24246
24247         test-openat-safer: add more checks
24248         * tests/test-openat-safer.c (main): Check more code paths.
24249
24250 2009-09-05  Jim Meyering  <meyering@redhat.com>
24251
24252         syntax-check: detect unnecessary inclusion of openat.h
24253         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
24254
24255 2009-09-05  Bruno Haible  <bruno@clisp.org>
24256
24257         Support towlower, towupper.
24258         * doc/posix-functions/towlower.texi: Mention module wctype.
24259         * doc/posix-functions/towupper.texi: Likewise.
24260         * lib/wctype.in.h (towlower, towupper): New functions.
24261         * tests/test-wctype.c: Include stdio.h, stdlib.h.
24262         (ASSERT): New macro.
24263         (e): New variable.
24264         (main): Test also towlower, towupper. Test WEOF argument.
24265         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24266
24267 2009-09-05  Bruno Haible  <bruno@clisp.org>
24268
24269         Fix conversion behaviour when the input is invalid.
24270         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
24271         mark occurring in first pass of indirect conversion.
24272         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
24273         input.
24274         Found by clang's static analyzer.
24275
24276 2009-09-05  Bruno Haible  <bruno@clisp.org>
24277
24278         * tests/test-striconveh.c (main): Test indirect conversion on platforms
24279         where direct conversion is possible.
24280
24281 2009-09-04  Eric Blake  <ebb9@byu.net>
24282
24283         openat: fail with ENOENT on empty name
24284         * lib/openat-proc.c (openat_proc_name): Special-case the empty
24285         buffer.
24286
24287         link-follow: fix logic bug in prior patch
24288         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
24289         reversed sense of yes and no in prior patch.  Avoid confusing
24290         compilation failure with desired semantics.
24291
24292         link-follow: accomodate mingw and cross-compilation
24293         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
24294         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
24295         cross-compilation results to -1, to make linkat easier to
24296         implement when cross-compiling.  Trivially support mingw.
24297         * modules/link-follow (configure.ac): Call new name.
24298         * NEWS: Mention this.
24299
24300 2009-09-03  Eric Blake  <ebb9@byu.net>
24301
24302         faccessat: compile replacement
24303         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
24304         needed.
24305
24306         fts: fix compilation error
24307         * lib/fts.c (includes): Re-add "openat.h", for
24308         openat_needs_fchdir.
24309
24310         faccessat: new module
24311         * modules/faccessat: New file.
24312         * lib/faccessat.c: Likewise.
24313         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24315         * modules/unistd (Makefile.am): Use it.
24316         * lib/unistd.in.h (faccessat): Declare it.
24317         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
24318         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
24319         * MODULES.html.sh (File system functions): Mention it.
24320         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
24321         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24322
24323         euidaccess: prefer POSIX over non-standard implementation
24324         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
24325         * lib/euidaccess.c (euidaccess): Use it if available.
24326
24327         openat: make template easier to use
24328         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
24329         AT_FUNC_F2 to be undefined.
24330         (VALIDATE_FLAG): New macro; use it to reject bad flags.
24331         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
24332         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
24333         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
24334         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
24335         Likewise.
24336         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
24337         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
24338         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
24339         Likewise.
24340
24341         openat: declare in POSIX headers
24342         * NEWS: Mention this.
24343         * modules/openat (configure.ac): Declare witnesses.
24344         (Depends-on): Add fcntl-h, sys_stat, unistd.
24345         (Include): Mention correct headers.
24346         * modules/fcntl-h (Depends-on): Add link-warning.
24347         (Files): Add openat.m4.
24348         (Makefile.am): Substitute witnesses.
24349         * modules/sys_stat (Files, Makefile.am): Likewise.
24350         * modules/unistd (Files, Makefile.am): Likewise.
24351         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
24352         (gl_OPENAT_DEFAULTS): New macro.
24353         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
24354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
24355         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
24356         (SYS_STAT_H): Remove unused variable.
24357         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
24358         * lib/fcntl--.h (includes): Remove unneeded header.
24359         * lib/openat-safer.c (includes): Likewise.
24360         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
24361         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
24362         appropriate headers.
24363         (__OPENAT_PREFIX): Delete.
24364         * lib/fcntl.in.h (openat): Provide declaration.
24365         (AT_FDCWD): Fix Solaris bug.
24366         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
24367         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
24368         * lib/fchmodat.c (includes):  Adjust to find declaration.
24369         * lib/fchownat.c (includes): Likewise.
24370         * lib/mkdirat.c (includes): Likewise.
24371         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
24372         still visible.
24373
24374 2009-09-02  Eric Blake  <ebb9@byu.net>
24375
24376         errno: use consistently
24377         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
24378         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
24379         * lib/canonicalize.c (ELOOP): Likewise.
24380         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
24381         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
24382         * lib/lchown.c (EOPNOTSUPP): Likewise.
24383         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
24384         * lib/savewd.c (ESTALE): Likewise.
24385         * lib/settime.c (ENOSYS): Likewise.
24386         * lib/utimens.c (ENOSYS): Likewise.
24387         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
24388         * lib/chdir-safer.c (ELOOP): Likewise.
24389         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
24390         * modules/c-stack (Depends-on): Add errno.
24391         * modules/canonicalize (Depends-on): Likewise.
24392         * modules/chdir-safer (Depends-on): Likewise.
24393         * modules/fdopendir (Depends-on): Likewise.
24394         * modules/inet_ntop (Depends-on): Likewise.
24395         * modules/inet_pton (Depends-on): Likewise.
24396         * modules/lchown (Depends-on): Likewise.
24397         * modules/openat (Depends-on): Likewise.
24398         * modules/savewd (Depends-on): Likewise.
24399         * modules/settime (Depends-on): Likewise.
24400         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
24401
24402         fts: avoid leaking fds
24403         * modules/fts (Depends-on): Add cloexec.
24404         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
24405         flag.
24406
24407         fts: make directory fds more robust
24408         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
24409         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
24410
24411         backupfile, chdir-long, fts, savedir: make safer
24412         * lib/backupfile.c (includes): Use "dirent--.h", since
24413         numbered_backup can write to stderr during readdir.
24414         * lib/savedir.c (includes): Likewise.
24415         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
24416         emulation can write to stderr on failure.
24417         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
24418         * lib/getcwd.c: Document why opendir_safer is unused.
24419         * lib/glob.c: Likewise.
24420         * lib/scandir.c: Likewise.
24421         * lib/openat-proc.c: Likewise, for open_safer.
24422         * modules/backupfile (Depends-on): Add dirent-safer.
24423         * modules/savedir (Depends-on): Likewise.
24424         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
24425         * modules/chdir-long (Depends-on): Add openat-safer.
24426
24427         openat-safer: new module
24428         * modules/openat-safer: New file.
24429         * lib/openat-safer.c: Likewise.
24430         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
24431         * lib/fcntl-safer.h (openat_safer): Declare.
24432         * lib/fcntl--.h (openat): Override.
24433         * MODULES.html.sh (File descriptor based I/O): Mention it.
24434         * lib/openat.h: Add double-inclusion guards.
24435         * lib/openat.c (includes): Only include "fcntl-safer.h", not
24436         "fcntl--.h", so we can implement openat.
24437         * modules/openat-safer-tests: New test.
24438         * tests/test-openat-safer.c: New file.
24439
24440         dirent-safer: new module
24441         * modules/dirent-safer: New file.
24442         * lib/dirent--.h: Likewise.
24443         * lib/dirent-safer.h: Likewise.
24444         * lib/opendir-safer.c: Likewise.
24445         * m4/dirent-safer.m4: Likewise.
24446         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
24447         * modules/dirent-safer-tests: New test.
24448         * tests/test-dirent-safer.c: New file.
24449         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
24450
24451         fdopendir: optimize on mingw
24452         * lib/unistd.in.h (_gl_directory_name): New prototype.
24453         * lib/fchdir.c (_gl_directory_name): Implement it.
24454         (fchdir): Use it to simplify implementation.
24455         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
24456         fchdir, when available, to avoid calling [f]chdir().
24457
24458         fdopendir: split into its own module
24459         * lib/openat.c (fdopendir): Move...
24460         * lib/fdopendir.c: ...into new file.
24461         * modules/fdopendir: New module.
24462         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
24463         * modules/openat (Depends-on): Add fdopendir.
24464         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
24465         fdopendir here.
24466         * modules/savedir (Depends-on): Only need fdopendir, not full
24467         openat.
24468         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
24469         * lib/openat.h (fdopendir): Drop prototype.
24470         * lib/dirent.in.h (fdopendir): Provide prototype.
24471         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
24472         * modules/dirent (Makefile.am): Substitute them.
24473         * MODULES.html.sh (File system functions): Mention it.
24474         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
24475         * modules/fdopendir-tests: New file.
24476         * tests/test-fdopendir.c: Likewise.
24477
24478         fchdir: use more consistent macro convention
24479         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
24480         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
24481         REPLACE_FCHDIR, rather than relying on config.h macros.
24482         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
24483         inside a single make-time REPLACE_FCHDIR block, rather than using
24484         the config.h FCHDIR_REPLACEMENT.
24485         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
24486         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
24487         Manage fstat replacement.
24488         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
24489         REPLACE_FCHDIR.
24490         * modules/sys_stat (Files): Add m4/unistd_h.m4.
24491         (Makefile.am): Substitute REPLACE_FCHDIR.
24492         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
24493         FCHDIR_REPLACEMENT.
24494         * lib/dup-safer.c (dup_safer): Likewise.
24495         * lib/dup2.c (rpl_dup2): Likewise.
24496         * lib/dup3.c (rpl_dup3): Likewise.
24497         * lib/open.c (rpl_open): Likewise.
24498
24499         fchdir: simplify error handling, and support dup3
24500         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
24501         stdbool, malloc-posix, realloc-posix.
24502         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
24503         (ensure_dirs_slot): Return false on allocation failure.
24504         (rpl_dup2): Delete.
24505         (_gl_register_dup): New function.
24506         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
24507         (_gl_register_fd): Close fd on allocation failure.
24508         * lib/fcntl.in.h (_gl_register_fd): Update signature.
24509         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
24510         prototype.
24511         (rpl_dup2_fchdir): Delete prototype.
24512         * lib/open.c (open): Update caller.
24513         * lib/dup2.c (dup2): Track fchdir metadata.
24514         * lib/dup3.c (dup3): Likewise.
24515         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
24516         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
24517
24518 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24519
24520         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
24521         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
24522         don't pass arguments to AC_OUTPUT.
24523
24524 2009-09-02  Bruno Haible  <bruno@clisp.org>
24525
24526         * modules/mkdtemp (License): Relicense under LGPLv2+.
24527         Reported by Paolo Bonzini.
24528
24529 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24530
24531         Replace uses of obsolete autoconf macros in Jim's modules.
24532         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
24533         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
24534         can evoke a warning from autoconf when run with -Wobsolete
24535         enabled.  They were declared obsolete for good reasons (see
24536         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
24537         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
24538         should not continue using the deprecated macros.
24539         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
24540         obsolete Autoconf macros with modern counterparts.
24541         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24542         * m4/dos.m4 (gl_AC_DOS): Likewise.
24543         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
24544         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24545         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
24546         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
24547         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
24548         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
24549         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
24550         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
24551         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
24552         Likewise.
24553         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24554         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
24555         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
24556         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
24557         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
24558         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
24559
24560 2009-09-01  Eric Blake  <ebb9@byu.net>
24561
24562         fchdir: fix off-by-one bug in previous patch
24563         * lib/fchdir.c (rpl_fstat): Use correct bounds.
24564         (_gl_unregister_fd): Delete useless if.
24565
24566 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
24567
24568         maint.mk: sort the list of syntax-check rules
24569         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
24570         easier to get a sense of progress when the rules are run sequentially
24571         and take a long time.
24572
24573 2009-09-01  Simon Josefsson  <simon@josefsson.org>
24574
24575         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
24576         * modules/netinet_in: Likewise.
24577         * modules/sys_file: Likewise.
24578         * modules/sys_ioctl: Likewise.
24579         * modules/sys_select: Likewise.
24580         * modules/sys_socket: Likewise.
24581         * modules/sys_stat: Likewise.
24582         * modules/sys_time: Likewise.
24583         * modules/sys_times: Likewise.
24584         * modules/sys_utsname: Likewise.
24585         * modules/sys_wait: Likewise.
24586
24587 2009-09-01  Jim Meyering  <meyering@redhat.com>
24588
24589         fts: help ensure that return values are not ignored
24590         * lib/fts_.h (__GNUC_PREREQ): Define.
24591         (__attribute_warn_unused_result__): Define.
24592         (fts_children, fts_close, fts_open, fts_read): Declare with
24593         __attribute_warn_unused_result__.
24594
24595         fts: fts_close now fails also when closing a dir file descriptor fails
24596         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
24597         and propagate to caller, along with errno.
24598
24599         announce-gen: correct formatting in --help output
24600         * build-aux/announce-gen (usage): Move the one-line description in
24601         --help output "up", to where it belongs, just after Usage:.
24602
24603 2009-08-31  Eric Blake  <ebb9@byu.net>
24604
24605         fchdir: port to mingw
24606         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
24607         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
24608         opened, then use a substitute.
24609         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
24610         replacement.
24611         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
24612         (_gl_register_fd): No need to check stat if open already filters
24613         all directories.
24614         (fchdir): Fix error condition to match POSIX.
24615         * modules/fchdir (Depends-on): Add sys_stat.
24616         * doc/posix-functions/open.texi (open): Document the limitation.
24617         * modules/fchdir-tests: New file.
24618         * tests/test-fchdir.c: Likewise.
24619
24620         canonicalize: allow cross-testing from cygwin to mingw
24621         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
24622         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
24623         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
24624         Likewise.
24625         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
24626         target does not support symlinks.
24627         * tests/test-canonicalize-lgpl.sh: Likewise.
24628
24629         chown: avoid compilation warning on mingw
24630         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
24631         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
24632         mingw.
24633         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24634         * modules/chown (Depends-on): Add errno.
24635
24636 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24637
24638         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
24639         command.
24640
24641 2009-08-31  Jim Meyering  <meyering@redhat.com>
24642
24643         canonicalize: remove useless initialization
24644         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
24645         initialization of local, "end".
24646
24647 2009-08-30  Bruno Haible  <bruno@clisp.org>
24648
24649         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
24650         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
24651         ENOSYS.
24652
24653 2009-08-30  Bruno Haible  <bruno@clisp.org>
24654
24655         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
24656         /usr/xpg4/bin/tr when it exists.
24657         * tests/test-pipe-filter-gi1.sh: Likewise.
24658
24659 2009-08-30  Bruno Haible  <bruno@clisp.org>
24660
24661         Work around deficient /usr/bin/id program on Solaris.
24662         * tests/test-file-has-acl.sh (ID): New variable.
24663         * tests/test-set-mode-acl.sh (ID): Likewise.
24664         * tests/test-copy-acl.sh (ID): Likewise.
24665         * tests/test-copy-file.sh (ID): Likewise.
24666
24667 2009-08-30  Bruno Haible  <bruno@clisp.org>
24668
24669         New module 'xstriconveh'.
24670         * lib/xstriconveh.h: New file.
24671         * lib/xstriconveh.c: New file.
24672         * modules/xstriconveh: New file.
24673
24674 2009-08-30  Bruno Haible  <bruno@clisp.org>
24675
24676         Make it easier to use mem_cd_iconveh.
24677         * lib/striconveh.h (iconveh_t): New type.
24678         (iconveh_open, iconveh_close): New declarations.
24679         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24680         with a single 'const iconveh_t *' argument.
24681         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
24682         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24683         with a single 'const iconveh_t *' argument.
24684         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
24685         * tests/test-striconveh.c (main): Update.
24686         * NEWS: Mention the change.
24687
24688 2009-08-30  Bruno Haible  <bruno@clisp.org>
24689
24690         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24691         problem.
24692
24693 2009-08-30  Bruno Haible  <bruno@clisp.org>
24694
24695         Work around iconv_open problem on Solaris.
24696         * lib/iconv_open-solaris.gperf: New file.
24697         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24698         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24699         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24700         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24701         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24702         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24703
24704 2009-08-29  Jim Meyering  <meyering@redhat.com>
24705
24706         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24707         * top/maint.mk (cvs-check): Remove target; it was just an alias
24708         to the better-named vc-diff-check.
24709         (maintainer-distcheck): Remove rule.  It was used only from
24710         the (alpha/beta/major) target, and all of its commands but one
24711         were coreutils-specific.
24712         (vc-dist): Remove rule.
24713         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24714         Run vc-diff-check, not vc-dist.
24715         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24716
24717 2009-08-27  Bruno Haible  <bruno@clisp.org>
24718
24719         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24720         of 0.
24721
24722 2009-08-27  Bruno Haible  <bruno@clisp.org>
24723
24724         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24725         compilers.
24726         * doc/func.texi: Document the SunPRO C bug.
24727
24728 2009-08-27  Bruno Haible  <bruno@clisp.org>
24729
24730         Fix link error on Solaris.
24731         * tests/test-parse-duration.c (xstrdup): Remove function.
24732
24733 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24734
24735         ignore-value: handle pointer types, too
24736         * lib/ignore-value.h (__attribute__): Remove definition.
24737         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24738         of a more concise and more-often effective "(void) i" statement.
24739         (ignore_ptr): New function to suppress warnings from functions that
24740         return pointers, and to make it explicit that one function doesn't
24741         handle all cases.
24742
24743 2009-08-25  Bruno Haible  <bruno@clisp.org>
24744
24745         dup2: work around a Linux bug.
24746         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24747         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24748         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24749         Reported by Simon Josefsson.
24750
24751 2009-08-25  Jim Meyering  <meyering@redhat.com>
24752
24753         libguestfs uses gnulib
24754         * users.txt: Add libguestfs.
24755
24756 2009-08-24  Eric Blake  <ebb9@byu.net>
24757
24758         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24759         * lib/pipe2.c (includes): Add binary-io.h.
24760         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24761
24762 2009-08-24  Bruno Haible  <bruno@clisp.org>
24763
24764         Tolerate declared but missing accept4 syscall.
24765         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24766         available.
24767         * lib/sys_socket.in.h (accept4): If the function is already present,
24768         override it.
24769         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24770         * modules/accept4 (Makefile.am): Compile accept4.c always.
24771         Reported by Paolo Bonzini and Eric Blake.
24772
24773 2009-08-23  Bruno Haible  <bruno@clisp.org>
24774
24775         New module 'accept4'.
24776         * lib/sys_socket.in.h (accept4): New declaration.
24777         * lib/accept4.c: New file.
24778         * m4/accept4.m4: New file.
24779         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24780         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24781         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24782         HAVE_ACCEPT4.
24783         * modules/accept4: New file.
24784         * doc/glibc-functions/accept4.texi: Mention the new module.
24785
24786 2009-08-24  Jim Meyering  <meyering@redhat.com>
24787
24788         progname: also set global program_invocation_name, when possible
24789         Before this change, a libtool-enabled program that calls glibc's
24790         error function would report the program name as
24791         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24792         * modules/progname (configure.ac): Check for a declaration of
24793         program_invocation_name.
24794         * lib/progname.c:  Include <errno.h>.
24795         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24796         Set program_invocation_name.
24797
24798 2009-08-23  Bruno Haible  <bruno@clisp.org>
24799
24800         * lib/dup3.c: Include <string.h>.
24801
24802 2009-08-23  Bruno Haible  <bruno@clisp.org>
24803
24804         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24805         * lib/pipe2.c (pipe2): Likewise.
24806         Suggested by Eric Blake.
24807
24808 2009-08-23  Bruno Haible  <bruno@clisp.org>
24809
24810         Tolerate declared but missing dup3 syscall.
24811         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24812         * lib/unistd.in.h (dup3): If the function is already present,
24813         override it.
24814         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24815         * modules/dup3 (Makefile.am): Compile dup3.c always.
24816         Reported by Paolo Bonzini.
24817
24818 2009-08-23  Bruno Haible  <bruno@clisp.org>
24819
24820         Tolerate declared but missing pipe2 syscall.
24821         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24822         available.
24823         * lib/unistd.in.h (pipe2): If the function is already present,
24824         override it.
24825         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24826         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24827         Reported by Paolo Bonzini.
24828
24829 2009-08-23  Bruno Haible  <bruno@clisp.org>
24830
24831         * lib/pipe2.c (pipe2): Move #ifs inside function.
24832
24833 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24834
24835         quotearg: document limitations of quote_these_too
24836         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24837         those limitations are created.
24838         * lib/quotearg.h (set_char_quoting): Document that digits and
24839         letters that are special after backslash are not permitted.
24840         (quotearg_char): Cross-reference set_char_quoting documentation.
24841
24842 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24843
24844         quotearg: implement custom_quoting_style
24845         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24846         right_quote fields.
24847         (set_custom_quoting): New public function.
24848         (quotearg_buffer_restyled): Add left_quote and right_quote
24849         arguments, handle them very much like locale quoting, and update
24850         all uses.
24851         (quotearg_n_custom): New public function.
24852         (quotearg_n_custom_mem): New public function.
24853         (quotearg_custom): New public function.
24854         (quotearg_custom_mem): New public function.
24855         * lib/quotearg.h: Prototype and document new public functions.
24856         (enum quoting_style): For escape_quoting_style and
24857         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24858         ignored even though they're otherwise like c_quoting_style.
24859         Add custom_quoting_style member and document with comparison to
24860         clocale_quoting_style.
24861         * tests/test-quotearg.c (custom_quotes): New array.
24862         (custom_results): New array.
24863         (main): Extend to test custom quoting.
24864
24865 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24866
24867         quotearg: fix right quote escaping when it's in quote_these_too
24868         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24869         quote, be sure to prepend only one backslash.
24870         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24871         (main): Test it.
24872
24873 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24874
24875         quotearg-tests: test escaping of embedded locale quotes
24876         * tests/test-quotearg.c (struct result_strings): Add member for
24877         new input.
24878         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24879         (inputs): Add new input.
24880         (results_g): Add expected results.
24881         (flag_results): Likewise.
24882         (locale_results): Likewise.
24883         (compare_strings): Check those.
24884
24885 2009-08-23  Bruno Haible  <bruno@clisp.org>
24886
24887         Tests for module 'dup3'.
24888         * modules/dup3-tests: New file.
24889         * tests/test-dup3.c: New file.
24890
24891         New module 'dup3'.
24892         * lib/unistd.in.h (dup3): New declaration.
24893         * lib/dup3.c: New file.
24894         * m4/dup3.m4: New file.
24895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24896         HAVE_DUP3.
24897         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24898         * modules/dup3: New file.
24899         * doc/glibc-functions/dup3.texi: Mention the new module.
24900
24901 2009-08-23  Bruno Haible  <bruno@clisp.org>
24902
24903         Tweak the dup2 test.
24904         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24905         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24906         the test file is still empty. Fix argument order of lseek.
24907
24908 2009-08-23  Bruno Haible  <bruno@clisp.org>
24909
24910         Avoid test link errors when the modules getopt-gnu, gettext are used.
24911         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24913
24914 2009-08-23  Bruno Haible  <bruno@clisp.org>
24915
24916         Fix getdtablesize() on mingw.
24917         * lib/getdtablesize.c (getdtablesize): Implement differently.
24918         * lib/unistd.in.h (getdtablesize): Improve comment.
24919
24920 2009-08-23  Bruno Haible  <bruno@clisp.org>
24921
24922         New module 'mkostemp'.
24923         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24924         * lib/stdlib.in.h (mksotemp): New declaration.
24925         * lib/mkostemp.c: New file, from glibc with modifications.
24926         * lib/tempname.h (GT_FILE): Remove outdated comment.
24927         (gen_tempname): Add flags argument.
24928         * lib/tempname.c (__GT_BIGFILE): Remove macro.
24929         (__GT_FILE): Map to 1.
24930         (small_open, large_open): Remove macros.
24931         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
24932         * lib/mkstemp.c (mkstemp): Update.
24933         * lib/mkdtemp.c (mkdtemp): Likewise.
24934         * m4/mkostemp.m4: New file.
24935         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
24936         HAVE_MKOSTEMP.
24937         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
24938         HAVE_MKOSTEMP.
24939         * modules/mkostemp: New file, based on modules/mkstemp.
24940         * doc/glibc-functions/mkostemp.texi: Mention the new module.
24941         * NEWS: Mention the change.
24942
24943 2009-08-23  Bruno Haible  <bruno@clisp.org>
24944
24945         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
24946         Reported by Eric Blake.
24947
24948 2009-08-23  Bruno Haible  <bruno@clisp.org>
24949
24950         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
24951         Reported by Eric Blake.
24952
24953 2009-08-23  Bruno Haible  <bruno@clisp.org>
24954
24955         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
24956         * modules/pipe2 (Depends-on): Likewise.
24957
24958 2009-08-23  Eric Blake  <ebb9@byu.net>
24959
24960         fcntl-h: add O_TTY_INIT support
24961         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
24962         * tests/test-fcntl-h.c (o): Test it.
24963         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24964
24965         fcntl-h: rename from fcntl, in preparation for fcntl(2)
24966         * modules/fcntl: Move <fcntl.h> header replacement...
24967         * modules/fcntl-h: ...to new name, so as not to collide with
24968         like-named function.
24969         * tests/test-fcntl.c: Rename...
24970         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
24971         * modules/fcntl-tests: Rename...
24972         * modules/fcntl-h-tests: ...to this.  Update test file name.
24973         * modules/chdir-long (Depends-on): Update clients.
24974         * modules/chdir-safer (Depends-on): Likewise.
24975         * modules/fcntl-safer (Depends-on): Likewise.
24976         * modules/fts (Depends-on): Likewise.
24977         * modules/mkancesdirs (Depends-on): Likewise.
24978         * modules/mkdir-p (Depends-on): Likewise.
24979         * modules/open (Depends-on): Likewise.
24980         * modules/savewd (Depends-on): Likewise.
24981         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
24982         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24983
24984 2009-08-22  Bruno Haible  <bruno@clisp.org>
24985
24986         * modules/binary-io (License): Relicense under LGPL.
24987         * modules/pipe2 (License): Likewise.
24988
24989 2009-08-22  Bruno Haible  <bruno@clisp.org>
24990
24991         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
24992         return value.
24993         * lib/pipe-filter-gi.c (filter_init): Likewise.
24994         Reported by Eric Blake.
24995
24996 2009-08-22  Bruno Haible  <bruno@clisp.org>
24997
24998         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
24999         * modules/pipe (Depends-on): Add pipe2.
25000
25001 2009-08-22  Bruno Haible  <bruno@clisp.org>
25002
25003         Tests for module 'pipe2'.
25004         * modules/pipe2-tests: New file.
25005         * tests/test-pipe2.c: New file.
25006
25007         New module 'pipe2'.
25008         * lib/unistd.in.h (pipe2): New declaration.
25009         * lib/pipe2.c: New file.
25010         * m4/pipe2.m4: New file.
25011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
25012         HAVE_PIPE2.
25013         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
25014         * modules/pipe2: New file.
25015         * doc/glibc-functions/pipe2.texi: Mention the new module.
25016
25017 2009-08-22  Bruno Haible  <bruno@clisp.org>
25018
25019         Reference some new glibc functions.
25020         * doc/glibc-functions/accept4.texi: New file.
25021         * doc/glibc-functions/dup3.texi: New file.
25022         * doc/glibc-functions/mkostemp.texi: New file.
25023         * doc/glibc-functions/pipe2.texi: New file.
25024         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
25025         (Glibc sys/socket.h): Refer to accept4.
25026         (Glibc unistd.h): Refer to dup3, pipe2.
25027         Reported by Eric Blake.
25028
25029 2009-08-22  Jim Meyering  <meyering@redhat.com>
25030             Bruno Haible  <bruno@clisp.org>
25031
25032         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
25033         This makes it so packages using automake-1.11's silent-rules option
25034         can print e.g., a single "GEN    configmake.h" line, rather than
25035         the 30+ statements that perform the job.  If you want to see the
25036         actual commands, you can still run "make V=1".
25037         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
25038         so that make output is abbreviated when those variables are defined
25039         appropriately.
25040         * modules/argz: Likewise.
25041         * modules/arpa_inet: Likewise.
25042         * modules/byteswap: Likewise.
25043         * modules/configmake: Likewise.
25044         * modules/dirent: Likewise.
25045         * modules/errno: Likewise.
25046         * modules/fcntl: Likewise.
25047         * modules/float: Likewise.
25048         * modules/fnmatch: Likewise.
25049         * modules/getopt-posix: Likewise.
25050         * modules/glob: Likewise.
25051         * modules/iconv_open: Likewise.
25052         * modules/inttypes: Likewise.
25053         * modules/localcharset: Likewise.
25054         * modules/locale: Likewise.
25055         * modules/math: Likewise.
25056         * modules/netdb: Likewise.
25057         * modules/netinet_in: Likewise.
25058         * modules/poll: Likewise.
25059         * modules/posix_spawnp-tests: Likewise.
25060         * modules/sched: Likewise.
25061         * modules/search: Likewise.
25062         * modules/selinux-h: Likewise.
25063         * modules/signal: Likewise.
25064         * modules/spawn: Likewise.
25065         * modules/stdarg: Likewise.
25066         * modules/stdbool: Likewise.
25067         * modules/stddef: Likewise.
25068         * modules/stdint: Likewise.
25069         * modules/stdio: Likewise.
25070         * modules/stdlib: Likewise.
25071         * modules/string: Likewise.
25072         * modules/strings: Likewise.
25073         * modules/sys_file: Likewise.
25074         * modules/sys_ioctl: Likewise.
25075         * modules/sys_select: Likewise.
25076         * modules/sys_socket: Likewise.
25077         * modules/sys_stat: Likewise.
25078         * modules/sys_time: Likewise.
25079         * modules/sys_times: Likewise.
25080         * modules/sys_utsname: Likewise.
25081         * modules/sys_wait: Likewise.
25082         * modules/sysexits: Likewise.
25083         * modules/time: Likewise.
25084         * modules/unistd: Likewise.
25085         * modules/wchar: Likewise.
25086         * modules/wctype: Likewise.
25087
25088 2009-08-22  Jim Meyering  <meyering@redhat.com>
25089
25090         announce-gen: detect write failure
25091         * build-aux/announce-gen: Add Coda at end.
25092         Remove equivalent-but-more-verbose block at top.
25093
25094 2009-08-19  Akim Demaille  <demaille@gostai.com>
25095
25096         bootstrap: --help to stdout.
25097         * bootstrap (usage): Don't send --help to stderr.
25098         Use a here doc instead of a long string.
25099
25100 2009-08-21  Eric Blake  <ebb9@byu.net>
25101
25102         test-popen-safer: split from test-popen
25103         * tests/test-popen.c (main): Move...
25104         * tests/test-popen.h: ...into new file.
25105         * tests/test-popen-safer2.c: New file.
25106         * modules/popen-tests (Files): Add test-popen.h.
25107         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
25108         Suggested by Bruno Haible.
25109
25110         test-fcntl-safer: split from test-open
25111         * tests/test-open.c (main): Move...
25112         * tests/test-open.h: ...into new file.
25113         * tests/test-fcntl-safer.c: New file.
25114         * modules/open-tests (Files): Add test-open.h.
25115         * modules/fcntl-safer-tests: New file.
25116         Suggested by Bruno Haible.
25117
25118         test-fopen-safer: split from test-fopen
25119         * tests/test-fopen.c (main): Move...
25120         * tests/test-fopen.h: ...into new file.
25121         * tests/test-fopen-safer.c: New file.
25122         * modules/fopen-tests (Files): Add test-fopen.h.
25123         * modules/fopen-safer-tests: New file.
25124         Suggested by Bruno Haible.
25125
25126 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25127
25128         popen-safer: test O_CLOEXEC at run-time.
25129         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
25130
25131 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25132
25133         fcntl: move more flags to the header
25134         * lib/cloexec.c: Do not define FD_CLOEXEC here.
25135         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
25136         * lib/fcntl.in.h: Do both things here.
25137
25138 2009-08-21  Jim Meyering  <meyering@redhat.com>
25139
25140         consistently remove $@-t before redirecting to it
25141         * modules/argz: Remove $@-t and $@ before redirecting to the former.
25142         * modules/alloca-opt: Likewise.
25143         * modules/byteswap: Likewise.
25144         * modules/fnmatch: Likewise.
25145         * modules/getopt-posix: Likewise.
25146         * modules/glob: Likewise.
25147         * modules/poll: Likewise.
25148         * modules/posix_spawnp-tests: Likewise.
25149         * modules/sys_socket: Likewise.
25150         * modules/sysexits: Likewise.
25151
25152 2009-08-21  Eric Blake  <ebb9@byu.net>
25153
25154         popen: simplify access to original popen
25155         * lib/popen.c (rpl_popen): No need to worry about popen being a
25156         macro.
25157         Reported by Bruno Haible.
25158
25159 2009-08-20  Eric Blake  <ebb9@byu.net>
25160
25161         build: avoid some compiler warnings
25162         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
25163         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
25164         type.
25165         (new_exclude_segment, excluded_file_pattern_p)
25166         (excluded_file_name_p): Reduce scope.
25167         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
25168         old-style declaration.
25169
25170 2009-08-20  Simon Josefsson  <simon@josefsson.org>
25171
25172         * tests/test-exclude1.sh: Handle Windows EOL.
25173         * tests/test-exclude2.sh: Likewise.
25174         * tests/test-exclude3.sh: Likewise.
25175         * tests/test-exclude4.sh: Likewise.
25176         * tests/test-exclude5.sh: Likewise.
25177         * tests/test-exclude6.sh: Likewise.
25178         * tests/test-exclude7.sh: Likewise.
25179
25180 2009-08-19  Akim Demaille  <demaille@gostai.com>
25181
25182         bootstrap: find sha1sum when named gsha1sum.
25183         * bootstrap (find_tool): New.
25184         ($SHA1SUM): New.
25185         Use it.
25186
25187 2009-08-20  Jim Meyering  <meyering@redhat.com>
25188
25189         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
25190         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
25191         expression that converts "." in a file name to "\." in the resulting
25192         regexp.  Start with a dummy statement, so that prior shell variable
25193         definitions are expanded portably.  Reported by Simon Josefsson.
25194
25195 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
25196
25197         Fix polling for writeability of a screen buffer.
25198         * lib/poll.c: Distinguish input and screen buffers for the
25199         Win32 implementation.
25200         * lib/select.c: Likewise.
25201
25202 2009-08-19  Eric Blake  <ebb9@byu.net>
25203
25204         popen-safer: prevent popen from clobbering std descriptors
25205         * modules/popen-safer: New file.
25206         * lib/popen-safer.c: Likewise.
25207         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
25208         * lib/stdio--.h (popen): Provide override.
25209         * lib/stdio-safer.h (popen_safer): Provide declaration.
25210         * tests/test-popen.c (includes): Partially test this.
25211         * modules/popen-safer-tests: New file, for more tests.
25212         * tests/test-popen-safer.c: Likewise.
25213         * MODULES.html.sh (file stream based Input/Output): Mention it.
25214
25215         tests: test some of the *-safer modules
25216         * modules/fopen-safer (Depends-on): Add fopen.
25217         * modules/fcntl-safer (Depends-on): Add fcntl.
25218         * modules/stdlib-safer (Depends-on): Add stdlib.
25219         (configure.ac): Set indicator.
25220         * modules/unistd-safer (configure.ac): Likewise.
25221         * modules/tmpfile-safer (configure.ac): Likewise.
25222         (Depends-on): Add tmpfile.
25223         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
25224         active.
25225         * tests/test-fopen.c (includes): Test safer versions when they are
25226         in use.
25227         * tests/test-open.c (includes): Likewise.
25228
25229         popen: fix cygwin 1.5 bug when stdin closed
25230         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
25231         * modules/popen: New file.
25232         * modules/popen-tests: Likewise.
25233         * tests/test-popen.c: Likewise.
25234         * m4/popen.m4: Likewise.
25235         * lib/popen.c: Likewise.
25236         * lib/stdio.in.h (popen): New declaration.
25237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
25238         * modules/stdio (Makefile.am): Likewise.
25239         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
25240
25241 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
25242
25243         maint.mk: give full control over update-copyright exclusions
25244         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
25245         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
25246         (update-copyright): Don't force inclusion of top-level
25247         ChangeLog.  Don't force exclusion of all COPYING files, but make
25248         them the default exclusion instead.
25249
25250 2009-08-16  Bruno Haible  <bruno@clisp.org>
25251
25252         Fix test failures on Solaris 10.
25253         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
25254         tests when Solaris iconv() is used.
25255         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
25256         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
25257         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
25258         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
25259         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
25260
25261 2009-08-16  Bruno Haible  <bruno@clisp.org>
25262
25263         Fix test failures on Solaris 10.
25264         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
25265         'tr' program and pass it as first argument.
25266         * tests/test-pipe-filter-gi1.sh: Likewise.
25267         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
25268         program as first argument.
25269         * tests/test-pipe-filter-gi1.c (main): Likewise.
25270
25271 2009-08-16  Eric Blake  <ebb9@byu.net>
25272
25273         fpurge: fix previous commits
25274         * modules/fpurge (Makefile.am): Make replacement conditional,
25275         partially reverting 2007-04-29 change; missed in previous
25276         attempt.
25277         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
25278         is missing.
25279
25280 2009-08-16  Bruno Haible  <bruno@clisp.org>
25281
25282         Clarify fpurge's effect on the file position.
25283         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
25284         * tests/test-fpurge.c (main): Make a second pass for checking the file
25285         position.
25286
25287 2009-08-16  Bruno Haible  <bruno@clisp.org>
25288
25289         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
25290         declaration of fpurge is missing.
25291         * tests/test-fpurge.c (main): Check that the file has not more contents
25292         than expected. Close the file before removing it.
25293
25294 2009-08-15  Eric Blake  <ebb9@byu.net>
25295
25296         fpurge: don't wrap working cygwin implementation
25297         * lib/fpurge.c (fpurge): Fix comment typo.
25298         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
25299         1.7 to avoid replacement.
25300         * tests/test-fpurge.c (main): Enhance test.
25301
25302 2009-08-15  Eric Blake  <ebb9@byu.net>
25303         and Jim Meyering  <meyering@redhat.com>
25304
25305         test-update-copyright: skip if perl is insufficient
25306         * tests/test-update-copyright.sh: Failure to run maintainer tool
25307         should not cause testsuite failure on cygwin 1.5.
25308
25309 2009-08-14  Eric Blake  <ebb9@byu.net>
25310
25311         doc: mention more functions added in cygwin 1.7.0
25312         * doc/posix-headers/limits.texi (limits.h): Update for recent
25313         cygwin additions.
25314         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
25315         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
25316         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
25317         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
25318         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
25319
25320 2009-08-14  Eric Blake  <ebb9@byu.net>
25321
25322         maint.mk: simplify update-copyright rule
25323         * top/maint.mk (update-copyright-local): Delete, and document how
25324         to do it in cfg.mk instead.
25325         (update-copyright-exclude-regexp): Delete, and document how to do
25326         it in .x-update-copyright instead.
25327         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
25328         exclude ChangeLog.
25329
25330 2009-08-14  Bruno Haible  <bruno@clisp.org>
25331
25332         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
25333
25334 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25335
25336         maint.mk: support update-copyright-env
25337         * top/maint.mk (update-copyright-env): Define place-holder.
25338         (update-copyright): Expand $(update-copyright-env) before
25339         invoking update-copyright.
25340
25341 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25342
25343         update-copyright: implement forced reformatting
25344         * build-aux/update-copyright: Implement and document
25345         UPDATE_COPYRIGHT_FORCE.
25346         * tests/test-update-copyright.sh: Test it.
25347
25348 2009-08-14  Eric Blake  <ebb9@byu.net>
25349         and Bruno Haible  <bruno@clisp.org>
25350
25351         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
25352         * tests/test-locale.c: Revert previous patch related to NULL.
25353         * tests/test-stdio.c: Likewise.
25354         * tests/test-stdlib.c: Likewise.
25355         * tests/test-string.c: Likewise.
25356         * tests/test-unistd.c: Likewise.
25357         * modules/time-tests (Depends-on): Add verify.
25358         * modules/wchar-tests (Depends-on): Likewise.
25359         * tests/test-time.c: Test for NULL compliance.
25360         * tests/test-wchar.c: Likewise.
25361         * modules/locale (Depends-on): Add stddef.
25362         * modules/stdio (Depends-on): Likewise.
25363         * modules/stdlib (Depends-on): Likewise.
25364         * modules/string (Depends-on): Likewise.
25365         * modules/time (Depends-on): Likewise.
25366         * modules/unistd (Depends-on): Likewise.
25367         * modules/wchar (Depends-on): Likewise.
25368         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
25369         * lib/stdlib.in.h (includes): Likewise.
25370         * lib/string.in.h (includes): Likewise.
25371         * lib/time.in.h (includes): Likewise.
25372         * lib/unistd.in.h (includes): Likewise.
25373         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
25374         replaced.
25375         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25376         * m4/stddef_h.m4: New file.
25377         * modules/stddef: Likewise.
25378         * lib/stddef.in.h: Likewise.
25379         * modules/stddef-tests: Likewise.
25380         * tests/test-stddef.c: Likewise.
25381         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
25382         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
25383         * doc/posix-headers/locale.texi (locale.h): Likewise.
25384         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
25385         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25386         * doc/posix-headers/string.texi (string.h): Likewise.
25387         * doc/posix-headers/time.texi (time.h): Likewise.
25388         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
25389         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
25390
25391 2009-08-14  Eric Blake  <ebb9@byu.net>
25392
25393         doc: improve git diff of texinfo files
25394         * .gitattributes: Add rule for *.texi files, with hint on how to
25395         use it.
25396         Copied from m4, and based on a report by Bruno Haible.
25397
25398 2009-08-14  Bruno Haible  <bruno@clisp.org>
25399
25400         Disable multithread support by default on Cygwin 1.5.x for real.
25401         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
25402
25403 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25404
25405         update-copyright: much ado about intervals
25406         * build-aux/update-copyright: Implement and document
25407         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
25408         of copyright year intervals.
25409         Also, document UPDATE_COPYRIGHT_YEAR.
25410         * tests/test-update-copyright.sh: Test it.
25411
25412         update-copyright: convert 2-digit to 4-digit years
25413         * build-aux/update-copyright: Implement and document.
25414         * tests/test-update-copyright.sh: Update.
25415
25416 2009-08-14  Jim Meyering  <meyering@redhat.com>
25417
25418         test-exclude: avoid coreutils "make check" failure
25419         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
25420         just as in test-argmatch.c.
25421
25422 2009-08-13  Eric Blake  <ebb9@byu.net>
25423
25424         test-dup2: fix bad assumption
25425         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
25426         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
25427
25428         test-version-etc: fix CRLF portability issue
25429         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
25430         recognize \r.
25431         * tests/test-argp-version-etc-1.sh: Likewise.
25432
25433         getopt: update client modules
25434         * modules/argp (Depends-on): Use getopt-gnu.
25435         * modules/git-merge-changelog (Depends-on): Likewise.
25436         * modules/long-options (Depends-on): Likewise.
25437         * modules/xstrtol (Depends-on): Likewise.
25438
25439 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25440
25441         * tests/test-version-etc.sh: Don't fail on different
25442         project/version.  Don't fail on CRLF differences.  Rewrite to use
25443         multiple -e instead of multiple sed forks, suggested by Eric Blake
25444         <ebb9@byu.net>.
25445         * tests/test-argp-version-etc-1.sh: Likewise.
25446
25447 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25448
25449         * tests/test-version-etc.sh: Don't fail on different
25450         project/version.
25451
25452 2009-08-12  Bruno Haible  <bruno@clisp.org>
25453
25454         Tests for modules 'getopt-posix', 'getopt-gnu'.
25455         * modules/getopt-posix-tests: New file.
25456         * tests/test-getopt.c: New file.
25457         * tests/test-getopt.h: New file.
25458         * tests/test-getopt_long.h: New file.
25459
25460         New modules 'getopt-posix', 'getopt-gnu'.
25461         * modules/getopt-gnu: New file, renamed from modules/getopt.
25462         * modules/getopt-posix: New file.
25463         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
25464         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
25465         (gl_GETOPT): Remove macro.
25466         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
25467         Disable the test against BSD systems that declare optreset. Test
25468         against mingw bug. Test against lack of support of optional arguments
25469         on many platforms.
25470         * doc/glibc-headers/getopt.texi: Update module name and list of
25471         relevant platforms.
25472         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
25473         'getopt-gnu' and more portability problems.
25474         * NEWS: Mention the changes.
25475
25476 2009-08-12  Bruno Haible  <bruno@clisp.org>
25477
25478         Ensure that optarg etc. get declared by <unistd.h>.
25479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
25480         AC_USE_SYSTEM_EXTENSIONS.
25481         * modules/getopt (Depends-on): Add 'extensions'.
25482
25483 2009-08-12  Bruno Haible  <bruno@clisp.org>
25484
25485         Avoid test link errors.
25486         * modules/pipe-filter-ii-tests (Makefile.am): Define
25487         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
25488         * modules/pipe-filter-gi-tests (Makefile.am): Define
25489         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
25490         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25491
25492 2009-08-12  Bruno Haible  <bruno@clisp.org>
25493
25494         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
25495         gl_GETOPT_SUBSTITUTE before.
25496         (gl_GETOPT): Use it.
25497         * m4/argp.m4 (gl_ARGP): Update.
25498         Reported by Sergey Poznyakoff.
25499
25500         * m4/getopt.m4: Reorder macros.
25501         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
25502         (gl_GETOPT_SUBSTITUTE): Remove macro.
25503
25504 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25505
25506         Minor improvement in gitlog-to-changelog
25507
25508         * build-aux/gitlog-to-changelog: New option `--format' makes
25509         output format string configurable.
25510
25511 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25512
25513         Optimize exclude: use hash tables for non-wildcard patterns.
25514
25515         * lib/exclude.c: Include hash.h and mbuiter.h
25516         (struct exclude_pattern, exclude_segment): New data types.
25517         (struct exclude): Rewrite.
25518         (fnmatch_pattern_has_wildcards): New function.
25519         (new_exclude_segment, free_exclude_segment): New functions.
25520         (excluded_file_pattern_p, excluded_file_name_p): New functions.
25521         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
25522         * lib/exclude.h (is_fnmatch_pattern): New prototype.
25523         * modules/exclude: Depend on hash and mbuiter.
25524
25525         * modules/exclude-tests: New file.
25526         * tests/test-exclude.c: New file.
25527         * tests/test-exclude1.sh: New file.
25528         * tests/test-exclude2.sh: New file.
25529         * tests/test-exclude3.sh: New file.
25530         * tests/test-exclude4.sh: New file.
25531         * tests/test-exclude5.sh: New file.
25532         * tests/test-exclude6.sh: New file.
25533         * tests/test-exclude7.sh: New file.
25534
25535 2009-08-12  Bruno Haible  <bruno@clisp.org>
25536
25537         Ensure that getopt() gets declared by <unistd.h>.
25538         * lib/unistd.in.h: Conditionally include getopt.h.
25539         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
25540         Set GNULIB_UNISTD_H_GETOPT.
25541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25542         GNULIB_UNISTD_H_GETOPT.
25543         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
25544
25545 2009-08-12  Bruno Haible  <bruno@clisp.org>
25546
25547         Clarify logic.
25548         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
25549         gl_replace_getopt instead of GETOPT_H.
25550
25551 2009-08-12  Bruno Haible  <bruno@clisp.org>
25552
25553         * m4/getopt.m4: Add comments.
25554
25555 2009-08-12  Bruno Haible  <bruno@clisp.org>
25556
25557         Disable multithread support by default on Cygwin 1.5.x.
25558         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
25559         set gl_use_threads=no if not specified otherwise.
25560
25561 2009-08-11  Bruno Haible  <bruno@clisp.org>
25562
25563         Avoid compilation error on NetBSD 5.0.
25564         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
25565         * tests/test-stdio.c: Likewise.
25566         * tests/test-stdlib.c: Likewise.
25567         * tests/test-string.c: Likewise.
25568         * tests/test-unistd.c: Likewise.
25569         Reported by Greg Troxel <gdt@ir.bbn.com>
25570         at <https://savannah.gnu.org/support/?106973>.
25571
25572 2009-08-11  Bruno Haible  <bruno@clisp.org>
25573
25574         * modules/dup2-tests (Depends-on): Remove close.
25575
25576         Undo 2009-07-19 commit.
25577         * modules/acl-tests (Depends-on): Remove close.
25578         * modules/binary-io-tests (Depends-on): Likewise.
25579         * modules/closein-tests (Depends-on): Likewise.
25580         * modules/flock-tests (Depends-on): Likewise.
25581         * modules/fsync-tests (Depends-on): Likewise.
25582         * modules/lseek-tests (Depends-on): Likewise.
25583         * modules/pipe-tests (Depends-on): Likewise.
25584         * modules/posix_spawn-tests (Depends-on): Likewise.
25585         * modules/posix_spawnp-tests (Depends-on): Likewise.
25586         * modules/stat-time-tests (Depends-on): Likewise.
25587         * modules/yesno-tests (Depends-on): Likewise.
25588
25589 2009-08-10  Bruno Haible  <bruno@clisp.org>
25590
25591         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
25592
25593 2009-08-10  Bruno Haible  <bruno@clisp.org>
25594
25595         Fix a gcc warning.
25596         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
25597
25598 2009-08-10  Bruno Haible  <bruno@clisp.org>
25599
25600         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
25601         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
25602         not only the first time.
25603         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
25604         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
25605         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
25606         is 1, not only the the first time.
25607
25608 2009-08-10  Bruno Haible  <bruno@clisp.org>
25609
25610         Make it possible to use module 'gethostname' without module 'close'.
25611         * lib/unistd.in.h (close): Evoke a link error only if
25612         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25613         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25614         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25615         * modules/unistd (Makefile.am): Substitute
25616         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25617         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
25618         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25619         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25620         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25621         * modules/sys_ioctl (Makefile.am): Substitute
25622         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25623         * modules/socket (configure.ac): On native Windows, set
25624         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
25625         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25626         Reported by Sam Steingold <sds@gnu.org>.
25627
25628 2009-08-10  Bruno Haible  <bruno@clisp.org>
25629
25630         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
25631         * modules/ioctl (configure.ac): Likewise.
25632
25633 2009-08-10  Bruno Haible  <bruno@clisp.org>
25634
25635         Avoid collision between gnulib wrapper and libintl wrapper.
25636         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
25637         already defined in intl/printf.c.
25638         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
25639         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
25640
25641 2009-08-09  Bruno Haible  <bruno@clisp.org>
25642
25643         Make <sys/select.h> really self-contained, also on Solaris 10.
25644         * lib/sys_select.in.h: Include <string.h>.
25645         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
25646         Solaris 10 problem.
25647         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
25648         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
25649         Reported by Jim Meyering.
25650
25651 2009-08-09  Bruno Haible  <bruno@clisp.org>
25652
25653         Avoid warnings from 'aclocal' that are due to a use of macro name
25654         AM_XGETTEXT_OPTION that is not defined in automake.
25655         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
25656         automake.
25657         * modules/error (configure.ac): Likewise.
25658         * modules/propername (configure.ac): Likewise.
25659         * modules/vasprintf (configure.ac): Likewise.
25660         * modules/verror (configure.ac): Likewise.
25661         * modules/xprintf (configure.ac): Likewise.
25662         * modules/xvasprintf (configure.ac): Likewise.
25663
25664 2009-08-08  Bruno Haible  <bruno@clisp.org>
25665
25666         Avoid compilation error in C++ mode.
25667         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
25668         Reported by Sam Steingold <sds@gnu.org>.
25669
25670 2009-08-08  Bruno Haible  <bruno@clisp.org>
25671
25672         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
25673         for the various Unix platforms.
25674         * doc/posix-headers/limits.texi: Update platforms list regarding
25675         HOST_NAME_MAX.
25676         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25677
25678 2009-08-07  Jim Meyering  <meyering@redhat.com>
25679
25680         selinux-at: fix typo in a comment
25681         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
25682         Spotted by Paolo Bonzini.
25683
25684         selinux-at: remove redundant m4 code, add documentation
25685         * modules/selinux-at (configure.ac): Remove redundant code.
25686         LIB_SELINUX is already set via the dependent module, selinux-h.
25687         (Include): Add quotes around selinux-at.h.
25688         * lib/selinux-at.h: Add documentation.
25689         Reported by Bruno Haible in
25690         http://marc.info/?l=gnulib-bug&m=124958988300749
25691
25692 2009-08-07  Bruno Haible  <bruno@clisp.org>
25693
25694         Avoid link error on MacOS X 10.3 and 10.4.
25695         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25696         on non-ELF systems.
25697         * lib/argp-pv.c (argp_program_version): Likewise.
25698         Reported by Simon Josefsson.
25699
25700 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25701
25702         * tests/test-version-etc.sh: Use $EXEEXT.
25703
25704 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25705
25706         update-copyright: update documentation to point to maint.mk
25707         * build-aux/update-copyright: Here.
25708
25709 2009-08-06  Jim Meyering  <meyering@redhat.com>
25710
25711         maint.mk: support update-copyright-local
25712         * top/maint.mk (update-copyright-local): Define place-holder.
25713         (update-copyright): Depend on $(update-copyright-local).
25714
25715 2009-08-06  Jim Meyering  <meyering@redhat.com>
25716
25717         selinux-at: new module
25718         Initially written for coreutils, this module will soon be
25719         used by findutils, too.
25720         * MODULES.html.sh [Misc]: Add selinux-at.
25721         * lib/selinux-at.h: New file, from coreutils.
25722         * lib/selinux-at.c: Likewise.
25723         * modules/selinux-at: Likewise.
25724         (License): Change from LGPL to GPL, since it depends
25725         on the GPL'd openat module.
25726
25727         doc: update README
25728         * README: Remove references to cogito.
25729         Remove cvs-repo-updating instructions from 2007.
25730         Don't imply that CVS is better if you have limited disk space.
25731
25732 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25733
25734         update-copyright: support C-style comments
25735         * build-aux/update-copyright: Implement and document.
25736         * tests/test-update-copyright.sh: Test.
25737
25738 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25739
25740         update-copyright: support omitted "(C)"
25741         * build-aux/update-copyright: Implement and document.  Also,
25742         allow variable whitespace before "(C)".
25743         * tests/test-update-copyright.sh: Test.
25744
25745 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25746
25747         update-copyright: don't trip on non-FSF copyright statements
25748         * build-aux/update-copyright: Fix so that the first correctly
25749         formatted FSF copyright statement is recognized no matter what
25750         appears before it.  Update documentation.
25751         * tests/test-update-copyright.sh: Test that.
25752
25753 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25754
25755         update-copyright: clean up code a little
25756         * build-aux/update-copyright: Append "_re" to the name of any
25757         variable holding a regular expression.
25758         Replace "old" and "new" with "stmt" in variable names.
25759         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25760         handled correctly.
25761         Format code more consistently.
25762
25763 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25764
25765         update-copyright-tests: improve portability
25766         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25767         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25768
25769 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25770
25771         update-copyright: support @copyright{} and &copy;
25772         * build-aux/update-copyright: Implement and document.
25773         * tests/test-update-copyright.sh: Test.
25774
25775 2009-08-04  Jim Meyering  <meyering@redhat.com>
25776
25777         update-copyright-tests: correctly test EOL=\r\n handling
25778         * tests/test-update-copyright.sh: Put \r at the end of some lines
25779         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25780
25781         maint.mk: make update-copyright exclusion list more configurable
25782         * top/maint.mk (update-copyright): Default to excluding COPYING,
25783         but allow an override, in case someone does want to update that file.
25784
25785         maint.mk: don't update copyright date in COPYING
25786         * top/maint.mk (update-copyright): Exclude COPYING.
25787
25788         maint.mk: add a copyright-updating rule
25789         * top/maint.mk (update-copyright): New rule.
25790         Derived from coreutils/Makefile.am.
25791
25792         update-copyright: rename some variables
25793         * build-aux/update-copyright: Rename a few variables for clarity.
25794         Tweak syntax.  List Joel E. Denny as coauthor.
25795
25796 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25797
25798         update-copyright: fix bug for 2-digit last year and add tests
25799         * build-aux/update-copyright: Fix bug.
25800         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25801         specified.
25802         * modules/update-copyright-tests: New
25803         * tests/test-update-copyright.sh: New.
25804
25805 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25806
25807         update-copyright: handle leading tabs in line prefix
25808         * build-aux/update-copyright: Count leading tabs as 8 spaces
25809         when computing margin.  This helps with the formatting of
25810         ChangeLogs, for example.
25811         Fix documentation a little.
25812
25813 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25814
25815         update-copyright: support EOL=\r\n
25816         * build-aux/update-copyright: Implement that.
25817
25818 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25819
25820         update-copyright: automatically format copyright statements
25821         * build-aux/update-copyright: Implement that.
25822         Also, be a little more predictable and safer by always failing
25823         when the full copyright format is not perfectly recognized as an
25824         unbroken whole.  Discussed at
25825         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25826         Rewrite documentation.
25827
25828 2009-08-03  Bruno Haible  <bruno@clisp.org>
25829
25830         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25831
25832 2009-08-02  Bruno Haible  <bruno@clisp.org>
25833
25834         Tests for module 'uname'.
25835         * modules/uname-tests: New file.
25836         * tests/test-uname.c: New file.
25837
25838         New module 'uname'.
25839         * lib/uname.c: New file.
25840         * m4/uname.m4: New file.
25841         * modules/uname: New file.
25842         * doc/posix-functions/uname.texi: Mention the new module.
25843
25844 2009-08-02  Bruno Haible  <bruno@clisp.org>
25845
25846         Tests for module 'sys_utsname'.
25847         * modules/sys_utsname-tests: New file.
25848         * tests/test-sys_utsname.c: New file.
25849
25850         New module 'sys_utsname'.
25851         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25852         * m4/sys_utsname_h.m4: New file.
25853         * modules/sys_utsname: New file.
25854         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25855
25856 2009-08-02  Bruno Haible  <bruno@clisp.org>
25857
25858         Implicitly initialize the sockets library.
25859         * lib/gethostname.c: Include sockets.h.
25860         (rpl_gethostname): Invoke gl_sockets_startup.
25861         * lib/socket.c: Include sockets.h.
25862         (rpl_socket): Invoke gl_sockets_startup.
25863         * modules/gethostname (Depends-on): Add sockets.
25864         * modules/socket (Depends-on): Likewise.
25865         * tests/test-poll.c: Don't include sockets.h.
25866         (main): Don't invoke gl_sockets_startup.
25867         * tests/test-select.c: Don't include sockets.h.
25868         (main): Don't invoke gl_sockets_startup.
25869
25870 2009-08-02  Bruno Haible  <bruno@clisp.org>
25871
25872         Allow multiple calls to gl_sockets_startup.
25873         * lib/sockets.c (initialized_sockets_version): New variable.
25874         (gl_sockets_startup): Do nothing if already called for this or a higher
25875         version.
25876         (gl_sockets_cleanup): Reset initialized_sockets_version.
25877
25878 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25879
25880         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25881         different project/version.
25882
25883 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25884             Bruno Haible  <bruno@clisp.org>
25885
25886         Tests for module 'pipe-filter-gi'.
25887         * modules/pipe-filter-gi-tests: New file.
25888         * tests/test-pipe-filter-gi1.sh: New file.
25889         * tests/test-pipe-filter-gi1.c: New file.
25890         * tests/test-pipe-filter-gi2.sh: New file.
25891         * tests/test-pipe-filter-gi2-main.c: New file.
25892         * tests/test-pipe-filter-gi2-child.c: New file.
25893
25894         New module 'pipe-filter-gi'.
25895         * lib/pipe-filter-gi.c: New file.
25896         * modules/pipe-filter-gi: New file.
25897
25898 2009-08-02  Bruno Haible  <bruno@clisp.org>
25899             Paolo Bonzini  <bonzini@gnu.org>
25900
25901         Tests for module 'pipe-filter-ii'.
25902         * modules/pipe-filter-ii-tests: New file.
25903         * tests/test-pipe-filter-ii1.sh: New file.
25904         * tests/test-pipe-filter-ii1.c: New file.
25905         * tests/test-pipe-filter-ii2.sh: New file.
25906         * tests/test-pipe-filter-ii2-main.c: New file.
25907         * tests/test-pipe-filter-ii2-child.c: New file.
25908
25909         New module 'pipe-filter-ii'.
25910         * lib/pipe-filter.h: New file.
25911         * lib/pipe-filter-ii.c: New file.
25912         * lib/pipe-filter-aux.h: New file.
25913         * modules/pipe-filter-ii: New file.
25914
25915 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25916
25917         * lib/gc-libgcrypt.c: Change copyright to FSF.
25918         * lib/gc-gnulib.c: Likewise.
25919
25920 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25921
25922         * lib/gethostname.c: Include limits.h.
25923
25924 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25925             Bruno Haible  <bruno@clisp.org>
25926
25927         Ensure HOST_NAME_MAX as part of the gethostname module.
25928         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
25929         define also HOST_NAME_MAX.
25930         * tests/test-gethostname.c: Include <limits.h>.
25931         (main): Check also HOST_NAME_MAX.
25932         * doc/posix-headers/limits.texi: Document the mingw problem.
25933
25934 2009-08-02  Bruno Haible  <bruno@clisp.org>
25935
25936         * lib/gethostname.c (gethostname): Fix handling of large len argument.
25937         Add comments.
25938
25939 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25940
25941         * lib/gethostname.c: Add Windows wrapper.
25942         * m4/gethostname.m4: Look for gethostname in -lws2_32.
25943         * modules/gethostname: Depend on sys_socket & errno, for also
25944         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
25945         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
25946
25947 2009-07-31  Jim Meyering  <meyering@redhat.com>
25948
25949         getloadavg: fix symbol name in comment
25950         * lib/getloadavg.c: Correct a typo I introduced when adding
25951         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
25952         Matt Kraai spotted the problem.
25953
25954 2009-07-29  Matt Kraai  <mkraai@beckman.com>
25955
25956         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
25957         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
25958         code also if ! defined N_NAME_POINTER.
25959         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
25960         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
25961         but the n_name member is a 12-byte array.
25962
25963 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
25964
25965         update-copyright: generalize comment handling
25966         * build-aux/update-copyright: Handle copyright statements
25967         within more comment styles.
25968         Document usage.
25969         Report any file with an external copyright holder or parse failure.
25970
25971 2009-07-29  Jim Meyering  <meyering@redhat.com>
25972
25973         mktime: correct setting of REPLACE_MKTIME
25974         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
25975
25976         update-copyright: new module
25977         * modules/update-copyright: New file.
25978         * build-aux/update-copyright: New file.
25979         * MODULES.html.sh (maint+release support): Add update-copyright.
25980
25981 2009-07-27  Bruno Haible  <bruno@clisp.org>
25982
25983         Fix compilation error when <ctime> is used and mktime is replaced.
25984         * lib/time.in.h (mktime): New declaration.
25985         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
25986         REPLACE_MKTIME instead of defining mktime in config.h.
25987         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
25988         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
25989         Reported by Ross McFarland <rwmcfa1@neces.com>.
25990
25991 2009-07-27  Bruno Haible  <bruno@clisp.org>
25992
25993         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
25994         Reported by Matt Kraai <mkraai@beckman.com>.
25995
25996 2009-07-25  Jim Meyering  <meyering@redhat.com>
25997
25998         maint.mk: avoid warnings about missing files
25999         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
26000         diagnostic when .prev-version does not exist.
26001         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
26002         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
26003         nonexistent cfg.mk.
26004         Suggestions from Simon Josefsson.
26005
26006 2009-07-25  Bruno Haible  <bruno@clisp.org>
26007
26008         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
26009         defined as macros. Needed on QNX 6.4.1.
26010         Reported by Matt Kraai <mkraai@beckman.com>.
26011
26012 2009-07-23  Jim Meyering  <meyering@redhat.com>
26013
26014         maint.mk: invoke "make dist" with a working value of XZ_OPT
26015         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
26016
26017 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
26018
26019         Make fseeko.c compile on QNX.
26020         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
26021
26022 2009-07-22  Peter Simons  <simons@cryp.to>
26023
26024         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
26025         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
26026         * lib/md4.h: Likewise.
26027         * lib/md5.h: Likewise.
26028         * lib/sha1.h: Likewise.
26029         * lib/sha256.h: Likewise.
26030         * lib/sha512.h: Likewise.
26031
26032         tests-sha1: don't assign literal string to 'char *' variable
26033         * tests/test-sha1.c (main): Declare locals with "const" to match
26034         attributes of the right hand side.
26035
26036 2009-07-21  Eric Blake  <ebb9@byu.net>
26037
26038         dup2: fix more mingw problems
26039         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
26040         fd to itself.
26041         * doc/posix-functions/dup2.texi (dup2): Document the bug.
26042         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
26043         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
26044         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
26045         care of mingw bugs.
26046
26047 2009-07-21  Jim Meyering  <meyering@redhat.com>
26048
26049         vc-list-files: avoid failure when /bin/sh is dash
26050         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
26051         On some Debian based systems, /bin/sh is a symlink to dash, and running
26052         this command would omit the "/" following each 'tests' prefix:
26053           dash -x build-aux/vc-list-files -C . tests
26054         That is because bash and dash work differently:
26055           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
26056           bash ok
26057           dash odd
26058
26059 2009-07-21  Eric Blake  <ebb9@byu.net>
26060
26061         dup2-tests: test previous patch
26062         * modules/dup2-tests: New file.
26063         * tests/test-dup2.c: Likewise.
26064         * tests/test-open.c (main): Avoid unspecified behavior.
26065         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
26066         test.
26067
26068         dup2: work around mingw and cygwin 1.5 bug
26069         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
26070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26071         * modules/unistd (Makefile.am): Substitute it.
26072         * lib/unistd.in.h (dup2): Declare the replacement.
26073         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
26074         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
26075         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
26076         * modules/execute (Depends-on): Add dup2.
26077         * modules/fseterr (Depends-on): Likewise.
26078         * modules/pipe (Depends-on): Likewise.
26079         * modules/posix_spawn-internal (Depends-on): Likewise.
26080
26081 2009-07-21  Bruno Haible  <bruno@clisp.org>
26082
26083         * modules/.gitattributes: New file.
26084
26085 2009-07-20  Bruno Haible  <bruno@clisp.org>
26086
26087         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
26088         (main): Use it.
26089
26090 2009-07-20  Eric Blake  <ebb9@byu.net>
26091
26092         test-pipe: make a bit more robust.
26093         * tests/test-pipe.c (myerr): Allow error messages regardless of
26094         what we do to stderr.
26095         (test_pipe): Rearrange to avoid deadlock.
26096         (child_main): Try a larger read, to ensure we avoided deadlock.
26097         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
26098         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
26099         if misused.
26100
26101 2009-07-19  Jim Meyering  <meyering@redhat.com>
26102
26103         fts: avoid false-positive cycle-detection
26104         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
26105         for each new command line argument.
26106
26107 2009-07-19  Bruno Haible  <bruno@clisp.org>
26108
26109         Fix build error on mingw with the modules sys_select and unistd.
26110         * modules/acl-tests (Depends-on): Add close.
26111         * modules/binary-io-tests (Depends-on): Likewise.
26112         * modules/closein-tests (Depends-on): Likewise.
26113         * modules/flock-tests (Depends-on): Likewise.
26114         * modules/fsync-tests (Depends-on): Likewise.
26115         * modules/lseek-tests (Depends-on): Likewise.
26116         * modules/pipe-tests (Depends-on): Likewise.
26117         * modules/posix_spawn-tests (Depends-on): Likewise.
26118         * modules/posix_spawnp-tests (Depends-on): Likewise.
26119         * modules/stat-time-tests (Depends-on): Likewise.
26120         * modules/yesno-tests (Depends-on): Likewise.
26121
26122 2009-07-19  Bruno Haible  <bruno@clisp.org>
26123
26124         Unify conditionals.
26125         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
26126         macros, not at the compiler macros.
26127         * lib/pipe.c: Likewise.
26128         * lib/execute.c: Likewise.
26129         * lib/spawni.c: Likewise.
26130
26131 2009-07-19  Bruno Haible  <bruno@clisp.org>
26132
26133         Fix handling of closed stdin/stdout/stderr on mingw.
26134         * lib/w32spawn.h: Include unistd.h.
26135         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
26136         file descriptor with O_NOINHERIT flag.
26137         (fd_safer_noinherit): New function, based on fd-safer.c.
26138         (dup_safer_noinherit): New function, based on dup-safer.c.
26139         (undup_safer_noinherit): New function.
26140         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
26141         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
26142         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
26143         instead of fd_safer.
26144         * tests/test-pipe.c: Include <windows.h>.
26145         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
26146
26147         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
26148         from main.
26149         (test_pipe): Pass an extra argument for disambiguation.
26150         (main): Invoke parent_main or child_main.
26151
26152         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
26153         consistently.
26154
26155 2009-07-18  Eric Blake  <ebb9@byu.net>
26156
26157         test-pipe: fix mingw build
26158         * tests/test-pipe.c (main): Avoid fcntl on mingw.
26159
26160 2009-07-18  Bruno Haible  <bruno@clisp.org>
26161
26162         * modules/pipe-tests (Makefile.am): Fix typo.
26163
26164 2009-07-18  Eric Blake  <ebb9@byu.net>
26165
26166         error: fix mingw build
26167         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
26168         Reported by Bruno Haible.
26169
26170         error: avoid undefined use of stdout
26171         * lib/error.c (error, error_at_line): Check that fd 1 is open
26172         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
26173         is handling faults and the close_stdout module wants to report the
26174         detection of closed stdout as an error.
26175
26176 2009-07-17  Eric Blake  <ebb9@byu.net>
26177
26178         pipe: be robust in face of closed fds
26179         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
26180         should cause child to misbehave.
26181         * modules/pipe-tests: New module.
26182         * tests/test-pipe.c: New file.
26183         * tests/test-pipe.sh: New file.
26184         Reported by Akim Demaille.
26185
26186 2009-07-14  Bruno Haible  <bruno@clisp.org>
26187
26188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
26189         Reported by anonymous kc.
26190
26191 2009-07-07  Jim Meyering  <meyering@redhat.com>
26192
26193         maint.mk: don't look for translatable strings in *.m4 or *.mk
26194         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
26195         when searching for translatable strings.
26196
26197 2009-07-05  Jim Meyering  <meyering@redhat.com>
26198
26199         remove superfluous parentheses in STREQ definition
26200         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
26201         * lib/getugroups.c (STREQ): Likewise.
26202         * lib/fnmatch.c (STREQ): Likewise.
26203         Spotted by Bruno Haible.
26204
26205 2009-07-04  Jim Meyering  <meyering@redhat.com>
26206
26207         argv-iter: new module
26208         * MODULES.html.sh: Add argv-iter.
26209         * lib/argv-iter.c, lib/argv-iter.h: New files.
26210         * modules/argv-iter: New file.
26211         * modules/argv-iter-tests: New file.
26212         * tests/test-argv-iter.c: Test it.
26213
26214 2009-07-04  Bruno Haible  <bruno@clisp.org>
26215
26216         Fix assertion.
26217         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
26218         contains more exact copies of a given entry than file2, leave the extra
26219         copies unpaired rather than aborting.
26220         Reported by Eric Blake.
26221
26222 2009-07-02  Bruno Haible  <bruno@clisp.org>
26223
26224         Speedup git-merge-changelog for git cherry-pick.
26225         * lib/git-merge-changelog.c (struct entries_mapping): New type.
26226         (entries_mapping_get): New function, extracted from compute_mapping.
26227         (entries_mapping_reverse_get): New function.
26228         (compute_mapping): Add a 'full' argument. Return the result in a
26229         'struct entries_mapping'.
26230         (main): Update. Access the mappings through entries_mapping_get.
26231         Reported by Eric Blake.
26232
26233 2009-07-02  Bruno Haible  <bruno@clisp.org>
26234
26235         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
26236         best_i.
26237
26238 2009-07-02  Bruno Haible  <bruno@clisp.org>
26239
26240         Speed up approximate search for matching ChangeLog entries.
26241         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
26242         argument. Call fstrcmp_bounded instead of fstrcmp.
26243         (compute_mapping, try_split_merged_entry, main): Update callers.
26244
26245 2009-07-02  Bruno Haible  <bruno@clisp.org>
26246
26247         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
26248
26249 2009-06-30  Bruno Haible  <bruno@clisp.org>
26250
26251         Reduce the number of uc_is_cased calls.
26252         * lib/unicase.h (casing_suffix_context_t): Add
26253         'first_char_except_ignorable' field.
26254         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
26255         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
26256         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
26257         Update initializer.
26258         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
26259         case-ignorable characters.
26260         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
26261         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
26262         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
26263         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
26264         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
26265
26266 2009-06-30  Bruno Haible  <bruno@clisp.org>
26267
26268         Tests for module 'unicase/ignorable'.
26269         * modules/unicase/ignorable-tests: New file.
26270         * tests/unicase/test-ignorable.c: New file, generated by
26271         gen-uni-tables.
26272
26273         Tests for module 'unicase/cased'.
26274         * modules/unicase/cased-tests: New file.
26275         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
26276         * tests/unicase/test-predicate-part1.h: New file, derived from
26277         tests/unictype/test-predicate-part1.h.
26278         * tests/unicase/test-predicate-part2.h: New file, same as
26279         tests/unictype/test-predicate-part2.h.
26280
26281         Fix evaluation of "Before C" condition of FINAL_SIGMA.
26282         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
26283         (output_casing_properties): New function.
26284         (main): Call it.
26285         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
26286         * lib/unicase/cased.c: Include unictype/bitmap.h.
26287         (uc_is_cased): Define through a bitmap lookup.
26288         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
26289         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
26290         (uc_is_case_ignorable): Define through a bitmap lookup.
26291         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
26292         lib/unictype/bitmap.h.
26293         (Depends-on): Add inline. Clean up.
26294         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
26295         lib/unictype/bitmap.h.
26296         (Depends-on): Add inline. Clean up.
26297         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
26298         recognition.
26299         * tests/unicase/test-u16-tolower.c (main): Likewise.
26300         * tests/unicase/test-u32-tolower.c (main): Likewise.
26301
26302 2009-06-30  Bruno Haible  <bruno@clisp.org>
26303
26304         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
26305         * lib/unicase/u16-casemap.c: Likewise.
26306         * lib/unicase/u32-casemap.c: Likewise.
26307
26308 2009-06-29  Bruno Haible  <bruno@clisp.org>
26309
26310         Define u32_casefold as a wrapper around u32_ct_casefold.
26311         * lib/unicase/u32-casefold.c: Update.
26312         * modules/unicase/u32-casefold (Depends-on): Add
26313         unicase/u32-ct-casefold, unicase/empty-prefix-context,
26314         unicase/empty-suffix-context. Clean up.
26315
26316         Define u16_casefold as a wrapper around u16_ct_casefold.
26317         * lib/unicase/u16-casefold.c: Update.
26318         * modules/unicase/u16-casefold (Depends-on): Add
26319         unicase/u16-ct-casefold, unicase/empty-prefix-context,
26320         unicase/empty-suffix-context. Clean up.
26321
26322         Define u8_casefold as a wrapper around u8_ct_casefold.
26323         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
26324         * lib/unicase/u8-casefold.c: Update.
26325         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
26326         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26327
26328         Define u32_totitle as a wrapper around u32_ct_totitle.
26329         * lib/unicase/u32-totitle.c: Update.
26330         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
26331         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26332
26333         Define u16_totitle as a wrapper around u16_ct_totitle.
26334         * lib/unicase/u16-totitle.c: Update.
26335         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
26336         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26337
26338         Define u8_totitle as a wrapper around u8_ct_totitle.
26339         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
26340         functions.
26341         (FUNC): Delegate to U_CT_TOTITLE.
26342         * lib/unicase/u8-totitle.c: Update.
26343         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
26344         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26345
26346         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
26347         invocation.
26348         * modules/unicase/u32-tolower (Depends-on): Add
26349         unicase/empty-prefix-context, unicase/empty-suffix-context.
26350
26351         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
26352         invocation.
26353         * modules/unicase/u16-tolower (Depends-on): Add
26354         unicase/empty-prefix-context, unicase/empty-suffix-context.
26355
26356         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
26357         * modules/unicase/u8-tolower (Depends-on): Add
26358         unicase/empty-prefix-context, unicase/empty-suffix-context.
26359
26360         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
26361         invocation.
26362         * modules/unicase/u32-toupper (Depends-on): Add
26363         unicase/empty-prefix-context, unicase/empty-suffix-context.
26364
26365         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
26366         invocation.
26367         * modules/unicase/u16-toupper (Depends-on): Add
26368         unicase/empty-prefix-context, unicase/empty-suffix-context.
26369
26370         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
26371         * modules/unicase/u8-toupper (Depends-on): Add
26372         unicase/empty-prefix-context, unicase/empty-suffix-context.
26373
26374         New module 'unicase/u32-ct-casefold'.
26375         * lib/unicase/u32-ct-casefold.c: New file.
26376         * modules/unicase/u32-ct-casefold: New file.
26377
26378         New module 'unicase/u16-ct-casefold'.
26379         * lib/unicase/u16-ct-casefold.c: New file.
26380         * modules/unicase/u16-ct-casefold: New file.
26381
26382         New module 'unicase/u8-ct-casefold'.
26383         * lib/unicase/u8-ct-casefold.c: New file.
26384         * lib/unicase/u-ct-casefold.h: New file, derived from
26385         lib/unicase/u-casefold.h.
26386         * modules/unicase/u8-ct-casefold: New file.
26387
26388         New module 'unicase/u32-ct-totitle'.
26389         * lib/unicase/u32-ct-totitle.c: New file.
26390         * modules/unicase/u32-ct-totitle: New file.
26391
26392         New module 'unicase/u16-ct-totitle'.
26393         * lib/unicase/u16-ct-totitle.c: New file.
26394         * modules/unicase/u16-ct-totitle: New file.
26395
26396         New module 'unicase/u8-ct-totitle'.
26397         * lib/unicase/u8-ct-totitle.c: New file.
26398         * lib/unicase/u-ct-totitle.h: New file, derived from
26399         lib/unicase/u-totitle.h.
26400         * modules/unicase/u8-ct-totitle: New file.
26401
26402         New module 'unicase/u32-ct-tolower'.
26403         * lib/unicase/u32-ct-tolower.c: New file.
26404         * modules/unicase/u32-ct-tolower: New file.
26405
26406         New module 'unicase/u16-ct-tolower'.
26407         * lib/unicase/u16-ct-tolower.c: New file.
26408         * modules/unicase/u16-ct-tolower: New file.
26409
26410         New module 'unicase/u8-ct-tolower'.
26411         * lib/unicase/u8-ct-tolower.c: New file.
26412         * modules/unicase/u8-ct-tolower: New file.
26413
26414         New module 'unicase/u32-ct-toupper'.
26415         * lib/unicase/u32-ct-toupper.c: New file.
26416         * modules/unicase/u32-ct-toupper: New file.
26417
26418         New module 'unicase/u16-ct-toupper'.
26419         * lib/unicase/u16-ct-toupper.c: New file.
26420         * modules/unicase/u16-ct-toupper: New file.
26421
26422         New module 'unicase/u8-ct-toupper'.
26423         * lib/unicase/u8-ct-toupper.c: New file.
26424         * modules/unicase/u8-ct-toupper: New file.
26425
26426         Add context arguments to u*_casemap functions.
26427         * lib/unicase/unicasemap.h: Include unicase.h.
26428         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
26429         suffix_context arguments.
26430         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
26431         functions.
26432         (FUNC): Add prefix_context and suffix_context arguments. Use
26433         uc_is_cased and uc_is_case_ignorable.
26434         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
26435         * lib/unicase/u16-casemap.c: Likewise.
26436         * lib/unicase/u32-casemap.c: Likewise.
26437         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
26438         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26439         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
26440         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26441         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
26442         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26443
26444         New module 'unicase/u32-suffix-context'.
26445         * lib/unicase/u32-suffix-context.c: New file.
26446         * modules/unicase/u32-suffix-context: New file.
26447
26448         New module 'unicase/u16-suffix-context'.
26449         * lib/unicase/u16-suffix-context.c: New file.
26450         * modules/unicase/u16-suffix-context: New file.
26451
26452         New module 'unicase/u8-suffix-context'.
26453         * lib/unicase/u8-suffix-context.c: New file.
26454         * lib/unicase/u-suffix-context.h: New file.
26455         * modules/unicase/u8-suffix-context: New file.
26456
26457         New module 'unicase/empty-suffix-context'.
26458         * lib/unicase/empty-suffix-context.c: New file.
26459         * modules/unicase/empty-suffix-context: New file.
26460
26461         New module 'unicase/u32-prefix-context'.
26462         * lib/unicase/u32-prefix-context.c: New file.
26463         * modules/unicase/u32-prefix-context: New file.
26464
26465         New module 'unicase/u16-prefix-context'.
26466         * lib/unicase/u16-prefix-context.c: New file.
26467         * modules/unicase/u16-prefix-context: New file.
26468
26469         New module 'unicase/u8-prefix-context'.
26470         * lib/unicase/u8-prefix-context.c: New file.
26471         * lib/unicase/u-prefix-context.h: New file.
26472         * lib/unicase/context.h: New file.
26473         * modules/unicase/u8-prefix-context: New file.
26474
26475         New module 'unicase/empty-prefix-context'.
26476         * lib/unicase/empty-prefix-context.c: New file.
26477         * modules/unicase/empty-prefix-context: New file.
26478
26479         New module 'unicase/ignorable'.
26480         * lib/unicase/ignorable.c: New file.
26481         * modules/unicase/ignorable: New file.
26482
26483         New module 'unicase/cased'.
26484         * lib/unicase/caseprop.h: New file.
26485         * lib/unicase/cased.c: New file.
26486         * modules/unicase/cased: New file.
26487
26488         New functions for case mapping of substrings.
26489         * lib/unicase.h (casing_prefix_context_t): New type.
26490         (unicase_empty_prefix_context): New variable.
26491         (u8_casing_prefix_context, u16_casing_prefix_context,
26492         u32_casing_prefix_context, u8_casing_prefixes_context,
26493         u16_casing_prefixes_context, u32_casing_prefixes_context): New
26494         declarations.
26495         (casing_suffix_context_t): New type.
26496         (unicase_empty_suffix_context): New variable.
26497         (u8_casing_suffix_context, u16_casing_suffix_context,
26498         u32_casing_suffix_context, u8_casing_suffixes_context,
26499         u16_casing_suffixes_context, u32_casing_suffixes_context,
26500         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
26501         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
26502         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
26503         declarations.
26504
26505 2009-06-28  Jim Meyering  <meyering@redhat.com>
26506
26507         boostrap: indent only with spaces
26508         * build-aux/bootstrap: Indent only with spaces, never TABs.
26509
26510         bootstrap: split long lines
26511         * build-aux/bootstrap: Keep line length < 80.
26512
26513         bootstrap: sync from coreutils
26514         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
26515         just as autoreconf does.  Verify a list of prerequisite
26516         package-name,version-number pairs if defined in bootstrap.conf.
26517         Refer to README-prereq, if prerequisites are not satisfied.
26518
26519 2009-06-27  Eric Blake  <ebb9@byu.net>
26520
26521         tests: add test for bogus NULL definition
26522         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
26523         * tests/test-stdlib.c: Likewise.
26524         * tests/test-string.c: Likewise.
26525         * tests/test-locale.c: Likewise.
26526         * tests/test-unistd.c: Likewise.
26527         * modules/stdio-tests (Depends-on): Add verify.
26528         * modules/stdlib-tests (Depends-on): Likewise.
26529         * modules/string-tests (Depends-on): Likewise.
26530         * modules/locale-tests (Depends-on): Likewise.
26531         * modules/unistd-tests (Depends-on): Likewise.
26532
26533 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
26534
26535         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
26536         self-explaining comment.
26537         * m4/selinux-selinux-h: Update serial.
26538         (gl_LIBSELINUX): New macro, adding a warning for missing development
26539         packages to code extracted from...
26540         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
26541         Add warning for missing development packages here, too.
26542
26543 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
26544
26545         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
26546
26547 2009-06-25  Eric Blake  <ebb9@byu.net>
26548
26549         version-etc: fix regression
26550         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
26551         gcc.
26552         (version_etc): Use it, to catch bugs with trailing NULL.
26553         * lib/version-etc.c (version_etc_arn): Delete unused argument.
26554         (version_etc_va): Fix logic bug.
26555         * modules/version-etc-tests: Add test.
26556         * tests/test-version-etc.c: New file.
26557         * tests/test-version-etc.sh: Likewise.
26558
26559 2009-06-25  Sam Steingold  <sds@gnu.org>
26560
26561         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
26562         mbtowc declaration.
26563
26564 2009-06-25  Eric Blake  <ebb9@byu.net>
26565
26566         fpurge: migrate into <stdio.h>
26567         * lib/fpurge.h: Delete...
26568         * lib/stdio.in.h (fpurge): ...and declare here, instead.
26569         * lib/fpurge.c (fpurge): Change declaring header.
26570         * modules/fpurge (Files): Drop deleted file.
26571         (Depends-on): Add stdio.
26572         (configure.ac): Set witness.
26573         * modules/stdio (Makefile.am): Support fpurge macros.
26574         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26575         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
26576         * lib/fflush.c: Update client.
26577         * tests/test-fpurge.c: Likewise.
26578         * NEWS: Mention the change.
26579
26580 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26581
26582         * lib/argp-version-etc.c (program_authors): Add const
26583         qualifier.
26584         * lib/version-etc.c: Fix typos in the comments.
26585         * modules/argp-version-etc: Depends on version-etc.
26586
26587 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26588
26589         argp-version-etc: new module.
26590
26591         * lib/argp-version-etc.c: New file.
26592         * lib/argp-version-etc.h: New file.
26593         * modules/argp-version-etc: New file.
26594         * modules/argp-version-etc-tests: New file.
26595         * tests/test-argp-version-etc.c: New test.
26596         * tests/test-argp-version-etc-1.sh: New test.
26597
26598 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26599
26600         Provide additional interfaces and documentation for version-etc
26601         module.
26602
26603         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
26604         interfaces.
26605         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
26606         prototypes.
26607
26608 2009-06-24  Bruno Haible  <bruno@clisp.org>
26609
26610         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
26611         HAVE_LIB${NAME} macro.
26612         Reported by Sam Steingold <sds@gnu.org>.
26613
26614 2009-06-23  Simon Josefsson  <simon@josefsson.org>
26615
26616         * modules/hash-tests (test_hash_LDADD): Link to libintl when
26617         needed.
26618
26619 2009-06-21  Bruno Haible  <bruno@clisp.org>
26620
26621         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
26622         work.
26623         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
26624         together with LIB${NAME}, LTLIB${NAME}.
26625         Reported by Sam Steingold <sds@gnu.org>.
26626
26627 2009-06-20  Jim Meyering  <meyering@redhat.com>
26628
26629         tests: make sc_require_test_exit_idiom more generic
26630         * top/maint.mk (Exit_witness_file): New overridable variable.
26631         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
26632         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
26633
26634 2009-06-19  Jim Meyering  <meyering@redhat.com>
26635
26636         hash: reverse order of src/dst parameters in an internal interface
26637         * lib/hash.c (transfer_entries): Reverse order of parameters to
26638         put DST before SRC.  Adjust callers.
26639
26640         tests: test-hash: avoid wholesale duplication
26641         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
26642         Instead, use a loop and add a single conditional.
26643
26644         tests: test-hash: allow seed selection via a command line argument
26645         * tests/test-hash.c (get_seed): New function.
26646         (main): Use it.
26647
26648 2009-06-19  Eric Blake  <ebb9@byu.net>
26649
26650         hash: avoid memory leak on allocation failure
26651         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
26652         failure.  Factor repeated algorithm...
26653         (transfer_entries): ...into new helper routine.
26654         (hash_delete): React to hash_rehash return value.
26655
26656         hash: reduce memory pressure in hash_rehash no-op case
26657         * lib/hash.c (next_prime): Avoid overflow.
26658         (hash_initialize): Factor bucket size computation...
26659         (compute_bucket_size): ...into new helper function.
26660         (hash_rehash): Use new function and open coding to reduce memory
26661         pressure, and avoid a memory leak in USE_OBSTACK code.
26662         Reported by Jim Meyering.
26663
26664 2009-06-18  Eric Blake  <ebb9@byu.net>
26665
26666         hash: make rotation more obvious
26667         * modules/hash (Depends-on): Add bitrotate and stdint.
26668         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
26669         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
26670         (SIZE_MAX): Rely on headers for definition.
26671         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
26672         (raw_hasher): Use rotr_sz.
26673         Suggested by Jim Meyering.
26674
26675         hash: fix memory leak in last patch
26676         * lib/hash.c (hash_rehash): Avoid memory leak.
26677
26678         hash: avoid no-op rehashing
26679         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
26680
26681         hash: provide default callback functions
26682         * lib/hash.c (raw_hasher, raw_comparator): New functions.
26683         (hash_initialize): Use them as defaults.
26684         * tests/test-hash.c (main): Test this.
26685
26686         hash: minor optimization
26687         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
26688         when possible.
26689         (hash_initialize): Document this promise.
26690         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26691         * tests/test-hash.c (hash_compare_strings): Test this.
26692
26693 2009-06-18  Bruno Haible  <bruno@clisp.org>
26694
26695         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26696         going to be replaced anyway.
26697
26698 2009-06-18  Bruno Haible  <bruno@clisp.org>
26699
26700         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26701         in one place.
26702         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26703         be replaced anyway.
26704
26705 2009-06-18  Eric Blake  <ebb9@byu.net>
26706
26707         hash: check for resize before insertion
26708         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26709         threshold before insertion, so that a pathological hash_rehash
26710         that fills every bucket can still trigger another rehash.
26711
26712 2009-06-18  Jim Meyering  <meyering@redhat.com>
26713
26714         hash-tests: add a loop around the small tests
26715         * tests/test-hash.c (main): Repeat small tests with selected
26716         small initial table sizes.
26717
26718 2009-06-17  Eric Blake  <ebb9@byu.net>
26719
26720         hash: minor cleanups
26721         * lib/hash.h (hash_entry): Make opaque, by moving...
26722         * lib/hash.c (hash_entry): ...here.
26723         (hash_insert): Clarify restrictions on what can be inserted.
26724         (hash_get_next): Clarify when it is safe to remove an element
26725         during traversal.
26726         (check_tuning): Skip verification when tuning is known safe.
26727         (hash_initialize): Clarify restrictions on tuning.
26728
26729 2009-06-17  Jim Meyering  <jim@meyering.net>
26730         and Eric Blake  <ebb9@byu.net>
26731
26732         hash-tests: new module
26733         * modules/hash-tests: New file.
26734         * tests/test-hash.c: New file.
26735
26736 2009-06-17  Eric Blake  <ebb9@byu.net>
26737
26738         strstr-simple: document new module
26739         * MODULES.html.sh: Document new module.
26740
26741         strstr, strcasestr: replace on platforms with broken memchr
26742         * modules/strstr: Split into...
26743         * modules/strstr-simple: ...new module that does not care about
26744         performance, but does care about glibc bug.
26745         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26746         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26747         if platform memchr is broken, per Debian bug 521737.
26748         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26749         memchr.
26750         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26751         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26752         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26753         * modules/mountlist (Depends-on): Add strstr-simple.
26754         * modules/gen-uni-tables (Depends-on): Likewise.
26755         * modules/argz (Depends-on): Add strstr.
26756
26757 2009-06-17  Bruno Haible  <bruno@clisp.org>
26758
26759         * modules/posix_spawn-internal (Depends-on): Add errno.
26760
26761 2009-06-17  Bruno Haible  <bruno@clisp.org>
26762
26763         Define missing ESTALE on Interix 3.5.
26764         * lib/errno.in.h (ESTALE): Assign a value if missing.
26765         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26766         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26767         missing.
26768         * doc/posix-headers/errno.texi: Mention the Interix bug.
26769         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26770
26771 2009-06-15  Eric Blake  <ebb9@byu.net>
26772
26773         memchr, memchr2: add valgrind exception
26774         * lib/memchr.valgrind: New file.
26775         * lib/memchr2.valgrind: New file.
26776         * modules/memchr (Files): Distribute valgrind file.
26777         * modules/memchr2 (Files): Likewise.
26778
26779         docs: memchr is no longer obsolete
26780         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26781         * lib/string.in.h (memchr): Simplify logic.
26782
26783 2009-06-14  Jim Meyering  <meyering@redhat.com>
26784
26785         link-follow: fix the "checking..." message to not mention trailing slash
26786         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26787         never considered trailing slashes.
26788
26789 2009-06-14  Bruno Haible  <bruno@clisp.org>
26790
26791         * m4/memchr.m4: Mention also the bug on IA-64.
26792         * doc/posix-functions/memchr.texi: Likewise.
26793
26794 2009-06-12  Eric Blake  <ebb9@byu.net>
26795
26796         memchr: detect broken x86_64 and alpha implementations
26797         * modules/memchr-tests (Depends-on): Move mmap detection...
26798         * modules/memchr (Depends-on): ...here.
26799         (configure.ac): Set indicator.
26800         * lib/string.in.h (memchr): Declare replacement.
26801         * modules/string (Makefile.am): Trigger replacement.
26802         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26803         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26804         bugs.
26805         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26806         * modules/getpagesize (License): Relax license.
26807
26808 2009-06-11  Bruno Haible  <bruno@clisp.org>
26809
26810         * lib/idpriv.h: Add more references.
26811
26812 2009-06-08  Bruno Haible  <bruno@clisp.org>
26813
26814         Tests for module 'idpriv-droptemp'.
26815         * modules/idpriv-droptemp-tests: New file.
26816         * tests/test-idpriv-droptemp.sh: New file.
26817         * tests/test-idpriv-droptemp.su.sh: New file.
26818         * tests/test-idpriv-droptemp.c: New file.
26819
26820         New module 'idpriv-droptemp'.
26821         * lib/idpriv-droptemp.c: New file.
26822         * modules/idpriv-droptemp: New file.
26823
26824 2009-06-08  Bruno Haible  <bruno@clisp.org>
26825
26826         Tests for module 'idpriv-drop'.
26827         * modules/idpriv-drop-tests: New file.
26828         * tests/test-idpriv-drop.sh: New file.
26829         * tests/test-idpriv-drop.su.sh: New file.
26830         * tests/test-idpriv-drop.c: New file.
26831
26832         New module 'idpriv-drop'.
26833         * lib/idpriv.h: New file.
26834         * lib-idpriv-drop.c: New file.
26835         * m4/idpriv.m4: New file.
26836         * modules/idpriv-drop: New file.
26837
26838 2009-06-08  Bruno Haible  <bruno@clisp.org>
26839
26840         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26841         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26842         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26843         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26844         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26845         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26846         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26847
26848 2009-06-08  Eric Blake  <ebb9@byu.net>
26849
26850         test-strstr: use memory fence, when possible
26851         * tests/test-strstr.c (main): Use memory fence, in order to be
26852         more likely to trigger Debian bug 521737.
26853         * modules/strstr-tests (Files): Pull in additional files.
26854
26855         memchr: no longer obsolete, for wider field testing
26856         * modules/memchr (Status, Notice): Delete, this module is no
26857         longer obsolete.
26858         * modules/vasnprintf (Depends-on): Add memchr.
26859
26860 2009-06-07  Jim Meyering  <meyering@redhat.com>
26861
26862         hash: declare some functions with the warn_unused_result attribute
26863         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26864
26865 2009-06-07  Bruno Haible  <bruno@clisp.org>
26866
26867         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26868         Reported by Eric Blake.
26869
26870 2009-06-06  Eric Blake  <ebb9@byu.net>
26871
26872         test-alignof: fix typo with long double
26873         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26874         compiler error.
26875
26876 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26877
26878         Escape non-texinfo { and }s.
26879         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26880         markup error.
26881
26882 2009-06-04  Jim Meyering  <meyering@redhat.com>
26883
26884         gitlog-to-changelog: don't infloop on an empty commit log
26885         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26886         Reported by Boris Petersen <transacid@centerim.org>.
26887
26888 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26889
26890         version-etc: extend for packagers
26891         Add three new configure options, intended for packagers:
26892           --with-packager="packager name"
26893           --with-packager-version="packager-specific version"
26894           --with-packager-bug-reports="packager bug reporting"
26895         An example with coreutils:
26896           $ ./configure \
26897             --with-packager=Gentoo \
26898             --with-packager-bug-report=http://bugs.gentoo.org/ \
26899             --with-packager-version="patchset 1.6"
26900           $ ./src/ls --version | head -n2
26901           ls (GNU coreutils) 7.1-dirty
26902           Packaged by Gentoo (patchset 1.6)
26903         Note that the bug reporting info via --help doesn't show up because
26904         coreutils uses its own custom emit_bug_reporting_address() implementation
26905         in src/system.h.  If it didn't, it'd look like:
26906           $ ./src/ls --help | tail -n4
26907           Report bugs to <bug-coreutils@gnu.org>.
26908           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26909           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26910           General help using GNU software: <http://www.gnu.org/gethelp/>.
26911         * lib/version-etc.c: Print new information, if provided.
26912         * m4/version-etc.m4: New file.
26913         * modules/version-etc (Files): Add m4/version-etc.m4.
26914         (configure.ac): Add gl_VERSION_ETC.
26915
26916 2009-05-31  Bruno Haible  <bruno@clisp.org>
26917
26918         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26919         and 'int64_t'.
26920         * modules/alignof-tests (Dependencies): Add stdint.
26921         Reported by Eric Blake.
26922
26923 2009-05-31  Bruno Haible  <bruno@clisp.org>
26924
26925         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
26926         restriction due to compiler bugs.
26927         Reported by Eric Blake.
26928
26929 2009-05-31  Simon Josefsson  <simon@josefsson.org>
26930             Bruno Haible  <bruno@clisp.org>
26931
26932         Fix test-alignof failure.
26933         * lib/alignof.h (alignof_slot): New macro.
26934         (alignof_type): New macro, with the same semantics as the previous
26935         'alignof'.
26936         (alignof): Alias to alignof_slot.
26937         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
26938         check that the results are usable as constant expressions.
26939
26940 2009-05-31  Bruno Haible  <bruno@clisp.org>
26941
26942         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
26943         * tests/test-memchr.c (main): Check that memchr does not read past the
26944         first occurrence of the byte.
26945         * tests/test-strstr.c (main): Update comment.
26946         Suggested by Eric Blake.
26947
26948 2009-05-30  Bruno Haible  <bruno@clisp.org>
26949
26950         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
26951         detail how to use dumpbin.
26952         Reported by David Byron <dbyron@dbyron.com>.
26953
26954 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26955
26956         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
26957
26958 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26959
26960         * m4/manywarnings.m4: Add GCC 4.4 warnings.
26961
26962 2009-05-28  Bruno Haible  <bruno@clisp.org>
26963
26964         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
26965         build-aux/ files.
26966
26967 2009-05-28  Simon Josefsson  <simon@josefsson.org>
26968
26969         * gnulib-tool (func_import): Transform license on build-aux/ files too.
26970
26971 2009-05-27  Simon Josefsson  <simon@josefsson.org>
26972
26973         * gnulib-tool (sed_transform_main_lib_file)
26974         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
26975         regexps.
26976
26977 2009-05-26  Simon Josefsson  <simon@josefsson.org>
26978
26979         * tests/test-strstr.c: Add another self-test.
26980         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
26981         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
26982
26983 2009-05-23  Bruno Haible  <bruno@clisp.org>
26984
26985         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
26986         change.
26987
26988 2009-05-21  Bruno Haible  <bruno@clisp.org>
26989
26990         Simplify use of mode_t varargs.
26991         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
26992         uses 'mode_t' or 'int'.
26993         * lib/openat.c (openat): Likewise.
26994         * lib/open-safer.c (open_safer): Likewise.
26995         * m4/mode_t.m4: New file.
26996         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
26997         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
26998         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
26999         * modules/open (Files): Add m4/mode_t.m4.
27000         * modules/openat (Files): Likewise.
27001         * modules/fcntl-safer (Files): Likewise.
27002         Suggested by Eric Blake.
27003
27004 2009-05-21  Pádraig Brady  <P@draigbrady.com>
27005
27006         * doc/glibc-functions/fallocate.texi: New file.
27007         * doc/gnulib.texi: Include it.
27008
27009 2009-05-21  Eric Blake  <ebb9@byu.net>
27010             Bruno Haible  <bruno@clisp.org>
27011
27012         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
27013         invocations.
27014         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27015
27016 2009-05-21  Eric Blake  <ebb9@byu.net>
27017             Bruno Haible  <bruno@clisp.org>
27018
27019         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
27020         include_next. Fix of 2008-11-20 commit.
27021         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
27022         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
27023         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
27024         NEXT_MATH_H.
27025         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
27026         instead of NEXT_MATH_H.
27027
27028 2009-05-21  Bruno Haible  <bruno@clisp.org>
27029
27030         Avoid redefinition warnings for SIZE_MAX.
27031         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
27032         Reported by Simon Josefsson.
27033
27034 2009-05-21  Bruno Haible  <bruno@clisp.org>
27035
27036         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
27037         AC_CACHE_VAL.
27038
27039 2009-05-20  Bruno Haible  <bruno@clisp.org>
27040
27041         Make zeroptr.h work on mingw.
27042         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
27043         mprotect.
27044         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
27045         * modules/memchr2-tests (configure.ac): Likewise.
27046         * modules/memcmp-tests (configure.ac): Likewise.
27047         * modules/memmem-tests (configure.ac): Likewise.
27048         * modules/memrchr-tests (configure.ac): Likewise.
27049         Reported by Simon Josefsson.
27050
27051 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27052
27053         * tests/test-glob.c: Include string.h for strcmp prototype.
27054
27055 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27056
27057         * modules/getdelim (Depends-on): Add explicit stdint, although it
27058         was implicitly already pulled in via realloc-posix.
27059         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
27060
27061 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27062
27063         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
27064         G. Christensen" <tgc@jupiterrise.com>.
27065         * m4/sys_socket_h.m4: Check for sa_family_t.
27066         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
27067         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
27068         * tests/test-sys_socket.c: Check that sa_family_t works.
27069
27070 2009-05-18  Eric Blake  <ebb9@byu.net>
27071
27072         maint.mk: allow gnulib_dir in VPATH build
27073         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
27074
27075 2009-05-15  Jim Meyering  <meyering@redhat.com>
27076
27077         maint.mk: Give gnulib_dir a default definition.
27078         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
27079         Thus, most packages no longer need to specify this variable in cfg.mk
27080
27081 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
27082
27083         rename.m4: fix typos that would make non-mingw cross-configure fail
27084         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
27085
27086 2009-05-13  Eric Blake  <ebb9@byu.net>
27087
27088         mmap-anon: avoid out-of-order autoconf expansion
27089         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
27090         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
27091         * modules/memchr-tests (Depends-on): Add extensions.
27092         * modules/memchr2-tests (Depends-on): Add extensions.
27093         * modules/memcmp-tests (Depends-on): Add extensions.
27094         * modules/memmem-tests (Depends-on): Add extensions.
27095         * modules/memrchr-tests (Depends-on): Add extensions.
27096
27097 2009-05-13  Bruno Haible  <bruno@clisp.org>
27098
27099         Make some tests ISO C 99 compliant.
27100         * tests/zerosize-ptr.h: New file.
27101         * tests/test-memchr.c: Include zerosize-ptr.h.
27102         (main): Use a zero-size object pointer instead of NULL.
27103         * tests/test-memchr2.c: Include zerosize-ptr.h.
27104         (main): Use a zero-size object pointer instead of NULL.
27105         * tests/test-memcmp.c: Include zerosize-ptr.h.
27106         (main): Use a zero-size object pointer instead of NULL.
27107         * tests/test-memmem.c: Include zerosize-ptr.h.
27108         (main): Use a zero-size object pointer instead of NULL.
27109         * tests/test-memrchr.c: Include zerosize-ptr.h.
27110         (main): Use a zero-size object pointer instead of NULL.
27111         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
27112         m4/mmap-anon.m4.
27113         (Depends-on): Add getpagesize.
27114         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27115         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
27116         m4/mmap-anon.m4.
27117         (Depends-on): Add getpagesize.
27118         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27119         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
27120         m4/mmap-anon.m4.
27121         (Depends-on): Add getpagesize.
27122         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27123         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
27124         m4/mmap-anon.m4.
27125         (Depends-on): Add getpagesize.
27126         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27127         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
27128         m4/mmap-anon.m4.
27129         (Depends-on): Add getpagesize.
27130         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27131
27132 2009-05-12  Bruno Haible  <bruno@clisp.org>
27133
27134         Tests for module 'alignof'.
27135         * modules/alignof-tests: New file.
27136         * tests/test-alignof.c: New file.
27137
27138 2009-05-12  Bruno Haible  <bruno@clisp.org>
27139
27140         Fix alignof macro.
27141         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
27142         vendor compilers that are always correct.
27143
27144 2009-05-12  Bruno Haible  <bruno@clisp.org>
27145
27146         Make the MAP_ANONYMOUS detection work on HP-UX 11.
27147         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
27148         not whether its fully works.
27149
27150 2009-05-12  Bruno Haible  <bruno@clisp.org>
27151
27152         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
27153
27154 2009-05-12  Jim Meyering  <meyering@redhat.com>
27155
27156         * top/maint.mk: Adjust backslash alignment.
27157
27158 2009-05-11  Simon Josefsson  <simon@josefsson.org>
27159
27160         * top/maint.mk: Make $(srcdir)/build-aux configurable.
27161
27162 2009-05-11  Eric Blake  <ebb9@byu.net>
27163
27164         argp: avoid undefined behavior
27165         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
27166         macros.
27167
27168 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27169
27170         * tests/test-vc-list-files-git.sh: Do git config of user.email and
27171         user.name to prevent git commit from complaining.
27172
27173 2009-05-10  Bruno Haible  <bruno@clisp.org>
27174
27175         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
27176         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
27177         it rewrites every file name only once.
27178         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
27179
27180 2009-05-08  Bruno Haible  <bruno@clisp.org>
27181
27182         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
27183         instead of 'max'.
27184
27185 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27186
27187         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
27188         sockaddr_storage test.
27189
27190 2009-05-07  Simon Josefsson  <simon@josefsson.org>
27191
27192         * modules/sys_socket (Makefile.am): Substitute
27193         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
27194         * m4/sys_socket_h.m4: Check for sockaddr_storage.
27195         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
27196         * tests/test-sys_socket.c: Check sockaddr_storage.
27197
27198 2009-05-08  Bruno Haible  <bruno@clisp.org>
27199
27200         New module 'alignof'.
27201         * lib/alignof.h: New file.
27202         * modules/alignof: New file.
27203
27204 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27205             Bruno Haible  <bruno@clisp.org>
27206
27207         Fix test-file-has-acl on FreeBSD.
27208         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
27209         mask is implicitly added.
27210         * tests/test-file-has-acl.c: Include <signal.h>.
27211         (main): Terminate the test after 5 seconds.
27212         * modules/acl-tests (configure.ac): Check for alarm function.
27213
27214 2009-05-04  Bruno Haible  <bruno@clisp.org>
27215
27216         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
27217         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
27218         * modules/errno (configure.ac): Drop AC_REQUIRE.
27219         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
27220         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
27221
27222 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27223
27224         * modules/glob-tests: New module.
27225         * tests/test-glob.c: Add.
27226
27227 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27228
27229         * modules/fnmatch-tests: New module.
27230         * tests/test-fnmatch.c: Add.
27231
27232 2009-05-04  Eric Blake  <ebb9@byu.net>
27233
27234         maint: make the new no-submodule-changes rule VPATH-safe
27235         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
27236
27237 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27238             Bruno Haible  <bruno@clisp.org>
27239
27240         acl: Fix infinite loop on FreeBSD.
27241         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
27242         of return value from acl_get_entry.
27243         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
27244         Likewise.
27245
27246 2009-05-03  Bruno Haible  <bruno@clisp.org>
27247
27248         * lib/acl-internal.h (acl_entries): Clarify return value.
27249         * lib/acl_entries.c (acl_entries): Likewise.
27250
27251 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27252
27253         Bug fix in acl module.
27254         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
27255
27256 2009-05-03  Bruno Haible  <bruno@clisp.org>
27257
27258         Create gperf-generated file in the source dir, not in the build dir.
27259         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
27260         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
27261         * modules/unicase/locale-language (unicase/locale-languages.h):
27262         Likewise.
27263         * modules/unicase/special-casing (unicase/special-casing-table.h):
27264         Likewise.
27265         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
27266         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
27267         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
27268         Reported by Ralf Wildenhues.
27269
27270 2009-05-03  Bruno Haible  <bruno@clisp.org>
27271
27272         * modules/fnmatch (Description, configure.ac): Taken from
27273         fnmatch-posix.
27274         * modules/fnmatch-posix: Turn into a symbolic reference to the
27275         'fnmatch' module, and deprecate.
27276         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
27277
27278 2009-05-03  Bruno Haible  <bruno@clisp.org>
27279
27280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
27281         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
27282         Reported by Ralf Wildenhues.
27283
27284 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27285
27286         * m4/fnmatch.m4: Fix fnmatch re-define.
27287
27288 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27289
27290         priv-set: new module and tests; adapt write-any-file
27291         * lib/priv-set.c: New file.
27292         * lib/priv-set.h: New file.
27293         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
27294         * lib/write-any-file.c: Simplify by using priv-set module.
27295         * m4/priv-set.m4: New file.
27296         * modules/priv-set: New file.
27297         * modules/unlinkdir: Add dependency on priv-set module.
27298         * modules/write-any-file: Likewise.
27299
27300         Tests for module 'priv-set'.
27301         * modules/priv-set-tests: New file.
27302         * tests/test-priv-set.c: New file.
27303
27304 2009-05-03  Jim Meyering  <meyering@redhat.com>
27305             Bruno Haible  <bruno@clisp.org>
27306
27307         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
27308         use the converted UTF-8 variant of the name instead.
27309
27310 2009-05-03  Jim Meyering  <meyering@redhat.com>
27311
27312         tests: tighten some getdate tests
27313         * tests/test-getdate.c (main): Tighten tests: require equality,
27314         not just greater than.  Set TZ envvar to UTC0.
27315
27316 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27317
27318         getdate: correctly interpret "next monday" when run on a Monday
27319         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
27320         that e.g., "next tues" (when run on a tuesday) results in a date
27321         that is one week in the future, and not today's date.
27322         I.e., add a week when the wday is the same as the current one.
27323         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
27324         and earlier by Martin Bernreuther and Jan Minář.
27325         * tests/test-getdate.c (main): Check that "next DAY" is always in
27326         the future and that "last DAY" is always in the past.
27327
27328 2009-05-02  Jim Meyering  <meyering@redhat.com>
27329
27330         build: ensure that a release build fails when a submodule is unclean
27331         * top/maint.mk (no-submodule-changes): New rule.
27332         (alpha beta major): Depend on it.
27333
27334 2009-05-02  Bruno Haible  <bruno@clisp.org>
27335
27336         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
27337         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
27338         shell variable gl_fnmatch_required to detect which variant is
27339         requested.
27340         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
27341         gl_FUNC_FNMATCH_POSIX.
27342         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
27343         exclude fnmatch-posix.
27344
27345 2009-05-02  Bruno Haible  <bruno@clisp.org>
27346
27347         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
27348         * modules/mbsrtowcs (License): Change to LGPLv2+.
27349         * modules/strnlen1 (License): Likewise.
27350         Reported by Simon Josefsson.
27351
27352 2009-05-02  Bruno Haible  <bruno@clisp.org>
27353
27354         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
27355         "cross".
27356         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
27357         gnulib-tool was called with option --source-base=lib.
27358
27359 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27360
27361         Use automake *-local hooks without commands, for extensibility.
27362         * modules/localcharset (Makefile.am): Rename install-exec-local
27363         rule to install-exec-localcharset, and make it a prerequisite of
27364         install-exec-local.  Likewise, rename the uninstall-local rule to
27365         uninstall-localcharset, and make it a prerequisite of the former.
27366
27367 2009-05-01  Bruno Haible  <bruno@clisp.org>
27368
27369         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
27370         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27371         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
27372         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
27373         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
27374         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27375         m4/locale-zh.m4, m4/codeset.m4.
27376
27377         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27378         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
27379         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27380         m4/locale-zh.m4.
27381
27382         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
27383         REPLACE_WCRTOMB if mbstate_t must be replaced.
27384         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
27385         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
27386
27387 2009-05-01  Bruno Haible  <bruno@clisp.org>
27388
27389         Avoid compiler warnings when redefining macros defined by <libintl.h>.
27390         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
27391         dngettext, dcngettext, textdomain, bindtextdomain,
27392         bind_textdomain_codeset): Undefine before redefining.
27393
27394 2009-04-30  Bruno Haible  <bruno@clisp.org>
27395
27396         Fix bug introduced on 2009-04-25.
27397         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
27398         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
27399         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
27400         is defined.
27401         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
27402         is defined.
27403         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
27404         is defined.
27405         Reported by Elbert_Pol <elbert.pol@gmail.com>.
27406
27407 2009-04-28  Bruno Haible  <bruno@clisp.org>
27408
27409         Comment tweaks.
27410         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
27411         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
27412         * lib/unicase.h (u*_casexfrm): Likewise.
27413         Reported by Paolo Bonzini.
27414
27415 2009-04-28  Bruno Haible  <bruno@clisp.org>
27416
27417         Fix a compilation error.
27418         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
27419         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
27420         Reported by Jim Meyering.
27421
27422 2009-04-27  Bruno Haible  <bruno@clisp.org>
27423
27424         New module 'libunistring'.
27425         * modules/libunistring: New file.
27426         * m4/libunistring.m4: New file.
27427         * MODULES.html.sh (Unicode string functions): Add it.
27428
27429 2009-04-27  Eric Blake  <ebb9@byu.net>
27430
27431         maint.mk: allow package-specific header to provide <config.h>
27432         * top/maint.mk (sc_require_config_h): New variable.
27433         (sc_require_config_h, sc_require_config_h_first): Use it.
27434
27435 2009-04-27  Simon Josefsson  <simon@josefsson.org>
27436
27437         * top/maint.mk (sc_avoid_if_before_free): Except
27438         useless-if-before-free script.
27439
27440 2009-04-27  Eric Blake  <ebb9@byu.net>
27441
27442         maintainer-makefile: depend on all required helper scripts
27443         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
27444         useless-if-before-free.
27445         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
27446         version, rather than assuming gnulib checkout is available.
27447         Reported by Simen Josefsson.
27448
27449 2009-04-26  Bruno Haible  <bruno@clisp.org>
27450
27451         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
27452         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
27453         "../" or "..".
27454
27455 2009-04-26  Bruno Haible  <bruno@clisp.org>
27456
27457         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
27458         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
27459         AC_LIB_HAVE_LINKFLAGS.
27460
27461 2009-04-26  Bruno Haible  <bruno@clisp.org>
27462
27463         Simplify calling convention of u*_conv_from_encoding.
27464         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
27465         u32_conv_from_encoding): Expect a resultbuf argument and return the
27466         result directly as a pointer.
27467         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
27468         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
27469         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
27470         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
27471         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
27472         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27473         Update.
27474         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
27475         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
27476         * lib/vasnprintf.c (VASNPRINTF): Update.
27477         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
27478         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
27479         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
27480         * NEWS: Mention the change.
27481
27482 2009-04-26  Bruno Haible  <bruno@clisp.org>
27483
27484         Simplify calling convention of u*_conv_to_encoding.
27485         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
27486         u32_conv_to_encoding): Expect a resultbuf argument and return the
27487         result directly as a pointer.
27488         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27489         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
27490         freeing scaled_offsets if mem_iconveha failed.
27491         * lib/unicase/u-casexfrm.h (FUNC): Update.
27492         * lib/uninorm/u-normxfrm.h (FUNC): Update.
27493         * lib/vasnprintf.c (VASNPRINTF): Update.
27494         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
27495         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
27496         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
27497         * NEWS: Mention the change.
27498
27499 2009-04-26  Bruno Haible  <bruno@clisp.org>
27500
27501         Avoid test failures on AIX and OSF/1.
27502         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
27503         malloc(0).
27504         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27505         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27506         Likewise.
27507         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
27508         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
27509         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
27510         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
27511         * doc/posix-functions/malloc.texi: Document the portability problem
27512         related to malloc(0).
27513
27514 2009-04-26  Bruno Haible  <bruno@clisp.org>
27515
27516         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
27517         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
27518         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
27519
27520 2009-04-25  Bruno Haible  <bruno@clisp.org>
27521
27522         Avoid link error when creating a namespace clean library.
27523         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
27524         as macro with arguments if already defined as an alias.
27525         * lib/signbitf.c (gl_signbitf): Don't undefine.
27526         * lib/signbitd.c (gl_signbitd): Don't undefine.
27527         * lib/signbitl.c (gl_signbitl): Don't undefine.
27528
27529 2009-04-25  Jim Meyering  <meyering@redhat.com>
27530
27531         vc-list-files: fix another quoting bug
27532         * build-aux/vc-list-files: Avoid sed backslash expansion
27533         of pathological directory names.
27534
27535 2009-04-25  Eric Blake  <ebb9@byu.net>
27536
27537         vc-list-files: fix shell quoting error
27538         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
27539         timestamp.
27540
27541 2009-04-25  Jim Meyering  <meyering@redhat.com>
27542
27543         vc-list-files: restore lost functionality with subdir argument
27544         * build-aux/vc-list-files: When given a non-"." sub-directory
27545         argument, substitute the $dir/ prefix back onto each resulting name.
27546         Otherwise, coreutils' root_tests check would fail.
27547
27548 2009-04-24  Eric Blake  <ebb9@byu.net>
27549
27550         vc-list-files: ignore git symlinks
27551         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
27552         than ls-files, to ignore git symlinks.
27553
27554         maint.mk: import improvements from m4
27555         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
27556         (move_if_change): Delete unused macro.
27557         (news-date-check, vc-diff-check): Support VPATH builds.
27558         (announcement): Likewise.  Split --bootstrap-tools list...
27559         (boostrap-tools): ...into separate list, which can be overridden
27560         in cfg.mk.
27561         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
27562         requiring dependency on useless-if-before-free module.
27563         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
27564         Support VPATH builds.
27565
27566 2009-04-24  Jim Meyering  <meyering@redhat.com>
27567
27568         maint.mk: remove coreutils-specific rules and variables
27569         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
27570         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
27571         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
27572
27573         maint.mk: remove obsolete rule
27574         * top/maint.mk (rel-check): Remove rule.
27575         (WGET, WGETFLAGS): Remove now-unused variables.
27576
27577 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27578
27579         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
27580         consistency.
27581
27582         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
27583         '$(PATH_SEPARATOR)' instead of ':'.
27584
27585 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27586
27587         * lib/getopt1.c (main): Use 'const' for static array.
27588
27589 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27590
27591         * top/maint.mk: Sync with coreutils.
27592         * NEWS: Explain incompatibilities.
27593
27594 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27595             Bruno Haible  <bruno@clisp.org>
27596
27597         Fix cross-compilation results.
27598         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
27599         statement, as third argument of AC_TRY_RUN.
27600         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27601         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27602         Likewise.
27603         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27604         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27605         Likewise.
27606         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27607         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
27608         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
27609
27610 2009-04-20  Bruno Haible  <bruno@clisp.org>
27611
27612         Avoid test failure on mingw.
27613         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
27614
27615 2009-04-20  Bruno Haible  <bruno@clisp.org>
27616
27617         Avoid compilation error on mingw.
27618         * modules/localename-tests (Depends-on): Add locale.
27619
27620 2009-04-19  Bruno Haible  <bruno@clisp.org>
27621
27622         Support for building a shared library on Windows platforms.
27623         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
27624         (main): Test the presence of UNINORM_NFC here.
27625         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
27626         (main): Test the presence of UNINORM_NFD here.
27627         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
27628         (main): Test the presence of UNINORM_NFKC here.
27629         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
27630         (main): Test the presence of UNINORM_NFKD here.
27631
27632 2009-04-19  Bruno Haible  <bruno@clisp.org>
27633
27634         Avoid a compiler warning.
27635         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
27636         Change type of variable 'sequence'.
27637
27638 2009-04-19  Bruno Haible  <bruno@clisp.org>
27639
27640         * modules/configmake (Makefile.am): When the contents of configmake.h
27641         does not change, arrange to preserve its modification time.
27642
27643 2009-04-17  Simon Josefsson  <simon@josefsson.org>
27644
27645         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
27646         gettext domain.
27647
27648 2009-04-16  Jim Meyering  <meyering@redhat.com>
27649
27650         useless-if-before-free: improve conversion code
27651         * build-aux/useless-if-before-free: Adjust code-in-comment to match
27652         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
27653
27654 2009-04-14  Bruno Haible  <bruno@clisp.org>
27655
27656         * modules/fcntl (Depends-on): Add extensions.
27657         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
27658
27659 2009-04-12  Ben Pfaff  <blp@gnu.org>
27660
27661         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
27662         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
27663
27664 2009-03-20  Ben Pfaff  <blp@gnu.org>
27665
27666         Make rename replace existing destinations on Windows.
27667         * m4/rename.m4: Add test for Mingw.
27668         * lib/rename.c: Add rename replacement that uses MoveFileEx with
27669         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
27670         * doc/posix-functions/rename.texi: Document.
27671
27672 2009-04-10  Bruno Haible  <bruno@clisp.org>
27673
27674         New include file "iconveh.h".
27675         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
27676         * lib/striconveh.h: Include it.
27677         (enum iconv_ilseq_handler): Remove definition.
27678         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
27679         striconveh.h.
27680         * lib/striconveha.c: Include striconveh.h.
27681         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
27682         * modules/striconveh (Files): Add lib/iconveh.h.
27683         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
27684         lib/striconveh.h.
27685
27686 2009-04-10  Bruno Haible  <bruno@clisp.org>
27687
27688         * lib/uniconv.h: Update comment.
27689
27690 2009-04-10  Bruno Haible  <bruno@clisp.org>
27691
27692         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27693         always.
27694         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27695         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27696         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27697         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27698         "unistring-notinline.h", so that the function gets defined always.
27699         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27700         * lib/unistr/u8-uctomb.c: Likewise.
27701         * lib/unistr/u16-mbtouc.c: Likewise.
27702         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27703         * lib/unistr/u16-uctomb.c: Likewise.
27704         * lib/unistr/u32-mbtouc.c: Likewise.
27705         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27706         * lib/unistr/u32-uctomb.c: Likewise.
27707
27708 2009-04-10  Bruno Haible  <bruno@clisp.org>
27709
27710         Mark 'utime' obsolete.
27711         * modules/utime (Status, Notice): New sections.
27712         Suggested by Jim Meyering.
27713
27714         Fix cross-compile guess for utime test.
27715         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27716         autoconf.
27717         * doc/posix-functions/utime.texi: Give more precisions.
27718         Reported by Jan <ipif@ymail.com>.
27719
27720 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27721
27722         filevercmp: correct today's change
27723         * lib/filevercmp.c: Also handle coreutils' test inputs.
27724         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27725
27726         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27727         for reporting it.
27728         * lib/filevercmp.c: Special handle for "", "." and "..".
27729         * tests/test-filevercmp.c: Enlarge the set suite.
27730
27731 2009-04-07  Jim Meyering  <meyering@redhat.com>
27732
27733         useless-if-before-free: show how to remove braced useless free, too
27734         * build-aux/useless-if-before-free: still only in a comment, though.
27735
27736 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27737
27738         maint.mk: import changes to syntax-check macros from coreutils
27739         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27740         Use them in the relevant macros.
27741
27742 2009-04-06  Bruno Haible  <bruno@clisp.org>
27743
27744         Fix unportable use of bit-fields.
27745         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27746         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27747         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27748
27749 2009-04-06  Bruno Haible  <bruno@clisp.org>
27750
27751         Avoid test failures on AIX and OSF/1.
27752         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27753         that malloc(0) = NULL.
27754         * tests/unicase/test-u8-tolower.c (check): Likewise.
27755         * tests/unicase/test-u8-totitle.c (check): Likewise.
27756         * tests/unicase/test-u8-toupper.c (check): Likewise.
27757         * tests/unicase/test-u16-casefold.c (check): Likewise.
27758         * tests/unicase/test-u16-tolower.c (check): Likewise.
27759         * tests/unicase/test-u16-totitle.c (check): Likewise.
27760         * tests/unicase/test-u16-toupper.c (check): Likewise.
27761         * tests/unicase/test-u32-casefold.c (check): Likewise.
27762         * tests/unicase/test-u32-tolower.c (check): Likewise.
27763         * tests/unicase/test-u32-totitle.c (check): Likewise.
27764         * tests/unicase/test-u32-toupper.c (check): Likewise.
27765         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27766         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27767         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27768         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27769         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27770         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27771         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27772         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27773         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27774         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27775         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27776         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27777
27778 2009-04-05  Bruno Haible  <bruno@clisp.org>
27779
27780         Work around an autoconf limitation.
27781         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27782         comment line if it would be longer than 3 KB.
27783
27784 2009-04-05  Bruno Haible  <bruno@clisp.org>
27785
27786         Avoid test failure with libiconv-1.13.
27787         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27788         of the expected test results.
27789
27790 2009-04-05  Bruno Haible  <bruno@clisp.org>
27791
27792         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27793         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27794         that it should be installed.
27795
27796 2009-04-05  Bruno Haible  <bruno@clisp.org>
27797
27798         * gnulib-tool: New option --copy-file.
27799         (func_usage): Document it.
27800         (func_dest_tmpfilename): Moved out of func_import.
27801         (func_add_file, func_update_file): New functions, extracted from
27802         func_import.
27803         (func_import): Update.
27804
27805 2009-04-05  Karl Berry  <karl@gnu.org>
27806
27807         * README: prominently mention gnulib-tool.
27808         Rearrange sections so getting the code is near the top.
27809
27810 2009-04-05  Bruno Haible  <bruno@clisp.org>
27811
27812         * lib/unicase.h: Mention u*_cmp2.
27813         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27814         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27815         * lib/unicase/ulc-casecmp.c: Likewise.
27816         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27817         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27818         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27819         unistr/u8-cmp.
27820         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27821         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27822         unistr/u16-cmp.
27823         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27824         unistr/u32-cmp.
27825
27826         * lib/uninorm.h: Mention u*_cmp2.
27827         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27828         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27829         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27830         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27831         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27832         unistr/u8-cmp.
27833         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27834         unistr/u16-cmp.
27835         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27836         unistr/u32-cmp.
27837
27838         New module 'unistr/u32-cmp2'.
27839         * lib/unistr/u32-cmp2.c: New file.
27840         * modules/unistr/u32-cmp2: New file.
27841
27842         New module 'unistr/u16-cmp2'.
27843         * lib/unistr/u16-cmp2.c: New file.
27844         * modules/unistr/u16-cmp2: New file.
27845
27846         New module 'unistr/u8-cmp2'.
27847         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27848         * lib/unistr/u8-cmp2.c: New file.
27849         * lib/unistr/u-cmp2.h: New file.
27850         * modules/unistr/u8-cmp2: New file.
27851
27852 2009-04-05  Bruno Haible  <bruno@clisp.org>
27853
27854         * lib/unictype.h (uc_property_is_valid): New macro.
27855         * tests/unictype/test-pr_byname.c (main): Use it.
27856
27857         * lib/unistr.h: Doc fixes.
27858         * lib/uniconv.h: Doc fixes.
27859         * lib/unictype.h: Doc fixes.
27860
27861 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27862
27863         Port coreutils 7.2 to Solaris 8.
27864
27865         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27866         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27867         for Solaris 8.  This is a bit of a hack, as it means it's the
27868         caller's responsibility to add -lnsl if needed, but most likely it
27869         won't be needed since only getaddrinfo uses this and getaddrinfo
27870         isn't needed on Solaris 8.
27871
27872         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27873         problem to Solaris 8 encountered with coreutils 7.2, which
27874         resulted in a message "fnmatch.c:292: warning: passing argument 4
27875         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27876         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27877
27878 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27879
27880         * m4/ld-version-script.m4: Add FIXME comment.
27881
27882 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27883
27884         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27885         SOVERSION variable.
27886
27887 2009-04-02  Bruno Haible  <bruno@clisp.org>
27888
27889         * Makefile (info, html, dvi, pdf): Combine the rules.
27890         Suggested by Jim Meyering.
27891
27892 2009-04-01  Bruno Haible  <bruno@clisp.org>
27893
27894         * Makefile (info, html, dvi, pdf): New targets.
27895         Reported by Reuben Thomas <rrt@sc3d.org>.
27896
27897 2009-04-01  Bruno Haible  <bruno@clisp.org>
27898
27899         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27900         can be put into PATH.
27901         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27902
27903 2009-04-01  Bruno Haible  <bruno@clisp.org>
27904
27905         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27906
27907 2009-04-01  Bruno Haible  <bruno@clisp.org>
27908
27909         Rename module 'visibility'.
27910         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27911         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27912         * doc/gnulib.texi: Update.
27913         * MODULES.html.sh (Misc): Update.
27914         * NEWS: Mention the change.
27915
27916 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27917
27918         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27919         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27920         Eric Blake <ebb9@byu.net> for review.
27921         * MODULES.html.sh: Add lib-msvc-compat.
27922         * doc/gnulib.texi: Link to new section.
27923         * m4/ld-output-def.m4: New file.
27924         * doc/ld-output-def.texi: New file.
27925
27926 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27927
27928         Rename ld-version-script to lib-symbol-versions.  Suggested by
27929         Bruno Haible <bruno@clisp.org>.
27930         * modules/ld-version-script: Renamed to lib-symbol-versions.
27931         * doc/ld-version-script.texi: Fix module name.
27932         * MODULES.html.sh: Add lib-symbol-versions.
27933
27934 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27935
27936         * modules/u64-tests: New file.
27937         * tests/test-u64.c: New file.
27938
27939 2009-03-04  Simon Josefsson  <simon@josefsson.org>
27940
27941         * MODULES.html.sh: Mention u64.
27942         * modules/u64: New module.
27943         * modules/crypto/sha512: Depend on u64 module instead of providing
27944         u64.h.
27945
27946 2009-03-27  Eric Blake  <ebb9@byu.net>
27947
27948         test-strerror: make debugging EAI_SYSTEM easier
27949         * modules/getaddrinfo-tests (Depends-on): Add strerror.
27950         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
27951         failure was EAI_SYSTEM.
27952
27953 2009-03-25  Bruno Haible  <bruno@clisp.org>
27954
27955         Fix a problem with --enable-relocatable on Solaris 7.
27956         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
27957         since 2008-02-24.
27958
27959 2009-03-25  Eric Blake  <ebb9@byu.net>
27960
27961         test-sockets: avoid gcc warning
27962         * tests/test-sockets.c (main): Silence compiler warning.
27963
27964 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27965
27966         New modules nproc, pthread, contributed by Glen Lenker.
27967
27968         * MODULES.html.sh: Add pthread, nproc.
27969         * lib/nproc.c: New file.
27970         * lib/nproc.h: New file.
27971         * lib/pthread.in.h: New file.
27972         * m4/pthread.m4: New file.
27973         * modules/nproc: New file.
27974         * modules/pthread: New file.
27975
27976 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27977
27978         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
27979         New variable.
27980
27981 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
27982
27983         filevercmp: handle simple~ and numbered.~3~ backup suffixes
27984         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
27985         * tests/test-filevercmp.c: Add tests for backup suffixes.
27986
27987 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27988
27989         * modules/stdlib (Depends-on): Add stdint, needed when defining
27990         struct random_data on, for example, HP-UX 10.20.  Reported by
27991         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27992
27993 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27994
27995         * lib/readline.c (readline): Call fflush on stdout after printing
27996         prompt.
27997
27998 2009-03-20  Bruno Haible  <bruno@clisp.org>
27999
28000         Remove dependency from 'close' module to -lws2_32 on native Windows.
28001         * lib/close-hook.h: New file.
28002         * lib/close-hook.c: New file.
28003         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
28004         w32sock.h.
28005         (_gl_close_fd_maybe_socket): Remove function.
28006         (rpl_close): Invoke execute_all_close_hooks instead of
28007         _gl_close_fd_maybe_socket.
28008         * lib/sockets.c: Include close-hook.h, w32sock.h.
28009         (close_fd_maybe_socket): New function, essentially from lib/close.c.
28010         (close_sockets_hook): New variable.
28011         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
28012         (gl_sockets_cleanup): Unregister it.
28013         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
28014         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
28015         * modules/close-hook: New file.
28016         * modules/close (Files): Remove lib/w32sock.h.
28017         (Depends-on): Add close-hook.
28018         (Link): Remove section.
28019         * modules/sockets (Files): Add lib/w32sock.h.
28020         (Depends-on): Add close-hook.
28021         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
28022         invocation.
28023         * NEWS: Mention that LIB_CLOSE is gone.
28024
28025 2009-03-23  Eric Blake  <ebb9@byu.net>
28026
28027         signal-tests: test previous patch
28028         * tests/test-signal.c: New file.
28029         * modules/signal-tests: Likewise.
28030
28031         signal.h: always support 'volatile sig_atomic_t'
28032         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
28033         (gl_SIGNAL_H_DEFAULTS): Add a default.
28034         * modules/signal (Makefile.am): Substitute if needed.
28035         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
28036         users can blindly add volatile.
28037         * doc/posix-headers/signal.texi (signal.h): Document it.
28038         Reported by Matthew Woehlke.
28039
28040 2009-03-23  Jim Meyering  <meyering@redhat.com>
28041
28042         pathmax: PATH_MAX: use pathconf only when available
28043         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
28044         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
28045         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
28046         This avoids a link failure in a PSP cross-compilation environment
28047         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
28048
28049         * lib/vasnprintf.c (divide): Fix typo in comment.
28050
28051 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28052
28053         * gnulib-tool (func_filter_filelist): Fix comment.
28054
28055 2009-03-20  Bruno Haible  <bruno@clisp.org>
28056
28057         Make sockets.h self-contained.
28058         * lib/sockets.c: Include sockets.h first.
28059         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
28060
28061 2009-03-19  Eric Blake  <ebb9@byu.net>
28062
28063         doc: mention more functions added in cygwin 1.7.0
28064         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
28065         addition.
28066         * doc/posix-functions/log2f.texi: Likewise.
28067
28068 2009-03-19  Jim Meyering  <meyering@redhat.com>
28069
28070         fsusage: avoid syntax error due to statement-before-declaration
28071         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
28072         after all declarations.  Reported by Matthew Woehlke in
28073         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
28074
28075 2009-03-18  Eric Blake  <ebb9@byu.net>
28076
28077         build-aux/compile: sync from automake
28078         * build-aux/compile: New file, from automake.
28079         * config/srclist.txt: Mention build-aux/compile.
28080
28081 2009-03-17  Bruno Haible  <bruno@clisp.org>
28082
28083         * lib/git-merge-changelog.c: Fix typo in comment.
28084         Reported by Reuben Thomas <rrt@sc3d.org>.
28085
28086 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
28087
28088         * m4/regex.m4: update and improve help for
28089         --without-included-regex.
28090
28091 2009-03-17  Simon Josefsson  <simon@josefsson.org>
28092
28093         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
28094         failure on missing include files.
28095
28096 2009-03-17  Eric Blake  <ebb9@byu.net>
28097
28098         doc: mention more functions added in cygwin 1.7.0
28099         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
28100         addition.
28101         * doc/posix-functions/fwscanf.texi: Likewise.
28102         * doc/posix-functions/swprintf.texi: Likewise.
28103         * doc/posix-functions/swscanf.texi: Likewise.
28104         * doc/posix-functions/vfwprintf.texi: Likewise.
28105         * doc/posix-functions/vfwscanf.texi: Likewise.
28106         * doc/posix-functions/vswprintf.texi: Likewise.
28107         * doc/posix-functions/vswscanf.texi: Likewise.
28108         * doc/posix-functions/vwprintf.texi: Likewise.
28109         * doc/posix-functions/vwscanf.texi: Likewise.
28110         * doc/posix-functions/wcscasecmp.texi: Likewise.
28111         * doc/posix-functions/wcsdup.texi: Likewise.
28112         * doc/posix-functions/wcsftime.texi: Likewise.
28113         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28114         * doc/posix-functions/wprintf.texi: Likewise.
28115         * doc/posix-functions/wscanf.texi: Likewise.
28116         * doc/glibc-functions/gethostbyname2.texi: Likewise.
28117
28118 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28119
28120         maint.mk: really add $(AM_MAKEFLAGS)
28121         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
28122         was inadvertently omitted in the last commit.
28123         Spotted by Bruno Haible.
28124
28125         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
28126         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
28127         $(AM_MAKEFLAGS)' rather than plain `make'.
28128
28129         gnulib-tool: execute $MAKE not make
28130         * gnulib-tool: Default $MAKE to 'make'.
28131         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
28132         than make.  Initialize $MAKE in the do-autobuild script.
28133
28134         gnulib-tool: use $MAKE not make in generated files
28135         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
28136         make, in generated files.  Initialize $MAKE in the do-autobuild
28137         script.
28138
28139         * top/GNUmakefile (_have-git-version-gen): Fix typo.
28140
28141         GNUmakefile: disable parallelism only for multiple, recursive targets
28142         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
28143         additions in the Makefile.
28144         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
28145         by Automake.
28146         (.NOTPARALLEL): Only disable parallel builds if multiple targets
28147         are listed on the command line and at least one of them is
28148         listed in $(ALL_RECURSIVE_TARGETS).
28149
28150 2009-03-14  Bruno Haible  <bruno@clisp.org>
28151
28152         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
28153         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
28154         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
28155         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
28156         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
28157         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
28158         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
28159         unistr/u8-uctomb.
28160         * modules/unistr/u8-strchr (Depends-on): Likewise.
28161         * modules/unistr/u8-strrchr (Depends-on): Likewise.
28162         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
28163         unistr/u16-uctomb.
28164         * modules/unistr/u16-strchr (Depends-on): Likewise.
28165         * modules/unistr/u16-strrchr (Depends-on): Likewise.
28166
28167 2009-03-12  Bruno Haible  <bruno@clisp.org>
28168
28169         Work around select() bug on Interix 3.5.
28170         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
28171         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
28172         * m4/select.m4: New file.
28173         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
28174         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
28175         * modules/select (Files): Add m4/select.m4.
28176         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
28177         * modules/nanosleep (Depends-on): Add select.
28178         * modules/poll (Depends-on): Likewise.
28179         * doc/posix-functions/select.texi: Mention the Interix bug.
28180         Reported by Markus Duft <mduft@gentoo.org>.
28181
28182         * lib/select.c: Renamed from lib/winsock-select.c.
28183         * modules/select (Files): Add lib/select.c, remove
28184         lib/winsock-select.c.
28185         (configure.ac): Update.
28186
28187 2009-03-12  Jim Meyering  <meyering@redhat.com>
28188
28189         avoid gcc warnings about unused macro definitions
28190         * lib/readtokens.c (STREQ): Remove unused definition.
28191         * lib/xmalloc.c (SIZE_MAX): Likewise.
28192         * lib/openat-die.c (N_): Likewise.
28193         * lib/mountlist.c (SIZE_MAX): Remove definition.
28194         Instead, include <stdint.h>.
28195         * lib/readutmp.c: Likewise.
28196         * modules/readutmp (Depends-on): Add stdint.
28197         * modules/mountlist (Depends-on): Add stdint.
28198         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
28199
28200 2009-03-10  Bruno Haible  <bruno@clisp.org>
28201
28202         Tests for module 'mbmemcasecoll'.
28203         * modules/mbmemcasecoll-tests: New file.
28204         * tests/test-mbmemcasecoll1.sh: New file.
28205         * tests/test-mbmemcasecoll2.sh: New file.
28206         * tests/test-mbmemcasecoll3.sh: New file.
28207         * tests/test-mbmemcasecoll.c: New file.
28208
28209         New module 'mbmemcasecoll'.
28210         * lib/mbmemcasecoll.h: New file.
28211         * lib/mbmemcasecoll.c: New file.
28212         * modules/mbmemcasecoll: New file.
28213
28214         * tests/test-mbmemcasecmp.h: New file, extracted from
28215         tests/test-mbmemcasecmp.c.
28216         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
28217         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
28218         (main): Update.
28219         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
28220
28221 2009-03-09  Bruno Haible  <bruno@clisp.org>
28222
28223         Tests for module 'mbmemcasecmp'.
28224         * modules/mbmemcasecmp-tests: New file.
28225         * tests/test-mbmemcasecmp1.sh: New file.
28226         * tests/test-mbmemcasecmp2.sh: New file.
28227         * tests/test-mbmemcasecmp3.sh: New file.
28228         * tests/test-mbmemcasecmp.c: New file.
28229
28230         New module 'mbmemcasecmp'.
28231         * lib/mbmemcasecmp.h: New file.
28232         * lib/mbmemcasecmp.c: New file.
28233         * modules/mbmemcasecmp: New file.
28234
28235 2009-03-09  Bruno Haible  <bruno@clisp.org>
28236
28237         Tests for module 'unicase/ulc-casecoll'.
28238         * modules/unicase/ulc-casecoll-tests: New file.
28239         * tests/unicase/test-ulc-casecoll1.sh: New file.
28240         * tests/unicase/test-ulc-casecoll2.sh: New file.
28241         * tests/unicase/test-ulc-casecoll.c: New file.
28242
28243         New module 'unicase/ulc-casecoll'.
28244         * lib/unicase.h (ulc_casecoll): New declaration.
28245         * lib/unicase/ulc-casecoll.c: New file.
28246         * modules/unicase/ulc-casecoll: New file.
28247
28248         New module 'unicase/ulc-casexfrm'.
28249         * lib/unicase.h (ulc_casexfrm): New declaration.
28250         * lib/unicase/ulc-casexfrm.c: New file.
28251         * modules/unicase/ulc-casexfrm: New file.
28252
28253 2009-03-09  Bruno Haible  <bruno@clisp.org>
28254
28255         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
28256         invocations.
28257
28258         * m4/mbscasecmp.m4: Remove file.
28259         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
28260         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
28261
28262         * m4/mbscasestr.m4: Remove file.
28263         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
28264         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
28265
28266         * m4/mbschr.m4: Remove file.
28267         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
28268         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
28269
28270         * m4/mbscspn.m4: Remove file.
28271         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
28272         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
28273
28274         * m4/mbslen.m4: Remove file.
28275         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
28276         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
28277
28278         * m4/mbsncasecmp.m4: Remove file.
28279         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
28280         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
28281
28282         * m4/mbsnlen.m4: Remove file.
28283         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
28284         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
28285
28286         * m4/mbspbrk.m4: Remove file.
28287         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
28288         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
28289
28290         * m4/mbspcasecmp.m4: Remove file.
28291         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
28292         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
28293
28294         * m4/mbsrchr.m4: Remove file.
28295         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
28296         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
28297
28298         * m4/mbssep.m4: Remove file.
28299         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
28300         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
28301
28302         * m4/mbsspn.m4: Remove file.
28303         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
28304         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
28305
28306         * m4/mbsstr.m4: Remove file.
28307         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
28308         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
28309
28310         * m4/mbstok_r.m4: Remove file.
28311         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
28312         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
28313
28314         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
28315
28316         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
28317         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
28318
28319         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
28320
28321 2009-03-08  Bruno Haible  <bruno@clisp.org>
28322
28323         Tests for module 'unicase/ulc-casecmp'.
28324         * modules/unicase/ulc-casecmp-tests: New file.
28325         * tests/unicase/test-ulc-casecmp1.sh: New file.
28326         * tests/unicase/test-ulc-casecmp2.sh: New file.
28327         * tests/unicase/test-ulc-casecmp.c: New file.
28328
28329         New module 'unicase/ulc-casecmp'.
28330         * lib/unicase.h (ulc_casecmp): New declaration.
28331         * lib/unicase/ulc-casecmp.c: New file.
28332         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
28333         'const SRC_UNIT *'.
28334         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
28335         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
28336         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
28337         * modules/unicase/ulc-casecmp: New file.
28338
28339         Tests for module 'unicase/u32-is-cased'.
28340         * modules/unicase/u32-is-cased-tests: New file.
28341         * tests/unicase/test-u32-is-cased.c: New file.
28342
28343         Tests for module 'unicase/u16-is-cased'.
28344         * modules/unicase/u16-is-cased-tests: New file.
28345         * tests/unicase/test-u16-is-cased.c: New file.
28346
28347         Tests for module 'unicase/u8-is-cased'.
28348         * modules/unicase/u8-is-cased-tests: New file.
28349         * tests/unicase/test-u8-is-cased.c: New file.
28350         * tests/unicase/test-is-cased.h: New file.
28351
28352         New module 'unicase/u32-is-cased'.
28353         * lib/unicase/u32-is-cased.c: New file.
28354         * modules/unicase/u32-is-cased: New file.
28355
28356         New module 'unicase/u16-is-cased'.
28357         * lib/unicase/u16-is-cased.c: New file.
28358         * modules/unicase/u16-is-cased: New file.
28359
28360         New module 'unicase/u8-is-cased'.
28361         * lib/unicase/u8-is-cased.c: New file.
28362         * lib/unicase/u-is-cased.h: New file.
28363         * modules/unicase/u8-is-cased: New file.
28364
28365         Tests for module 'unicase/u32-is-casefolded'.
28366         * modules/unicase/u32-is-casefolded-tests: New file.
28367         * tests/unicase/test-u32-is-casefolded.c: New file.
28368
28369         Tests for module 'unicase/u16-is-casefolded'.
28370         * modules/unicase/u16-is-casefolded-tests: New file.
28371         * tests/unicase/test-u16-is-casefolded.c: New file.
28372
28373         Tests for module 'unicase/u8-is-casefolded'.
28374         * modules/unicase/u8-is-casefolded-tests: New file.
28375         * tests/unicase/test-u8-is-casefolded.c: New file.
28376         * tests/unicase/test-is-casefolded.h: New file.
28377
28378         New module 'unicase/u32-is-casefolded'.
28379         * lib/unicase/u32-is-casefolded.c: New file.
28380         * modules/unicase/u32-is-casefolded: New file.
28381
28382         New module 'unicase/u16-is-casefolded'.
28383         * lib/unicase/u16-is-casefolded.c: New file.
28384         * modules/unicase/u16-is-casefolded: New file.
28385
28386         New module 'unicase/u8-is-casefolded'.
28387         * lib/unicase/u8-is-casefolded.c: New file.
28388         * modules/unicase/u8-is-casefolded: New file.
28389
28390         Tests for module 'unicase/u32-is-titlecase'.
28391         * modules/unicase/u32-is-titlecase-tests: New file.
28392         * tests/unicase/test-u32-is-titlecase.c: New file.
28393
28394         Tests for module 'unicase/u16-is-titlecase'.
28395         * modules/unicase/u16-is-titlecase-tests: New file.
28396         * tests/unicase/test-u16-is-titlecase.c: New file.
28397
28398         Tests for module 'unicase/u8-is-titlecase'.
28399         * modules/unicase/u8-is-titlecase-tests: New file.
28400         * tests/unicase/test-u8-is-titlecase.c: New file.
28401         * tests/unicase/test-is-titlecase.h: New file.
28402
28403         New module 'unicase/u32-is-titlecase'.
28404         * lib/unicase/u32-is-titlecase.c: New file.
28405         * modules/unicase/u32-is-titlecase: New file.
28406
28407         New module 'unicase/u16-is-titlecase'.
28408         * lib/unicase/u16-is-titlecase.c: New file.
28409         * modules/unicase/u16-is-titlecase: New file.
28410
28411         New module 'unicase/u8-is-titlecase'.
28412         * lib/unicase/u8-is-titlecase.c: New file.
28413         * modules/unicase/u8-is-titlecase: New file.
28414
28415         Tests for module 'unicase/u32-is-lowercase'.
28416         * modules/unicase/u32-is-lowercase-tests: New file.
28417         * tests/unicase/test-u32-is-lowercase.c: New file.
28418
28419         Tests for module 'unicase/u16-is-lowercase'.
28420         * modules/unicase/u16-is-lowercase-tests: New file.
28421         * tests/unicase/test-u16-is-lowercase.c: New file.
28422
28423         Tests for module 'unicase/u8-is-lowercase'.
28424         * modules/unicase/u8-is-lowercase-tests: New file.
28425         * tests/unicase/test-u8-is-lowercase.c: New file.
28426         * tests/unicase/test-is-lowercase.h: New file.
28427
28428         New module 'unicase/u32-is-lowercase'.
28429         * lib/unicase/u32-is-lowercase.c: New file.
28430         * modules/unicase/u32-is-lowercase: New file.
28431
28432         New module 'unicase/u16-is-lowercase'.
28433         * lib/unicase/u16-is-lowercase.c: New file.
28434         * modules/unicase/u16-is-lowercase: New file.
28435
28436         New module 'unicase/u8-is-lowercase'.
28437         * lib/unicase/u8-is-lowercase.c: New file.
28438         * modules/unicase/u8-is-lowercase: New file.
28439
28440         Tests for module 'unicase/u32-is-uppercase'.
28441         * modules/unicase/u32-is-uppercase-tests: New file.
28442         * tests/unicase/test-u32-is-uppercase.c: New file.
28443
28444         Tests for module 'unicase/u16-is-uppercase'.
28445         * modules/unicase/u16-is-uppercase-tests: New file.
28446         * tests/unicase/test-u16-is-uppercase.c: New file.
28447
28448         Tests for module 'unicase/u8-is-uppercase'.
28449         * modules/unicase/u8-is-uppercase-tests: New file.
28450         * tests/unicase/test-u8-is-uppercase.c: New file.
28451         * tests/unicase/test-is-uppercase.h: New file.
28452
28453         New module 'unicase/u32-is-uppercase'.
28454         * lib/unicase/u32-is-uppercase.c: New file.
28455         * modules/unicase/u32-is-uppercase: New file.
28456
28457         New module 'unicase/u16-is-uppercase'.
28458         * lib/unicase/u16-is-uppercase.c: New file.
28459         * modules/unicase/u16-is-uppercase: New file.
28460
28461         New module 'unicase/u8-is-uppercase'.
28462         * lib/unicase/u8-is-uppercase.c: New file.
28463         * modules/unicase/u8-is-uppercase: New file.
28464
28465         New module 'unicase/u32-is-invariant'.
28466         * lib/unicase/u32-is-invariant.c: New file.
28467         * modules/unicase/u32-is-invariant: New file.
28468
28469         New module 'unicase/u16-is-invariant'.
28470         * lib/unicase/u16-is-invariant.c: New file.
28471         * modules/unicase/u16-is-invariant: New file.
28472
28473         New module 'unicase/u8-is-invariant'.
28474         * lib/unicase/u8-is-invariant.c: New file.
28475         * lib/unicase/invariant.h: New file.
28476         * lib/unicase/u-is-invariant.h: New file.
28477         * modules/unicase/u8-is-invariant: New file.
28478
28479         Tests for module 'unicase/u32-casecoll'.
28480         * modules/unicase/u32-casecoll-tests: New file.
28481         * tests/unicase/test-u32-casecoll.c: New file.
28482
28483         Tests for module 'unicase/u16-casecoll'.
28484         * modules/unicase/u16-casecoll-tests: New file.
28485         * tests/unicase/test-u16-casecoll.c: New file.
28486
28487         Tests for module 'unicase/u8-casecoll'.
28488         * modules/unicase/u8-casecoll-tests: New file.
28489         * tests/unicase/test-u8-casecoll.c: New file.
28490
28491         New module 'unicase/u32-casecoll'.
28492         * lib/unicase/u32-casecoll.c: New file.
28493         * modules/unicase/u32-casecoll: New file.
28494
28495         New module 'unicase/u16-casecoll'.
28496         * lib/unicase/u16-casecoll.c: New file.
28497         * modules/unicase/u16-casecoll: New file.
28498
28499         New module 'unicase/u8-casecoll'.
28500         * lib/unicase/u8-casecoll.c: New file.
28501         * lib/unicase/u-casecoll.h: New file.
28502         * modules/unicase/u8-casecoll: New file.
28503
28504         New module 'unicase/u32-casexfrm'.
28505         * lib/unicase/u32-casexfrm.c: New file.
28506         * modules/unicase/u32-casexfrm: New file.
28507
28508         New module 'unicase/u16-casexfrm'.
28509         * lib/unicase/u16-casexfrm.c: New file.
28510         * modules/unicase/u16-casexfrm: New file.
28511
28512         New module 'unicase/u8-casexfrm'.
28513         * lib/unicase/u8-casexfrm.c: New file.
28514         * lib/unicase/u-casexfrm.h: New file.
28515         * modules/unicase/u8-casexfrm: New file.
28516
28517         Tests for module 'unicase/u32-casecmp'.
28518         * modules/unicase/u32-casecmp-tests: New file.
28519         * tests/unicase/test-u32-casecmp.c: New file.
28520
28521         Tests for module 'unicase/u16-casecmp'.
28522         * modules/unicase/u16-casecmp-tests: New file.
28523         * tests/unicase/test-u16-casecmp.c: New file.
28524
28525         Tests for module 'unicase/u8-casecmp'.
28526         * modules/unicase/u8-casecmp-tests: New file.
28527         * tests/unicase/test-u8-casecmp.c: New file.
28528         * tests/unicase/test-casecmp.h: New file.
28529
28530         New module 'unicase/u32-casecmp'.
28531         * lib/unicase/u32-casecmp.c: New file.
28532         * modules/unicase/u32-casecmp: New file.
28533
28534         New module 'unicase/u16-casecmp'.
28535         * lib/unicase/u16-casecmp.c: New file.
28536         * modules/unicase/u16-casecmp: New file.
28537
28538         New module 'unicase/u8-casecmp'.
28539         * lib/unicase/u8-casecmp.c: New file.
28540         * lib/unicase/u-casecmp.h: New file.
28541         * modules/unicase/u8-casecmp: New file.
28542
28543         Tests for module 'unicase/u32-casefold'.
28544         * modules/unicase/u32-casefold-tests: New file.
28545         * tests/unicase/test-u32-casefold.c: New file.
28546
28547         Tests for module 'unicase/u16-casefold'.
28548         * modules/unicase/u16-casefold-tests: New file.
28549         * tests/unicase/test-u16-casefold.c: New file.
28550
28551         Tests for module 'unicase/u8-casefold'.
28552         * modules/unicase/u8-casefold-tests: New file.
28553         * tests/unicase/test-u8-casefold.c: New file.
28554
28555         New module 'unicase/u32-casefold'.
28556         * lib/unicase/u32-casefold.c: New file.
28557         * modules/unicase/u32-casefold: New file.
28558
28559         New module 'unicase/u16-casefold'.
28560         * lib/unicase/u16-casefold.c: New file.
28561         * modules/unicase/u16-casefold: New file.
28562
28563         New module 'unicase/u8-casefold'.
28564         * lib/unicase/u8-casefold.c: New file.
28565         * lib/unicase/u-casefold.h: New file.
28566         * modules/unicase/u8-casefold: New file.
28567
28568         New module 'unicase/tocasefold'.
28569         * lib/unicase/casefold.h: New file.
28570         * lib/unicase/tocasefold.c: New file.
28571         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
28572         * modules/unicase/tocasefold: New file.
28573
28574         Tests for module 'unicase/u32-totitle'.
28575         * modules/unicase/u32-totitle-tests: New file.
28576         * tests/unicase/test-u32-totitle.c: New file.
28577
28578         Tests for module 'unicase/u16-totitle'.
28579         * modules/unicase/u16-totitle-tests: New file.
28580         * tests/unicase/test-u16-totitle.c: New file.
28581
28582         Tests for module 'unicase/u8-totitle'.
28583         * modules/unicase/u8-totitle-tests: New file.
28584         * tests/unicase/test-u8-totitle.c: New file.
28585
28586         New module 'unicase/u32-totitle'.
28587         * lib/unicase/u32-totitle.c: New file.
28588         * modules/unicase/u32-totitle: New file.
28589
28590         New module 'unicase/u16-totitle'.
28591         * lib/unicase/u16-totitle.c: New file.
28592         * modules/unicase/u16-totitle: New file.
28593
28594         New module 'unicase/u8-totitle'.
28595         * lib/unicase/u8-totitle.c: New file.
28596         * lib/unicase/u-totitle.h: New file.
28597         * modules/unicase/u8-totitle: New file.
28598
28599         Tests for module 'unicase/u32-tolower'.
28600         * modules/unicase/u32-tolower-tests: New file.
28601         * tests/unicase/test-u32-tolower.c: New file.
28602
28603         Tests for module 'unicase/u16-tolower'.
28604         * modules/unicase/u16-tolower-tests: New file.
28605         * tests/unicase/test-u16-tolower.c: New file.
28606
28607         Tests for module 'unicase/u8-tolower'.
28608         * modules/unicase/u8-tolower-tests: New file.
28609         * tests/unicase/test-u8-tolower.c: New file.
28610
28611         New module 'unicase/u32-tolower'.
28612         * lib/unicase/u32-tolower.c: New file.
28613         * modules/unicase/u32-tolower: New file.
28614
28615         New module 'unicase/u16-tolower'.
28616         * lib/unicase/u16-tolower.c: New file.
28617         * modules/unicase/u16-tolower: New file.
28618
28619         New module 'unicase/u8-tolower'.
28620         * lib/unicase/u8-tolower.c: New file.
28621         * modules/unicase/u8-tolower: New file.
28622
28623         Tests for module 'unicase/u32-toupper'.
28624         * modules/unicase/u32-toupper-tests: New file.
28625         * tests/unicase/test-u32-toupper.c: New file.
28626
28627         Tests for module 'unicase/u16-toupper'.
28628         * modules/unicase/u16-toupper-tests: New file.
28629         * tests/unicase/test-u16-toupper.c: New file.
28630
28631         Tests for module 'unicase/u8-toupper'.
28632         * modules/unicase/u8-toupper-tests: New file.
28633         * tests/unicase/test-u8-toupper.c: New file.
28634
28635         New module 'unicase/u32-toupper'.
28636         * lib/unicase/u32-toupper.c: New file.
28637         * modules/unicase/u32-toupper: New file.
28638
28639         New module 'unicase/u16-toupper'.
28640         * lib/unicase/u16-toupper.c: New file.
28641         * modules/unicase/u16-toupper: New file.
28642
28643         New module 'unicase/u8-toupper'.
28644         * lib/unicase/u8-toupper.c: New file.
28645         * modules/unicase/u8-toupper: New file.
28646
28647         New module 'unicase/u32-casemap'.
28648         * lib/unicase/u32-casemap.c: New file.
28649         * modules/unicase/u32-casemap: New file.
28650
28651         New module 'unicase/u16-casemap'.
28652         * lib/unicase/u16-casemap.c: New file.
28653         * modules/unicase/u16-casemap: New file.
28654
28655         New module 'unicase/u8-casemap'.
28656         * lib/unicase/unicasemap.h: New file.
28657         * lib/unicase/u8-casemap.c: New file.
28658         * lib/unicase/u-casemap.h: New file.
28659         * modules/unicase/u8-casemap: New file.
28660
28661         New module 'unicase/special-casing'.
28662         * lib/unicase/special-casing.h: New file.
28663         * lib/unicase/special-casing.c: New file.
28664         * lib/unicase/special-casing-table.gperf: New file, generated by
28665         gen-uni-tables.c.
28666         * modules/unicase/special-casing: New file.
28667
28668         Tests for module 'unicase/locale-language'.
28669         * modules/unicase/locale-language-tests: New file.
28670         * tests/unicase/test-locale-language.sh: New file.
28671         * tests/unicase/test-locale-language.c: New file.
28672
28673         New module 'unicase/locale-language'.
28674         * lib/unicase/locale-language.c: New file.
28675         * lib/unicase/locale-languages.gperf: New file.
28676         * modules/unicase/locale-language: New file.
28677
28678         Generate more tables for case conversion and case folding.
28679         * lib/gen-uni-tables.c (SCC_*): New enum items.
28680         (struct special_casing_rule): New type.
28681         (casing_rules, num_casing_rules, allocated_casing_rules): New
28682         variables.
28683         (add_casing_rule, fill_casing_rules): New functions.
28684         (struct casefold_rule): New type.
28685         (casefolding_rules, num_casefolding_rules,
28686         allocated_casefolding_rules): New variables.
28687         (fill_casefolding_rules): New function.
28688         (unicode_casefold): New variable.
28689         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
28690         sort_casing_rules, output_casing_rules): New functions.
28691         (main): Accept to more arguments: SpecialCasing.txt and
28692         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28693         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28694         Output mapping for casefolding.
28695
28696         * lib/unicase.h: Include stdbool.h, uninorm.h.
28697         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28698         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28699         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28700         arguments.
28701         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28702         resultp arguments.
28703         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28704         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28705         resultp arguments.
28706         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28707         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28708         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28709         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28710         declarations.
28711         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28712
28713 2009-03-08  Bruno Haible  <bruno@clisp.org>
28714
28715         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28716         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28717         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28718         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28719
28720 2009-03-07  Bruno Haible  <bruno@clisp.org>
28721
28722         Adjust u*_normcmp, u*_normcoll API.
28723         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28724         u16_normcoll, u32_normcoll): Change failure conventions.
28725         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28726         errno and return -1.
28727         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28728
28729 2009-03-07  Bruno Haible  <bruno@clisp.org>
28730
28731         Tests for module 'uninorm/u32-normcoll'.
28732         * modules/uninorm/u32-normcoll-tests: New file.
28733         * tests/uninorm/test-u32-normcoll.c: New file.
28734
28735         Tests for module 'uninorm/u16-normcoll'.
28736         * modules/uninorm/u16-normcoll-tests: New file.
28737         * tests/uninorm/test-u16-normcoll.c: New file.
28738
28739         Tests for module 'uninorm/u8-normcoll'.
28740         * modules/uninorm/u8-normcoll-tests: New file.
28741         * tests/uninorm/test-u8-normcoll.c: New file.
28742
28743 2009-03-07  Bruno Haible  <bruno@clisp.org>
28744
28745         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28746         tests/uninorm/test-u32-normcmp.c.
28747         * tests/uninorm/test-u32-normcmp.c: Include it.
28748         (test_nonascii): New function, extracted from main. Add some more
28749         tests.
28750         (main): Invoke test_ascii and test_nonascii.
28751         * modules/uninorm/u32-normcmp-tests (Files): Add
28752         tests/uninorm/test-u32-normcmp.h.
28753         (Depends-on): Remove uninorm/u32-normcmp.
28754
28755         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28756         tests/uninorm/test-u16-normcmp.c.
28757         * tests/uninorm/test-u16-normcmp.c: Include it.
28758         (test_nonascii): New function, extracted from main. Add some more
28759         tests.
28760         (main): Invoke test_ascii and test_nonascii.
28761         * modules/uninorm/u16-normcmp-tests (Files): Add
28762         tests/uninorm/test-u16-normcmp.h.
28763         (Depends-on): Remove uninorm/u16-normcmp.
28764
28765         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28766         tests/uninorm/test-u8-normcmp.c.
28767         * tests/uninorm/test-u8-normcmp.c: Include it.
28768         (test_nonascii): New function, extracted from main. Add some more
28769         tests.
28770         (main): Invoke test_ascii and test_nonascii.
28771         * modules/uninorm/u8-normcmp-tests (Files): Add
28772         tests/uninorm/test-u8-normcmp.h.
28773         (Depends-on): Remove uninorm/u8-normcmp.
28774
28775 2009-03-07  Bruno Haible  <bruno@clisp.org>
28776
28777         New module 'uninorm/u32-normcoll'.
28778         * lib/uninorm/u32-normcoll.c: New file.
28779         * modules/uninorm/u32-normcoll: New file.
28780
28781         New module 'uninorm/u16-normcoll'.
28782         * lib/uninorm/u16-normcoll.c: New file.
28783         * modules/uninorm/u16-normcoll: New file.
28784
28785         New module 'uninorm/u8-normcoll'.
28786         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28787         declarations.
28788         * lib/uninorm/u8-normcoll.c: New file.
28789         * lib/uninorm/u-normcoll.h: New file.
28790         * modules/uninorm/u8-normcoll: New file.
28791
28792         New module 'uninorm/u32-normxfrm'.
28793         * lib/uninorm/u32-normxfrm.c: New file.
28794         * modules/uninorm/u32-normxfrm: New file.
28795
28796         New module 'uninorm/u16-normxfrm'.
28797         * lib/uninorm/u16-normxfrm.c: New file.
28798         * modules/uninorm/u16-normxfrm: New file.
28799
28800         New module 'uninorm/u8-normxfrm'.
28801         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28802         declarations.
28803         * lib/uninorm/u8-normxfrm.c: New file.
28804         * lib/uninorm/u-normxfrm.h: New file.
28805         * modules/uninorm/u8-normxfrm: New file.
28806
28807 2009-03-07  Bruno Haible  <bruno@clisp.org>
28808
28809         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28810         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28811         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28812
28813 2009-03-07  Bruno Haible  <bruno@clisp.org>
28814
28815         New module 'memxfrm'.
28816         * lib/memxfrm.h: New file.
28817         * lib/memxfrm.c: New file.
28818         * modules/memxfrm: New file.
28819
28820 2009-03-07  Bruno Haible  <bruno@clisp.org>
28821
28822         New module 'memcmp2'.
28823         * lib/memcmp2.h: New file.
28824         * lib/memcmp2.c: New file.
28825         * modules/memcmp2: New file.
28826
28827 2009-03-07  Bruno Haible  <bruno@clisp.org>
28828
28829         Tests for module 'uninorm/decomposing-form'.
28830         * modules/uninorm/decomposing-form-tests: New file.
28831         * tests/uninorm/test-decomposing-form.c: New file.
28832
28833         New module 'uninorm/decomposing-form'.
28834         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28835         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28836         Add 'decomposing_variant' field.
28837         * lib/uninorm/decomposing-form.c: New file.
28838         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28839         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28840         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28841         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28842         * modules/uninorm/decomposing-form: New file.
28843         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28844         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28845
28846 2009-03-07  Bruno Haible  <bruno@clisp.org>
28847
28848         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28849         strings.
28850
28851 2009-03-06  Bruno Haible  <bruno@clisp.org>
28852
28853         Tests for module 'uninorm/u32-normcmp'.
28854         * tests/uninorm/test-u32-normcmp.c: New file.
28855         * modules/uninorm/u32-normcmp-tests: New file.
28856
28857         Tests for module 'uninorm/u16-normcmp'.
28858         * tests/uninorm/test-u16-normcmp.c: New file.
28859         * modules/uninorm/u16-normcmp-tests: New file.
28860
28861         Tests for module 'uninorm/u8-normcmp'.
28862         * tests/uninorm/test-u8-normcmp.c: New file.
28863         * modules/uninorm/u8-normcmp-tests: New file.
28864
28865         New module 'uninorm/u32-normcmp'.
28866         * lib/uninorm/u32-normcmp.c: New file.
28867         * modules/uninorm/u32-normcmp: New file.
28868
28869         New module 'uninorm/u16-normcmp'.
28870         * lib/uninorm/u16-normcmp.c: New file.
28871         * modules/uninorm/u16-normcmp: New file.
28872
28873         New module 'uninorm/u8-normcmp'.
28874         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28875         declarations.
28876         * lib/uninorm/u8-normcmp.c: New file.
28877         * lib/uninorm/u-normcmp.h: New file.
28878         * modules/uninorm/u8-normcmp: New file.
28879
28880 2009-03-06  Bruno Haible  <bruno@clisp.org>
28881
28882         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28883         Reported by Eric Blake.
28884
28885 2009-03-06  Eric Blake  <ebb9@byu.net>
28886             Bruno Haible  <bruno@clisp.org>
28887
28888         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28889         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28890         condition.
28891         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28892         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28893         condition.
28894         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28895
28896 2009-03-06  Eric Blake  <ebb9@byu.net>
28897
28898         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28899         to avoid compiler warnings.
28900         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28901
28902 2009-03-05  Bruno Haible  <bruno@clisp.org>
28903
28904         * tests/test-ftell.c (main): Disable test beyond end of file on
28905         FreeMiNT.
28906         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28907
28908 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28909
28910         * lib/filevercmp.c: Move hidden files up in ordering.
28911         * tests/test-filevercmp.c: Add tests for hidden files.
28912
28913 2009-03-04  Bruno Haible  <bruno@clisp.org>
28914
28915         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28916         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28917         AM_CFLAGS.
28918         Reported by Simon Josefsson.
28919
28920 2009-03-03  Bruno Haible  <bruno@clisp.org>
28921
28922         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28923         Reported by Simon Josefsson.
28924
28925         * doc/ld-version-script.texi: Update node reference.
28926
28927 2009-03-03  Bruno Haible  <bruno@clisp.org>
28928
28929         * modules/visibility (License): Change to 'unlimited'.
28930         Suggested by Simon Josefsson.
28931
28932 2009-03-03  Jim Meyering  <meyering@redhat.com>
28933
28934         unlinkdir: cannot_unlink_dir may modify process state
28935         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
28936         it's neither thread-safe nor appropriate for use in a library.
28937
28938 2009-03-03  Eric Blake  <ebb9@byu.net>
28939
28940         test-closein: silence test under Darwin
28941         * tests/test-closein.sh: Ignore stderr from cat, since we don't
28942         care if it dies from EPIPE or EBADF.
28943
28944 2009-03-03  Bruno Haible  <bruno@clisp.org>
28945
28946         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
28947         earlier.
28948         * doc/visibility.texi: Fix @node and @section.
28949
28950 2009-03-03  Simon Josefsson  <simon@josefsson.org>
28951
28952         * doc/gnulib.texi: Link to sections for ld version script and
28953         visibility.
28954         * doc/visibility.texi: Add @node and @section.
28955         * modules/ld-version-script: New module.
28956         * m4/ld-version-script.m4: New file.
28957         * doc/ld-version-script.texi: New file.
28958
28959 2009-03-02  David Lutterkort  <lutter@redhat.com>
28960
28961         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
28962         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28963
28964 2009-03-02  Bruno Haible  <bruno@clisp.org>
28965
28966         * doc/visibility.texi: Mention libtool's -export-symbols option.
28967
28968 2009-03-02  Jim Meyering  <meyering@redhat.com>
28969
28970         announce-gen: new option: --no-print-checksums
28971         * build-aux/announce-gen (usage): Describe it.
28972         (print_checksums): Print a newline here, not in the [*] footnote.
28973         (main): Honor it.
28974
28975 2009-03-01  Bruno Haible  <bruno@clisp.org>
28976
28977         Use socklen_t in the native Windows replacements prototypes.
28978         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
28979         instead of 'int'.
28980         * lib/getsockopt.c (rpl_getsockopt): Likewise.
28981         * lib/setsockopt.c (rpl_setsockopt): Likewise.
28982         * modules/getsockopt (Depends-on): Add socklen.
28983         * modules/setsockopt (Depends-on): Add socklen.
28984
28985 2009-03-01  Bruno Haible  <bruno@clisp.org>
28986
28987         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
28988         least 4.2.
28989
28990 2009-03-01  Eric Blake  <ebb9@byu.net>
28991             Bruno Haible  <bruno@clisp.org>
28992
28993         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
28994         error messages.
28995         * lib/wait-process.c (wait_subprocess): Omit error message about
28996         deadly signal sent to the child of termsigp != NULL.
28997
28998 2009-03-01  Eric Blake  <ebb9@byu.net>
28999
29000         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
29001
29002 2009-03-01  Bruno Haible  <bruno@clisp.org>
29003
29004         Avoid a gcc warning.
29005         * tests/test-sched.c (b): Make global.
29006         Reported by Eric Blake.
29007
29008 2009-01-19  Martin Lambers  <marlam@marlam.de>
29009
29010         Provide POSIX semantics for socket timeout options on W32.
29011         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
29012         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
29013         * modules/setsockopt: Depend on sys_time module for struct timeval.
29014         * modules/getsockopt: Depend on sys_time module for struct timeval.
29015
29016 2009-03-01  Simon Josefsson  <simon@josefsson.org>
29017
29018         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
29019         __USE_GNU, for consistency with netdb.in.h.
29020         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29021
29022 2009-03-01  Bruno Haible  <bruno@clisp.org>
29023
29024         More support for FreeMiNT.
29025         * lib/fseeko.c (rpl_fseeko): Complete last commit.
29026         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29027
29028 2009-03-01  Bruno Haible  <bruno@clisp.org>
29029
29030         More support for FreeMiNT.
29031         * lib/fpurge.c (fpurge): Correct last commit.
29032         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29033
29034 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29035
29036         Fix unportable awk script in vc-list-files.
29037         * build-aux/vc-list-files: In the replacement awk script, use
29038         substr with a second argument of 1, not zero.
29039         Report by Simon Josefsson.
29040
29041 2009-02-28  Bruno Haible  <bruno@clisp.org>
29042
29043         More support for FreeMiNT.
29044         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
29045         to FreeMiNT today.
29046         * lib/fwriting.c (fwriting): Likewise.
29047         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
29048
29049 2009-02-28  Bruno Haible  <bruno@clisp.org>
29050
29051         * tests/test-freadseek.c (main): Disable test beyond end of file on
29052         FreeMiNT.
29053         * tests/test-ftello.c (main): Likewise.
29054         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29055
29056 2009-02-28  Bruno Haible  <bruno@clisp.org>
29057
29058         Add tentative support for FreeMiNT.
29059         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
29060         * lib/fpurge.c (fpurge): Likewise.
29061         * lib/freadable.c (freadable): Likewise.
29062         * lib/freading.c (freading): Likewise.
29063         * lib/freadptr.c (freadptr): Likewise.
29064         * lib/freadseek.c (freadptrinc): Likewise.
29065         * lib/fseeko.c (rpl_fseeko): Likewise.
29066         * lib/fseterr.c (fseterr): Likewise.
29067         * lib/fwritable.c (fwritable): Likewise.
29068         * lib/fwriting.c (fwriting): Likewise.
29069         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
29070         Hourihane.
29071         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29072
29073 2009-02-28  Bruno Haible  <bruno@clisp.org>
29074
29075         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
29076         SIGCHLD.
29077         Reported by Jim Meyering.
29078
29079 2009-02-28  Bruno Haible  <bruno@clisp.org>
29080
29081         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
29082         Mention the results of these tests on various platforms.
29083         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
29084         order.
29085         * doc/posix-functions/printf.texi: Likewise.
29086         * doc/posix-functions/snprintf.texi: Likewise.
29087         * doc/posix-functions/sprintf.texi: Likewise.
29088         * doc/posix-functions/vfprintf.texi: Likewise.
29089         * doc/posix-functions/vprintf.texi: Likewise.
29090         * doc/posix-functions/vsnprintf.texi: Likewise.
29091         * doc/posix-functions/vsprintf.texi: Likewise.
29092         * doc/glibc-functions/obstack_printf.texi: Likewise.
29093         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29094
29095 2009-02-28  Bruno Haible  <bruno@clisp.org>
29096
29097         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
29098         Reported by Loïc Minier <lool@dooz.org>.
29099
29100 2009-02-27  Bruno Haible  <bruno@clisp.org>
29101
29102         * gnulib-tool (func_import): Make the sed expression used to create the
29103         sed script for updating the .gitignore file POSIX compliant.
29104         Reported by Eric Blake.
29105
29106 2009-02-27  Bruno Haible  <bruno@clisp.org>
29107
29108         * gnulib-tool (sed): Don't alias as "sed --posix".
29109         Reported by Eric Blake.
29110
29111 2009-02-27  Bruno Haible  <bruno@clisp.org>
29112
29113         Avoid test link errors.
29114         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
29115         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
29116         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
29117         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
29118         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29119
29120 2009-02-27  Bruno Haible  <bruno@clisp.org>
29121
29122         Avoid spurious "(cached)" in configure output.
29123         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
29124         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
29125         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29126         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29127         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29128         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29129         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29130         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29131         Reported by Eric Blake.
29132
29133 2009-02-27  Eric Blake  <ebb9@byu.net>
29134
29135         printf: fix regression in previous patch
29136         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
29137
29138 2009-02-27  Bruno Haible  <bruno@clisp.org>
29139
29140         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
29141         value.
29142         * lib/stdint.in.h: Likewise.
29143         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
29144
29145 2009-02-27  Eric Blake  <ebb9@byu.net>
29146
29147         doc: mention more functions added in cygwin 1.7.0
29148         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
29149         addition.
29150         * doc/posix-functions/open_wmemstream.texi: Likewise.
29151         * doc/posix-functions/wcsnlen.texi: Likewise.
29152         * doc/posix-functions/wcsnrtombs.texi: Likewise.
29153         * doc/posix-functions/wcstod.texi: Likewise.
29154         * doc/posix-functions/wcstof.texi: Likewise.
29155         * doc/posix-functions/wcstoimax.texi: Likewise.
29156         * doc/posix-functions/wcstok.texi: Likewise.
29157         * doc/posix-functions/wcstoumax.texi: Likewise.
29158
29159         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
29160         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
29161         * doc/posix-functions/fprintf.texi: Update.
29162         * doc/posix-functions/printf.texi: Update.
29163         * doc/posix-functions/snprintf.texi: Update.
29164         * doc/posix-functions/sprintf.texi: Update.
29165         * doc/posix-functions/vfprintf.texi: Update.
29166         * doc/posix-functions/vprintf.texi: Update.
29167         * doc/posix-functions/vsnprintf.texi: Update.
29168         * doc/posix-functions/vsprintf.texi: Update.
29169         * doc/glibc-functions/obstack_printf.texi: Update.
29170         * doc/glibc-functions/obstack_vprintf.texi: Update.
29171
29172 2009-02-26  Eric Blake  <ebb9@byu.net>
29173
29174         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
29175         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
29176         compilation bug by using runtime conversion.
29177         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29178         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
29179         * modules/ceill-tests (Files): Use nan.h.
29180         * modules/floorl-tests (Files): Likewise.
29181         * modules/frexpl-tests (Files): Likewise.
29182         * modules/isnanl-tests (Files): Likewise.
29183         * modules/ldexpl-tests (Files): Likewise.
29184         * modules/roundl-tests (Files): Likewise.
29185         * modules/truncl-tests (Files): Likewise.
29186         * tests/test-ceill.c (main): Use a working NaN.
29187         * tests/test-floorl.c (main): Likewise.
29188         * tests/test-frexpl.c (main): Likewise.
29189         * tests/test-isnan.c (test_long_double): Likewise.
29190         * tests/test-isnanl.h (main): Likewise.
29191         * tests/test-ldexpl.h (main): Likewise.
29192         * tests/test-roundl.h (main): Likewise.
29193         * tests/test-truncl.h (main): Likewise.
29194         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
29195
29196 2009-02-26  Eric Blake  <ebb9@byu.net>
29197             Bruno Haible  <bruno@clisp.org>
29198
29199         Work around a *printf bug with %ls on Solaris.
29200         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
29201         precision is specified, sprintf stops converting the wide string
29202         argument when the number of bytes that have been produced by this
29203         conversion equals or exceeds the precision.
29204         * doc/posix-functions/fprintf.texi: Update.
29205         * doc/posix-functions/printf.texi: Update.
29206         * doc/posix-functions/snprintf.texi: Update.
29207         * doc/posix-functions/sprintf.texi: Update.
29208         * doc/posix-functions/vfprintf.texi: Update.
29209         * doc/posix-functions/vprintf.texi: Update.
29210         * doc/posix-functions/vsnprintf.texi: Update.
29211         * doc/posix-functions/vsprintf.texi: Update.
29212         * doc/glibc-functions/obstack_printf.texi: Update.
29213         * doc/glibc-functions/obstack_vprintf.texi: Update.
29214
29215 2009-02-26  Eric Blake  <ebb9@byu.net>
29216
29217         stdlib: favor compiler check of random.h
29218         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
29219         to avoid an ObjC random.h installed by Swarm.
29220
29221 2009-02-26  Bruno Haible  <bruno@clisp.org>
29222
29223         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
29224         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
29225         Reported by Gary V. Vaughan <gary@gnu.org>.
29226
29227 2009-02-26  Bruno Haible  <bruno@clisp.org>
29228
29229         Fix *printf behaviour regarding the %ls directive.
29230         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
29231         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
29232         NEED_PRINTF_DIRECTIVE_LS.
29233         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
29234         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29235         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29236         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
29237         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
29238         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
29239         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29241         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29243         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29244         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
29245         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29246         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29247         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29248         * doc/posix-functions/fprintf.texi: Update.
29249         * doc/posix-functions/printf.texi: Update.
29250         * doc/posix-functions/snprintf.texi: Update.
29251         * doc/posix-functions/sprintf.texi: Update.
29252         * doc/posix-functions/vfprintf.texi: Update.
29253         * doc/posix-functions/vprintf.texi: Update.
29254         * doc/posix-functions/vsnprintf.texi: Update.
29255         * doc/posix-functions/vsprintf.texi: Update.
29256         * doc/glibc-functions/obstack_printf.texi: Update.
29257         * doc/glibc-functions/obstack_vprintf.texi: Update.
29258         Reported by Eric Blake.
29259
29260 2009-02-25  Bruno Haible  <bruno@clisp.org>
29261
29262         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
29263         with known value.
29264         Reported by Gary V. Vaughan <gary@gnu.org>.
29265
29266 2009-02-25  Bruno Haible  <bruno@clisp.org>
29267
29268         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
29269         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
29270         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
29271         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
29272         Reported by Gary V. Vaughan <gary@gnu.org>.
29273
29274 2009-02-25  Bruno Haible  <bruno@clisp.org>
29275
29276         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
29277         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
29278         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
29279         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
29280         Reported by Gary V. Vaughan <gary@gnu.org>.
29281
29282 2009-02-25  Eric Blake  <ebb9@byu.net>
29283
29284         tests: skip fseek/ftell tests if ungetc is broken
29285         * m4/ungetc.m4: New file.
29286         * modules/fseek-tests: Split test, so ungetc dependency is
29287         separate from rest of test.
29288         * modules/fseeko-tests: Likewise.
29289         * modules/ftell-tests: Likewise.
29290         * modules/ftello-tests: Likewise.
29291         * tests/test-fseek.c (main): Isolate ungetc dependency.
29292         * tests/test-fseeko.c (main): Likewise.
29293         * tests/test-ftell.c (main): Likewise.
29294         * tests/test-ftello.c (main): Likewise.
29295         * tests/test-fseek2.sh: New file.
29296         * tests/test-fseeko2.sh: Likewise.
29297         * tests/test-ftell2.sh: Likewise.
29298         * tests/test-ftello2.sh: Likewise.
29299
29300 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
29301
29302         test-getaddrinfo: fix usage of skip return code 77
29303         * tests/test-gettaddrinfo.c: Return skip code 77 only
29304         for first occurance of skip (4x77 is not 77)
29305
29306 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
29307
29308         strtod: avoid C99 decl-after-statement
29309         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
29310
29311 2009-02-24  Eric Blake  <ebb9@byu.net>
29312
29313         strtod: detect HP-UX 11.31 bug
29314         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
29315         Reported by Gary V. Vaughan.
29316
29317 2009-02-23  Bruno Haible  <bruno@clisp.org>
29318
29319         Fix invalid read past end of memory block.
29320         * lib/vasnprintf.c (DCHAR_SET): Define.
29321         (local_wcslen): Define only when needed.
29322         (local_strnlen, local_wcsnlen): New functions.
29323         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
29324         directives that involve a conversion ourselves.
29325         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
29326         wcsnlen, mbrtowc, wcrtomb.
29327         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
29328         * tests/test-vasprintf-posix.c (test_function): Likewise.
29329         * tests/test-snprintf-posix.h (test_function): Likewise.
29330         * tests/test-sprintf-posix.h (test_function): Likewise.
29331         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29332
29333 2009-02-22  Bruno Haible  <bruno@clisp.org>
29334
29335         Implement new clarified decomposition of Hangul syllables.
29336         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
29337         of type LTV, return only a pairwise decomposition.
29338         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
29339         Likewise.
29340         * tests/uninorm/test-decomposition.c (main): Updated expected result.
29341         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
29342         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
29343
29344 2009-02-22  Bruno Haible  <bruno@clisp.org>
29345
29346         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
29347         zero-length results and shrink excess allocated memory.
29348         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
29349         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
29350         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
29351         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
29352         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
29353         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
29354         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
29355         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
29356         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
29357         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
29358         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
29359         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
29360
29361 2009-02-21  Bruno Haible  <bruno@clisp.org>
29362
29363         * doc/gnulib.texi: Include safe-alloc.texi earlier.
29364         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
29365         spaces after a period. Put a space between a macro name and its
29366         argument list. Trivial rewordings.
29367         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
29368         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
29369         (main): Return 0 explicitly.
29370
29371 2009-02-21  Bruno Haible  <bruno@clisp.org>
29372
29373         Tests for module 'uninorm/filter'.
29374         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
29375         * modules/uninorm/filter-tests: New file.
29376
29377         New module 'uninorm/filter'.
29378         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
29379         uninorm_filter_flush, uninorm_filter_free): New declarations.
29380         * lib/uninorm/uninorm-filter.c: New file.
29381         * modules/uninorm/filter: New file.
29382
29383 2009-02-21  Bruno Haible  <bruno@clisp.org>
29384
29385         Tests for module 'uninorm/nfkc'.
29386         * tests/uninorm/test-nfkc.c: New file.
29387         * tests/uninorm/test-u8-nfkc.c: New file.
29388         * tests/uninorm/test-u16-nfkc.c: New file.
29389         * tests/uninorm/test-u32-nfkc.c: New file.
29390         * tests/uninorm/test-u32-nfkc-big.sh: New file.
29391         * tests/uninorm/test-u32-nfkc-big.c: New file.
29392         * modules/uninorm/nfkc-tests: New file.
29393
29394         New module 'uninorm/nfkc'.
29395         * lib/uninorm/nfkc.c: New file.
29396         * modules/uninorm/nfkc: New file.
29397
29398         Tests for module 'uninorm/nfkd'.
29399         * tests/uninorm/test-nfkd.c: New file.
29400         * tests/uninorm/test-u8-nfkd.c: New file.
29401         * tests/uninorm/test-u16-nfkd.c: New file.
29402         * tests/uninorm/test-u32-nfkd.c: New file.
29403         * tests/uninorm/test-u32-nfkd-big.sh: New file.
29404         * tests/uninorm/test-u32-nfkd-big.c: New file.
29405         * modules/uninorm/nfkd-tests: New file.
29406
29407         New module 'uninorm/nfkd'.
29408         * lib/uninorm/nfkd.c: New file.
29409         * modules/uninorm/nfkd: New file.
29410
29411         Tests for module 'uninorm/nfc'.
29412         * tests/uninorm/test-nfc.c: New file.
29413         * tests/uninorm/test-u8-nfc.c: New file.
29414         * tests/uninorm/test-u16-nfc.c: New file.
29415         * tests/uninorm/test-u32-nfc.c: New file.
29416         * tests/uninorm/test-u32-nfc-big.sh: New file.
29417         * tests/uninorm/test-u32-nfc-big.c: New file.
29418         * modules/uninorm/nfc-tests: New file.
29419
29420         New module 'uninorm/nfc'.
29421         * lib/uninorm/nfc.c: New file.
29422         * modules/uninorm/nfc: New file.
29423
29424         Tests for module 'uninorm/nfd'.
29425         * tests/uninorm/test-nfd.c: New file.
29426         * tests/uninorm/test-u8-nfd.c: New file.
29427         * tests/uninorm/test-u16-nfd.c: New file.
29428         * tests/uninorm/test-u32-nfd.c: New file.
29429         * tests/uninorm/test-u32-nfd-big.sh: New file.
29430         * tests/uninorm/test-u32-nfd-big.c: New file.
29431         * tests/uninorm/test-u32-normalize-big.h: New file.
29432         * tests/uninorm/test-u32-normalize-big.c: New file.
29433         * tests/uninorm/NormalizationTest.txt: New file, created from
29434         Unicode 5.1.0 NormalizationTest.txt.
29435         * modules/uninorm/nfd-tests: New file.
29436
29437         New module 'uninorm/nfd'.
29438         * lib/uninorm/nfd.c: New file.
29439         * modules/uninorm/nfd: New file.
29440
29441         New module 'uninorm/u32-normalize'.
29442         * lib/uninorm/u32-normalize.c: New file.
29443         * modules/uninorm/u32-normalize: New file.
29444
29445         New module 'uninorm/u16-normalize'.
29446         * lib/uninorm/u16-normalize.c: New file.
29447         * modules/uninorm/u16-normalize: New file.
29448
29449         New module 'uninorm/u8-normalize'.
29450         * lib/uninorm/u8-normalize.c: New file.
29451         * lib/uninorm/normalize-internal.h: New file.
29452         * lib/uninorm/u-normalize-internal.h: New file.
29453         * modules/uninorm/u8-normalize: New file.
29454
29455         New module 'uninorm/decompose-internal'.
29456         * lib/uninorm/decompose-internal.c: New file.
29457         * modules/uninorm/decompose-internal: New file.
29458
29459         Tests for module 'uninorm/composition'.
29460         * tests/uninorm/test-composition.c: New file.
29461         * modules/uninorm/composition-tests: New file.
29462
29463         New module 'uninorm/composition'.
29464         * lib/uninorm/composition.c: New file.
29465         * lib/uninorm/composition-table.gperf: New file, generated by
29466         gen-uni-tables.
29467         * modules/uninorm/composition: New file.
29468
29469         Tests for module 'uninorm/compat-decomposition'.
29470         * tests/uninorm/test-compat-decomposition.c: New file.
29471         * modules/uninorm/compat-decomposition-tests: New file.
29472
29473         New module 'uninorm/compat-decomposition'.
29474         * lib/uninorm/decompose-internal.h: New file.
29475         * lib/uninorm/compat-decomposition.c: New file.
29476         * modules/uninorm/compat-decomposition: New file.
29477
29478         Tests for module 'uninorm/canonical-decomposition'.
29479         * tests/uninorm/test-canonical-decomposition.c: New file.
29480         * modules/uninorm/canonical-decomposition-tests: New file.
29481
29482         New module 'uninorm/canonical-decomposition'.
29483         * lib/uninorm/canonical-decomposition.c: New file.
29484         * modules/uninorm/canonical-decomposition: New file.
29485
29486         Tests for module 'uninorm/decomposition'.
29487         * tests/uninorm/test-decomposition.c: New file.
29488         * modules/uninorm/decomposition-tests: New file.
29489
29490         New module 'uninorm/decomposition'.
29491         * lib/uninorm/decomposition.c: New file.
29492         * modules/uninorm/decomposition: New file.
29493
29494         New module 'uninorm/decomposition-table'.
29495         * lib/uninorm/decomposition-table.h: New file.
29496         * lib/uninorm/decomposition-table.c: New file.
29497         * lib/uninorm/decomposition-table1.h: New file, generated by
29498         gen-uni-tables.
29499         * lib/uninorm/decomposition-table2.h: New file, generated by
29500         gen-uni-tables.
29501         * modules/uninorm/decomposition-table: New file.
29502
29503         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
29504         (UC_DECOMP_*): New enumeration items.
29505         (get_decomposition): New function.
29506         (struct decomp_table): New type.
29507         (output_decomposition, output_decomposition_tables): New functions.
29508         (unicode_composition_exclusions): New variable.
29509         (fill_composition_exclusions, debug_output_composition_tables): New
29510         functions.
29511         (main): Accept one more argument. Invoke fill_composition_exclusions.
29512         Output decomposition and composition tables.
29513
29514         New module 'uninorm/base'.
29515         * lib/uninorm.h: New file.
29516         * lib/unictype.h: Update comment.
29517         * modules/uninorm/base: New file.
29518
29519 2009-02-21  David Lutterkort  <lutter@redhat.com>
29520
29521         Tests for module 'safe-alloc'.
29522         * tests/test-safe-alloc.c: New file.
29523         * modules/safe-alloc-tests: New file.
29524
29525         New module 'safe-alloc'.
29526         * lib/safe-alloc.h: New file.
29527         * lib/safe-alloc.c: New file.
29528         * m4/safe-alloc.m4: New file.
29529         * modules/safe-alloc: New file.
29530         * doc/safe-alloc.texi: New file.
29531         * doc/gnulib.texi: Include it.
29532         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29533         safe-alloc.
29534
29535 2009-02-18  Bruno Haible  <bruno@clisp.org>
29536
29537         Fix link error on non-glibc systems.
29538         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
29539         variable.
29540         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29541
29542 2009-02-18  Jim Meyering  <meyering@redhat.com>
29543
29544         fts: avoid used-uninitialized error due to recent change
29545         * lib/fts.c (fts_read): Guard uses of the new member,
29546         parent->fts_n_dirs_remaining, since it's not relevant for
29547         the parent of a directory specified on the command-line.
29548
29549 2009-02-17  James Youngman  <jay@gnu.org>
29550             Bruno Haible  <bruno@clisp.org>
29551
29552         * m4/include_next.m4: Reformulate comment.
29553
29554 2009-02-16  Jim Meyering  <meyering@redhat.com>
29555
29556         fts: add #if guards so that the fts_lgpl module still builds
29557         * lib/fts.c: Guard just-added hash-table-using parts with
29558         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
29559         Reported by Simon Josefsson.
29560
29561 2009-02-15  Bruno Haible  <bruno@clisp.org>
29562
29563         * modules/array-mergesort-tests: New file.
29564         * tests/test-array-mergesort.c: New file.
29565
29566         New module 'array-mergesort'.
29567         * modules/array-mergesort: New file.
29568         * lib/array-mergesort.h: New file.
29569
29570 2009-02-15  Bruno Haible  <bruno@clisp.org>
29571
29572         Fix 2009-02-07 commit.
29573         * lib/gen-uni-tables.c (output_predicate, output_category,
29574         output_combclass, output_bidi_category, output_decimal_digit,
29575         output_digit, output_numeric, output_mirror, output_scripts,
29576         output_ident_category, output_simple_mapping): Fix format directives.
29577         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
29578
29579 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
29580
29581         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
29582         fixes are available from IBM.
29583
29584 2009-02-13  Jim Meyering  <meyering@redhat.com>
29585
29586         fts: arrange not to stat non-directories in more cases
29587         This makes GNU find (when it doesn't need to stat each file)
29588         *much* more efficient at traversing reiserfs file systems.
29589         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
29590         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
29591         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
29592         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
29593         (leaf_optimization_applies): New function.
29594         (LCO_hash, LCO_compare): New helper functions.
29595         (link_count_optimize_ok): New function.
29596         (fts_stat): Initialize new member (if dir).
29597         (fts_read): Decrement parent's fts_n_dirs_remaining count if
29598         we've just stat'ed a directory.  Skip the stat call when possible.
29599         ---
29600         Note this AFS-related exchange:
29601         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
29602         and note find's pioctl call in find/fstype.c.
29603         But that is necessary only if you want to enable the
29604         optimization for AFS, and for now, I don't.
29605
29606         fts: move a function definition "up" (no semantic change)
29607         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
29608         "up" to precede upcoming use of a related function.
29609
29610 2009-02-11  Jim Meyering  <meyering@redhat.com>
29611
29612         fts: correct internal computation of nlinks (optimization-related)
29613         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
29614         whether the current entry is a directory, so don't test it.
29615
29616 2009-02-10  Bruno Haible  <bruno@clisp.org>
29617
29618         Tests for module 'uniwbrk/ulc-wordbreaks'.
29619         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
29620         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
29621         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
29622
29623         Tests for module 'uniwbrk/u32-wordbreaks'.
29624         * modules/uniwbrk/u32-wordbreaks-tests: New file.
29625         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
29626
29627         Tests for module 'uniwbrk/u16-wordbreaks'.
29628         * modules/uniwbrk/u16-wordbreaks-tests: New file.
29629         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
29630
29631         Tests for module 'uniwbrk/u8-wordbreaks'.
29632         * modules/uniwbrk/u8-wordbreaks-tests: New file.
29633         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
29634
29635 2009-02-10  Bruno Haible  <bruno@clisp.org>
29636
29637         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
29638         property.
29639         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
29640         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
29641         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
29642
29643 2009-02-10  Simon Josefsson  <simon@josefsson.org>
29644
29645         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
29646         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
29647
29648 2009-02-10  Bruno Haible  <bruno@clisp.org>
29649
29650         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
29651         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
29652         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
29653         * lib/unilbrk/u8-possible-linebreaks.c: Update.
29654         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
29655         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
29656
29657 2009-02-09  Simon Josefsson  <simon@josefsson.org>
29658
29659         * lib/sockets.h (gl_fd_to_handle): New function.
29660
29661         * tests/test-sockets.c: Call gl_fd_to_handle.
29662
29663 2009-02-09  Bruno Haible  <bruno@clisp.org>
29664
29665         * doc/havelib.texi: Document the conventions on bi-arch systems.
29666
29667 2009-02-08  Bruno Haible  <bruno@clisp.org>
29668
29669         Document the AC_LIB_LINKFLAGS macro.
29670         * doc/havelib.texi: New file, mostly written on 2005-05-24.
29671         * doc/gnulib.texi: Include it.
29672
29673 2009-02-08  Bruno Haible  <bruno@clisp.org>
29674
29675         Fix wrong order of sections, compared to TOC.
29676         * doc/gnulib.texi: Include relocatable-maint.texi after the
29677         "Regular expressions" node, not before.
29678
29679 2009-02-08  Bruno Haible  <bruno@clisp.org>
29680
29681         Tests for module 'unicase/totitle'.
29682         * modules/unicase/totitle-tests: New file.
29683
29684         Tests for module 'unicase/tolower'.
29685         * modules/unicase/tolower-tests: New file.
29686
29687         Tests for module 'unicase/toupper'.
29688         * modules/unicase/toupper-tests: New file.
29689         * tests/unicase/test-mapping-part1.h: New file.
29690         * tests/unicase/test-mapping-part2.h: New file.
29691
29692         New module 'unicase/totitle'.
29693         * modules/unicase/totitle: New file.
29694         * lib/unicase/totitle.c: New file.
29695
29696         New module 'unicase/tolower'.
29697         * modules/unicase/tolower: New file.
29698         * lib/unicase/tolower.c: New file.
29699
29700         New module 'unicase/toupper'.
29701         * modules/unicase/toupper: New file.
29702         * lib/unicase/toupper.c: New file.
29703         * lib/unicase/simple-mapping.h: New file.
29704
29705         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29706         (mapping_table): New structure.
29707         (output_simple_mapping): New function.
29708         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29709         * modules/gen-uni-tables (Description): Update.
29710         * lib/unicase/toupper.h: New file, automatically generated by
29711         gen-uni-tables.
29712         * lib/unicase/tolower.h: New file, automatically generated by
29713         gen-uni-tables.
29714         * lib/unicase/totitle.h: New file, automatically generated by
29715         gen-uni-tables.
29716         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29717         gen-uni-tables.
29718         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29719         gen-uni-tables.
29720         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29721         gen-uni-tables.
29722
29723         New module 'unicase/base'.
29724         * modules/unicase/base: New file.
29725         * lib/unicase.h: New file.
29726
29727 2009-02-08  Bruno Haible  <bruno@clisp.org>
29728
29729         New module 'uniwbrk/ulc-wordbreaks'.
29730         * modules/uniwbrk/ulc-wordbreaks: New file.
29731         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29732
29733         New module 'uniwbrk/u32-wordbreaks'.
29734         * modules/uniwbrk/u32-wordbreaks: New file.
29735         * lib/uniwbrk/u32-wordbreaks.c: New file.
29736
29737         New module 'uniwbrk/u16-wordbreaks'.
29738         * modules/uniwbrk/u16-wordbreaks: New file.
29739         * lib/uniwbrk/u16-wordbreaks.c: New file.
29740
29741         New module 'uniwbrk/u8-wordbreaks'.
29742         * modules/uniwbrk/u8-wordbreaks: New file.
29743         * lib/uniwbrk/u8-wordbreaks.c: New file.
29744         * lib/uniwbrk/u-wordbreaks.h: New file.
29745
29746         New module 'uniwbrk/table'.
29747         * modules/uniwbrk/table: New file.
29748         * lib/uniwbrk/wbrktable.h: New file.
29749         * lib/uniwbrk/wbrktable.c: New file.
29750
29751         New module 'uniwbrk/wordbreak-property'.
29752         * modules/uniwbrk/wordbreak-property: New file.
29753         * lib/uniwbrk/wordbreak-property.c: New file.
29754
29755         * lib/gen-uni-tables.c (WBP_*): New enum items.
29756         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29757         (unicode_org_wbp): New variable.
29758         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29759         New functions.
29760         (wbp_table): New structure.
29761         (output_wbp, output_wbrk_tables): New functions.
29762         (main): Accept additional argument. Invoke fill_org_wbp,
29763         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29764         output_wbrk_tables.
29765         * modules/gen-uni-tables (Description): Update.
29766         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29767         gen-uni-tables.
29768
29769         New module 'uniwbrk/base'.
29770         * modules/uniwbrk/base: New file.
29771         * lib/uniwbrk.h: New file.
29772
29773 2009-02-08  Bruno Haible  <bruno@clisp.org>
29774
29775         Update to Unicode 5.1.0.
29776         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29777         U+2185..U+2188.
29778         (is_property_default_ignorable_code_point): Don't include characters
29779         of category Cc or Cs and not-a-characters.
29780         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29781         U+0D79, U+109E, U+109F, U+A60C.
29782         * lib/unictype/bidi_of.h: Regenerated.
29783         * lib/unictype/blocks.h: Regenerated.
29784         * lib/unictype/categ_C.h: Regenerated.
29785         * lib/unictype/categ_Cf.h: Regenerated.
29786         * lib/unictype/categ_Cn.h: Regenerated.
29787         * lib/unictype/categ_L.h: Regenerated.
29788         * lib/unictype/categ_Ll.h: Regenerated.
29789         * lib/unictype/categ_Lm.h: Regenerated.
29790         * lib/unictype/categ_Lo.h: Regenerated.
29791         * lib/unictype/categ_Lu.h: Regenerated.
29792         * lib/unictype/categ_M.h: Regenerated.
29793         * lib/unictype/categ_Mc.h: Regenerated.
29794         * lib/unictype/categ_Me.h: Regenerated.
29795         * lib/unictype/categ_Mn.h: Regenerated.
29796         * lib/unictype/categ_N.h: Regenerated.
29797         * lib/unictype/categ_Nd.h: Regenerated.
29798         * lib/unictype/categ_Nl.h: Regenerated.
29799         * lib/unictype/categ_No.h: Regenerated.
29800         * lib/unictype/categ_P.h: Regenerated.
29801         * lib/unictype/categ_Pd.h: Regenerated.
29802         * lib/unictype/categ_Pe.h: Regenerated.
29803         * lib/unictype/categ_Pf.h: Regenerated.
29804         * lib/unictype/categ_Pi.h: Regenerated.
29805         * lib/unictype/categ_Po.h: Regenerated.
29806         * lib/unictype/categ_Ps.h: Regenerated.
29807         * lib/unictype/categ_S.h: Regenerated.
29808         * lib/unictype/categ_Sk.h: Regenerated.
29809         * lib/unictype/categ_Sm.h: Regenerated.
29810         * lib/unictype/categ_So.h: Regenerated.
29811         * lib/unictype/categ_of.h: Regenerated.
29812         * lib/unictype/combining.h: Regenerated.
29813         * lib/unictype/ctype_alnum.h: Regenerated.
29814         * lib/unictype/ctype_alpha.h: Regenerated.
29815         * lib/unictype/ctype_graph.h: Regenerated.
29816         * lib/unictype/ctype_lower.h: Regenerated.
29817         * lib/unictype/ctype_print.h: Regenerated.
29818         * lib/unictype/ctype_punct.h: Regenerated.
29819         * lib/unictype/ctype_upper.h: Regenerated.
29820         * lib/unictype/decdigit.h: Regenerated.
29821         * lib/unictype/digit.h: Regenerated.
29822         * lib/unictype/mirror.h: Regenerated.
29823         * lib/unictype/numeric.h: Regenerated.
29824         * lib/unictype/pr_alphabetic.h: Regenerated.
29825         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29826         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29827         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29828         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29829         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29830         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29831         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29832         * lib/unictype/pr_combining.h: Regenerated.
29833         * lib/unictype/pr_dash.h: Regenerated.
29834         * lib/unictype/pr_decimal_digit.h: Regenerated.
29835         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29836         * lib/unictype/pr_deprecated.h: Regenerated.
29837         * lib/unictype/pr_diacritic.h: Regenerated.
29838         * lib/unictype/pr_extender.h: Regenerated.
29839         * lib/unictype/pr_format_control.h: Regenerated.
29840         * lib/unictype/pr_grapheme_base.h: Regenerated.
29841         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29842         * lib/unictype/pr_grapheme_link.h: Regenerated.
29843         * lib/unictype/pr_id_continue.h: Regenerated.
29844         * lib/unictype/pr_id_start.h: Regenerated.
29845         * lib/unictype/pr_ideographic.h: Regenerated.
29846         * lib/unictype/pr_ignorable_control.h: Regenerated.
29847         * lib/unictype/pr_lowercase.h: Regenerated.
29848         * lib/unictype/pr_math.h: Regenerated.
29849         * lib/unictype/pr_numeric.h: Regenerated.
29850         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29851         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29852         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29853         * lib/unictype/pr_other_id_continue.h: Regenerated.
29854         * lib/unictype/pr_other_lowercase.h: Regenerated.
29855         * lib/unictype/pr_other_math.h: Regenerated.
29856         * lib/unictype/pr_punctuation.h: Regenerated.
29857         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29858         * lib/unictype/pr_soft_dotted.h: Regenerated.
29859         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29860         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29861         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29862         * lib/unictype/pr_uppercase.h: Regenerated.
29863         * lib/unictype/pr_xid_continue.h: Regenerated.
29864         * lib/unictype/pr_xid_start.h: Regenerated.
29865         * lib/unictype/pr_zero_width.h: Regenerated.
29866         * lib/unictype/scripts.h: Regenerated.
29867         * lib/unictype/scripts_byname.gperf: Regenerated.
29868         * lib/unictype/sy_java_ident.h: Regenerated.
29869         * lib/unilbrk/lbrkprop1.h: Regenerated.
29870         * lib/unilbrk/lbrkprop2.h: Regenerated.
29871         * tests/unictype/test-categ_C.c: Regenerated.
29872         * tests/unictype/test-categ_Cf.c: Regenerated.
29873         * tests/unictype/test-categ_Cn.c: Regenerated.
29874         * tests/unictype/test-categ_L.c: Regenerated.
29875         * tests/unictype/test-categ_Ll.c: Regenerated.
29876         * tests/unictype/test-categ_Lm.c: Regenerated.
29877         * tests/unictype/test-categ_Lo.c: Regenerated.
29878         * tests/unictype/test-categ_Lu.c: Regenerated.
29879         * tests/unictype/test-categ_M.c: Regenerated.
29880         * tests/unictype/test-categ_Mc.c: Regenerated.
29881         * tests/unictype/test-categ_Me.c: Regenerated.
29882         * tests/unictype/test-categ_Mn.c: Regenerated.
29883         * tests/unictype/test-categ_N.c: Regenerated.
29884         * tests/unictype/test-categ_Nd.c: Regenerated.
29885         * tests/unictype/test-categ_Nl.c: Regenerated.
29886         * tests/unictype/test-categ_No.c: Regenerated.
29887         * tests/unictype/test-categ_P.c: Regenerated.
29888         * tests/unictype/test-categ_Pd.c: Regenerated.
29889         * tests/unictype/test-categ_Pe.c: Regenerated.
29890         * tests/unictype/test-categ_Pf.c: Regenerated.
29891         * tests/unictype/test-categ_Pi.c: Regenerated.
29892         * tests/unictype/test-categ_Po.c: Regenerated.
29893         * tests/unictype/test-categ_Ps.c: Regenerated.
29894         * tests/unictype/test-categ_S.c: Regenerated.
29895         * tests/unictype/test-categ_Sk.c: Regenerated.
29896         * tests/unictype/test-categ_Sm.c: Regenerated.
29897         * tests/unictype/test-categ_So.c: Regenerated.
29898         * tests/unictype/test-ctype_alnum.c: Regenerated.
29899         * tests/unictype/test-ctype_alpha.c: Regenerated.
29900         * tests/unictype/test-ctype_graph.c: Regenerated.
29901         * tests/unictype/test-ctype_lower.c: Regenerated.
29902         * tests/unictype/test-ctype_print.c: Regenerated.
29903         * tests/unictype/test-ctype_punct.c: Regenerated.
29904         * tests/unictype/test-ctype_upper.c: Regenerated.
29905         * tests/unictype/test-decdigit.h: Regenerated.
29906         * tests/unictype/test-digit.h: Regenerated.
29907         * tests/unictype/test-numeric.h: Regenerated.
29908         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29909         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29910         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29911         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29912         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29913         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29914         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29915         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29916         * tests/unictype/test-pr_combining.c: Regenerated.
29917         * tests/unictype/test-pr_dash.c: Regenerated.
29918         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29919         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29920         * tests/unictype/test-pr_deprecated.c: Regenerated.
29921         * tests/unictype/test-pr_diacritic.c: Regenerated.
29922         * tests/unictype/test-pr_extender.c: Regenerated.
29923         * tests/unictype/test-pr_format_control.c: Regenerated.
29924         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29925         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
29926         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
29927         * tests/unictype/test-pr_id_continue.c: Regenerated.
29928         * tests/unictype/test-pr_id_start.c: Regenerated.
29929         * tests/unictype/test-pr_ideographic.c: Regenerated.
29930         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
29931         * tests/unictype/test-pr_lowercase.c: Regenerated.
29932         * tests/unictype/test-pr_math.c: Regenerated.
29933         * tests/unictype/test-pr_numeric.c: Regenerated.
29934         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
29935         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
29936         Regenerated.
29937         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
29938         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
29939         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
29940         * tests/unictype/test-pr_other_math.c: Regenerated.
29941         * tests/unictype/test-pr_punctuation.c: Regenerated.
29942         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
29943         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
29944         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
29945         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
29946         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
29947         * tests/unictype/test-pr_uppercase.c: Regenerated.
29948         * tests/unictype/test-pr_xid_continue.c: Regenerated.
29949         * tests/unictype/test-pr_xid_start.c: Regenerated.
29950         * tests/unictype/test-pr_zero_width.c: Regenerated.
29951
29952         Update to Unicode 5.1.0.
29953         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
29954         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
29955         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
29956         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
29957         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
29958         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
29959         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
29960         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
29961         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
29962         (nonspacing_table_ind): Update.
29963         * tests/uniwidth/test-uc_width2.sh: Update expected result.
29964
29965         Update to Unicode 5.1.0.
29966         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
29967         code transform.
29968         * lib/uniname/uniname.c (unicode_character_name,
29969         unicode_name_character): Add the range 0x1Fxxx to the code transform.
29970         * lib/uniname/uninames.h: Regenerated.
29971         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
29972
29973 2009-02-07  Bruno Haible  <bruno@clisp.org>
29974
29975         Merge gen-ctype and gen-lbrk into a single program.
29976         * lib/gen-uni-tables.c: New file, incorporating
29977         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
29978         Add directory prefixes to the names of the generated files.
29979         * lib/unictype/gen-ctype.c: Remove file.
29980         * lib/unilbrk/gen-lbrk.c: Remove file.
29981         * modules/gen-uni-tables: New file.
29982         * modules/unictype/gen-ctype: Remove file.
29983         * modules/unilbrk/gen-lbrk: Remove file.
29984
29985 2009-02-07  Bruno Haible  <bruno@clisp.org>
29986
29987         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
29988
29989         New module 'unistr/u32-strcoll'.
29990         * modules/unistr/u32-strcoll: New file.
29991         * lib/unistr/u32-strcoll.c: New file.
29992
29993         New module 'unistr/u16-strcoll'.
29994         * modules/unistr/u16-strcoll: New file.
29995         * lib/unistr/u16-strcoll.c: New file.
29996
29997         New module 'unistr/u8-strcoll'.
29998         * modules/unistr/u8-strcoll: New file.
29999         * lib/unistr/u8-strcoll.c: New file.
30000         * lib/unistr/u-strcoll.h: New file.
30001
30002 2009-02-07  Bruno Haible  <bruno@clisp.org>
30003
30004         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
30005         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30006         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30007         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
30008         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
30009         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
30010
30011 2009-02-07  Bruno Haible  <bruno@clisp.org>
30012
30013         Make 64-bit clean.
30014         * lib/unictype/gen-ctype.c (output_predicate, output_category,
30015         output_combclass, output_bidi_category, output_decimal_digit,
30016         output_digit, output_numeric, output_mirror, output_scripts,
30017         output_ident_category): Use proper width specifier in format strings.
30018
30019 2009-02-07  Bruno Haible  <bruno@clisp.org>
30020
30021         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
30022         failure behaviour.
30023
30024 2009-02-07  Jim Meyering  <meyering@redhat.com>
30025
30026         regex: avoid compilation failure with upcoming gcc-4.4
30027         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
30028         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
30029         "... error: integer overflow in preprocessor expression".
30030
30031 2009-02-05  Ben Pfaff  <blp@gnu.org>
30032
30033         Fix link errors on Windows when close module is used.
30034         * modules/close: Add $(LIB_CLOSE) to Link section.
30035         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
30036         $(LIB_CLOSE) on Windows.
30037
30038 2009-02-05  Jim Meyering  <meyering@redhat.com>
30039
30040         still avoid unused-parameter warnings, but do it cleanly
30041         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
30042         (get_fs_usage): Cast to void instead.
30043         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
30044         (dev_from_mount_options, read_file_system_list): Cast to void.
30045         Prompted by Bruno Haible.
30046
30047 2009-02-04  Jim Meyering  <meyering@redhat.com>
30048
30049         fsusage.c: correct copyright year
30050         * lib/fsusage.c: Reflect year in which the change is pushed into
30051
30052         avoid misc. warnings
30053         * lib/fsusage.c (UNUSED_PARAM): Define.
30054         (get_fs_usage): Mark parameter "disk" as unused.
30055         * lib/getugroups.c (getgrent): Use "void" in prototype.
30056         * lib/mountlist.c: Mark unused parameters.
30057         (read_file_system_list): Declare a local with "const".
30058         * lib/nanosleep.c (getnow): Declare static.
30059         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
30060
30061         dirfd: set errno upon failure
30062         * lib/dirfd.c: Include <errno.h>.
30063         Set errno to ENOTSUP when returning -1.
30064         * modules/dirfd (Depends-on): Add errno.
30065         Suggested by John Kodis <kodis@comcast.net>.
30066
30067 2009-02-01  Bruno Haible  <bruno@clisp.org>
30068
30069         Don't assume sizeof (long) >= sizeof (void *).
30070         * lib/memcmp.c: Include stdint.h.
30071         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
30072         srcp2 to 'const byte *'.
30073         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
30074         types to uintptr_t.
30075         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
30076         * modules/memcmp (Depends-on): Add stdint.
30077         Reported by Ozkan Sezer <sezeroz@gmail.com>.
30078
30079 2009-01-30  Eric Blake  <ebb9@byu.net>
30080
30081         fix more require-before-expand issues
30082         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
30083         expand, AC_PROG_AWK.
30084         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
30085
30086 2009-01-28  Eric Blake  <ebb9@byu.net>
30087
30088         version-etc: use consistent URL formatting
30089         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
30090         Improve formatting.  Use fputs for string without %.
30091
30092 2009-01-28  Jim Meyering  <meyering@redhat.com>
30093
30094         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
30095         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
30096         "underquoted definition of NAME" from autoconf-2.59.
30097
30098 2009-01-28  Bruno Haible  <bruno@clisp.org>
30099
30100         * doc/gnulib.texi: Add "Obsolete modules" to index.
30101
30102 2009-01-28  Jim Meyering  <meyering@redhat.com>
30103
30104         useless-if-before-free: recognize more variants
30105         * build-aux/useless-if-before-free: Also recognize e.g.,
30106         if (NULL != p) free (p);
30107
30108 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
30109
30110         test-getaddrinfo: skip (don't fail) this test when there's no network
30111         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
30112         on the presumption that it means you lack network access.
30113
30114 2009-01-26  Jim Meyering  <meyering@redhat.com>
30115
30116         fflush: avoid warnings on modern systems
30117         * lib/fflush.c (rpl_fflush): Move declarations of locals,
30118         pos and result, into scopes where they're used.
30119
30120 2009-01-26  Eric Blake  <ebb9@byu.net>
30121
30122         Silence warning reintroduced by recent extensions patch.
30123         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
30124         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
30125         autoconf.
30126
30127         Backport improved autoconf semantics of AC_DEFUN_ONCE.
30128         * m4/00gnulib.m4: New file.
30129         * gnulib-tool (func_get_filelist): Always use it.
30130         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
30131         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
30132
30133 2009-01-25  Bruno Haible  <bruno@clisp.org>
30134
30135         Make test-quotearg work on MacOS X and AIX.
30136         * tests/test-quotearg.sh: New file.
30137         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
30138         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
30139         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
30140         include <libintl.h>.
30141         (fake_locale): Remove variable.
30142         (gettext, dgettext, dcgettext): Remove functions.
30143         (main): Instead of setting a fake locale, set a real locale. Call
30144         textdomain and bindtextdomain.
30145         * modules/quotearg-tests (Files): Add the new files.
30146         (Depends-on): Add gettext, setenv, unsetenv.
30147         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
30148         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
30149         Augment TESTS_ENVIRONMENT.
30150
30151 2009-01-25  Bruno Haible  <bruno@clisp.org>
30152
30153         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
30154         fr_FR.ISO8859-1 locale on MacOS X.
30155         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
30156         ja_JP.eucJP locale on MacOS X.
30157         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
30158         zh_CN.GB18030 locale on MacOS X.
30159
30160 2009-01-25  Bruno Haible  <bruno@clisp.org>
30161
30162         Avoid link errors on MacOS X 10.3.
30163         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
30164         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30165
30166 2009-01-25  Bruno Haible  <bruno@clisp.org>
30167
30168         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30169         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
30170         * modules/pipe (Files): Remove m4/posix_spawn.m4.
30171         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30172         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
30173         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30174         posix_spawnattr_init, posix_spawnattr_setsigmask,
30175         posix_spawnattr_setflags, posix_spawnattr_destroy.
30176
30177         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30178         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
30179         * modules/execute (Files): Remove m4/posix_spawn.m4.
30180         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30181         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30182         posix_spawnattr_init, posix_spawnattr_setsigmask,
30183         posix_spawnattr_setflags, posix_spawnattr_destroy.
30184
30185 2009-01-25  Bruno Haible  <bruno@clisp.org>
30186
30187         * lib/glthread/threadlib.c: Include <stdlib.h>.
30188
30189 2009-01-25  Bruno Haible  <bruno@clisp.org>
30190
30191         * lib/glthread/threadlib.c (dummy): New declaration.
30192
30193 2009-01-25  Bruno Haible  <bruno@clisp.org>
30194
30195         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
30196         multibyte characters also for the GB18030 encoding. Don't crash when
30197         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
30198
30199 2009-01-25  Bruno Haible  <bruno@clisp.org>
30200
30201         Avoid redefining 'struct random_data' on OSF/1 5.1.
30202         * lib/stdlib.in.h: Include <random.h> if it exists.
30203         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
30204         HAVE_RANDOM_H. Include <random.h> when testing whether
30205         'struct random_data' exists.
30206         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
30207
30208 2009-01-25  Bruno Haible  <bruno@clisp.org>
30209
30210         Don't install charset.alias on MacOS X >= 10.3.
30211         * lib/localcharset.c (DARWIN7): New macro.
30212         (get_charset_aliases): Hardcode the result for Darwin7.
30213         * modules/localcharset (install-exec-local): Don't install
30214         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
30215
30216 2009-01-25  Bruno Haible  <bruno@clisp.org>
30217
30218         Don't install charset.alias on mingw and Cygwin.
30219         * modules/localcharset (install-exec-local): Don't install
30220         charset.alias on mingw and Cygwin, if the file does not yet exist.
30221         The result for these platforms is hardcoded in localcharset.c.
30222
30223 2009-01-25  Bruno Haible  <bruno@clisp.org>
30224
30225         Make it possible again to use AC_GNU_SOURCE together with gnulib.
30226         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
30227         before requiring AC_USE_SYSTEM_EXTENSIONS.
30228
30229 2009-01-25  Jim Meyering  <meyering@redhat.com>
30230
30231         c-strtod: avoid warnings
30232         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
30233         "assignment discards qualifiers from pointer target type" warnings.
30234
30235 2009-01-24  Bruno Haible  <bruno@clisp.org>
30236
30237         Add support for non-UTF-8 locales on MacOS X.
30238         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
30239         canonical encodings. For Darwin 7 and newer, don't map traditional
30240         encodings to UTF-8.
30241         Reported by Vincent Lefevre <vincent@vinc17.org>
30242         at <http://savannah.gnu.org/bugs/?25235>.
30243
30244 2009-01-24  Bruno Haible  <bruno@clisp.org>
30245
30246         * doc/gnulib.texi (Obsolete modules): New section.
30247         Reported by Mike Frysinger <vapier@gentoo.org>.
30248
30249 2009-01-24  Bruno Haible  <bruno@clisp.org>
30250
30251         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
30252         (%.dvi): New rule.
30253
30254 2009-01-24  Bruno Haible  <bruno@clisp.org>
30255
30256         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
30257         Reported by Eric Blake.
30258
30259 2009-01-24  Bruno Haible  <bruno@clisp.org>
30260
30261         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
30262         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
30263         Reported by Gary V. Vaughan <gary@gnu.org>.
30264
30265 2009-01-24  Bruno Haible  <bruno@clisp.org>
30266
30267         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
30268
30269 2009-01-23  Bruno Haible  <bruno@clisp.org>
30270
30271         Make c-strtod, c-strtold usable in libraries.
30272         * lib/c-strtod.c: Include string.h instead of xalloc.h.
30273         (C_STRTOD): Call strdup instead of xstrdup.
30274         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
30275         * modules/c-strtold (Depends-on): Likewise.
30276         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
30277         * NEWS: Mention the change.
30278         Reported by Michael Gold <mgold@ncf.ca>.
30279
30280 2009-01-23  Jim Meyering  <meyering@redhat.com>
30281
30282         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
30283         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
30284         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
30285
30286 2009-01-23  Simon Josefsson  <simon@josefsson.org>
30287
30288         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
30289         GNU CoreUtils.
30290         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
30291         * modules/version-etc (Description): Update.
30292
30293 2009-01-22  Bruno Haible  <bruno@clisp.org>
30294
30295         Cache the C locale object.
30296         * lib/c-strtod.c (c_locale_cache): New variable.
30297         (c_locale): New function.
30298         (C_STRTOD): Use it, and don't call freelocale.
30299         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
30300         Suggested by Paolo Bonzini.
30301
30302 2009-01-21  Bruno Haible  <bruno@clisp.org>
30303
30304         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
30305         conditions other than overflow.
30306
30307 2009-01-21  Bruno Haible  <bruno@clisp.org>
30308
30309         * lib/c-strtod.c: Include errno.h.
30310         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
30311         value from STRTOD_L and STRTOD.
30312
30313 2009-01-21  Bruno Haible  <bruno@clisp.org>
30314         and Jim Meyering  <meyering@redhat.com>
30315
30316         nanosleep: skip configure test (fail it) for apple universal builds
30317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
30318         universal builds, assume that nanosleep does not work.
30319         * modules/nanosleep (Depends-on): Add multiarch.
30320
30321         mktime: skip configure test (fail it) for apple universal builds
30322         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
30323         universal builds, assume that mktime does not work.
30324         * modules/mktime (Depends-on): Add multiarch.
30325
30326 2009-01-21  Eric Blake  <ebb9@byu.net>
30327
30328         multiarch: avoid expand-before-require warning
30329         * modules/multiarch (configure.ac): Require, rather than expand,
30330         gl_MULTIARCH.
30331         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
30332         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
30333         enforce that all clients require it.  Partial reversion of
30334         2008-12-29 patch.
30335
30336         error: avoid expand-before-require warning
30337         * modules/errno (configure.ac): Require, rather than expand,
30338         gl_HEADER_ERRNO_H.
30339         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
30340         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
30341         enforce that all clients require it.
30342
30343         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
30344         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
30345         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
30346         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
30347
30348 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
30349
30350         Revert:
30351         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30352
30353         regex: do not depend on obsolete modules.
30354         * modules/regex: Remove memcmp and memmove.
30355
30356 2009-01-20  Bruno Haible  <bruno@clisp.org>
30357
30358         Make the 'link' module link on Windows NT 4.
30359         * lib/link.c (_WIN32_WINNT): Don't define.
30360         (CreateHardLinkFuncType): New type.
30361         (CreateHardLinkFunc, initialized): New variables.
30362         (initialize): New function.
30363         (link): Invoke CreateHardLink indirectly through the function pointer.
30364
30365 2009-01-20  Bruno Haible  <bruno@clisp.org>
30366
30367         Fix compilation failure on mingw.
30368         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
30369
30370 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
30371
30372         * doc/c-strtod.texi: Mention a couple of restrictions.
30373
30374 2009-01-20  Jim Meyering  <meyering@redhat.com>
30375
30376         gettimeofday: move more declarations out of functions
30377         * lib/gettimeofday.c: Move extern declarations of tzset and
30378         gmtime out of containing functions.  Prompted by Bruno Haible.
30379
30380 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30381
30382         regex: do not depend on obsolete modules.
30383         * modules/regex: Remove memcmp and memmove.
30384
30385 2009-01-19  Bruno Haible  <bruno@clisp.org>
30386
30387         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30388         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
30389         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30390         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
30391         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
30392
30393 2009-01-19  Bruno Haible  <bruno@clisp.org>
30394
30395         * tests/test-link.c: Include <errno.h>.
30396         (main): Exit with code 77 when a hard link cannot be created due to
30397         the file system.
30398         * tests/test-link.sh: Skip test when a hard link cannot be created due
30399         to the file system.
30400         Suggested by Eric Blake.
30401
30402 2009-01-19  Martin Lambers  <marlam@marlam.de>
30403
30404         * modules/link-tests: New file.
30405         * tests/test-link.sh: New file.
30406         * tests/test-link.c: New file.
30407
30408 2009-01-19  Eric Blake  <ebb9@byu.net>
30409
30410         doc: mention another function added in cygwin 1.7.0
30411         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
30412         Another new function in cygwin 1.7.
30413
30414 2009-01-19  Bruno Haible  <bruno@clisp.org>
30415
30416         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30417         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
30418         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
30419         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30420         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30421         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
30422         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30423         * m4/md4.m4 (gl_MD4): Likewise.
30424         * m4/md5.m4 (gl_MD5): Likewise.
30425         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
30426         * m4/sha1.m4 (gl_SHA1): Likewise.
30427         * m4/sha256.m4 (gl_SHA256): Likewise.
30428         * m4/sha512.m4 (gl_SHA512): Likewise.
30429
30430 2009-01-19  Bruno Haible  <bruno@clisp.org>
30431
30432         * modules/uniname/uniname-tests (Depends-on): Add progname.
30433         * tests/uniname/test-uninames.c: Include progname.h.
30434         (main): Call set_program_name.
30435
30436         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
30437         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
30438         (main): Call set_program_name.
30439
30440         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
30441         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
30442         (main): Call set_program_name.
30443
30444         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
30445         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
30446         (main): Call set_program_name.
30447
30448         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
30449         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
30450         (main): Call set_program_name.
30451
30452         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
30453         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
30454         (main): Call set_program_name.
30455
30456         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
30457         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
30458         (main): Call set_program_name.
30459
30460         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
30461         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
30462         (main): Call set_program_name.
30463
30464         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
30465         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
30466         (main): Call set_program_name.
30467
30468 2009-01-19  Eric Blake  <ebb9@byu.net>
30469
30470         test-unistd: test previous patch
30471         * tests/test-unistd.c: Test *_FILENO macros.
30472
30473         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
30474         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30475         Guarantee a definition.
30476         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
30477         * modules/unistd-safer (Depends-on): Add dependency on unistd.
30478         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
30479         * lib/dup-safer.c (STDERR_FILENO): Likewise.
30480         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30481         Likewise.
30482         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
30483         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
30484         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30485         Likewise.
30486         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
30487         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
30488         (STDERR_FILENO): Likewise.
30489         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
30490         (STDERR_FILENO): Likewise.
30491         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
30492         (STDERR_FILENO): Likewise.
30493         Reported by Elbert Pol.
30494
30495 2009-01-19  Eric Blake  <ebb9@byu.net>
30496
30497         doc: mention more functions added in cygwin 1.7.0
30498         * doc/posix-functions/abort.texi (abort): Update wording related
30499         to cygwin.
30500         * doc/posix-functions/daylight.texi (daylight): Likewise.
30501         * doc/posix-functions/optarg.texi (optarg): Likewise.
30502         * doc/posix-functions/optarg.texi (opterr): Likewise.
30503         * doc/posix-functions/optarg.texi (optind): Likewise.
30504         * doc/posix-functions/optarg.texi (optopt): Likewise.
30505         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
30506         worked in 1.5.x, and was withdrawn in 1.7.
30507         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
30508         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
30509         cygwin versions.
30510         * doc/posix-functions/perror.texi (perror): Likewise.
30511         * doc/posix-functions/printf.texi (printf): Likewise.
30512         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
30513         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
30514         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
30515         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
30516         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
30517         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
30518         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
30519         Likewise.
30520         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
30521         Likewise.
30522         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
30523         this function.
30524         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
30525         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
30526         Likewise.
30527         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
30528         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
30529         * doc/posix-functions/confstr.texi (confstr): Likewise.
30530         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
30531         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
30532         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
30533         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
30534         * doc/posix-functions/fputws.texi (fputws): Likewise.
30535         * doc/posix-functions/fwide.texi (fwide): Likewise.
30536         * doc/posix-functions/getwc.texi (getwc): Likewise.
30537         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
30538         * doc/posix-functions/putwc.texi (putwc): Likewise.
30539         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
30540         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
30541         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
30542         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
30543         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
30544         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
30545         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
30546         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
30547         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
30548         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
30549         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
30550
30551 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30552
30553         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
30554         * lib/ioctl.c: Include <sys/ioctl.h>.
30555
30556 2009-01-19  Simon Josefsson  <simon@josefsson.org>
30557
30558         * modules/getdate-tests (Depends-on): Add progname.
30559         * tests/test-getdate.c: Use progname module, to avoid link errors
30560         on non-glibc systems.
30561
30562 2009-01-18  Simon Josefsson  <simon@josefsson.org>
30563
30564         * modules/filenamecat-tests (Depends-on): Add progname.
30565         * modules/fstrcmp-tests (Depends-on): Likewise.
30566
30567         * tests/test-filenamecat.c: Use progname module, to avoid link
30568         errors on non-glibc systems.
30569         * tests/test-fstrcmp.c: Likewise.
30570
30571 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30572
30573         gettimeofday: avoid warning: nested extern declaration of 'localtime'
30574         * lib/gettimeofday.c: Move extern declaration out of function.
30575
30576 2009-01-18  Bruno Haible  <bruno@clisp.org>
30577
30578         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
30579         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
30580         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
30581
30582 2009-01-18  Bruno Haible  <bruno@clisp.org>
30583
30584         * lib/strftime.c (MEMPCPY): Remove unused macro.
30585         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
30586
30587 2009-01-18  Martin Lambers  <marlam@marlam.de>
30588
30589         New module 'link'.
30590         * lib/unistd.in.h (link): New declaration.
30591         * lib/link.c: New file.
30592         * m4/link.m4: New file.
30593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
30594         HAVE_LINK.
30595         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
30596         * modules/link: New file.
30597         * doc/posix-functions/link.texi: Mention the new module.
30598
30599 2009-01-18  Bruno Haible  <bruno@clisp.org>
30600
30601         * tests/test-avltree_list.c (main): Call set_program_name.
30602         * tests/test-avltree_oset.c (main): Likewise.
30603         * tests/test-obstack-printf.c: Include progname.h.
30604         (main): Call set_program_name.
30605         * tests/test-quotearg.c: Include progname.h.
30606         (main): Call set_program_name.
30607         * tests/test-xmemdup0.c: Include progname.h.
30608         (main): Call set_program_name.
30609
30610 2009-01-18  Bruno Haible  <bruno@clisp.org>
30611
30612         New module 'alphasort'.
30613         * lib/dirent.in.h (alphasort): New declaration.
30614         * lib/alphasort.c: New file, from glibc with modifications.
30615         * m4/alphasort.m4: New file.
30616         * modules/alphasort: New file.
30617         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
30618         HAVE_ALPHASORT.
30619         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
30620         HAVE_ALPHASORT.
30621         * doc/posix-functions/alphasort.texi: Mention the new module and the
30622         portability problems.
30623
30624 2009-01-18  Bruno Haible  <bruno@clisp.org>
30625
30626         New module 'scandir'.
30627         * lib/dirent.in.h (scandir): New declaration.
30628         * lib/scandir.c: New file, from glibc with modifications.
30629         * m4/scandir.m4: New file.
30630         * modules/scandir: New file.
30631         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
30632         HAVE_SCANDIR.
30633         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
30634         HAVE_SCANDIR.
30635         * doc/posix-functions/scandir.texi: Mention the new module and the
30636         portability problems.
30637
30638 2009-01-17  Bruno Haible  <bruno@clisp.org>
30639
30640         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
30641         Update documentation.
30642         (func_remove_suffix): Escape all dots in the suffix. Update
30643         documentation.
30644         (func_filter_filelist): Update documentation.
30645         Reported by Ralf Wildenhues.
30646
30647 2009-01-17  Bruno Haible  <bruno@clisp.org>
30648
30649         * modules/dprintf-posix-tests: New file.
30650         * tests/test-dprintf-posix.sh: New file.
30651         * tests/test-dprintf-posix.c: New file.
30652
30653         New modules 'dprintf', 'dprintf-posix'.
30654         * lib/stdio.in.h (dprintf): New declaration.
30655         * lib/dprintf.c: New file.
30656         * m4/dprintf.m4: New file.
30657         * m4/dprintf-posix.m4: New file.
30658         * modules/dprintf: New file.
30659         * modules/dprintf-posix: New file.
30660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
30661         HAVE_DPRINTF, REPLACE_DPRINTF.
30662         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
30663         HAVE_DPRINTF, REPLACE_DPRINTF.
30664         * doc/posix-functions/dprintf.texi: Mention the new modules.
30665
30666 2009-01-17  Bruno Haible  <bruno@clisp.org>
30667
30668         * modules/vdprintf-posix-tests: New file.
30669         * tests/test-vdprintf-posix.sh: New file.
30670         * tests/test-vdprintf-posix.c: New file.
30671
30672         New modules 'vdprintf', 'vdprintf-posix'.
30673         * lib/stdio.in.h (vdprintf): New declaration.
30674         * lib/vdprintf.c: New file.
30675         * m4/vdprintf.m4: New file.
30676         * m4/vdprintf-posix.m4: New file.
30677         * modules/vdprintf: New file.
30678         * modules/vdprintf-posix: New file.
30679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
30680         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30681         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
30682         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30683         * doc/posix-functions/vdprintf.texi: Mention the new modules.
30684
30685 2009-01-17  Bruno Haible  <bruno@clisp.org>
30686
30687         Fix replacement of fopen on mingw.
30688         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
30689         mingw.
30690
30691 2009-01-17  Bruno Haible  <bruno@clisp.org>
30692
30693         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30694         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30695
30696 2009-01-17  Bruno Haible  <bruno@clisp.org>
30697
30698         Avoid test-fflush2.sh failure on mingw.
30699         * tests/test-fflush2.c: Include binary-io.h.
30700         (main): Put standard input into binary mode.
30701         * modules/fflush-tests (Depends-on): Add binary-io.
30702
30703 2009-01-17  Bruno Haible  <bruno@clisp.org>
30704
30705         * lib/wchar.in.h: In another particular situation, include only the
30706         system's <wchar.h> file.
30707         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30708         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30709         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30710
30711 2009-01-17  Bruno Haible  <bruno@clisp.org>
30712
30713         Support for stripping executables in --enable-relocatable.
30714         * build-aux/install-reloc: Expect one more argument, or an environment
30715         variable RELOC_STRIP_PROG. If set, strip the destination program and
30716         its wrapper.
30717         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30718         RELOC_STRIP_PROG.
30719         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30720         to set RELOCATABLE_STRIP.
30721         * NEWS: Mention the new Makefile requirement.
30722
30723 2009-01-17  Bruno Haible  <bruno@clisp.org>
30724
30725         * build-aux/install-reloc: Remove debugging information left over by
30726         C compiler on MacOS X.
30727
30728 2009-01-17  Bruno Haible  <bruno@clisp.org>
30729
30730         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30731         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30732         _NSGetExecutablePath.
30733
30734 2009-01-16  Jim Meyering  <meyering@redhat.com>
30735
30736         strerror: avoid warnings about discarding "const"
30737         * lib/strerror.c (rpl_strerror): Instead of returning a const
30738         string from each and every "case", use a variable, and add a single
30739         cast after the switch.
30740
30741 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30742
30743         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30744
30745 2009-01-16  Bruno Haible  <bruno@clisp.org>
30746
30747         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30748         array initializer syntax that also works in C++ mode.
30749         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30750
30751 2009-01-16  Jim Meyering  <meyering@redhat.com>
30752
30753         poll: suppress a warning
30754         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30755         to ignore "...unsigned expression < 0 is always false" warnings.
30756
30757 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30758
30759         poll: remove declarations of unused variables
30760         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30761         sockbuf and optlen.
30762
30763 2009-01-15  Bruno Haible  <bruno@clisp.org>
30764
30765         Make fflush-after-ungetc POSIX compliant on BSD systems.
30766         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30767         (clear_ungetc_buffer): Implement also for other systems.
30768         (rpl_fflush): On glibc systems, invoke
30769         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30770         clear_ungetc_buffer after fetching the stream's position, not before.
30771
30772 2009-01-15  Bruno Haible  <bruno@clisp.org>
30773
30774         Make fflush-after-ungetc POSIX compliant on glibc systems.
30775         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30776         after ungetc.
30777         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30778         (rpl_fflush): On glibc systems, simply call the system's fflush
30779         function after clearing the ungetc buffer.
30780         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30781         Instead, lseek only to the end of file, then use the system's fseeko
30782         for the rest. On glibc systems, reset the EOF indicator bit.
30783
30784 2009-01-15  Jim Meyering  <meyering@redhat.com>
30785
30786         openmp.m4: revert quote-adding change, for portability to older autoconf
30787         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30788         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30789         Simon Josefsson noticed the problem when using autoconf-2.61.
30790
30791 2009-01-15  Bruno Haible  <bruno@clisp.org>
30792
30793         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30794         * tests/test-fflush2.c (ASSERT): Always fail.
30795         (main): Add two tests for fflush() after ungetc(), taking into account
30796         the Austin Group's clarification.
30797         Suggested by Eric Blake.
30798
30799 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30800
30801         mktime.m4: remove K&R-style function prototypes
30802         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30803         for the Sun C++ compiler.
30804
30805 2009-01-14  Bruno Haible  <bruno@clisp.org>
30806
30807         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30808         while including <wchar.h>.
30809         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30810         the system's <wchar.h> file.
30811         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30812
30813 2009-01-14  Bruno Haible  <bruno@clisp.org>
30814
30815         * m4/csharp.m4: Don't mention gettext on the serial number line.
30816         * m4/csharpexec.m4: Likewise.
30817         * m4/eaccess.m4: Likewise.
30818         * m4/javaexec.m4: Likewise.
30819         * m4/sig_atomic_t.m4: Likewise.
30820         * m4/tmpdir.m4: Likewise.
30821         * m4/intldir.m4: Bump gettext version.
30822         * m4/lib-ld.m4: Likewise.
30823
30824 2009-01-14  Bruno Haible  <bruno@clisp.org>
30825
30826         * lib/progname.c (set_program_name): Add more comments.
30827         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30828
30829 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30830
30831         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30832         were sys/stat.h does not define it.
30833
30834 2009-01-14  Jim Meyering  <meyering@redhat.com>
30835
30836         many *.m4 files: improve m4 quoting
30837         99% of this change was performed by running the following commands:
30838         git ls-files | grep '\.m4$' | xargs perl -pi \
30839           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30840           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30841           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30842           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30843         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30844         The remainder were to add Copyright dates, increment serial numbers,
30845         undo some changes in comments, exclude m4/intl.m4, and add quotes
30846         around the "1" in ",1" where the unusual spacing prohibited the
30847         above regexps from doing the job.  For more details, see
30848         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30849         * m4/acl.m4: Modified.
30850         * m4/afs.m4: Likewise.
30851         * m4/alloca.m4: Likewise.
30852         * m4/argp.m4: Likewise.
30853         * m4/argz.m4: Likewise.
30854         * m4/atexit.m4: Likewise.
30855         * m4/bison-i18n.m4: Likewise.
30856         * m4/bison.m4: Likewise.
30857         * m4/byteswap.m4: Likewise.
30858         * m4/c-stack.m4: Likewise.
30859         * m4/c-strtod.m4: Likewise.
30860         * m4/calloc.m4: Likewise.
30861         * m4/canonicalize-lgpl.m4: Likewise.
30862         * m4/chown.m4: Likewise.
30863         * m4/clock_time.m4: Likewise.
30864         * m4/codeset.m4: Likewise.
30865         * m4/copy-file.m4: Likewise.
30866         * m4/csharp.m4: Likewise.
30867         * m4/csharpcomp.m4: Likewise.
30868         * m4/csharpexec.m4: Likewise.
30869         * m4/d-ino.m4: Likewise.
30870         * m4/d-type.m4: Likewise.
30871         * m4/dirfd.m4: Likewise.
30872         * m4/double-slash-root.m4: Likewise.
30873         * m4/eaccess.m4: Likewise.
30874         * m4/eealloc.m4: Likewise.
30875         * m4/environ.m4: Likewise.
30876         * m4/errno_h.m4: Likewise.
30877         * m4/euidaccess.m4: Likewise.
30878         * m4/execute.m4: Likewise.
30879         * m4/fatal-signal.m4: Likewise.
30880         * m4/fchdir.m4: Likewise.
30881         * m4/fcntl_h.m4: Likewise.
30882         * m4/fileblocks.m4: Likewise.
30883         * m4/filenamecat.m4: Likewise.
30884         * m4/findprog.m4: Likewise.
30885         * m4/flexmember.m4: Likewise.
30886         * m4/fnmatch.m4: Likewise.
30887         * m4/fopen.m4: Likewise.
30888         * m4/fpending.m4: Likewise.
30889         * m4/fprintf-posix.m4: Likewise.
30890         * m4/free.m4: Likewise.
30891         * m4/frexp.m4: Likewise.
30892         * m4/frexpl.m4: Likewise.
30893         * m4/fsusage.m4: Likewise.
30894         * m4/ftruncate.m4: Likewise.
30895         * m4/gc-camellia.m4: Likewise.
30896         * m4/gc-random.m4: Likewise.
30897         * m4/gc.m4: Likewise.
30898         * m4/getaddrinfo.m4: Likewise.
30899         * m4/getcwd-abort-bug.m4: Likewise.
30900         * m4/getcwd-path-max.m4: Likewise.
30901         * m4/getdate.m4: Likewise.
30902         * m4/getdomainname.m4: Likewise.
30903         * m4/getgroups.m4: Likewise.
30904         * m4/gethostname.m4: Likewise.
30905         * m4/gethrxtime.m4: Likewise.
30906         * m4/getline.m4: Likewise.
30907         * m4/getloadavg.m4: Likewise.
30908         * m4/getndelim2.m4: Likewise.
30909         * m4/getpass.m4: Likewise.
30910         * m4/gettext.m4: Likewise.
30911         * m4/gettime.m4: Likewise.
30912         * m4/gettimeofday.m4: Likewise.
30913         * m4/gnulib-common.m4: Likewise.
30914         * m4/group-member.m4: Likewise.
30915         * m4/host-os.m4: Likewise.
30916         * m4/iconv.m4: Likewise.
30917         * m4/iconv_open.m4: Likewise.
30918         * m4/inet_ntop.m4: Likewise.
30919         * m4/inet_pton.m4: Likewise.
30920         * m4/inline.m4: Likewise.
30921         * m4/intldir.m4: Likewise.
30922         * m4/intlmacosx.m4: Likewise.
30923         * m4/intmax.m4: Likewise.
30924         * m4/intmax_t.m4: Likewise.
30925         * m4/inttypes.m4: Likewise.
30926         * m4/inttypes_h.m4: Likewise.
30927         * m4/inttypes-pri.m4: Likewise.
30928         * m4/isapipe.m4: Likewise.
30929         * m4/isnand.m4: Likewise.
30930         * m4/isnanf.m4: Likewise.
30931         * m4/isnanl.m4: Likewise.
30932         * m4/javacomp.m4: Likewise.
30933         * m4/javaexec.m4: Likewise.
30934         * m4/jm-winsz1.m4: Likewise.
30935         * m4/jm-winsz2.m4: Likewise.
30936         * m4/lchown.m4: Likewise.
30937         * m4/lcmessage.m4: Likewise.
30938         * m4/ldexpl.m4: Likewise.
30939         * m4/lib-ld.m4: Likewise.
30940         * m4/lib-link.m4: Likewise.
30941         * m4/libsigsegv.m4: Likewise.
30942         * m4/link-follow.m4: Likewise.
30943         * m4/localcharset.m4: Likewise.
30944         * m4/locale-fr.m4: Likewise.
30945         * m4/locale-ja.m4: Likewise.
30946         * m4/locale-tr.m4: Likewise.
30947         * m4/locale-zh.m4: Likewise.
30948         * m4/lock.m4: Likewise.
30949         * m4/longlong.m4: Likewise.
30950         * m4/ls-mntd-fs.m4: Likewise.
30951         * m4/lstat.m4: Likewise.
30952         * m4/malloc.m4: Likewise.
30953         * m4/mathl.m4: Likewise.
30954         * m4/mbrtowc.m4: Likewise.
30955         * m4/mbstate_t.m4: Likewise.
30956         * m4/mbswidth.m4: Likewise.
30957         * m4/memchr.m4: Likewise.
30958         * m4/memcmp.m4: Likewise.
30959         * m4/memcpy.m4: Likewise.
30960         * m4/memmem.m4: Likewise.
30961         * m4/memmove.m4: Likewise.
30962         * m4/mempcpy.m4: Likewise.
30963         * m4/memrchr.m4: Likewise.
30964         * m4/memset.m4: Likewise.
30965         * m4/minmax.m4: Likewise.
30966         * m4/mkdir-slash.m4: Likewise.
30967         * m4/mkdtemp.m4: Likewise.
30968         * m4/mktime.m4: Likewise.
30969         * m4/mmap-anon.m4: Likewise.
30970         * m4/mountlist.m4: Likewise.
30971         * m4/nanosleep.m4: Likewise.
30972         * m4/nls.m4: Likewise.
30973         * m4/nocrash.m4: Likewise.
30974         * m4/open.m4: Likewise.
30975         * m4/openat.m4: Likewise.
30976         * m4/openmp.m4: Likewise.
30977         * m4/pathmax.m4: Likewise.
30978         * m4/perl.m4: Likewise.
30979         * m4/physmem.m4: Likewise.
30980         * m4/pipe.m4: Likewise.
30981         * m4/po.m4: Likewise.
30982         * m4/poll.m4: Likewise.
30983         * m4/posixtm.m4: Likewise.
30984         * m4/posixver.m4: Likewise.
30985         * m4/printf-frexp.m4: Likewise.
30986         * m4/printf-frexpl.m4: Likewise.
30987         * m4/printf-posix.m4: Likewise.
30988         * m4/printf-posix-rpl.m4: Likewise.
30989         * m4/printf.m4: Likewise.
30990         * m4/progtest.m4: Likewise.
30991         * m4/putenv.m4: Likewise.
30992         * m4/readline.m4: Likewise.
30993         * m4/readlink.m4: Likewise.
30994         * m4/readutmp.m4: Likewise.
30995         * m4/realloc.m4: Likewise.
30996         * m4/regex.m4: Likewise.
30997         * m4/relocatable.m4: Likewise.
30998         * m4/relocatable-lib.m4: Likewise.
30999         * m4/rename-dest-slash.m4: Likewise.
31000         * m4/rename.m4: Likewise.
31001         * m4/rmdir-errno.m4: Likewise.
31002         * m4/rmdir.m4: Likewise.
31003         * m4/roundf.m4: Likewise.
31004         * m4/roundl.m4: Likewise.
31005         * m4/rpmatch.m4: Likewise.
31006         * m4/save-cwd.m4: Likewise.
31007         * m4/selinux-selinux-h.m4: Likewise.
31008         * m4/setenv.m4: Likewise.
31009         * m4/settime.m4: Likewise.
31010         * m4/sig2str.m4: Likewise.
31011         * m4/sig_atomic_t.m4: Likewise.
31012         * m4/signalblocking.m4: Likewise.
31013         * m4/signbit.m4: Likewise.
31014         * m4/sigpipe.m4: Likewise.
31015         * m4/sockets.m4: Likewise.
31016         * m4/sockpfaf.m4: Likewise.
31017         * m4/st_dm_mode.m4: Likewise.
31018         * m4/stat-time.m4: Likewise.
31019         * m4/stdbool.m4: Likewise.
31020         * m4/stdint.m4: Likewise.
31021         * m4/stdint_h.m4: Likewise.
31022         * m4/stpcpy.m4: Likewise.
31023         * m4/stpncpy.m4: Likewise.
31024         * m4/strcase.m4: Likewise.
31025         * m4/strchrnul.m4: Likewise.
31026         * m4/strcspn.m4: Likewise.
31027         * m4/strdup.m4: Likewise.
31028         * m4/strftime.m4: Likewise.
31029         * m4/strndup.m4: Likewise.
31030         * m4/strnlen.m4: Likewise.
31031         * m4/strpbrk.m4: Likewise.
31032         * m4/strptime.m4: Likewise.
31033         * m4/strsep.m4: Likewise.
31034         * m4/strtod.m4: Likewise.
31035         * m4/strtoimax.m4: Likewise.
31036         * m4/strtok_r.m4: Likewise.
31037         * m4/strtol.m4: Likewise.
31038         * m4/strtoll.m4: Likewise.
31039         * m4/strtoul.m4: Likewise.
31040         * m4/strtoull.m4: Likewise.
31041         * m4/strtoumax.m4: Likewise.
31042         * m4/strverscmp.m4: Likewise.
31043         * m4/threadlib.m4: Likewise.
31044         * m4/timegm.m4: Likewise.
31045         * m4/tm_gmtoff.m4: Likewise.
31046         * m4/tmpdir.m4: Likewise.
31047         * m4/tmpfile.m4: Likewise.
31048         * m4/tzset.m4: Likewise.
31049         * m4/uintmax_t.m4: Likewise.
31050         * m4/unlinkdir.m4: Likewise.
31051         * m4/unlocked-io.m4: Likewise.
31052         * m4/uptime.m4: Likewise.
31053         * m4/userspec.m4: Likewise.
31054         * m4/utimbuf.m4: Likewise.
31055         * m4/utime.m4: Likewise.
31056         * m4/utimes-null.m4: Likewise.
31057         * m4/utimes.m4: Likewise.
31058         * m4/vararrays.m4: Likewise.
31059         * m4/vasnprintf.m4: Likewise.
31060         * m4/vfprintf-posix.m4: Likewise.
31061         * m4/vprintf-posix.m4: Likewise.
31062         * m4/wait-process.m4: Likewise.
31063         * m4/wchar_t.m4: Likewise.
31064         * m4/wint_t.m4: Likewise.
31065         * m4/write-any-file.m4: Likewise.
31066         * m4/yield.m4: Likewise.
31067
31068 2009-01-13  Bruno Haible  <bruno@clisp.org>
31069
31070         Avoid test-copy-file.sh failures when ACL support insufficient.
31071         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
31072         TESTS_ENVIRONMENT.
31073         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
31074         Reported by Jim Meyering.
31075
31076 2009-01-13  Bruno Haible  <bruno@clisp.org>
31077
31078         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
31079         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
31080         * modules/unistdio/u8-printf-parse (Files): Likewise.
31081         * modules/unistdio/u32-printf-parse (Files): Likewise.
31082         * modules/unistdio/ulc-printf-parse (Files): Likewise.
31083
31084 2009-01-13  Simon Josefsson  <simon@josefsson.org>
31085
31086         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
31087         and m4/inttypes_h.m4 too.
31088
31089 2009-01-12  Eric Blake  <ebb9@byu.net>
31090
31091         tests: IRIX 6.2 cc can't compile -0.0 into .data
31092         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
31093         rather than at compile-time.
31094         * tests/test-floorl.c (minus_zero): Likewise.
31095         * tests/test-frexpl.c (minus_zero): Likewise.
31096         * tests/test-isnan.c (minus_zerol): Likewise.
31097         * tests/test-isnanl.h (minus_zero): Likewise.
31098         * tests/test-ldexpl.c (minus_zero): Likewise.
31099         * tests/test-roundl.c (minus_zero): Likewise.
31100         * tests/test-signbit.c (minus_zerol): Likewise.
31101         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31102         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31103         * tests/test-truncl.c (minus_zero): Likewise.
31104         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31105         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31106         Reported by Tom G. Christensen and Nelson H. F. Beebe.
31107
31108 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31109
31110         regex: fix glibc bug 9697
31111         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
31112         handling.
31113
31114 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31115
31116         regex: fix glibc bug 697
31117         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
31118         being NULL also if there are no backreferences.
31119
31120 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31121
31122         regex: merge glibc changes
31123         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
31124         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
31125         re_string_skip_chars, re_string_reconstruct): Likewise.
31126         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
31127
31128 2009-01-07  Jim Meyering  <meyering@redhat.com>
31129
31130         poll: filter through cppi
31131         * lib/poll.c: Indent cpp directives to reflect nesting.
31132
31133 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
31134
31135         poll: don't return uninitialized
31136         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
31137
31138 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
31139
31140         avoid compile failure on AIX 6.1
31141         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
31142         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
31143
31144 2009-01-04  Jim Meyering  <meyering@redhat.com>
31145
31146         remove duplicate inclusion of <stdio.h>
31147         * tests/test-fprintf-posix.c: Likewise.
31148         * tests/test-printf-posix.c: Likewise.
31149         * tests/test-snprintf-posix.c: Likewise.
31150         * tests/test-sprintf-posix.c: Likewise.
31151         * tests/test-vasprintf-posix.c: Likewise.
31152         * tests/test-vfprintf-posix.c: Likewise.
31153         * tests/test-vprintf-posix.c: Likewise.
31154         * tests/test-vsnprintf-posix.c: Likewise.
31155         * tests/test-vsprintf-posix.c: Likewise.
31156
31157 2009-01-03  Jim Meyering  <meyering@redhat.com>
31158
31159         gnulib-tool: fix sed-based filtering
31160         * gnulib-tool (func_filter_filelist): Remove extra backslash
31161         in sed_fff_filter definition.
31162
31163 2009-01-02  Jim Meyering  <meyering@redhat.com>
31164
31165         strftime: avoid compilation failure on Solaris 2.6
31166         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
31167         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
31168         Don't #define mbrlen or mbsinit, since now they're guaranteed to
31169         be available.  Reported by Tom G. Christensen.  Details in
31170         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
31171
31172 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31173             Bruno Haible  <bruno@clisp.org>
31174
31175         Speed up gnulib-tool by doing more string processing through shell
31176         built-ins.
31177         * gnulib-tool (fast_func_append): New variable.
31178         (func_remove_prefix, func_remove_suffix): New functions.
31179         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
31180         (func_filter_filelist): New function.
31181         (func_get_dependencies): Use func_remove_suffix instead of sed.
31182         (func_get_automake_snippet): Use func_filter_filelist instead of a
31183         subshell and sed invocation.
31184
31185 2009-01-01  Bruno Haible  <bruno@clisp.org>
31186
31187         Fix a security bug.
31188         * gnulib-tool (func_import, import, update): Don't allow the characters
31189         '"', '$', '`', '\' in macro arguments that become part of commands that
31190         are evaluated.
31191
31192 2009-01-01  Bruno Haible  <bruno@clisp.org>
31193
31194         * gnulib-tool (func_reset_sigpipe): Add more comments.
31195
31196 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31197
31198         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
31199         func_emit_tests_Makefile_am, func_import): Abort loops early if we
31200         already know the answer.
31201
31202 2009-01-01  Jim Meyering  <meyering@redhat.com>
31203
31204         * lib/version-etc.c (version_etc_va): Update copyright year.
31205
31206 2008-12-30  Bruno Haible  <bruno@clisp.org>
31207
31208         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
31209         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
31210         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
31211
31212 2008-12-29  Eric Blake  <ebb9@byu.net>
31213
31214         multiarch: avoid autoconf AC_REQUIRE bug
31215         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
31216         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
31217         2.63 and older.
31218         Reported by Bruno Haible, and analyzed in
31219         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
31220
31221 2008-12-29  Bruno Haible  <bruno@clisp.org>
31222
31223         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
31224         files in subdirectories correctly.
31225         Reported by Ralf Wildenhues.
31226
31227 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31228
31229         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
31230         rather than 'join FILE -', for Solaris join.
31231
31232 2008-12-29  Bruno Haible  <bruno@clisp.org>
31233
31234         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
31235         quoting.
31236         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31237         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
31238         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
31239         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
31240         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31241         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31242         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31243         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31244         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31245         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31246         * m4/nls.m4 (AM_NLS): Likewise.
31247         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
31248         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31249         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31250         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31251         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31252         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31253         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
31254         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31255         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31256         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31257         * m4/xsize.m4 (gl_XSIZE): Likewise.
31258         Suggested by Jim Meyering.
31259
31260 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31261
31262         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
31263         * lib/parse-duration.c: use a switch instead of cascading if's.
31264
31265 2008-12-29  Eric Blake  <ebb9@byu.net>
31266
31267         wchar.h: supply WEOF on Irix 5.3
31268         * lib/wchar.in.h (wint_t): Also supply WEOF.
31269         * lib/wctype.in.h (wint_t): Likewise.
31270         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
31271         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
31272         Reported by Tom G. Christensen.
31273
31274 2008-12-26  Bruno Haible  <bruno@clisp.org>
31275
31276         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
31277         i486, i586, i686.
31278
31279 2008-12-26  Bruno Haible  <bruno@clisp.org>
31280
31281         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
31282
31283 2008-12-26  Bruno Haible  <bruno@clisp.org>
31284
31285         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
31286         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
31287         not __STDC_CONSTANT_MACROS.
31288         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31289
31290 2008-12-25  Bruno Haible  <bruno@clisp.org>
31291
31292         Add support for universal builds to vasnprintf.
31293         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
31294         universal builds, guess no.
31295         * modules/vasnprintf-posix (Depends-on): Add multiarch.
31296         * modules/vasprintf-posix (Depends-on): Likewise.
31297         * modules/fprintf-posix (Depends-on): Likewise.
31298         * modules/vfprintf-posix (Depends-on): Likewise.
31299         * modules/snprintf-posix (Depends-on): Likewise.
31300         * modules/vsnprintf-posix (Depends-on): Likewise.
31301         * modules/sprintf-posix (Depends-on): Likewise.
31302         * modules/vsprintf-posix (Depends-on): Likewise.
31303         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31304         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31305         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31306         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31307         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31308         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31309         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31310
31311         Add support for universal builds to <inttypes.h>.
31312         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
31313         _SCNu64_PREFIX): In Apple
31314         universal builds, define directly, using _LP64.
31315         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
31316         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
31317         * modules/inttypes (Depends-on): Add multiarch.
31318         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31319
31320         Add support for universal builds to <stdint.h>.
31321         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
31322         universal builds, define directly, using _LP64.
31323         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
31324         Apple universal builds, don't test for the size and suffix of ptrdiff_t
31325         and size_t.
31326         * modules/stdint (Depends-on): Add multiarch.
31327         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31328
31329         New module 'multiarch'.
31330         * modules/multiarch: New file.
31331         * m4/multiarch.m4: New file.
31332
31333 2008-12-25  Bruno Haible  <bruno@clisp.org>
31334
31335         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
31336
31337 2008-12-25  Bruno Haible  <bruno@clisp.org>
31338
31339         * modules/btowc (License): Relicense under LGPLv2+.
31340         * modules/mbsinit (License): Likewise.
31341         * modules/mbrtowc (License): Likewise.
31342         * modules/wcrtomb (License): Likewise.
31343         * modules/streq (License): Likewise.
31344         Reported by David Lutterkort <lutter@redhat.com>.
31345
31346 2008-12-23  Bruno Haible  <bruno@clisp.org>
31347
31348         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
31349
31350 2008-12-23  Bruno Haible  <bruno@clisp.org>
31351
31352         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
31353         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
31354         GETADDRINFO_LIB, not in LIBS.
31355         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
31356         * modules/canon-host (Link): Likewise.
31357         * NEWS: Mention the change.
31358         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
31359         GETADDRINFO_LIB.
31360
31361 2008-12-22  Bruno Haible  <bruno@clisp.org>
31362
31363         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
31364         * doc/posix-functions/iswalpha_l.texi: Likewise.
31365         * doc/posix-functions/iswblank_l.texi: Likewise.
31366         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31367         * doc/posix-functions/iswctype_l.texi: Likewise.
31368         * doc/posix-functions/iswdigit_l.texi: Likewise.
31369         * doc/posix-functions/iswgraph_l.texi: Likewise.
31370         * doc/posix-functions/iswlower_l.texi: Likewise.
31371         * doc/posix-functions/iswprint_l.texi: Likewise.
31372         * doc/posix-functions/iswpunct_l.texi: Likewise.
31373         * doc/posix-functions/iswspace_l.texi: Likewise.
31374         * doc/posix-functions/iswupper_l.texi: Likewise.
31375         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31376         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
31377         * doc/posix-functions/open_wmemstream.texi: Likewise.
31378         * doc/posix-functions/swscanf.texi: Likewise.
31379         * doc/posix-functions/towctrans_l.texi: Likewise.
31380         * doc/posix-functions/towlower.texi: Likewise.
31381         * doc/posix-functions/towlower_l.texi: Likewise.
31382         * doc/posix-functions/towupper.texi: Likewise.
31383         * doc/posix-functions/towupper_l.texi: Likewise.
31384         * doc/posix-functions/vfwprintf.texi: Likewise.
31385         * doc/posix-functions/vfwscanf.texi: Likewise.
31386         * doc/posix-functions/vswscanf.texi: Likewise.
31387         * doc/posix-functions/vwprintf.texi: Likewise.
31388         * doc/posix-functions/vwscanf.texi: Likewise.
31389         * doc/posix-functions/wcpcpy.texi: Likewise.
31390         * doc/posix-functions/wcpncpy.texi: Likewise.
31391         * doc/posix-functions/wcscasecmp.texi: Likewise.
31392         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
31393         * doc/posix-functions/wcscoll_l.texi: Likewise.
31394         * doc/posix-functions/wcsdup.texi: Likewise.
31395         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31396         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
31397         * doc/posix-functions/wcsnlen.texi: Likewise.
31398         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31399         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31400         * doc/posix-functions/wctrans_l.texi: Likewise.
31401         * doc/posix-functions/wctype_l.texi: Likewise.
31402         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
31403         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
31404         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
31405         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
31406         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
31407         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
31408         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
31409         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
31410         * doc/glibc-functions/wcschrnul.texi: Likewise.
31411         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31412         * doc/glibc-functions/wcstod_l.texi: Likewise.
31413         * doc/glibc-functions/wcstof_l.texi: Likewise.
31414         * doc/glibc-functions/wcstol_l.texi: Likewise.
31415         * doc/glibc-functions/wcstold_l.texi: Likewise.
31416         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31417         * doc/glibc-functions/wcstoq.texi: Likewise.
31418         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31419         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31420         * doc/glibc-functions/wcstouq.texi: Likewise.
31421         * doc/glibc-functions/wmempcpy.texi: Likewise.
31422
31423 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
31424             Eric Blake  <ebb9@byu.net>
31425             Paolo Bonzini  <bonzini@gnu.org>
31426             Bruno Haible  <bruno@clisp.org>
31427
31428         Make c-stack work on Haiku.
31429         * lib/c-stack.c (SA_ONSTACK): Define fallback.
31430         (c_stack_action): Use SA_ONSTACK flag.
31431
31432 2008-12-22  Bruno Haible  <bruno@clisp.org>
31433
31434         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
31435
31436 2008-12-22  Bruno Haible  <bruno@clisp.org>
31437
31438         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
31439         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
31440         being overridden.
31441         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
31442         New macros.
31443         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
31444         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
31445         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
31446         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
31447
31448 2008-12-22  Bruno Haible  <bruno@clisp.org>
31449
31450         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
31451         from test code.
31452
31453 2008-12-22  Eric Blake  <ebb9@byu.net>
31454
31455         Avoid gcc warnings on cygwin.
31456         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
31457         Avoid unused variable.
31458         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
31459         Likewise.
31460
31461 2008-12-22  Bruno Haible  <bruno@clisp.org>
31462
31463         Remove HAVE_MBRTOWC conditionals.
31464         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
31465         (mbscasecmp): Assume mbrtowc function.
31466         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
31467         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
31468         * lib/mbschr.c: Include mbuiter.h unconditionally.
31469         (mbschr): Assume mbrtowc function.
31470         * lib/mbscspn.c: Include mbuiter.h unconditionally.
31471         (mbscspn): Assume mbrtowc function.
31472         * lib/mbslen.c: Include mbuiter.h unconditionally.
31473         (mbslen): Assume mbrtowc function.
31474         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
31475         (mbsncasecmp): Assume mbrtowc function.
31476         * lib/mbsnlen.c: Include mbiter.h unconditionally.
31477         (mbsnlen): Assume mbrtowc function.
31478         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
31479         (mbspbrk): Assume mbrtowc function.
31480         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
31481         (mbspcasecmp): Assume mbrtowc function.
31482         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
31483         (mbsrchr): Assume mbrtowc function.
31484         * lib/mbssep.c: Include mbuiter.h unconditionally.
31485         (mbssep): Assume mbrtowc function.
31486         * lib/mbsspn.c: Include mbuiter.h unconditionally.
31487         (mbsspn): Assume mbrtowc function.
31488         * lib/mbsstr.c: Include mbuiter.h unconditionally.
31489         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
31490         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
31491         (mbstok_r): Assume mbrtowc function.
31492         * lib/propername.c: Include mbuiter.h unconditionally.
31493         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
31494         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
31495         (trim2): Assume mbrtowc function.
31496         * lib/mbswidth.c (mbsinit): Remove fallback definition.
31497         (mbsnwidth): Assume mbrtowc function.
31498         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
31499         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
31500         fallback definitions.
31501         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
31502
31503 2008-12-22  Bruno Haible  <bruno@clisp.org>
31504
31505         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
31506
31507 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
31508
31509         * modules/regex: Request emulations for the mb*/wc* functions we need.
31510         * m4/regex.m4: Don't look for those functions here.
31511         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
31512
31513 2008-12-22  Bruno Haible  <bruno@clisp.org>
31514
31515         * modules/fnmatch (Depends-on): Remove duplicated dependency.
31516
31517 2008-12-21  Bruno Haible  <bruno@clisp.org>
31518
31519         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
31520         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
31521         (Include): Remove conditionalization.
31522         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
31523         (Include): Remove conditionalization.
31524         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
31525         (Include): Remove conditionalization.
31526         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
31527         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31528         * NEWS: Mention the change.
31529         Reported by Alan Hourihane <alanh@fairlite.co.uk>
31530         via Sergey Poznyakoff <gray@gnu.org.ua>.
31531
31532 2008-12-21  Bruno Haible  <bruno@clisp.org>
31533
31534         * MODULES.html.sh (Extended multibyte and wide character utilities
31535         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
31536         wcrtomb, wcsrtombs.
31537         (Support for systems lacking POSIX:2008): Add accept, bind, close,
31538         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
31539         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
31540         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
31541
31542 2008-12-21  Bruno Haible  <bruno@clisp.org>
31543
31544         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
31545
31546 2008-12-21  Bruno Haible  <bruno@clisp.org>
31547
31548         * modules/wcsnrtombs-tests: New file.
31549         * tests/test-wcsnrtombs1.sh: New file.
31550         * tests/test-wcsnrtombs2.sh: New file.
31551         * tests/test-wcsnrtombs3.sh: New file.
31552         * tests/test-wcsnrtombs4.sh: New file.
31553         * tests/test-wcsnrtombs.c: New file.
31554
31555         New module 'wcsnrtombs'.
31556         * lib/wchar.in.h (wcsnrtombs): New declaration.
31557         * lib/wcsnrtombs.c: New file.
31558         * lib/wcsrtombs-state.c: New file.
31559         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
31560         (internal_state): Remove variable.
31561         * m4/wcsnrtombs.m4: New file.
31562         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
31563         compilation units.
31564         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
31565         HAVE_WCSNRTOMBS.
31566         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
31567         HAVE_WCSNRTOMBS.
31568         * modules/wcsnrtombs: New file.
31569         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
31570         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
31571
31572 2008-12-21  Bruno Haible  <bruno@clisp.org>
31573
31574         * modules/wcsrtombs-tests: New file.
31575         * tests/test-wcsrtombs1.sh: New file.
31576         * tests/test-wcsrtombs2.sh: New file.
31577         * tests/test-wcsrtombs3.sh: New file.
31578         * tests/test-wcsrtombs4.sh: New file.
31579         * tests/test-wcsrtombs.c: New file.
31580
31581         New module 'wcsrtombs'.
31582         * lib/wchar.in.h (wcsrtombs): New declaration.
31583         * lib/wcsrtombs.c: New file.
31584         * m4/wcsrtombs.m4: New file.
31585         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
31586         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31587         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
31588         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31589         * modules/wcsrtombs: New file.
31590         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
31591         bugs.
31592
31593 2008-12-21  Bruno Haible  <bruno@clisp.org>
31594
31595         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
31596         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
31597         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
31598         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
31599         if not correct.
31600         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
31601         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
31602         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31603         m4/locale-zh.m4, m4/codeset.m4.
31604         * doc/posix-functions/wcrtomb.texi: Document the bug.
31605
31606 2008-12-21  Bruno Haible  <bruno@clisp.org>
31607
31608         Work around a btowc() bug on IRIX 6.5.
31609         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
31610         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
31611         REPLACE_WTOBC if not.
31612         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
31613         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
31614         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
31615
31616 2008-12-21  Bruno Haible  <bruno@clisp.org>
31617
31618         * modules/wcrtomb-tests: New file.
31619         * tests/test-wcrtomb.sh: New file.
31620         * tests/test-wcrtomb.c: New file.
31621
31622         New module 'wcrtomb'.
31623         * lib/wchar.in.h (wcrtomb): New declaration.
31624         * lib/wcrtomb.c: New file.
31625         * m4/wcrtomb.m4: New file.
31626         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
31627         HAVE_WCRTOMB.
31628         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
31629         HAVE_WCRTOMB.
31630         * modules/wcrtomb: New file.
31631         * doc/posix-functions/wcrtomb.texi: Mention the new module.
31632
31633 2008-12-21  Bruno Haible  <bruno@clisp.org>
31634
31635         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
31636         * modules/mbsrtowcs (Files): Likewise.
31637         * modules/wctob (Files): Likewise.
31638         * modules/c-strcase-tests (Files): Likewise.
31639         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31640         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31641         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
31642         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
31643         * modules/vasnprintf-posix-tests (Files): Likewise.
31644
31645 2008-12-21  William Pursell  <bill.pursell@gmail.com>
31646
31647         gitlog-to-changelog: pass all command-line arguments to git-log
31648         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
31649         it is sometimes convenient to filter the commits in various ways.
31650         gitlog-to-changelog only allows --since to specify a start date,
31651         but git-log itself supports many other filtering mechanisms.
31652         At the moment, I want to filter by branch name.  Rather than
31653         adding a --branch option to gitlog-to-changelog, it seems more
31654         flexible to simply pass all options directly to git-log and let
31655         git do the work.  Notice that this effectively makes --since a
31656         redundant option for gitlog-to-changelog, but removing it would
31657         require current usage to change since calls would then require
31658         an additional '--'.
31659
31660 2008-12-21  Bruno Haible  <bruno@clisp.org>
31661
31662         * modules/mbsnrtowcs-tests: New file.
31663         * tests/test-mbsnrtowcs1.sh: New file.
31664         * tests/test-mbsnrtowcs2.sh: New file.
31665         * tests/test-mbsnrtowcs3.sh: New file.
31666         * tests/test-mbsnrtowcs4.sh: New file.
31667         * tests/test-mbsnrtowcs.c: New file.
31668
31669         New module 'mbsnrtowcs'.
31670         * lib/wchar.in.h (mbsnrtowcs): New declaration.
31671         * lib/mbsnrtowcs.c: New file.
31672         * lib/mbsrtowcs-state.c: New file.
31673         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
31674         (internal_state): Remove variable.
31675         * m4/mbsnrtowcs.m4: New file.
31676         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
31677         compilation units.
31678         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
31679         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31680         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
31681         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31682         * modules/mbsnrtowcs: New file.
31683         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
31684         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
31685         portability problem.
31686
31687 2008-12-21  Bruno Haible  <bruno@clisp.org>
31688
31689         Work around mbsrtowcs bug.
31690         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31691         (gl_FUNC_MBSRTOWCS): Invoke it.
31692         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31693         m4/locale-zh.m4.
31694         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31695
31696 2008-12-21  Bruno Haible  <bruno@clisp.org>
31697
31698         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31699
31700 2008-12-21  Bruno Haible  <bruno@clisp.org>
31701
31702         Update doc for AIX.
31703         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31704         16-bit wchar_t type.
31705         * doc/posix-functions/btowc.texi: Likewise.
31706         * doc/posix-functions/fgetwc.texi: Likewise.
31707         * doc/posix-functions/fgetws.texi: Likewise.
31708         * doc/posix-functions/fputwc.texi: Likewise.
31709         * doc/posix-functions/fputws.texi: Likewise.
31710         * doc/posix-functions/fwide.texi: Likewise.
31711         * doc/posix-functions/fwprintf.texi: Likewise.
31712         * doc/posix-functions/fwscanf.texi: Likewise.
31713         * doc/posix-functions/getwchar.texi: Likewise.
31714         * doc/posix-functions/getwc.texi: Likewise.
31715         * doc/posix-functions/iswalnum.texi: Likewise.
31716         * doc/posix-functions/iswalpha.texi: Likewise.
31717         * doc/posix-functions/iswblank.texi: Likewise.
31718         * doc/posix-functions/iswcntrl.texi: Likewise.
31719         * doc/posix-functions/iswctype.texi: Likewise.
31720         * doc/posix-functions/iswdigit.texi: Likewise.
31721         * doc/posix-functions/iswgraph.texi: Likewise.
31722         * doc/posix-functions/iswlower.texi: Likewise.
31723         * doc/posix-functions/iswprint.texi: Likewise.
31724         * doc/posix-functions/iswpunct.texi: Likewise.
31725         * doc/posix-functions/iswspace.texi: Likewise.
31726         * doc/posix-functions/iswupper.texi: Likewise.
31727         * doc/posix-functions/iswxdigit.texi: Likewise.
31728         * doc/posix-functions/mbrtowc.texi: Likewise.
31729         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31730         * doc/posix-functions/mbstowcs.texi: Likewise.
31731         * doc/posix-functions/mbtowc.texi: Likewise.
31732         * doc/posix-functions/putwchar.texi: Likewise.
31733         * doc/posix-functions/putwc.texi: Likewise.
31734         * doc/posix-functions/swprintf.texi: Likewise.
31735         * doc/posix-functions/tolower.texi: Likewise.
31736         * doc/posix-functions/toupper.texi: Likewise.
31737         * doc/posix-functions/towctrans.texi: Likewise.
31738         * doc/posix-functions/ungetwc.texi: Likewise.
31739         * doc/posix-functions/vswprintf.texi: Likewise.
31740         * doc/posix-functions/wcrtomb.texi: Likewise.
31741         * doc/posix-functions/wcscat.texi: Likewise.
31742         * doc/posix-functions/wcschr.texi: Likewise.
31743         * doc/posix-functions/wcscmp.texi: Likewise.
31744         * doc/posix-functions/wcscoll.texi: Likewise.
31745         * doc/posix-functions/wcscpy.texi: Likewise.
31746         * doc/posix-functions/wcscspn.texi: Likewise.
31747         * doc/posix-functions/wcsftime.texi: Likewise.
31748         * doc/posix-functions/wcslen.texi: Likewise.
31749         * doc/posix-functions/wcsncat.texi: Likewise.
31750         * doc/posix-functions/wcsncmp.texi: Likewise.
31751         * doc/posix-functions/wcsncpy.texi: Likewise.
31752         * doc/posix-functions/wcspbrk.texi: Likewise.
31753         * doc/posix-functions/wcsrchr.texi: Likewise.
31754         * doc/posix-functions/wcsrtombs.texi: Likewise.
31755         * doc/posix-functions/wcsspn.texi: Likewise.
31756         * doc/posix-functions/wcsstr.texi: Likewise.
31757         * doc/posix-functions/wcstod.texi: Likewise.
31758         * doc/posix-functions/wcstof.texi: Likewise.
31759         * doc/posix-functions/wcstoimax.texi: Likewise.
31760         * doc/posix-functions/wcstok.texi: Likewise.
31761         * doc/posix-functions/wcstold.texi: Likewise.
31762         * doc/posix-functions/wcstoll.texi: Likewise.
31763         * doc/posix-functions/wcstol.texi: Likewise.
31764         * doc/posix-functions/wcstombs.texi: Likewise.
31765         * doc/posix-functions/wcstoull.texi: Likewise.
31766         * doc/posix-functions/wcstoul.texi: Likewise.
31767         * doc/posix-functions/wcstoumax.texi: Likewise.
31768         * doc/posix-functions/wcswidth.texi: Likewise.
31769         * doc/posix-functions/wcsxfrm.texi: Likewise.
31770         * doc/posix-functions/wctob.texi: Likewise.
31771         * doc/posix-functions/wctomb.texi: Likewise.
31772         * doc/posix-functions/wctrans.texi: Likewise.
31773         * doc/posix-functions/wctype.texi: Likewise.
31774         * doc/posix-functions/wcwidth.texi: Likewise.
31775         * doc/posix-functions/wmemchr.texi: Likewise.
31776         * doc/posix-functions/wmemcmp.texi: Likewise.
31777         * doc/posix-functions/wmemcpy.texi: Likewise.
31778         * doc/posix-functions/wmemmove.texi: Likewise.
31779         * doc/posix-functions/wmemset.texi: Likewise.
31780         * doc/posix-functions/wprintf.texi: Likewise.
31781         * doc/posix-functions/wscanf.texi: Likewise.
31782
31783 2008-12-21  Bruno Haible  <bruno@clisp.org>
31784
31785         Update doc for HP-UX 11.11.
31786         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31787         in HP-UX version 11.00, not in all versions of HP-UX 11.
31788         * doc/posix-functions/fwide.texi: Likewise.
31789         * doc/posix-functions/fwprintf.texi: Likewise.
31790         * doc/posix-functions/fwscanf.texi: Likewise.
31791         * doc/posix-functions/inet_ntop.texi: Likewise.
31792         * doc/posix-functions/inet_pton.texi: Likewise.
31793         * doc/posix-functions/mbrlen.texi: Likewise.
31794         * doc/posix-functions/mbrtowc.texi: Likewise.
31795         * doc/posix-functions/mbsinit.texi: Likewise.
31796         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31797         * doc/posix-functions/swprintf.texi: Likewise.
31798         * doc/posix-functions/swscanf.texi: Likewise.
31799         * doc/posix-functions/towctrans.texi: Likewise.
31800         * doc/posix-functions/vfwprintf.texi: Likewise.
31801         * doc/posix-functions/vswprintf.texi: Likewise.
31802         * doc/posix-functions/vwprintf.texi: Likewise.
31803         * doc/posix-functions/wcrtomb.texi: Likewise.
31804         * doc/posix-functions/wcsrtombs.texi: Likewise.
31805         * doc/posix-functions/wcsstr.texi: Likewise.
31806         * doc/posix-functions/wctob.texi: Likewise.
31807         * doc/posix-functions/wctrans.texi: Likewise.
31808         * doc/posix-functions/wmemchr.texi: Likewise.
31809         * doc/posix-functions/wmemcmp.texi: Likewise.
31810         * doc/posix-functions/wmemcpy.texi: Likewise.
31811         * doc/posix-functions/wmemmove.texi: Likewise.
31812         * doc/posix-functions/wmemset.texi: Likewise.
31813         * doc/posix-functions/wprintf.texi: Likewise.
31814         * doc/posix-functions/wscanf.texi: Likewise.
31815
31816 2008-12-21  Bruno Haible  <bruno@clisp.org>
31817
31818         Work around a portability problem.
31819         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31820         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31821
31822 2008-12-20  Bruno Haible  <bruno@clisp.org>
31823
31824         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31825         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31826         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31828         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31829
31830         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31831         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31832         set.
31833         (GNULIB_defined_mbstate_t): New macro.
31834         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31835         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31836         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31837         reuses the system's mbrtowc function but works around the bugs.
31838         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31839         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31840         macros.
31841         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31842         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31843         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31844         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31845         REPLACE_MBSINIT if mbsinit needs to be overridden.
31846         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31847         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31848         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31849         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31850         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31851         m4/locale-zh.m4.
31852         (Depends): Add mbsinit.
31853         * modules/mbsinit (Depends): Add mbrtowc.
31854         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31855
31856 2008-12-20  Bruno Haible  <bruno@clisp.org>
31857
31858         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31859         so that there are no conversion errors on AIX.
31860         * tests/test-mbsrtowcs.c (main): LIkewise.
31861
31862 2008-12-20  Bruno Haible  <bruno@clisp.org>
31863
31864         Work around wctob bug on Solaris <= 9.
31865         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31866         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31867         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31868         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31869         * modules/wctob (Files): Add m4/locale-fr.m4.
31870         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31871
31872 2008-12-20  Bruno Haible  <bruno@clisp.org>
31873
31874         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31875         /dev/null.
31876         * tests/test-select-in.sh: Likewise.
31877         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31878
31879 2008-12-20  Bruno Haible  <bruno@clisp.org>
31880
31881         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31882         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31883         Cygwin 1.5.x.
31884
31885 2008-12-20  Bruno Haible  <bruno@clisp.org>
31886
31887         Ensure mbstate_t is defined on HP-UX 11.11.
31888         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31889         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31890         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31891         AC_USE_SYSTEM_EXTENSIONS.
31892         * modules/fnmatch (Depends-on): Add extensions.
31893         * modules/mbrlen (Depends-on): Likewise.
31894         * modules/mbrtowc (Depends-on): Likewise.
31895         * modules/mbsinit (Depends-on): Likewise.
31896         * modules/mbsrtowcs (Depends-on): Likewise.
31897         * modules/mbswidth (Depends-on): Likewise.
31898         * modules/quotearg (Depends-on): Likewise.
31899         * modules/strftime (Depends-on): Likewise.
31900
31901 2008-12-20  Bruno Haible  <bruno@clisp.org>
31902
31903         Ensure wctob is declared on IRIX 6.5.
31904         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31905         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31906         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31907         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31908         of HAVE_WCTOB.
31909         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31910         HAVE_WCTOB.
31911         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31912
31913 2008-12-19  Bruno Haible  <bruno@clisp.org>
31914
31915         * modules/mbsrtowcs-tests: New file.
31916         * tests/test-mbsrtowcs1.sh: New file.
31917         * tests/test-mbsrtowcs2.sh: New file.
31918         * tests/test-mbsrtowcs3.sh: New file.
31919         * tests/test-mbsrtowcs4.sh: New file.
31920         * tests/test-mbsrtowcs.c: New file.
31921
31922         New module 'mbsrtowcs'.
31923         * lib/wchar.in.h (mbsrtowcs): New declaration.
31924         * lib/mbsrtowcs.c: New file.
31925         * m4/mbsrtowcs.m4: New file.
31926         * modules/mbsrtowcs: New file.
31927         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
31928         HAVE_MBSRTOWCS.
31929         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
31930         HAVE_MBSRTOWCS.
31931         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
31932
31933 2008-12-19  Bruno Haible  <bruno@clisp.org>
31934
31935         New module 'mbrlen'.
31936         * lib/wchar.in.h (mbrlen): New declaration.
31937         * lib/mbrlen.c: New file.
31938         * m4/mbrlen.m4: New file.
31939         * modules/mbrlen: New file.
31940         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
31941         HAVE_MBRLEN.
31942         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
31943         HAVE_MBRLEN.
31944         * doc/posix-functions/mbrlen.texi: Document the new module.
31945
31946 2008-12-19  Bruno Haible  <bruno@clisp.org>
31947
31948         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
31949         * modules/mbrtowc (Depends-on): Add verify.
31950         Suggested by Paul Eggert.
31951
31952 2008-12-18  Bruno Haible  <bruno@clisp.org>
31953
31954         * modules/mbsinit-tests: New file.
31955         * tests/test-mbsinit.sh: New file.
31956         * tests/test-mbsinit.c: New file.
31957
31958 2008-12-18  Bruno Haible  <bruno@clisp.org>
31959
31960         * modules/mbrtowc-tests: New file.
31961         * tests/test-mbrtowc1.sh: New file.
31962         * tests/test-mbrtowc2.sh: New file.
31963         * tests/test-mbrtowc3.sh: New file.
31964         * tests/test-mbrtowc4.sh: New file.
31965         * tests/test-mbrtowc.c: New file.
31966
31967         New module 'mbrtowc'.
31968         * lib/wchar.in.h (mbstate_t): Override when the system does not have
31969         mbsinit and mbrtowc.
31970         (mbrtowc): New declaration.
31971         * lib/mbrtowc.c: New file.
31972         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
31973         * modules/mbrtowc: New file.
31974         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
31975         HAVE_MBRTOWC.
31976         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
31977         HAVE_MBRTOWC.
31978         * doc/posix-functions/mbrtowc.texi: Document the new module.
31979
31980 2008-12-18  Bruno Haible  <bruno@clisp.org>
31981
31982         New module 'wctob'.
31983         * lib/wchar.in.h (wctob): New declaration.
31984         * lib/wctob.c: New file.
31985         * m4/wctob.m4: New file.
31986         * modules/wctob: New file.
31987         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
31988         HAVE_WCTOB.
31989         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
31990         * doc/posix-functions/wctob.texi: Document the new module.
31991
31992 2008-12-18  Bruno Haible  <bruno@clisp.org>
31993
31994         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
31995         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
31996
31997 2008-12-18  Simon Josefsson  <simon@josefsson.org>
31998
31999         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
32000         G. Christensen" <tgc@jupiterrise.com>.
32001
32002         * lib/flock.c: Need to include errno.h.  Reported by "Tom
32003         G. Christensen" <tgc@jupiterrise.com>.
32004
32005         * lib/flock.c: Need to include string.h.  Reported by "Tom
32006         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
32007         <ebb9@byu.net>.
32008
32009 2008-12-18  Bruno Haible  <bruno@clisp.org>
32010
32011         * m4/locale-ja.m4: New file, from GNU gettext.
32012
32013 2008-12-17  Bruno Haible  <bruno@clisp.org>
32014
32015         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
32016         Suggested by Eric Blake.
32017
32018 2008-12-17  Bruno Haible  <bruno@clisp.org>
32019
32020         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
32021
32022 2008-12-17  Bruno Haible  <bruno@clisp.org>
32023
32024         * lib/mbsinit.c: Include verify.h. Verify an assumption.
32025         * modules/mbsinit (Depends-on): Add verify.
32026         Suggested by Paul Eggert.
32027
32028 2008-12-17  Bruno Haible  <bruno@clisp.org>
32029
32030         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
32031         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
32032         gl_FUNC_MBRTOWC.
32033         * m4/mbiter.m4 (gl_MBITER): LIkewise.
32034         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
32035         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
32036         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
32037         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
32038         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
32039         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
32040         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
32041         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
32042         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
32043         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
32044         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
32045         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
32046         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
32047         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
32048         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32049         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
32050         * modules/trim (configure.ac): Likewise.
32051
32052 2008-12-17  Bruno Haible  <bruno@clisp.org>
32053
32054         * modules/btowc-tests: New file.
32055         * tests/test-btowc1.sh: New file.
32056         * tests/test-btowc2.sh: New file.
32057         * tests/test-btowc.c: New file.
32058
32059         New module 'btowc'.
32060         * lib/wchar.in.h (btowc): New declaration.
32061         * lib/btowc.c: New file.
32062         * m4/btowc.m4: New file.
32063         * modules/btowc: New file.
32064         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
32065         HAVE_BTOWC.
32066         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
32067         * doc/posix-functions/btowc.texi: Document the new module.
32068
32069 2008-12-17  Bruno Haible  <bruno@clisp.org>
32070
32071         New module 'mbsinit'.
32072         * lib/wchar.in.h (mbsinit): New declaration.
32073         * lib/mbsinit.c: New file.
32074         * m4/mbsinit.m4: New file.
32075         * modules/mbsinit: New file.
32076         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
32077         HAVE_MBSINIT.
32078         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
32079         HAVE_MBSINIT.
32080         * doc/posix-functions/mbsinit.texi: Document the new module.
32081
32082 2008-12-16  Bruno Haible  <bruno@clisp.org>
32083
32084         * lib/unistd.in.h: Add comment.
32085         * tests/test-environ.c: Don't include <stdlib.h>.
32086
32087 2008-12-16  Bruno Haible  <bruno@clisp.org>
32088
32089         * lib/parse-duration.h (parse_duration): Document return value
32090         convention.
32091         * lib/parse-duration.c: Include specification header first. Add
32092         comments.
32093         (_): Remove macro.
32094         (parse_year_month_day, parse_hour_minute_second): Move side effects
32095         outside of strchr call.
32096         (parse_non_iso8601): Move side effects outside of isspace call.
32097         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
32098         call.
32099
32100 2008-12-16  Bruno Haible  <bruno@clisp.org>
32101
32102         * tests/test-parse-duration.sh: Produce no output when the test
32103         succeeds.
32104
32105 2008-12-16  Bruno Haible  <bruno@clisp.org>
32106
32107         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
32108         expressions.
32109
32110 2008-12-15  Bruno Haible  <bruno@clisp.org>
32111
32112         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
32113         * doc/glibc-functions/flistxattr.texi: Likewise.
32114         * doc/glibc-functions/fopencookie.texi: Likewise.
32115         * doc/glibc-functions/fremovexattr.texi: Likewise.
32116         * doc/glibc-functions/fsetxattr.texi: Likewise.
32117         * doc/glibc-functions/getxattr.texi: Likewise.
32118         * doc/glibc-functions/lgetxattr.texi: Likewise.
32119         * doc/glibc-functions/listxattr.texi: Likewise.
32120         * doc/glibc-functions/llistxattr.texi: Likewise.
32121         * doc/glibc-functions/lremovexattr.texi: Likewise.
32122         * doc/glibc-functions/lsetxattr.texi: Likewise.
32123         * doc/glibc-functions/removexattr.texi: Likewise.
32124         * doc/glibc-functions/setxattr.texi: Likewise.
32125         * doc/posix-functions/open_memstream.texi: Likewise.
32126
32127 2008-12-15  Eric Blake  <ebb9@byu.net>
32128
32129         Update doc for cygwin 1.7.
32130         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
32131         functions.
32132         * doc/posix-functions/fchmodat.texi: Likewise.
32133         * doc/posix-functions/fchownat.texi: Likewise.
32134         * doc/posix-functions/fdopendir.texi: Likewise.
32135         * doc/posix-functions/fmemopen.texi: Likewise.
32136         * doc/posix-functions/freeaddrinfo.texi: Likewise.
32137         * doc/posix-functions/fstatat.texi: Likewise.
32138         * doc/posix-functions/futimens.texi: Likewise.
32139         * doc/posix-functions/gai_strerror.texi: Likewise.
32140         * doc/posix-functions/getaddrinfo.texi: Likewise.
32141         * doc/posix-functions/getnameinfo.texi: Likewise.
32142         * doc/posix-functions/if_freenameindex.texi: Likewise.
32143         * doc/posix-functions/if_indextoname.texi: Likewise.
32144         * doc/posix-functions/if_nameindex.texi: Likewise.
32145         * doc/posix-functions/if_nametoindex.texi: Likewise.
32146         * doc/posix-functions/insque.texi: Likewise.
32147         * doc/posix-functions/linkat.texi: Likewise.
32148         * doc/posix-functions/llrint.texi: Likewise.
32149         * doc/posix-functions/llrintf.texi: Likewise.
32150         * doc/posix-functions/llrintl.texi: Likewise.
32151         * doc/posix-functions/lockf.texi: Likewise.
32152         * doc/posix-functions/lrintl.texi: Likewise.
32153         * doc/posix-functions/mkdirat.texi: Likewise.
32154         * doc/posix-functions/mkfifoat.texi: Likewise.
32155         * doc/posix-functions/mknodat.texi: Likewise.
32156         * doc/posix-functions/mq_close.texi: Likewise.
32157         * doc/posix-functions/mq_getattr.texi: Likewise.
32158         * doc/posix-functions/mq_notify.texi: Likewise.
32159         * doc/posix-functions/mq_open.texi: Likewise.
32160         * doc/posix-functions/mq_receive.texi: Likewise.
32161         * doc/posix-functions/mq_send.texi: Likewise.
32162         * doc/posix-functions/mq_setattr.texi: Likewise.
32163         * doc/posix-functions/mq_timedreceive.texi: Likewise.
32164         * doc/posix-functions/mq_timedsend.texi: Likewise.
32165         * doc/posix-functions/mq_unlink.texi: Likewise.
32166         * doc/posix-functions/open_memstream.texi: Likewise.
32167         * doc/posix-functions/openat.texi: Likewise.
32168         * doc/posix-functions/posix_fadvise.texi: Likewise.
32169         * doc/posix-functions/posix_fallocate.texi: Likewise.
32170         * doc/posix-functions/posix_madvise.texi: Likewise.
32171         * doc/posix-functions/posix_memalign.texi: Likewise.
32172         * doc/posix-functions/posix_openpt.texi: Likewise.
32173         * doc/posix-functions/readlinkat.texi: Likewise.
32174         * doc/posix-functions/remque.texi: Likewise.
32175         * doc/posix-functions/renameat.texi: Likewise.
32176         * doc/posix-functions/rintl.texi: Likewise.
32177         * doc/posix-functions/sem_unlink.texi: Likewise.
32178         * doc/posix-functions/shm_open.texi: Likewise.
32179         * doc/posix-functions/shm_unlink.texi: Likewise.
32180         * doc/posix-functions/signgam.texi: Likewise.
32181         * doc/posix-functions/sigset.texi: Likewise.
32182         * doc/posix-functions/stpcpy.texi: Likewise.
32183         * doc/posix-functions/stpncpy.texi: Likewise.
32184         * doc/posix-functions/strerror.texi: Likewise.
32185         * doc/posix-functions/strtod.texi: Likewise.
32186         * doc/posix-functions/symlinkat.texi: Likewise.
32187         * doc/posix-functions/unlinkat.texi: Likewise.
32188         * doc/posix-functions/utimensat.texi: Likewise.
32189         * doc/glibc-functions/bindresvport.texi: Likewise.
32190         * doc/glibc-functions/dn_expand.texi: Likewise.
32191         * doc/glibc-functions/exp10.texi: Likewise.
32192         * doc/glibc-functions/exp10f.texi: Likewise.
32193         * doc/glibc-functions/fgetxattr.texi: Likewise.
32194         * doc/glibc-functions/flistxattr.texi: Likewise.
32195         * doc/glibc-functions/fopencookie.texi: Likewise.
32196         * doc/glibc-functions/freeifaddrs.texi: Likewise.
32197         * doc/glibc-functions/fremovexattr.texi: Likewise.
32198         * doc/glibc-functions/fsetxattr.texi: Likewise.
32199         * doc/glibc-functions/getifaddrs.texi: Likewise.
32200         * doc/glibc-functions/getxattr.texi: Likewise.
32201         * doc/glibc-functions/lgetxattr.texi: Likewise.
32202         * doc/glibc-functions/listxattr.texi: Likewise.
32203         * doc/glibc-functions/llistxattr.texi: Likewise.
32204         * doc/glibc-functions/lremovexattr.texi: Likewise.
32205         * doc/glibc-functions/lsetxattr.texi: Likewise.
32206         * doc/glibc-functions/pow10.texi: Likewise.
32207         * doc/glibc-functions/pow10f.texi: Likewise.
32208         * doc/glibc-functions/rcmd_af.texi: Likewise.
32209         * doc/glibc-functions/removexattr.texi: Likewise.
32210         * doc/glibc-functions/res_init.texi: Likewise.
32211         * doc/glibc-functions/res_mkquery.texi: Likewise.
32212         * doc/glibc-functions/res_query.texi: Likewise.
32213         * doc/glibc-functions/res_querydomain.texi: Likewise.
32214         * doc/glibc-functions/res_send.texi: Likewise.
32215         * doc/glibc-functions/rresvport_af.texi: Likewise.
32216         * doc/glibc-functions/setxattr.texi: Likewise.
32217         * doc/glibc-functions/strcasestr.texi: Likewise.
32218
32219 2008-12-15  Bruno Haible  <bruno@clisp.org>
32220
32221         Fix compilation error on OSF/1 4.0.
32222         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
32223         <sys/time.h>, simply delegate to the system header.
32224         Reported by Daniel Richard G. <oss@teragram.com>.
32225
32226 2008-12-15  Bruno Haible  <bruno@clisp.org>
32227
32228         * doc/posix-functions/openat.texi: Mention the 'openat' module.
32229         * doc/posix-functions/fchmodat.texi: Likewise.
32230         * doc/posix-functions/fchownat.texi: Likewise.
32231         * doc/posix-functions/fdopendir.texi: Likewise.
32232         * doc/posix-functions/fstatat.texi: Likewise.
32233         * doc/posix-functions/mkdirat.texi: Likewise.
32234         * doc/posix-functions/unlinkat.texi: Likewise.
32235
32236 2008-12-14  Bruno Haible  <bruno@clisp.org>
32237
32238         Update doc for POSIX:2008.
32239         * doc/posix-functions/faccessat.texi: New file.
32240         * doc/posix-functions/fchmodat.texi: New file.
32241         * doc/posix-functions/fchownat.texi: New file.
32242         * doc/posix-functions/fdopendir.texi: New file.
32243         * doc/posix-functions/fstatat.texi: New file.
32244         * doc/posix-functions/futimens.texi: New file.
32245         * doc/posix-functions/linkat.texi: New file.
32246         * doc/posix-functions/mkdirat.texi: New file.
32247         * doc/posix-functions/mkfifoat.texi: New file.
32248         * doc/posix-functions/mknodat.texi: New file.
32249         * doc/posix-functions/open_wmemstream.texi: New file.
32250         * doc/posix-functions/openat.texi: New file.
32251         * doc/posix-functions/psiginfo.texi: New file.
32252         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
32253         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
32254         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
32255         * doc/posix-functions/readlinkat.texi: New file.
32256         * doc/posix-functions/renameat.texi: New file.
32257         * doc/posix-functions/strerror_l.texi: New file.
32258         * doc/posix-functions/symlinkat.texi: New file.
32259         * doc/posix-functions/unlinkat.texi: New file.
32260         * doc/posix-functions/utimensat.texi: New file.
32261         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32262
32263 2008-12-14  Bruno Haible  <bruno@clisp.org>
32264
32265         Update doc for POSIX:2008.
32266         * doc/posix-functions/alphasort.texi: Renamed from
32267         doc/glibc-functions/alphasort.texi.
32268         * doc/posix-functions/dirfd.texi: Renamed from
32269         doc/glibc-functions/dirfd.texi.
32270         * doc/posix-functions/dprintf.texi: Renamed from
32271         doc/glibc-functions/dprintf.texi.
32272         * doc/posix-functions/duplocale.texi: Renamed from
32273         doc/glibc-functions/duplocale.texi.
32274         * doc/posix-functions/fexecve.texi: Renamed from
32275         doc/glibc-functions/fexecve.texi.
32276         * doc/posix-functions/fmemopen.texi: Renamed from
32277         doc/glibc-functions/fmemopen.texi.
32278         * doc/posix-functions/freelocale.texi: Renamed from
32279         doc/glibc-functions/freelocale.texi.
32280         * doc/posix-functions/getdate_err.texi: Renamed from
32281         doc/glibc-functions/getdate_err.texi.
32282         * doc/posix-functions/isalnum_l.texi: Renamed from
32283         doc/glibc-functions/isalnum_l.texi.
32284         * doc/posix-functions/isalpha_l.texi: Renamed from
32285         doc/glibc-functions/isalpha_l.texi.
32286         * doc/posix-functions/isblank_l.texi: Renamed from
32287         doc/glibc-functions/isblank_l.texi.
32288         * doc/posix-functions/iscntrl_l.texi: Renamed from
32289         doc/glibc-functions/iscntrl_l.texi.
32290         * doc/posix-functions/isdigit_l.texi: Renamed from
32291         doc/glibc-functions/isdigit_l.texi.
32292         * doc/posix-functions/isgraph_l.texi: Renamed from
32293         doc/glibc-functions/isgraph_l.texi.
32294         * doc/posix-functions/islower_l.texi: Renamed from
32295         doc/glibc-functions/islower_l.texi.
32296         * doc/posix-functions/isprint_l.texi: Renamed from
32297         doc/glibc-functions/isprint_l.texi.
32298         * doc/posix-functions/ispunct_l.texi: Renamed from
32299         doc/glibc-functions/ispunct_l.texi.
32300         * doc/posix-functions/isspace_l.texi: Renamed from
32301         doc/glibc-functions/isspace_l.texi.
32302         * doc/posix-functions/isupper_l.texi: Renamed from
32303         doc/glibc-functions/isupper_l.texi.
32304         * doc/posix-functions/iswalnum_l.texi: Renamed from
32305         doc/glibc-functions/iswalnum_l.texi.
32306         * doc/posix-functions/iswalpha_l.texi: Renamed from
32307         doc/glibc-functions/iswalpha_l.texi.
32308         * doc/posix-functions/iswblank_l.texi: Renamed from
32309         doc/glibc-functions/iswblank_l.texi.
32310         * doc/posix-functions/iswcntrl_l.texi: Renamed from
32311         doc/glibc-functions/iswcntrl_l.texi.
32312         * doc/posix-functions/iswctype_l.texi: Renamed from
32313         doc/glibc-functions/iswctype_l.texi.
32314         * doc/posix-functions/iswdigit_l.texi: Renamed from
32315         doc/glibc-functions/iswdigit_l.texi.
32316         * doc/posix-functions/iswgraph_l.texi: Renamed from
32317         doc/glibc-functions/iswgraph_l.texi.
32318         * doc/posix-functions/iswlower_l.texi: Renamed from
32319         doc/glibc-functions/iswlower_l.texi.
32320         * doc/posix-functions/iswprint_l.texi: Renamed from
32321         doc/glibc-functions/iswprint_l.texi.
32322         * doc/posix-functions/iswpunct_l.texi: Renamed from
32323         doc/glibc-functions/iswpunct_l.texi.
32324         * doc/posix-functions/iswspace_l.texi: Renamed from
32325         doc/glibc-functions/iswspace_l.texi.
32326         * doc/posix-functions/iswupper_l.texi: Renamed from
32327         doc/glibc-functions/iswupper_l.texi.
32328         * doc/posix-functions/iswxdigit_l.texi: Renamed from
32329         doc/glibc-functions/iswxdigit_l.texi.
32330         * doc/posix-functions/isxdigit_l.texi: Renamed from
32331         doc/glibc-functions/isxdigit_l.texi.
32332         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
32333         doc/glibc-functions/mbsnrtowcs.texi.
32334         * doc/posix-functions/mkdtemp.texi: Renamed from
32335         doc/glibc-functions/mkdtemp.texi.
32336         * doc/posix-functions/newlocale.texi: Renamed from
32337         doc/glibc-functions/newlocale.texi.
32338         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
32339         doc/glibc-functions/nl_langinfo_l.texi.
32340         * doc/posix-functions/open_memstream.texi: Renamed from
32341         doc/glibc-functions/open_memstream.texi.
32342         * doc/posix-functions/opterr.texi: Renamed from
32343         doc/glibc-functions/opterr.texi.
32344         * doc/posix-functions/optind.texi: Renamed from
32345         doc/glibc-functions/optind.texi.
32346         * doc/posix-functions/optopt.texi: Renamed from
32347         doc/glibc-functions/optopt.texi.
32348         * doc/posix-functions/psignal.texi: Renamed from
32349         doc/glibc-functions/psignal.texi.
32350         * doc/posix-functions/scandir.texi: Renamed from
32351         doc/glibc-functions/scandir.texi.
32352         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
32353         doc/glibc-functions/sched_get_priority_min.texi.
32354         * doc/posix-functions/signgam.texi: Renamed from
32355         doc/glibc-functions/signgam.texi.
32356         * doc/posix-functions/stpcpy.texi: Renamed from
32357         doc/glibc-functions/stpcpy.texi.
32358         * doc/posix-functions/stpncpy.texi: Renamed from
32359         doc/glibc-functions/stpncpy.texi.
32360         * doc/posix-functions/strcasecmp_l.texi: Renamed from
32361         doc/glibc-functions/strcasecmp_l.texi.
32362         * doc/posix-functions/strcoll_l.texi: Renamed from
32363         doc/glibc-functions/strcoll_l.texi.
32364         * doc/posix-functions/strfmon_l.texi: Renamed from
32365         doc/glibc-functions/strfmon_l.texi.
32366         * doc/posix-functions/strftime_l.texi: Renamed from
32367         doc/glibc-functions/strftime_l.texi.
32368         * doc/posix-functions/strncasecmp_l.texi: Renamed from
32369         doc/glibc-functions/strncasecmp_l.texi.
32370         * doc/posix-functions/strndup.texi: Renamed from
32371         doc/glibc-functions/strndup.texi.
32372         * doc/posix-functions/strnlen.texi: Renamed from
32373         doc/glibc-functions/strnlen.texi.
32374         * doc/posix-functions/strsignal.texi: Renamed from
32375         doc/glibc-functions/strsignal.texi.
32376         * doc/posix-functions/strxfrm_l.texi: Renamed from
32377         doc/glibc-functions/strxfrm_l.texi.
32378         * doc/posix-functions/timer_gettime.texi: Renamed from
32379         doc/glibc-functions/timer_gettime.texi.
32380         * doc/posix-functions/tolower_l.texi: Renamed from
32381         doc/glibc-functions/tolower_l.texi.
32382         * doc/posix-functions/toupper_l.texi: Renamed from
32383         doc/glibc-functions/toupper_l.texi.
32384         * doc/posix-functions/towctrans_l.texi: Renamed from
32385         doc/glibc-functions/towctrans_l.texi.
32386         * doc/posix-functions/towlower_l.texi: Renamed from
32387         doc/glibc-functions/towlower_l.texi.
32388         * doc/posix-functions/towupper_l.texi: Renamed from
32389         doc/glibc-functions/towupper_l.texi.
32390         * doc/posix-functions/uselocale.texi: Renamed from
32391         doc/glibc-functions/uselocale.texi.
32392         * doc/posix-functions/vdprintf.texi: Renamed from
32393         doc/glibc-functions/vdprintf.texi.
32394         * doc/posix-functions/wcpcpy.texi:
32395         Renamed from doc/glibc-functions/wcpcpy.texi.
32396         * doc/posix-functions/wcpncpy.texi: Renamed from
32397         doc/glibc-functions/wcpncpy.texi.
32398         * doc/posix-functions/wcscasecmp.texi: Renamed from
32399         doc/glibc-functions/wcscasecmp.texi.
32400         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
32401         doc/glibc-functions/wcscasecmp_l.texi.
32402         * doc/posix-functions/wcscoll_l.texi: Renamed from
32403         doc/glibc-functions/wcscoll_l.texi.
32404         * doc/posix-functions/wcsdup.texi: Renamed from
32405         doc/glibc-functions/wcsdup.texi.
32406         * doc/posix-functions/wcsncasecmp.texi: Renamed from
32407         doc/glibc-functions/wcsncasecmp.texi.
32408         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
32409         doc/glibc-functions/wcsncasecmp_l.texi.
32410         * doc/posix-functions/wcsnlen.texi: Renamed from
32411         doc/glibc-functions/wcsnlen.texi.
32412         * doc/posix-functions/wcsnrtombs.texi: Renamed from
32413         doc/glibc-functions/wcsnrtombs.texi.
32414         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
32415         doc/glibc-functions/wcsxfrm_l.texi.
32416         * doc/posix-functions/wctrans_l.texi: Renamed from
32417         doc/glibc-functions/wctrans_l.texi.
32418         * doc/posix-functions/wctype_l.texi: Renamed from
32419         doc/glibc-functions/wctype_l.texi.
32420         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32421         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
32422         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
32423         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
32424         these subsections.
32425         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
32426         Remove sections.
32427
32428 2008-12-14  Bruno Haible  <bruno@clisp.org>
32429
32430         Update doc for POSIX:2008.
32431         * doc/posix-functions/*.texi: Update URL of POSIX specification.
32432
32433 2008-12-14  Bruno Haible  <bruno@clisp.org>
32434
32435         Update doc for POSIX:2008.
32436         * doc/pastposix-functions/bcmp.texi: Renamed from
32437         doc/posix-functions/bcmp.texi.
32438         * doc/pastposix-functions/bcopy.texi: Renamed from
32439         doc/posix-functions/bcopy.texi.
32440         * doc/pastposix-functions/bsd_signal.texi: Renamed from
32441         doc/posix-functions/bsd_signal.texi.
32442         * doc/pastposix-functions/bzero.texi: Renamed from
32443         doc/posix-functions/bzero.texi.
32444         * doc/pastposix-functions/ecvt.texi: Renamed from
32445         doc/posix-functions/ecvt.texi.
32446         * doc/pastposix-functions/fcvt.texi: Renamed from
32447         doc/posix-functions/fcvt.texi.
32448         * doc/pastposix-functions/ftime.texi: Renamed from
32449         doc/posix-functions/ftime.texi.
32450         * doc/pastposix-functions/gcvt.texi: Renamed from
32451         doc/posix-functions/gcvt.texi.
32452         * doc/pastposix-functions/getcontext.texi: Renamed from
32453         doc/posix-functions/getcontext.texi.
32454         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
32455         doc/posix-functions/gethostbyaddr.texi.
32456         * doc/pastposix-functions/gethostbyname.texi: Renamed from
32457         doc/posix-functions/gethostbyname.texi.
32458         * doc/pastposix-functions/getwd.texi: Renamed from
32459         doc/posix-functions/getwd.texi.
32460         * doc/pastposix-functions/h_errno.texi: Renamed from
32461         doc/posix-functions/h_errno.texi.
32462         * doc/pastposix-functions/index.texi: Renamed from
32463         doc/posix-functions/index.texi.
32464         * doc/pastposix-functions/makecontext.texi: Renamed from
32465         doc/posix-functions/makecontext.texi.
32466         * doc/pastposix-functions/mktemp.texi: Renamed from
32467         doc/posix-functions/mktemp.texi.
32468         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
32469         doc/posix-functions/pthread_attr_getstackaddr.texi.
32470         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
32471         doc/posix-functions/pthread_attr_setstackaddr.texi.
32472         * doc/pastposix-functions/rindex.texi: Renamed from
32473         doc/posix-functions/rindex.texi.
32474         * doc/pastposix-functions/scalb.texi: Renamed from
32475         doc/posix-functions/scalb.texi.
32476         * doc/pastposix-functions/setcontext.texi: Renamed from
32477         doc/posix-functions/setcontext.texi.
32478         * doc/pastposix-functions/swapcontext.texi: Renamed from
32479         doc/posix-functions/swapcontext.texi.
32480         * doc/pastposix-functions/ualarm.texi: Renamed from
32481         doc/posix-functions/ualarm.texi.
32482         * doc/pastposix-functions/usleep.texi: Renamed from
32483         doc/posix-functions/usleep.texi.
32484         * doc/pastposix-functions/vfork.texi: Renamed from
32485         doc/posix-functions/vfork.texi.
32486         * doc/pastposix-functions/wcswcs.texi: Renamed from
32487         doc/posix-functions/wcswcs.texi.
32488         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
32489         (Function Substitutes): Update.
32490
32491 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32492
32493         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
32494         m4/strerror.m4.
32495
32496 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32497             Bruno Haible  <bruno@clisp.org>
32498
32499         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
32500
32501 2008-12-13  Bruno Haible  <bruno@clisp.org>
32502
32503         * modules/strtoull (Depends-on): Remove unistd.
32504
32505 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32506
32507         * modules/strtoull (Depends-on): Add stdlib.
32508
32509 2008-12-11  Simon Josefsson  <simon@josefsson.org>
32510
32511         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
32512
32513 2008-12-10  Jim Meyering  <meyering@redhat.com>
32514
32515         gl_ASSERT: don't say assertions are disabled when they're not
32516         * m4/assert.m4 (gl_ASSERT): Do not make configure report
32517         "checking whether to enable assertions... no", when they are in
32518         fact enabled.  This is solely a bug in the output of configure.
32519         In spite of saying "no", NDEBUG was not defined in that case.
32520         Also, as noted by Eric Blake, leave assertions enabled upon
32521         --enable-assert=INVALID.
32522
32523 2008-12-10  Bruno Haible  <bruno@clisp.org>
32524
32525         Change MODULES.html to refer to POSIX:2008 where possible.
32526         * MODULES.html.sh (POSIX2008_URL): New variable.
32527         (posix_headers): Remove sys/timeb, ucontext.
32528         (posix2001_headers): New variable.
32529         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
32530         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
32531         index, makecontext, mktemp, pthread_attr_getstackaddr,
32532         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
32533         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
32534         (posix2001_functions): New variable.
32535         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
32536         otherwise.
32537
32538 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32539
32540         add missing include to parse-duration.c
32541         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
32542         * modules/parse-duration (Depends-on): Add xalloc.
32543
32544         fix sed script reading maint.mk
32545         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
32546         (syntax-check-rules): Use it.
32547
32548 2008-12-09  Bruno Haible  <bruno@clisp.org>
32549
32550         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
32551         MacOS X 10.4/PowerPC.
32552         Reported by Simon Josefsson.
32553
32554 2008-12-08  Jim Meyering  <meyering@redhat.com>
32555
32556         work around mingw's lack of some S_IF definitions
32557         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
32558         Reported by Simon Josefsson.
32559
32560 2008-12-08  Bruno Haible  <bruno@clisp.org>
32561
32562         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
32563         applied to variables. Needed on MacOS X 10.4/PowerPC.
32564         Reported by Simon Josefsson.
32565
32566 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
32567         and Eric Blake  <ebb9@byu.net>
32568
32569         assert: honor --enable-assert
32570         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
32571         order to honor --enable-assert, rather than treating it as a
32572         synonym for --disable-assert.
32573
32574 2008-12-08  Jim Meyering  <meyering@redhat.com>
32575
32576         * lib/posixtm.c: Remove now-useless declaration of mktime.
32577
32578         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
32579
32580 2008-12-07  Bruno Haible  <bruno@clisp.org>
32581
32582         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
32583         test_once): Mark functions as static.
32584         * tests/test-tls.c (test_tls): Likewise.
32585
32586 2008-12-07  Bruno Haible  <bruno@clisp.org>
32587
32588         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
32589         iconv_register_autodetect.
32590
32591 2008-12-07  Jim Meyering  <meyering@redhat.com>
32592
32593         posixtm.c: avoid a warning
32594         * lib/posixtm.c (posixtime): Don't initialize tm0.
32595         It's no longer needed to placate gcc4's -Wuninitialized,
32596         and the attempt to placate would elicit a new warning.
32597
32598         unicodeio.c: mark unused parameters
32599         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32600         (fallback_failure_callback): Likewise.
32601
32602 2008-12-07  Bruno Haible  <bruno@clisp.org>
32603
32604         * gnulib-tool (func_create_testdir): When building the tests
32605         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
32606         Reported by Simon Josefsson.
32607
32608 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32609
32610         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
32611
32612 2008-12-06  Bruno Haible  <bruno@clisp.org>
32613
32614         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
32615         Suggested by Eric Blake.
32616
32617 2008-12-06  Bruno Haible  <bruno@clisp.org>
32618
32619         Fix a c-stack test failure on MacOS X.
32620         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
32621         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
32622         handler for SIGBUS as well.
32623         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
32624         install a signal handler for SIGBUS as well.
32625         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
32626
32627 2008-12-06  Bruno Haible  <bruno@clisp.org>
32628
32629         Advocacy documentation.
32630         * doc/gnulib-intro.texi (Benefits): New section.
32631         * doc/gnulib.texi: Update.
32632
32633 2008-12-06  Bruno Haible  <bruno@clisp.org>
32634
32635         Document the 'manywarnings' module.
32636         * doc/manywarnings.texi: New file.
32637         * doc/gnulib.texi: Include it.
32638
32639 2008-12-05  Eric Blake  <ebb9@byu.net>
32640
32641         tests: silence some gcc warnings
32642         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
32643         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
32644         type mismatches.
32645
32646 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32647             Bruno Haible  <bruno@clisp.org>
32648
32649         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
32650
32651 2008-11-29  Jim Meyering  <meyering@redhat.com>
32652
32653         unicodeio.c: mark unused parameters
32654         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32655         (fallback_failure_callback): Likewise.
32656
32657         fts: fix a thinko
32658         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
32659         (set_stat_type): Return S_IF*-valued "type" directly.
32660         Prompted by James Youngman's spotting a related bug.
32661         Confirmed by further testing through find.
32662
32663         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
32664         * lib/fts.c (D_TYPE): Define.
32665         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
32666         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
32667         (s_ifmt_shift_bits): New function.
32668         (set_stat_type): New function.
32669         (fts_build): When not calling fts_stat, call set_stat_type
32670         to propagate dirent.d_type info to fts_read caller.
32671         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
32672         fts_statp->st_mode type information may be valid.
32673
32674 2008-11-28  Simon Josefsson  <simon@josefsson.org>
32675
32676         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
32677         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
32678         <sds@gnu.org>.
32679
32680 2008-11-20  Bruno Haible  <bruno@clisp.org>
32681
32682         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
32683         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
32684         INCLUDE_NEXT.
32685         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
32686         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
32687         * modules/math (Makefile.am): Substitute
32688         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
32689         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32690
32691 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32692             Bruno Haible  <bruno@clisp.org>
32693
32694         * lib/stdint.in.h: Define all type macros so that their expansion is
32695         a single typedef'ed token. Fixes a compilation failure in Boost which
32696         does "using ::int8_t;".
32697
32698 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32699
32700         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32701         gl_MANYWARN_ALL_GCC.
32702         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32703         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32704         * modules/manywarnings: New file.
32705         * MODULES.html.sh: Mention manywarnings module.
32706
32707 2008-11-18  Bruno Haible  <bruno@clisp.org>
32708
32709         * doc/gnulib-tool.texi (Unit tests): New section.
32710
32711 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32712
32713         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32714         paths like 'lib/po/foo.po'.
32715
32716 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32717
32718         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32719         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32720
32721 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32722
32723         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32724         parameter works.
32725
32726 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32727
32728         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32729
32730 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32731
32732         * modules/parse-duration-tests: New file.
32733         * tests/test-parse-duration.sh: New file.
32734         * tests/test-parse-duration.c: New file.
32735
32736         New module 'parse-duration'.
32737         * lib/parse-duration.h: New file.
32738         * lib/parse-duration.c: New file.
32739         * modules/parse-duration: New file.
32740
32741 2008-11-17  Bruno Haible  <bruno@clisp.org>
32742
32743         * tests/test-select-out.sh: Comment out the first pipe test.
32744         Reported by Simon Josefsson.
32745
32746 2008-11-17  Bruno Haible  <bruno@clisp.org>
32747
32748         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32749         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32750         gl_HOSTENT.
32751
32752 2008-11-17  Bruno Haible  <bruno@clisp.org>
32753
32754         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32755         -lnetwork and -lnet. Needed for Haiku and BeOS.
32756
32757 2008-11-16  Bruno Haible  <bruno@clisp.org>
32758
32759         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32760
32761 2008-11-16  Bruno Haible  <bruno@clisp.org>
32762
32763         Avoid test failure on Haiku.
32764         * tests/test-fsync.c: Include <errno.h>.
32765         (main): Don't require that fsync (0) fails.
32766
32767 2008-11-15  Bruno Haible  <bruno@clisp.org>
32768
32769         New module 'hostent'.
32770         * modules/hostent: New file.
32771         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32772
32773 2008-11-15  Bruno Haible  <bruno@clisp.org>
32774
32775         New module 'servent'.
32776         * modules/servent: New file.
32777         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32778
32779 2008-11-15  Bruno Haible  <bruno@clisp.org>
32780
32781         Avoid generating same test program with two different rules.
32782         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32783         test-frexp to test-frexp-nolibm.
32784         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32785         test-frexpl to test-frexpl-nolibm.
32786
32787 2008-11-15  Bruno Haible  <bruno@clisp.org>
32788
32789         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32790         $(FREXPL_LIBM).
32791
32792 2008-11-15  Bruno Haible  <bruno@clisp.org>
32793
32794         * lib/netdb.in.h: Activate the definitions also when the system's
32795         <netdb.h> has 'struct addrinfo'.
32796         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32797         EAI_OVERFLOW or AI_NUMERICSERV.
32798         * doc/posix-headers/netdb.texi: Document the problem.
32799
32800 2008-11-15  Bruno Haible  <bruno@clisp.org>
32801
32802         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32803
32804         Make the 'sched' module work on platforms where <sched.h> exists but
32805         is incomplete (such as Haiku).
32806         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32807         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32808         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32809         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32810         HAVE_STRUCT_SCHED_PARAM.
32811         * modules/sched (Depends-on): Add include_next.
32812         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32813         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32814         * doc/posix-headers/sched.texi: Document the issue.
32815
32816 2008-11-13  Jim Meyering  <meyering@redhat.com>
32817
32818         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32819         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32820         test would fail due to the difference in the Report bugs to ...
32821         line.  The expected address is empty, "<>", while the actual
32822         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32823
32824 2008-11-12  Bruno Haible  <bruno@clisp.org>
32825
32826         lstat: don't compile lstat.c on systems lacking lstat
32827         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32828         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32829         Reported by Daniel P. Berrange via Jim Meyering.
32830
32831 2008-11-12  Jim Meyering  <meyering@redhat.com>
32832
32833         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32834
32835 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32836
32837         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32838         instead.
32839
32840 2008-11-12  Bruno Haible  <bruno@clisp.org>
32841
32842         * lib/unicodeio.c: Include unistr.h.
32843         (utf8_wctomb): Remove function.
32844         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32845
32846 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32847
32848         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32849         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32850         <bruno@clisp.org>.
32851         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32852
32853 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32854
32855         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32856         * doc/gnulib.texi: Add section for warnings.
32857
32858 2008-11-11  Bruno Haible  <bruno@clisp.org>
32859
32860         * lib/sockets.h: Add a comment.
32861
32862 2008-11-11  Karl Berry  <karl@gnu.org>
32863
32864         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32865
32866 2008-11-11  Eric Blake  <ebb9@byu.net>
32867
32868         fdl.texi: avoid git symlinks
32869         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32870
32871 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32872
32873         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32874
32875 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32876
32877         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32878         (gl_WARN_ADD): Substitute $2 if literal.
32879
32880 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32881
32882         * m4/warning.m4: Remove.
32883
32884 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32885
32886         * m4/warnings.m4: Almost complete rewrite. :-)
32887
32888 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32889
32890         * modules/warnings: New module.
32891         * m4/warnings.m4: New file.
32892         * MODULES.html.sh: Mention warnings module.
32893         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32894         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32895
32896 2008-11-10  Eric Blake  <ebb9@byu.net>
32897
32898         fdl.texi: make a symlink to the latest version
32899         * doc/standards.texi: Revert today's earlier change.
32900         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32901         * doc/fdl.texi: ...and replace this with a symlink to the newer
32902         fdl-1.3.texi.
32903
32904 2008-11-10  Bruno Haible  <bruno@clisp.org>
32905
32906         * tests/test-select-fd.c (main): Accept the result file name as fourth
32907         argument.
32908         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32909         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32910
32911 2008-11-10  Bruno Haible  <bruno@clisp.org>
32912
32913         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32914         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32915         as autoconf-substituted macros.
32916         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32917         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32918         gl_NETDB_H_DEFAULTS. Set these variables.
32919         * modules/netdb (Makefile.am): Substitute these variables.
32920
32921 2008-11-10  Eric Blake  <ebb9@byu.net>
32922
32923         standards.texi: include correct file for FDL 1.3
32924         * doc/standards.texi (GNU Free Documentation License): Change
32925         include file to pull in FDL 1.3, not 1.2.
32926
32927         fdl.texi: revert accidental change to license
32928         * doc/fdl.texi: This is FDL 1.2, not 1.3.
32929
32930 2008-11-10  Bruno Haible  <bruno@clisp.org>
32931
32932         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
32933         cross-compiling guesses also when the native compile gives no result.
32934
32935 2008-11-10  Bruno Haible  <bruno@clisp.org>
32936
32937         * lib/spawni.c (__spawni): Force variable into the stack.
32938
32939 2008-11-10  Bruno Haible  <bruno@clisp.org>
32940
32941         Add support for Haiku.
32942         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
32943         glibc and BeOS, but also on Haiku.
32944         * lib/fpurge.c (fpurge): Likewise.
32945         * lib/freadable.c (freadable): Likewise.
32946         * lib/freadahead.c (freadahead): Likewise.
32947         * lib/freading.c (freading): Likewise.
32948         * lib/freadptr.c (freadptr): Likewise.
32949         * lib/freadseek.c (freadptrinc): Likewise.
32950         * lib/fseeko.c (rpl_fseeko): Likewise.
32951         * lib/fseterr.c (fseterr): Likewise.
32952         * lib/fwritable.c (fwritable): Likewise.
32953         * lib/fwriting.c (fwriting): Likewise.
32954         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
32955
32956 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32957
32958         * lib/config.charset: Treat Haiku like BeOS.
32959
32960 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32961
32962         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
32963         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
32964
32965 2008-11-08  Bruno Haible  <bruno@clisp.org>
32966
32967         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
32968         AC_CACHE_CHECK.
32969
32970 2008-11-08  Bruno Haible  <bruno@clisp.org>
32971
32972         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
32973
32974 2008-11-08  Bruno Haible  <bruno@clisp.org>
32975
32976         * tests/test-select-fd.c: New file.
32977         * tests/test-select-in.sh: New file.
32978         * tests/test-select-out.sh: New file.
32979         * tests/test-select-stdin.c: New file.
32980         * modules/select-tests (Files): Add the new files.
32981         (Depends-on): Add gettimeofday.
32982         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
32983         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
32984         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
32985
32986 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
32987             Bruno Haible  <bruno@clisp.org>
32988
32989         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
32990
32991 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
32992
32993         * build-aux/pmccabe2html: Added support for C++ source files.
32994
32995 2008-11-05  Ben Pfaff  <blp@gnu.org>
32996
32997         Fix lib/close.c build on Windows.
32998         * modules/close (Files): Add lib/w32sock.h.
32999
33000 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
33001
33002         Accept Bison's NEWS format.
33003         * build-aux/announce-gen (print_news_deltas): Tweak
33004         $re_prefix.
33005
33006 2008-11-04  Bruno Haible  <bruno@clisp.org>
33007
33008         * modules/random_r (Maintainer): Add glibc.
33009
33010 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33011
33012         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
33013         by karl@freefriends.org (Karl Berry).
33014         * doc/alloca.texi: Likewise.
33015         * doc/c-ctype.texi: Likewise.
33016         * doc/c-strcase.texi: Likewise.
33017         * doc/c-strcaseeq.texi: Likewise.
33018         * doc/c-strcasestr.texi: Likewise.
33019         * doc/c-strstr.texi: Likewise.
33020         * doc/c-strtod.texi: Likewise.
33021         * doc/c-strtold.texi: Likewise.
33022         * doc/ctime.texi: Likewise.
33023         * doc/error.texi: Likewise.
33024         * doc/fdl.texi: Likewise.
33025         * doc/gcd.texi: Likewise.
33026         * doc/getdate.texi: Likewise.
33027         * doc/gnulib-intro.texi: Likewise.
33028         * doc/gnulib-tool.texi: Likewise.
33029         * doc/gnulib.texi: Likewise.
33030         * doc/inet_ntoa.texi: Likewise.
33031         * doc/maintain.texi: Likewise.
33032         * doc/make-stds.texi: Likewise.
33033         * doc/quote.texi: Likewise.
33034         * doc/regexprops-generic.texi: Likewise.
33035         * doc/standards.texi: Likewise.
33036         * doc/verify.texi: Likewise.
33037         * doc/visibility.texi: Likewise.
33038         * doc/gnulib.texi (GNU Free Documentation License): Include
33039         fdl-1.3.texi instead of fdl.texi.
33040
33041 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33042
33043         * doc/fdl-1.3.texi: New file, from
33044         <http://www.gnu.org/licenses/fdl-1.3.texi>.
33045         * modules/fdl-1.3: Add.
33046         * MODULES.html.sh: Add fdl-1.3.
33047
33048 2008-11-03  Bruno Haible  <bruno@clisp.org>
33049
33050         Make determination of absolute name of header file work with AIX xlc.
33051         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
33052         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
33053         preprocessing.
33054         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33055         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33056
33057 2008-11-03  Simon Josefsson  <simon@josefsson.org>
33058
33059         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
33060         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
33061         <ludo@gnu.org>.
33062
33063 2008-11-02  Bruno Haible  <bruno@clisp.org>
33064
33065         Mark 'strpbrk' obsolete.
33066         * modules/strpbrk (Status, Notice): New sections.
33067         * modules/strtok_r (Depends-on): Add strpbrk.
33068
33069 2008-11-02  Bruno Haible  <bruno@clisp.org>
33070
33071         Mark 'strdup' obsolete.
33072         * modules/strdup (Status, Notice): New sections.
33073         * modules/findprog (Depends-on): Add strdup.
33074         * modules/getaddrinfo (Depends-on): Likewise.
33075         * modules/localename (Depends-on): Likewise.
33076         * modules/relocatable-lib (Depends-on): Likewise.
33077         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
33078         * modules/relocatable-prog (Depends-on): Likewise.
33079         * modules/trim (Depends-on): Likewise.
33080         * modules/unictype/gen-ctype (Depends-on): Likewise.
33081         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33082
33083 2008-11-02  Bruno Haible  <bruno@clisp.org>
33084
33085         Mark 'strcspn' obsolete.
33086         * modules/strcspn (Status, Notice): New sections.
33087
33088 2008-11-02  Bruno Haible  <bruno@clisp.org>
33089
33090         Mark 'rmdir' obsolete.
33091         * modules/rmdir (Status, Notice): New sections.
33092         * modules/clean-temp (Depends-on): Add rmdir.
33093         * modules/openat (Depends-on): Likewise.
33094
33095 2008-11-02  Bruno Haible  <bruno@clisp.org>
33096
33097         Mark 'raise' obsolete.
33098         * modules/raise (Status, Notice): New sections.
33099         (Include): Specify <signal.h>.
33100         * modules/stdio (Depends-on): Add raise.
33101         * modules/write (Depends-on): Likewise.
33102
33103 2008-11-02  Bruno Haible  <bruno@clisp.org>
33104
33105         Mark 'memset' obsolete.
33106         * modules/memset (Status, Notice): New sections.
33107
33108 2008-11-02  Bruno Haible  <bruno@clisp.org>
33109
33110         Mark 'memmove' obsolete.
33111         * modules/memmove (Status, Notice): New sections.
33112         * modules/argp (Depends-on): Add memmove.
33113         * modules/argz (Depends-on): Likewise.
33114         * modules/canonicalize (Depends-on): Likewise.
33115         * modules/canonicalize-lgpl (Depends-on): Likewise.
33116         * modules/fts (Depends-on): Likewise.
33117         * modules/getcwd (Depends-on): Likewise.
33118         * modules/human (Depends-on): Likewise.
33119         * modules/regex (Depends-on): Likewise.
33120         * modules/striconveh (Depends-on): Likewise.
33121         * modules/trim (Depends-on): Likewise.
33122         * modules/unistr/u8-move (Depends-on): Likewise.
33123         * modules/unistr/u16-move (Depends-on): Likewise.
33124         * modules/unistr/u32-move (Depends-on): Likewise.
33125
33126 2008-11-02  Bruno Haible  <bruno@clisp.org>
33127
33128         Mark 'memcpy' obsolete.
33129         * modules/memcpy (Status, Notice): New sections.
33130
33131 2008-11-02  Bruno Haible  <bruno@clisp.org>
33132
33133         Mark 'memcmp' obsolete.
33134         * modules/memcmp (Status, Notice): New sections.
33135         * modules/argmatch (Depends-on): Add memchr.
33136         * modules/backupfile (Depends-on): Likewise.
33137         * modules/c-strcasestr (Depends-on): Likewise.
33138         * modules/crypto/des (Depends-on): Likewise.
33139         * modules/csharpcomp (Depends-on): Likewise.
33140         * modules/fnmatch (Depends-on): Likewise.
33141         * modules/git-merge-changelog (Depends-on): Likewise.
33142         * modules/isnand (Depends-on): Likewise.
33143         * modules/isnand-nolibm (Depends-on): Likewise.
33144         * modules/isnanf (Depends-on): Likewise.
33145         * modules/isnanf-nolibm (Depends-on): Likewise.
33146         * modules/isnanl (Depends-on): Likewise.
33147         * modules/isnanl-nolibm (Depends-on): Likewise.
33148         * modules/mbchar (Depends-on): Likewise.
33149         * modules/memcoll (Depends-on): Likewise.
33150         * modules/quotearg (Depends-on): Likewise.
33151         * modules/regex (Depends-on): Likewise.
33152         * modules/relocatable-prog (Depends-on): Likewise.
33153         * modules/same (Depends-on): Likewise.
33154         * modules/signbit (Depends-on): Likewise.
33155         * modules/strcasestr-simple (Depends-on): Likewise.
33156         * modules/unictype/gen-ctype (Depends-on): Likewise.
33157         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33158         * modules/uniname/uniname (Depends-on): Likewise.
33159         * modules/unistr/u8-cmp (Depends-on): Likewise.
33160
33161 2008-11-02  Bruno Haible  <bruno@clisp.org>
33162
33163         Mark 'memchr' obsolete.
33164         * modules/memchr (Status, Notice): New sections.
33165         * modules/argp (Depends-on): Add memchr.
33166         * modules/base64 (Depends-on): Likewise.
33167         * modules/c-strcasestr (Depends-on): Likewise.
33168         * modules/chdir-long (Depends-on): Likewise.
33169         * modules/fnmatch (Depends-on): Likewise.
33170         * modules/getsubopt (Depends-on): Likewise.
33171         * modules/git-merge-changelog (Depends-on): Likewise.
33172         * modules/glob (Depends-on): Likewise.
33173         * modules/strcasestr-simple (Depends-on): Likewise.
33174         * modules/strnlen (Depends-on): Likewise.
33175
33176 2008-11-02  Bruno Haible  <bruno@clisp.org>
33177
33178         Mark 'atexit' obsolete.
33179         * modules/atexit (Status, Notice): New sections.
33180         * modules/chdir-long (Depends-on): Add atexit.
33181         * modules/wait-process (Depends-on): Likewise.
33182
33183 2008-11-02  Bruno Haible  <bruno@clisp.org>
33184
33185         * gnulib-tool: New option --with-obsolete.
33186         (func_usage): Document it.
33187         (func_modules_transitive_closure): Drop obsolete dependencies if
33188         incobsolete is not true.
33189         (func_import): Read and save the incobsolete variable to the cache.
33190
33191 2008-11-02  Bruno Haible  <bruno@clisp.org>
33192
33193         * modules/TEMPLATE-EXTENDED: New field 'Status'.
33194         * gnulib-tool: New option --extract-status.
33195         (func_usage): Document it.
33196         (sed_extract_prog): Recognize it.
33197         (func_get_status): New function.
33198
33199 2008-10-30  Simon Josefsson  <simon@josefsson.org>
33200
33201         * modules/sockets (License): Change from LGPL to LGPLv2+.
33202
33203 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33204
33205         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
33206
33207 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33208
33209         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33210         Mention times and sys_times.
33211         * modules/sys_times, modules/sys_times-tests: New modules.
33212         * modules/times, modules/times-tests: Likewise
33213         * m4/sys_times_h.m4: New file.
33214         * lib/sys_times.in.h: Likewise
33215         * lib/times.c: Likewise.
33216         * tests/test-sys_times.c: Likewise.
33217         * tests/test-times.c: Likewise.
33218         * doc/posix-headers/sys_times.texi: Update.
33219         * doc/posix-functions/times.texi: Update.
33220
33221 2008-10-28  Jim Meyering  <meyering@redhat.com>
33222
33223         * modules/tempname (Depends-on): Add lstat.
33224
33225         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
33226
33227 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33228
33229         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
33230         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
33231         using idiom used elsewhere in gnulib.
33232
33233 2008-10-27  Jim Meyering  <meyering@redhat.com>
33234
33235         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
33236
33237 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33238
33239         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
33240         TESTS_ENVIRONMENT, for shell scripts that needs to call built
33241         programs.
33242         * tests/test-argp-2.sh: Use $EXEEXT when needed.
33243
33244 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33245
33246         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
33247
33248 2008-10-27  Bruno Haible  <bruno@clisp.org>
33249
33250         * tests/test-lstat.c: Include <stdio.h>.
33251
33252 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33253
33254         * modules/lstat-tests: New module.
33255         * tests/test-lstat.c: New file.
33256
33257 2008-10-26  Jim Meyering  <meyering@redhat.com>
33258
33259         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
33260
33261 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33262             Bruno Haible  <bruno@clisp.org>
33263
33264         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
33265         * modules/configmake (Include): Add a note that the include must come
33266         after all system headers.
33267         * lib/javaversion.c: Include configmake.h after all other includes.
33268
33269 2008-10-26  Bruno Haible  <bruno@clisp.org>
33270
33271         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
33272         HAVE_STRUCT_RANDOM_DATA to 1.
33273         (gl_STDLIB_H): Simplify.
33274
33275 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33276
33277         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
33278         substitute HAVE_STRUCT_RANDOM_DATA.
33279         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
33280         random_data.
33281         * modules/stdlib (Makefile.am): Substitute
33282         HAVE_STRUCT_RANDOM_DATA.
33283
33284 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33285
33286         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
33287         * doc/gnulib-intro.texi (Copyright): Likewise.
33288
33289 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33290
33291         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
33292         findings.
33293
33294 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
33295             Bruno Haible  <bruno@clisp.org>
33296
33297         * lib/unistd.in.h: Include <winsock2.h>.
33298         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
33299         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
33300         Provide dummy declarations.
33301         (gethostname): Override.
33302         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
33303         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
33304         gl_PREREQ_SYS_H_WINSOCK2.
33305         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
33306         * doc/posix-functions/gethostname.texi: More details.
33307
33308 2008-10-25  Bruno Haible  <bruno@clisp.org>
33309
33310         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33311         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
33312         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
33313
33314         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
33315         here ...
33316         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
33317         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
33318         gl_UNISTD_H_DEFAULTS.
33319
33320 2008-10-25  Eric Blake  <ebb9@byu.net>
33321
33322         signbit: avoid spurious compiler failure
33323         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
33324         declarations inside function.
33325
33326 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33327             Bruno Haible  <bruno@clisp.org>
33328
33329         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
33330         * modules/random_r (Depends-on): Add stdint.
33331
33332 2008-10-24  Bruno Haible  <bruno@clisp.org>
33333
33334         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
33335         Eggert.
33336         * modules/strerror (License): Likewise.
33337
33338 2008-10-24  Jim Meyering  <meyering@redhat.com>
33339
33340         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
33341         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
33342
33343 2008-10-24  Eric Blake  <ebb9@byu.net>
33344
33345         getgroups: fix compilation when getgroups is available
33346         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
33347         but with <config.h> override of getgroups disabled.
33348
33349 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33350
33351         * doc/gnulib.texi (Header files): Add note about C++ problems.
33352         Explained by Bruno Haible <bruno@clisp.org>.
33353
33354 2008-10-23  Bruno Haible  <bruno@clisp.org>
33355
33356         Define a dummy SA_NODEFER macro on Interix.
33357         * lib/signal.in.h (SA_NODEFER): Define fallback.
33358         Reported by Aleksey Cheusov <cheusov@tut.by> via
33359         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
33360
33361 2008-10-23  Bruno Haible  <bruno@clisp.org>
33362
33363         * modules/freadahead (License): Change to LGPLv2+.
33364         Suggested by Simon Josefsson.
33365
33366 2008-10-23  Jim Meyering  <meyering@redhat.com>
33367
33368         random_r: new module
33369         * modules/random_r: New file.
33370         * m4/random_r.m4: New file.
33371         * lib/random_r.c: New file, from glibc.
33372         * modules/random_r-tests: New file.
33373         * tests/test-random_r.c: New file.
33374         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
33375          Declare.
33376         (RAND_MAX): Define.
33377         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
33378         * modules/stdlib: Substitute them, too.
33379         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
33380         * doc/glibc-functions/initstate_r.texi: Mention the new module.
33381         * doc/glibc-functions/random_r.texi: Likewise.
33382         * doc/glibc-functions/setstate_r.texi: Likewise.
33383         * doc/glibc-functions/srandom_r.texi: Likewise.
33384         * config/srclist.txt: Mention it.
33385
33386 2008-10-23  David Lutterkort  <lutter@redhat.com>
33387
33388         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
33389         link requirement
33390
33391 2008-10-23  Jim Meyering  <meyering@redhat.com>
33392
33393         selinux-h: mark parameters of stub functions as intentionally unused
33394         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
33395         * lib/se-context.in.h: Likewise.
33396
33397 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33398
33399         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
33400
33401 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33402
33403         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
33404
33405 2008-10-22  Eric Blake  <ebb9@byu.net>
33406
33407         glthread/thread: avoid compiler warning
33408         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
33409         Add unreachable abort to silence compiler.
33410
33411 2008-10-22  Eric Blake  <ebb9@byu.net>
33412
33413         netdb: also supply struct addrinfo for cygwin 1.5.x
33414         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
33415         older cygwin.
33416         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
33417         cygwin.
33418         * doc/posix-headers/netdb.texi (netdb.h): Document this.
33419
33420 2008-10-22  Bruno Haible  <bruno@clisp.org>
33421
33422         * users.txt: Update entry about pspp.
33423
33424 2008-10-21  Bruno Haible  <bruno@clisp.org>
33425
33426         Simplification.
33427         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
33428         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
33429
33430         Simplification.
33431         * lib/ioctl.c (ioctl): Don't undefine.
33432         * lib/socket.c (socket): Don't undefine.
33433
33434         Remove unused module indicator macros.
33435         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
33436         GNULIB_$1 as a C macro.
33437
33438         * doc/posix-functions/close.texi: Undo last change.
33439         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
33440         Windows platforms.
33441
33442 2008-10-21  Bruno Haible  <bruno@clisp.org>
33443
33444         Add gethostname() declaration to <unistd.h>.
33445         * lib/unistd.in.h (gethostname): New declaration.
33446         * lib/gethostname.c: Include <unistd.h>.
33447         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
33448         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
33449         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
33450         and HAVE_GETHOSTNAME.
33451         * modules/gethostname (Depends-on): Add unistd.
33452         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33453         (Include): Specify <unistd.h>.
33454         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
33455         HAVE_GETHOSTNAME.
33456         * tests/test-gethostname.c: Include <unistd.h> first.
33457
33458 2008-10-21  Bruno Haible  <bruno@clisp.org>
33459
33460         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
33461         * modules/select-tests (Depends-on): Likewise.
33462         Reported by Simon Josefsson.
33463
33464 2008-10-21  Simon Josefsson  <simon@josefsson.org>
33465
33466         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
33467         * lib/accept.c: New file, based on winsock.c.
33468         * lib/bind.c: New file, based on winsock.c.
33469         * lib/connect.c: New file, based on winsock.c.
33470         * lib/getpeername.c: New file, based on winsock.c.
33471         * lib/getsockname.c: New file, based on winsock.c.
33472         * lib/getsockopt.c: New file, based on winsock.c.
33473         * lib/ioctl.c: New file, based on winsock.c.
33474         * lib/listen.c: New file, based on winsock.c.
33475         * lib/recv.c: New file, based on winsock.c.
33476         * lib/recvfrom.c: New file, based on winsock.c.
33477         * lib/send.c: New file, based on winsock.c.
33478         * lib/sendto.c: New file, based on winsock.c.
33479         * lib/setsockopt.c: New file, based on winsock.c.
33480         * lib/shutdown.c: New file, based on winsock.c.
33481         * lib/socket.c: New file, based on winsock.c.
33482         * lib/w32sock.h: New file, based on winsock.c.
33483         * lib/winsock.c: Remove file.
33484         * modules/accept: Likewise.
33485         * modules/bind: Likewise.
33486         * modules/connect: Likewise.
33487         * modules/getpeername: Likewise.
33488         * modules/getsockname: Likewise.
33489         * modules/getsockopt: Likewise.
33490         * modules/ioctl: Likewise.
33491         * modules/listen: Likewise.
33492         * modules/recv: Likewise.
33493         * modules/recvfrom: Likewise.
33494         * modules/send: Likewise.
33495         * modules/sendto: Likewise.
33496         * modules/setsockopt: Likewise.
33497         * modules/shutdown: Likewise.
33498         * modules/socket: Use socket.c instead of winsock.c.
33499         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
33500         * doc/posix-functions/accept.texi: Doc fix.
33501         * doc/posix-functions/bind.texi: Doc fix.
33502         * doc/posix-functions/close.texi: Doc fix.
33503         * doc/posix-functions/connect.texi: Doc fix.
33504         * doc/posix-functions/getpeername.texi: Doc fix.
33505         * doc/posix-functions/getsockname.texi: Doc fix.
33506         * doc/posix-functions/getsockopt.texi: Doc fix.
33507         * doc/posix-functions/ioctl.texi: Doc fix.
33508         * doc/posix-functions/listen.texi: Doc fix.
33509         * doc/posix-functions/recv.texi: Doc fix.
33510         * doc/posix-functions/recvfrom.texi: Doc fix.
33511         * doc/posix-functions/send.texi: Doc fix.
33512         * doc/posix-functions/sendto.texi: Doc fix.
33513         * doc/posix-functions/setsockopt.texi: Doc fix.
33514         * doc/posix-functions/shutdown.texi: Doc fix.
33515         * doc/posix-functions/socket.texi: Doc fix.
33516
33517 2008-10-20  Bruno Haible  <bruno@clisp.org>
33518
33519         Take into account the role of SIGABRT_COMPAT on Windows 2008.
33520         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
33521         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
33522         as an alias for SIGABRT.
33523         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
33524         (sigaction): Map it to SIGABRT.
33525         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
33526
33527 2008-10-20  Bruno Haible  <bruno@clisp.org>
33528
33529         * lib/fts.c: Don't include lstat.h.
33530         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
33531
33532         Move the lstat() declaration to <sys/stat.h>.
33533         * lib/lstat.h: Remove file.
33534         * lib/sys_stat.in.h: Add special invocation convention.
33535         (lstat): New declaration.
33536         * lib/lstat.c (orig_lstat): New function.
33537         (rpl_lstat): Use orig_lstat instead of lstat.
33538         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
33539         AC_C_INLINE. Set REPLACE_LSTAT.
33540         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
33541         and REPLACE_LSTAT.
33542         * modules/lstat (Files): Remove lib/lstat.h.
33543         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33544         (Include): Specify <sys/stat.h> instead of lstat.h.
33545         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
33546         REPLACE_LSTAT.
33547         * NEWS: Mention the change.
33548
33549 2008-10-20  Bruno Haible  <bruno@clisp.org>
33550
33551         * modules/posix_spawn-tests: New file.
33552         * tests/test-posix_spawn3.c: New file.
33553
33554 2008-10-20  Bruno Haible  <bruno@clisp.org>
33555
33556         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
33557         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33558         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
33559         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33560         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
33561
33562 2008-10-20  Bruno Haible  <bruno@clisp.org>
33563
33564         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
33565         of posix_spawn on AIX 5.3.
33566
33567 2008-10-20  Bruno Haible  <bruno@clisp.org>
33568
33569         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
33570
33571 2008-10-20  Bruno Haible  <bruno@clisp.org>
33572
33573         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
33574         of AC_LANG_PROGRAM.
33575
33576 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33577
33578         * lib/netdb.in.h: Don't define GNU specific constants until they
33579         are supported or needed.  Reported by Bruno Haible
33580         <bruno@clisp.org>.
33581
33582 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33583
33584         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
33585
33586 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33587
33588         * lib/getaddrinfo.h: Remove file.
33589         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
33590         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
33591         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
33592         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
33593         * modules/netdb: Substitute GNULIB_GETADDRINFO.
33594         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
33595         * tests/test-getaddrinfo.c: Likewise.
33596         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
33597         * NEWS: Mention change.
33598
33599 2008-10-19  Bruno Haible  <bruno@clisp.org>
33600
33601         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
33602
33603 2008-10-19  Bruno Haible  <bruno@clisp.org>
33604
33605         * lib/wait-process.c: Include simply <sys/wait.h>.
33606         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
33607         WIFSTOPPED): Remove fallback definitions.
33608         * modules/wait-process (Depends-on): Add sys_wait.
33609
33610         New module 'sys_wait'.
33611         * modules/sys_wait: New file.
33612         * lib/sys_wait.in.h: New file, partially copied from
33613         lib/wait-process.c.
33614         * m4/sys_wait_h.m4: New file.
33615         * doc/posix-headers/sys_wait.texi: Mention the new module.
33616
33617 2008-10-19  Bruno Haible  <bruno@clisp.org>
33618
33619         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
33620
33621 2008-10-19  Bruno Haible  <bruno@clisp.org>
33622
33623         Assume that waitpid() fills an 'int' status, not a 'union wait'.
33624         * lib/wait-process.c (WAIT_T): Remove type.
33625         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
33626         (wait_subprocess): Update.
33627
33628 2008-10-19  Bruno Haible  <bruno@clisp.org>
33629
33630         New module 'atoll'.
33631         * modules/atoll: New file.
33632         * lib/stdlib.in.h (atoll): New declaration.
33633         * lib/atoll.c: New file, from glibc with modifications.
33634         * m4/atoll.m4: New file.
33635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
33636         HAVE_ATOLL.
33637         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
33638         * doc/posix-functions/atoll.texi: Mention the new module.
33639
33640 2008-10-19  Bruno Haible  <bruno@clisp.org>
33641
33642         Add strtoull() declaration to <stdlib.h>.
33643         * lib/stdlib.in.h (strtoull): New declaration.
33644         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33645         Set HAVE_STRTOULL.
33646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
33647         HAVE_STRTOULL.
33648         * modules/strtoull (Depends-on): Add stdlib.
33649         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33650         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
33651         HAVE_STRTOULL.
33652
33653 2008-10-19  Bruno Haible  <bruno@clisp.org>
33654
33655         Add strtoll() declaration to <stdlib.h>.
33656         * lib/stdlib.in.h (strtoll): New declaration.
33657         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33658         Set HAVE_STRTOLL.
33659         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
33660         HAVE_STRTOLL.
33661         * modules/strtoll (Depends-on): Add stdlib.
33662         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33663         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
33664
33665 2008-10-19  Bruno Haible  <bruno@clisp.org>
33666
33667         * modules/bcopy (Depends-on): Add strings.
33668         (Include): Specify <strings.h>.
33669
33670 2008-10-19  Bruno Haible  <bruno@clisp.org>
33671
33672         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
33673
33674 2008-10-19  Bruno Haible  <bruno@clisp.org>
33675
33676         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
33677         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
33678         mingw.
33679
33680 2008-10-19  Bruno Haible  <bruno@clisp.org>
33681
33682         * lib/atanl.c: Don't include isnanl.h.
33683         * lib/cosl.c: Likewise.
33684         * lib/ldexpl.c: Likewise.
33685         * lib/logl.c: Likewise.
33686         * lib/sinl.c: Likewise.
33687         * lib/sqrtl.c: Likewise.
33688         * lib/tanl.c: Likewise.
33689
33690         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33691         * lib/isnanf.h: Remove file.
33692         * lib/isnand.h: Remove file.
33693         * lib/isnanl.h: Remove file.
33694         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33695         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33696         macros.
33697         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33698         HAVE_ISNANF, don't define it as a C macro.
33699         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33700         HAVE_ISNAND, don't define it as a C macro.
33701         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33702         HAVE_ISNANL, don't define it as a C macro.
33703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33704         HAVE_ISNAN[FDL].
33705         * modules/isnanf (Files): Remove lib/isnanf.h.
33706         (Depends-on): Add math.
33707         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33708         (Include): Specify <math.h> instead of isnanf.h.
33709         * modules/isnand (Files): Remove lib/isnand.h.
33710         (Depends-on): Add math.
33711         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33712         (Include): Specify <math.h> instead of isnand.h.
33713         * modules/isnanl (Files): Remove lib/isnanl.h.
33714         (Depends-on): Add math.
33715         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33716         (Include): Specify <math.h> instead of isnanl.h.
33717         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33718         HAVE_ISNAN[FDL].
33719         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33720         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33721         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33722         * NEWS: Mention the change.
33723
33724 2008-10-18  Bruno Haible  <bruno@clisp.org>
33725
33726         Add getusershell(), setusershell(), endusershell() declarations to
33727         <unistd.h>.
33728         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33729         declarations.
33730         * lib/getusershell.c: Include unistd.h.
33731         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33732         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33733         HAVE_GETUSERSHELL.
33734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33735         and HAVE_GETUSERSHELL.
33736         * modules/getusershell (Depends-on): Add unistd, extensions.
33737         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33738         (Include): Specify <unistd.h>.
33739         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33740         HAVE_GETUSERSHELL.
33741
33742 2008-10-18  Bruno Haible  <bruno@clisp.org>
33743
33744         Add a getloadavg() declaration to <stdlib.h>.
33745         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33746         getloadavg declaration.
33747         (getloadavg): New declaration.
33748         * lib/getloadavg.c: Include <stdlib.h> first.
33749         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33750         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33751         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33752         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33753         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33754         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33755         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33756         (Include): Specify <stdlib.h>.
33757         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33758         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33759
33760 2008-10-18  Bruno Haible  <bruno@clisp.org>
33761
33762         * lib/dirchownmod.c: Don't include lchmod.h.
33763
33764         Move the lchmod() declaration to <sys/stat.h>.
33765         * lib/lchmod.h: Remove file.
33766         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33767         (lchmod): New declaration, moved here from lib/lchown.h.
33768         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33769         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33770         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33771         and HAVE_LCHMOD.
33772         * modules/lchmod (Files): Remove lib/lchmod.h.
33773         (Depends-on): Add sys_stat, extensions.
33774         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33775         (Include): Specify <sys/stat.h> instead of lchmod.h.
33776         * modules/sys_stat (Depends-on): Add link-warning.
33777         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33778         definition of GL_LINK_WARNING.
33779         * NEWS: Mention the change.
33780
33781 2008-10-18  Bruno Haible  <bruno@clisp.org>
33782
33783         * lib/fchdir.c: Don't include dirfd.h.
33784         * lib/fts.c: Likewise.
33785         * lib/getcwd.c: Likewise.
33786         * lib/glob.c: Likewise.
33787
33788         Move the dirfd() declaration to <dirent.h>.
33789         * lib/dirfd.h: Remove file.
33790         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33791         (dirfd): New declaration.
33792         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33793         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33794         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33795         HAVE_DECL_DIRFD.
33796         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33797         HAVE_DECL_DIRFD.
33798         * modules/dirfd (Files): Remove lib/dirfd.h.
33799         (Depends-on): Add dirent, extensions.
33800         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33801         (Include): Specify <dirent.h> instead of dirfd.h.
33802         * modules/dirent (Depends-on): Add link-warning.
33803         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33804         definition of GL_LINK_WARNING.
33805         * NEWS: Mention the change.
33806
33807 2008-10-18  Bruno Haible  <bruno@clisp.org>
33808
33809         Move the euidaccess() declaration to <unistd.h>.
33810         * lib/euidaccess.h: Remove file.
33811         * lib/unistd.in.h (euidaccess): New declaration.
33812         * lib/euidaccess.c: Don't include euidaccess.h.
33813         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33814         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33816         and HAVE_EUIDACCESS.
33817         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33818         (Depends-on): Add unistd.
33819         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33820         (Include): Specify <unistd.h> instead of euidaccess.h.
33821         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33822         HAVE_EUIDACCESS.
33823         * NEWS: Mention the change.
33824
33825 2008-10-18  Bruno Haible  <bruno@clisp.org>
33826
33827         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33828
33829         Move the getdomainname() declaration to <unistd.h>.
33830         * lib/getdomainname.h: Remove file.
33831         * lib/unistd.in.h (getdomainname): New declaration.
33832         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33833         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33834         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33835         HAVE_GETDOMAINNAME.
33836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33837         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33838         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33839         (Depends-on): Add unistd, extensions.
33840         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33841         (Includes): Specify <unistd.h> instead of getdomainname.h.
33842         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33843         HAVE_GETDOMAINNAME.
33844         * NEWS: Mention the change.
33845
33846 2008-10-18  Bruno Haible  <bruno@clisp.org>
33847
33848         * modules/dirent: New file.
33849         * m4/dirent_h.m4: New file.
33850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33851         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33852         * modules/fchdir (Files): Remove lib/dirent.in.h.
33853         (Depends-on): Add dirent.
33854         (Makefile.am): Move rules to modules/dirent.
33855         * doc/posix-headers/dirent.texi: Mention the new module.
33856
33857 2008-10-18  Bruno Haible  <bruno@clisp.org>
33858
33859         Avoid -Wunused-parameter warnings in public gnulib header files.
33860         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33861         macro.
33862         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33863
33864 2008-10-18  Bruno Haible  <bruno@clisp.org>
33865
33866         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33867         * doc/glibc-functions/error.texi: Mention the module 'error'.
33868         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33869         * doc/glibc-functions/getdomainname.texi: Mention the module
33870         'getdomainname'.
33871         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33872         * doc/glibc-functions/getpagesize.texi: Mention the module
33873         'getpagesize'.
33874         * doc/glibc-functions/getusershell.texi: Mention the module
33875         'getusershell'.
33876         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33877         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33878         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33879         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33880         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33881         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33882         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33883         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33884         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33885         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33886         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33887         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33888         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33889         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33890
33891 2008-10-17  Bruno Haible  <bruno@clisp.org>
33892
33893         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33894         HP-UX and IRIX, use -0.0L.
33895         * tests/test-ceill.c (minus_zero): Likewise.
33896         * tests/test-floorl.c (minus_zero): Likewise.
33897         * tests/test-frexpl.c (minus_zero): Likewise.
33898         * tests/test-isnan.c (minus_zerol): Likewise.
33899         * tests/test-isnanl.h (minus_zero): Likewise.
33900         * tests/test-ldexpl.c (minus_zero): Likewise.
33901         * tests/test-roundl.c (minus_zero): Likewise.
33902         * tests/test-signbit.c (minus_zerol): Likewise.
33903         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33904         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33905         * tests/test-truncl.c (minus_zero): Likewise.
33906         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33907         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33908         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33909         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33910
33911 2008-10-17  Bruno Haible  <bruno@clisp.org>
33912
33913         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33914         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33915         that it gets activated only for gcc >= 3.0.
33916         * lib/dirent.in.h: Likewise.
33917         * lib/errno.in.h: Likewise.
33918         * lib/fcntl.in.h: Likewise.
33919         * lib/float.in.h: Likewise.
33920         * lib/iconv.in.h: Likewise.
33921         * lib/inttypes.in.h: Likewise.
33922         * lib/locale.in.h: Likewise.
33923         * lib/math.in.h: Likewise.
33924         * lib/netdb.in.h: Likewise.
33925         * lib/netinet_in.in.h: Likewise.
33926         * lib/search.in.h: Likewise.
33927         * lib/signal.in.h: Likewise.
33928         * lib/spawn.in.h: Likewise.
33929         * lib/stdarg.in.h: Likewise.
33930         * lib/stdint.in.h: Likewise.
33931         * lib/stdio.in.h: Likewise.
33932         * lib/stdlib.in.h: Likewise.
33933         * lib/string.in.h: Likewise.
33934         * lib/strings.in.h: Likewise.
33935         * lib/sys_file.in.h: Likewise.
33936         * lib/sys_ioctl.in.h: Likewise.
33937         * lib/sys_select.in.h: Likewise.
33938         * lib/sys_socket.in.h: Likewise.
33939         * lib/sys_stat.in.h: Likewise.
33940         * lib/sys_time.in.h: Likewise.
33941         * lib/sysexits.in.h: Likewise.
33942         * lib/time.in.h: Likewise.
33943         * lib/unistd.in.h: Likewise.
33944         * lib/wchar.in.h: Likewise.
33945         * lib/wctype.in.h: Likewise.
33946         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33947
33948 2008-10-17  Jim Meyering  <meyering@redhat.com>
33949
33950         ignore-value: don't depend on inline module
33951         * modules/ignore-value (Depends-on): Remove 'inline'.
33952         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
33953         Suggestion from Bruno Haible.
33954
33955 2008-10-17  Bruno Haible  <bruno@clisp.org>
33956
33957         New implementation of condition variables for Win32.
33958         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
33959         (gl_linked_waitqueue_t): New type.
33960         (gl_cond_t): Use it.
33961         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
33962         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
33963         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
33964         (glthread_cond_init_func, glthread_cond_wait_func,
33965         glthread_cond_timedwait_func, glthread_cond_signal_func,
33966         glthread_cond_broadcast_func, glthread_cond_destroy_func):
33967         Reimplemented on the basis of gl_linked_waitqueue_t.
33968         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
33969         gl_waitqueue_t.
33970         (gl_rwlock_t): Update.
33971         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
33972
33973 2008-10-17  Simon Josefsson  <simon@josefsson.org>
33974
33975         * modules/recvfrom (Depends-on): Add dependency on getpeername.
33976         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33977
33978 2008-10-17  Jim Meyering  <meyering@redhat.com>
33979
33980         ignore-value: new module
33981         * modules/ignore-value: New file.
33982         * lib/ignore-value.h: New file.
33983         * MODULES.html.sh (Compiler warning management): New section,
33984         just for this module.  More to come.
33985
33986 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33987
33988         open-safer.c: avoid 'signed and unsigned in conditional...' warning
33989         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
33990         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
33991
33992 2008-10-16  Jim Meyering  <meyering@redhat.com>
33993
33994         openat-die.c: avoid 'no previous prototype' warning
33995         * lib/openat-die.c: Include "openat.h".
33996         Reported by Reuben Thomas <rrt@sc3d.org>.
33997
33998 2008-10-16  Simon Josefsson  <simon@josefsson.org>
33999
34000         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
34001         * lib/netdb.in.h: Fix typo.
34002         Reported by Bruno Haible  <bruno@clisp.org>
34003
34004         * lib/netdb.in.h: Include sys/socket.h for platforms without
34005         netdb.h, to get structures like hostent on MinGW.
34006         * modules/netdb (Depends-on): Add sys_socket.
34007
34008 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34009
34010         * modules/netdb, modules/netdb-tests: New file.
34011         * m4/netdb_h.m4: New file.
34012         * lib/netdb.in.h: Add, currently just an empty file pending
34013         definitions.
34014         * tests/test-netdb.c: New file.
34015         * doc/posix-headers/netdb.texi: Mention that we replace it if
34016         needed.
34017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34018         netdb.
34019
34020 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34021
34022         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
34023         with code.
34024
34025 2008-10-13  Bruno Haible  <bruno@clisp.org>
34026
34027         * lib/glthread/cond.c (glthread_cond_wait_func,
34028         glthread_cond_timedwait_func): Add a comment.
34029
34030 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34031
34032         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
34033         * tests/test-select.c: Likewise,
34034
34035 2008-10-13  Bruno Haible  <bruno@clisp.org>
34036
34037         * lib/glthread/cond.c (glthread_cond_wait_func,
34038         glthread_cond_timedwait_func): Fix variable name.
34039         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34040
34041 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
34042
34043         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
34044         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
34045         struct sockaddr.sa_len.
34046         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
34047
34048 2008-10-13  Simon Josefsson  <simon@josefsson.org>
34049
34050         * build-aux/pmccabe2html: Add css and css_url parameters.
34051
34052 2008-10-12  Bruno Haible  <bruno@clisp.org>
34053
34054         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
34055         calling aclx_get.
34056         Reported by Rainer Tammer <tammer@tammer.net>.
34057
34058 2008-10-12  Bruno Haible  <bruno@clisp.org>
34059
34060         Use msvcrt aware primitives for creation/termination of Win32 threads.
34061         * lib/glthread/thread.c: Include <process.h>.
34062         (glthread_create_func): Use _beginthreadex instead of CreateThread.
34063         (wrapper_func): Update signature.
34064         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
34065
34066 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34067             Bruno Haible  <bruno@clisp.org>
34068
34069         Provide a Win32 implementation of the 'cond' module.
34070         * lib/glthread/cond.h [USE_WIN32]: New implementation.
34071         * lib/glthread/cond.c (glthread_cond_init_func,
34072         glthread_cond_wait_func, glthread_cond_timedwait_func,
34073         glthread_cond_signal_func, glthread_cond_broadcast_func,
34074         glthread_cond_destroy_func) [USE_WIN32]: New functions.
34075         * modules/cond (Dependencies): Add gettimeofday.
34076
34077 2008-10-11  Bruno Haible  <bruno@clisp.org>
34078
34079         Make sleep work on older versions of mingw.
34080         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
34081         only whether it exists.
34082         * doc/posix-functions/sleep.texi: Mention the problem with older
34083         versions of mingw.
34084
34085 2008-10-11  Bruno Haible  <bruno@clisp.org>
34086
34087         New module 'shutdown'.
34088         * modules/shutdown: New file.
34089         * lib/sys_socket.in.h (shutdown): New declaration.
34090         * lib/winsock.c (shutdown): New function.
34091         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34092         GNULIB_SHUTDOWN.
34093         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
34094         * doc/posix-functions/shutdown.texi: Document the new module.
34095
34096 2008-10-11  Jim Meyering  <meyering@redhat.com>
34097
34098         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
34099
34100 2008-10-11  Bruno Haible  <bruno@clisp.org>
34101
34102         New module 'fclose'.
34103         * modules/fclose: New file.
34104         * lib/stdio.in.h (fclose): New declaration.
34105         * lib/fclose.c: New file.
34106         * m4/fclose.m4: New file.
34107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
34108         REPLACE_FCLOSE.
34109         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
34110         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
34111         REPLACE_FCLOSE.
34112         * modules/close (Depends-on): fclose.
34113         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
34114
34115 2008-10-11  Bruno Haible  <bruno@clisp.org>
34116
34117         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
34118         set errno and don't call _close.
34119
34120 2008-10-10  Bruno Haible  <bruno@clisp.org>
34121
34122         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
34123         ACL, not afterwards. Fixes test failure on Cygwin.
34124
34125 2008-10-09  Ben Pfaff  <blp@gnu.org>
34126
34127         * build-aux/announce-gen: Fix gnulib version related part of usage
34128         message.  Die with a useful error message if no tarballs are
34129         found.
34130
34131 2008-10-10  Jim Meyering  <meyering@redhat.com>
34132
34133         bootstrap: use git's --depth=N option only if it's supported
34134         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
34135         recognize the --depth option.  Reported by Pádraig Brady.
34136
34137 2008-10-09  Bruno Haible  <bruno@clisp.org>
34138
34139         New module 'ioctl'.
34140         * modules/ioctl: New file.
34141         * lib/sys_socket.in.h (ioctl): Remove declaration.
34142         * lib/winsock.c: Include <sys/ioctl.h>.
34143         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
34144         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34145         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
34146         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
34147         * doc/posix-functions/ioctl.texi: Mention the new module.
34148
34149 2008-10-09  Bruno Haible  <bruno@clisp.org>
34150
34151         New module 'sys_ioctl'.
34152         * lib/sys_ioctl.in.h: New file.
34153         * m4/sys_ioctl_h.m4: New file.
34154         * modules/sys_ioctl: New file.
34155         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
34156
34157 2008-10-09  Bruno Haible  <bruno@clisp.org>
34158
34159         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
34160         * lib/winsock.c: Include <stdarg.h>.
34161         (rpl_ioctl): Change to second argument 'int' and then varargs.
34162
34163 2008-10-09  Bruno Haible  <bruno@clisp.org>
34164
34165         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
34166         when the sys_socket module is present and the system has <winsock2.h>.
34167
34168 2008-10-09  Bruno Haible  <bruno@clisp.org>
34169
34170         * doc/posix-functions/close.texi: Mention module 'close' instead of
34171         module 'sys_socket'.
34172
34173 2008-10-09  Bruno Haible  <bruno@clisp.org>
34174
34175         * doc/glibc-headers/sys_ioctl.texi: New file.
34176         * doc/gnulib.texi: Include it.
34177
34178 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34179             Bruno Haible  <bruno@clisp.org>
34180
34181         Combine the two replacements of 'close'.
34182         * lib/sys_socket.in.h (close): Define to a reminder to include
34183         <unistd.h>.
34184         (_gl_close_fd_maybe_socket): New declaration.
34185         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
34186         * lib/winsock.c (close): Remove undefinition.
34187         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
34188         needed for the gnulib module 'close'.
34189         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
34190         define to an error symbol or to a warning, if suitable.
34191         * lib/close.c: Include <sys/socket.h>.
34192         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
34193         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
34194         UNISTD_H_HAVE_WINSOCK2_H.
34195         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
34196         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34197         UNISTD_H_HAVE_WINSOCK2_H.
34198         * modules/sys_socket (Files): Add m4/unistd_h.m4.
34199         (configure.ac): Set a module indicator.
34200         (Makefile.am): Substitute GNULIB_CLOSE.
34201         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
34202         * modules/poll-tests (Depends-on): Add close.
34203         * modules/select-tests (Depends-on): Likewise.
34204
34205 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34206             Bruno Haible  <bruno@clisp.org>
34207
34208         New module 'close'.
34209         * modules/close: New file.
34210         * lib/unistd.in.h (close): Move declaration out of the
34211         FCHDIR_REPLACEMENT scope.
34212         (_gl_unregister_fd): New declaration.
34213         * lib/close.c: New file.
34214         * lib/fchdir.c (rpl_close): Remove function.
34215         * m4/close.m4: New file.
34216         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34217         close.
34218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
34219         REPLACE_CLOSE.
34220         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
34221         REPLACE_CLOSE.
34222         * modules/fchdir (Depends-on): Add close.
34223
34224 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34225             Bruno Haible  <bruno@clisp.org>
34226
34227         * lib/fcntl.in.h (open): Simplify conditionals.
34228         (_gl_register_fd): New declaration.
34229         * lib/fchdir.c (rpl_open): Remove function.
34230         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
34231         also.
34232         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
34233         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34234         open.
34235
34236 2008-10-09  Jim Meyering  <meyering@redhat.com>
34237
34238         GNUmakefile: use the more name-space-friendly "_version"
34239         * top/GNUmakefile (_dummy): Update.
34240         (_version): Rename from "version".
34241
34242 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34243             Bruno Haible  <bruno@clisp.org>
34244
34245         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
34246         rpl_close.
34247         (_gl_register_fd): New function, extracted from rpl_open.
34248         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
34249         (rpl_open, rpl_opendir): Use _gl_register_fd.
34250
34251 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34252
34253         Fix organization of 'open' replacement.
34254         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
34255         (gl_FUNC_OPEN): Use it.
34256         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
34257
34258 2008-10-08  Bruno Haible  <bruno@clisp.org>
34259
34260         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
34261
34262 2008-10-08  Simon Josefsson  <simon@josefsson.org>
34263
34264         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
34265         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
34266         listen).
34267
34268 2008-10-08  Eric Blake  <ebb9@byu.net>
34269
34270         GNUmakefile: add 'make version' target
34271         * top/GNUmakefile (_curr-ver): Split version update rules...
34272         (version): ...into a target.
34273
34274 2008-10-07  Bruno Haible  <bruno@clisp.org>
34275
34276         Use a more portable replacement expression for -0.0L.
34277         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
34278         instead of -0.0L. Fix m4 quotation.
34279
34280         * tests/test-signbit.c: Include <float.h>.
34281         (minus_zero): New variable.
34282         (test_signbitl): Use minus_zero instead of -zero.
34283         * modules/signbit-tests (Depends-on): Add float.
34284
34285         * tests/test-ceill.c: Include <float.h>.
34286         (zero): Remove variable.
34287         (minus_zero): New variable.
34288         (main): Use minus_zero instead of -zero.
34289         * modules/ceill-tests (Depends-on): Add float.
34290
34291         * tests/test-floorl.c: Include <float.h>.
34292         (zero): Remove variable.
34293         (minus_zero): New variable.
34294         (main): Use minus_zero instead of -zero.
34295         * modules/floorl-tests (Depends-on): Add float.
34296
34297         * tests/test-roundl.c: Include <float.h>.
34298         (zero): Remove variable.
34299         (minus_zero): New variable.
34300         (main): Use minus_zero instead of -zero.
34301         * modules/roundl-tests (Depends-on): Add float.
34302
34303         * tests/test-truncl.c: Include <float.h>.
34304         (zero): Remove variable.
34305         (minus_zero): New variable.
34306         (main): Use minus_zero instead of -zero.
34307         * modules/truncl-tests (Depends-on): Add float.
34308
34309         * tests/test-frexpl.c (zero): Remove variable.
34310         (minus_zero): New variable.
34311         (main): Use minus_zero instead of -zero.
34312         * modules/frexpl-tests (Depends-on): Add float.
34313
34314         * tests/test-isnan.c (zerol): Remove variable.
34315         (minus_zerol): New variable.
34316         (test_long_double): Use minus_zerol instead of -zerol.
34317         * modules/isnan-tests (Depends-on): Add float.
34318
34319         * tests/test-isnanl.h (zero): Remove variable.
34320         (minus_zero): New variable.
34321         (main): Use minus_zero instead of -zero.
34322         * modules/isnanl-nolibm-tests (Depends-on): Add float.
34323         * modules/isnanl-tests (Depends-on): Add float.
34324
34325         * tests/test-ldexpl.c (zero): Remove variable.
34326         (minus_zero): New variable.
34327         (main): Use minus_zero instead of -zero.
34328         * modules/ldexpl-tests (Depends-on): Add float.
34329
34330         * tests/test-snprintf-posix.h (zerol): Remove variable.
34331         (minus_zerol): New variable.
34332         (test_function): Use minus_zerol instead of -zerol.
34333         * modules/snprintf-posix-tests (Depends-on): Add float.
34334         * modules/vsnprintf-posix-tests (Depends-on): Add float.
34335
34336         * tests/test-sprintf-posix.h (zerol): Remove variable.
34337         (minus_zerol): New variable.
34338         (test_function): Use minus_zerol instead of -zerol.
34339         * modules/sprintf-posix-tests (Depends-on): Add float.
34340         * modules/vsprintf-posix-tests (Depends-on): Add float.
34341
34342         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
34343         (minus_zerol): New variable.
34344         (test_function): Use minus_zerol instead of -zerol.
34345         * modules/vasnprintf-posix-tests (Depends-on): Add float.
34346
34347         * tests/test-vasprintf-posix.c (zerol): Remove variable.
34348         (minus_zerol): New variable.
34349         (test_function): Use minus_zerol instead of -zerol.
34350         * modules/vasprintf-posix-tests (Depends-on): Add float.
34351
34352 2008-10-07  Simon Josefsson  <simon@josefsson.org>
34353
34354         * MODULES.html.sh (Support for building documentation): Mention
34355         pmccabe2html.  Sort entries.
34356
34357         Add pmccabe2html module, from gnupdf.
34358         * build-aux/pmccabe.css: New file.
34359         * build-aux/pmccabe2html: New file.
34360         * m4/pmccabe2html.m4: New file.
34361         * modules/pmccabe2html: New file.
34362
34363 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
34364
34365         flock: new module
34366         * MODULES.html.sh: Add to list of modules.
34367         * lib/flock.c: flock implementation for Windows and Unix systems
34368         which have fcntl.
34369         * doc/glibc-functions/flock.texi: Update documentation.
34370         * lib/sys_file.in.h: <sys/file.h> header file.
34371         * m4/flock.m4: M4 macros.
34372         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
34373         * modules/flock: flock module.
34374         * modules/flock-tests: flock tests module.
34375         * modules/sys_file: sys/file.h module.
34376         * tests/test-flock.c: test suite for flock.
34377
34378 2008-10-06  Jim Meyering  <meyering@redhat.com>
34379
34380         bootstrap: check for LT_INIT more portably still ;-)
34381         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
34382         Spotted by Bruno Haible.
34383
34384 2008-10-06  Eric Blake  <ebb9@byu.net>
34385
34386         test-signbit: avoid tripping Irix cc bug on -0.0L
34387         * tests/test-signbit.c (minus_zerol): Delete, and replace with
34388         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
34389         entire testsuite consistent and avoids an Irix 6.2 bug.
34390
34391 2008-10-05  Bruno Haible  <bruno@clisp.org>
34392             Jim Meyering  <jim@meyering.net>
34393
34394         Add an option for ignoring EPIPE during close_stdout.
34395         * lib/closeout.h: Include <stdbool.h>.
34396         (close_stdout_set_ignore_EPIPE): New declaration.
34397         * lib/closeout.c: Include <stdbool.h>.
34398         (ignore_EPIPE): New variable.
34399         (close_stdout_set_ignore_EPIPE): New function.
34400         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
34401         * lib/close-stream.c (close_stream): Mention the possible EPIPE
34402         failure.
34403         * modules/closeout (Depends-on): Add stdbool.
34404
34405 2008-10-05  Bruno Haible  <bruno@clisp.org>
34406
34407         * modules/accept: New file.
34408         * modules/bind: New file.
34409         * modules/connect: New file.
34410         * modules/getpeername: New file.
34411         * modules/getsockname: New file.
34412         * modules/getsockopt: New file.
34413         * modules/listen: New file.
34414         * modules/recv: New file.
34415         * modules/recvfrom: New file.
34416         * modules/send: New file.
34417         * modules/sendto: New file.
34418         * modules/setsockopt: New file.
34419         * modules/socket: New file.
34420         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
34421         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34422         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
34423         the particular module is requested. Add a link warning when the
34424         particular module is not requested.
34425         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
34426         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
34427         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
34428         the particular module is requested.
34429         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
34430         gl_SYS_SOCKET_H_DEFAULTS): New macros.
34431         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
34432         * modules/sys_socket (Depends-on): Add link-warning.
34433         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
34434         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
34435         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
34436         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
34437         GL_LINK_WARNING.
34438         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
34439         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
34440         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
34441         * doc/posix-functions/getpeername.texi: Mention the new module
34442         'getpeername'.
34443         * doc/posix-functions/getsockname.texi: Mention the new module
34444         'getsockname'.
34445         * doc/posix-functions/getsockopt.texi: Mention the new module
34446         'getsockopt'.
34447         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
34448         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
34449         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
34450         * doc/posix-functions/send.texi: Mention the new module 'send'.
34451         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
34452         * doc/posix-functions/setsockopt.texi: Mention the new module
34453         'setsockopt'.
34454         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
34455         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
34456         listen, connect, accept.
34457         * modules/select-tests (Depends-on): Likewise.
34458
34459 2008-10-05  Bruno Haible  <bruno@clisp.org>
34460
34461         * lib/winsock.c (strerror): Remove unused #undef.
34462         (rpl_close): Remove unused local variable.
34463
34464         * modules/sys_socket (Depends-on); Add errno.
34465
34466 2008-10-05  Bruno Haible  <bruno@clisp.org>
34467
34468         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
34469         (select): Add a link warning when the 'select' module is not used.
34470         * modules/sys_select (Depends-on): Add link-warning.
34471         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
34472         Suggested by Paolo Bonzini.
34473
34474 2008-10-05  Jim Meyering  <meyering@redhat.com>
34475
34476         bootstrap: check for LT_INIT more portably
34477         * build-aux/bootstrap: Avoid using grep -E, since it's not
34478         portable enough.  Suggestion from Bruno Haible.
34479
34480 2008-10-05  Bruno Haible  <bruno@clisp.org>
34481
34482         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
34483         as being fixed by gnulib.
34484
34485 2008-10-05  Bruno Haible  <bruno@clisp.org>
34486
34487         * modules/select-tests: New file, mostly copied from
34488         modules/sys_select-tests.
34489         * tests/test-select.c: New file, mostly copied from
34490         tests/test-sys_select.c.
34491         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
34492         * modules/sys_select-tests (Depends-on): Remove all dependencies.
34493         (Makefile.am): Remove test_sys_select_LDADD.
34494
34495         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
34496         to an undefined symbol, for an error message.
34497         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
34498         (gl_SYS_SELECT_H_DEFAULTS): New macro.
34499         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
34500         winsock-select.c here.
34501         * modules/sys_select (Files): Remove lib/winsock-select.c.
34502         (Depends-on): Remove alloca.
34503         (Makefile.am): Substitute GNULIB_SELECT.
34504         * modules/select: New file.
34505         * doc/posix-functions/select.texi: Update.
34506
34507 2008-10-05  Bruno Haible  <bruno@clisp.org>
34508
34509         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
34510         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
34511         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
34512         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
34513         getdtablesize.
34514         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
34515         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
34516
34517 2008-10-05  Bruno Haible  <bruno@clisp.org>
34518
34519         * modules/getdtablesize-tests: New file.
34520         * tests/test-getdtablesize.c: New file.
34521
34522         New module 'getdtablesize'.
34523         * lib/unistd.in.h (getdtablesize): New declaration.
34524         * lib/getdtablesize.c: New file.
34525         * m4/getdtablesize.m4: New file.
34526         * modules/getdtablesize: New file.
34527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34528         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
34529         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
34530         HAVE_GETDTABLESIZE.
34531         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
34532
34533 2008-10-05  Bruno Haible  <bruno@clisp.org>
34534
34535         * modules/sched (Makefile.am): Fix typo.
34536         Reported by Simon Josefsson.
34537
34538 2008-10-05  Jim Meyering  <meyering@redhat.com>
34539
34540         bootstrap: check for LT_INIT, too
34541         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
34542         are deprecated.  Suggestion from Ralf Wildenhues.
34543
34544 2008-10-05  Bruno Haible  <bruno@clisp.org>
34545
34546         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
34547         overriding them by ours.
34548         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
34549
34550 2008-10-05  Jim Meyering  <meyering@redhat.com>
34551
34552         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
34553         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
34554         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
34555
34556 2008-10-04  Bruno Haible  <bruno@clisp.org>
34557
34558         * modules/dup2 (License): Change to LGPLv2+.
34559         * modules/sleep (License): Likewise.
34560         * modules/perror (License): Likewise.
34561         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
34562         Blake.
34563         * modules/signal (License): Likewise.
34564         * modules/sigprocmask (License): Likewise.
34565         * modules/raise (License): Change to LGPLv2+, with approval by Jim
34566         Meyering.
34567
34568 2008-10-04  Bruno Haible  <bruno@clisp.org>
34569
34570         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
34571         Reported by Rainer Tammer <tammer@tammer.net>.
34572
34573 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
34574             Bruno Haible  <bruno@clisp.org>
34575
34576         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
34577         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
34578         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
34579
34580 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
34581
34582         filevercmp: new module
34583         * lib/filevercmp.h: New function filevercmp comparing version strings.
34584         * lib/filevercmp.c: Implementation of filevercmp function.
34585         * modules/filevercmp: Module metadata.
34586         * tests/test-filevercmp.c: Unit test for new module.
34587         * modules/filevercmp-tests: Unit test metadata.
34588         * MODULES.html.sh: Add filevercmp module.
34589
34590 2008-10-03  Bruno Haible  <bruno@clisp.org>
34591
34592         * lib/c-ctype.h: Add comment.
34593         Reported by Jim Meyering.
34594
34595 2008-10-02  Bruno Haible  <bruno@clisp.org>
34596
34597         * modules/posix_spawn-internal (Depends-on): Add 'open'.
34598
34599 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34600
34601         * build-aux/bootstrap: Allow renaming bootstrap, and change the
34602         name of bootstrap.conf accordingly.
34603
34604 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34605
34606         * build-aux/bootstrap: Install git-merge-changelog configuration
34607         items into .gitconfig if needed.
34608
34609 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34610
34611         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
34612         git repository, and initialize/update it accordingly.
34613
34614 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
34615
34616         * modules/fsync-tests: New file.
34617         * tests/test-fsync.c: New file.
34618
34619         New module 'fsync'.
34620         * lib/fsync.c: New file.
34621         * m4/fsync.m4: New file.
34622         * modules/fsync: New file.
34623         * lib/unistd.in.h (fsync): New declaration.
34624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
34625         GNULIB_FSYNC and HAVE_FSYNC.
34626         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
34627         * MODULES.html.sh (posix_functions): Add fsync.
34628         * doc/posix-functions/fsync.texi: Mention the new module.
34629
34630 2008-10-02  Jim Meyering  <meyering@redhat.com>
34631
34632         fts.c: sync with similar code from coreutils' remove.c
34633         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
34634         Guard also with "#if defined __linux__", since for now at least,
34635         this code is Linux-kernel-specific.
34636
34637 2008-10-02  Jim Meyering  <meyering@redhat.com>
34638
34639         fts: bug fixes
34640         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
34641         Include <sys/vfs.h>, not <sys/statfs.h>.
34642
34643         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
34644         Include <sys/vfs.h>, not <sys/statfs.h>.
34645
34646 2008-10-01  Bruno Haible  <bruno@clisp.org>
34647
34648         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
34649         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
34650         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
34651         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
34652         * doc/posix-functions/posix_spawnp.texi: Likewise.
34653         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
34654         whether posix_spawn actually works.
34655         * m4/pipe.m4 (gl_PIPE): Likewise.
34656         * modules/execute (Files): Add m4/posix_spawn.m4.
34657         * modules/pipe (Files): Add m4/posix_spawn.m4.
34658         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
34659
34660 2008-10-01  Jim Meyering  <meyering@redhat.com>
34661
34662         remove trailing spaces
34663         * NEWS: Likewise.
34664         * lib/poll.c (poll): Likewise.
34665         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
34666         * lib/winsock.c (rpl_close): Likewise.
34667         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
34668         * modules/yield: Likewise.
34669         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
34670         * tests/test-sys_select.c (connect_to_socket): Likewise.
34671
34672         fts.c: adjust a new interface to be more generally useful
34673         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
34674         (fts_build): Adjust caller.
34675
34676 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34677
34678         * modules/cond-tests: New file.
34679         * tests/test-cond.c: New file.
34680
34681 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34682             Bruno Haible  <bruno@clisp.org>
34683
34684         * modules/cond (Dependencies): Add errno, time.
34685         * lib/glthread/cond.h: Include <time.h>.
34686         (gl_cond_define, gl_cond_define_initialized): Use the same definition
34687         across platforms.
34688
34689 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34690             Bruno Haible  <bruno@clisp.org>
34691
34692         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34693
34694 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34695             Bruno Haible  <bruno@clisp.org>
34696
34697         * modules/tls-tests (Depends-on): Add thread, yield.
34698         (configure.ac): Remove all checks.
34699         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34700         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34701         gl_thread_self): Remove definitions. Include glthread/thread.h and
34702         glthread/yield.h instead.
34703         (test_tls): Pass an additional NULL argument to gl_thread_join.
34704
34705 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34706             Bruno Haible  <bruno@clisp.org>
34707
34708         * modules/lock-tests (Depends-on): Add thread, yield.
34709         (configure.ac): Remove all checks.
34710         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34711         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34712         gl_thread_self): Remove definitions. Include glthread/thread.h and
34713         glthread/yield.h instead.
34714         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34715         additional NULL argument to gl_thread_join.
34716
34717 2008-09-30  Bruno Haible  <bruno@clisp.org>
34718
34719         Fix the Win32 implementation of the 'thread' module.
34720         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34721         pointer type.
34722         (gl_thread_self): Invoke gl_thread_self_func.
34723         (gl_thread_self_func): New declaration.
34724         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34725         (do_init_self_key, init_self_key): New functions.
34726         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34727         Remove some fields.
34728         (running_threads, running_lock): Remove variables.
34729         (get_current_thread_handle): New function.
34730         (gl_thread_self_func, wrapper_func, glthread_create_func,
34731         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34732         simplified.
34733
34734 2008-09-30  Bruno Haible  <bruno@clisp.org>
34735
34736         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34737         files.
34738
34739 2008-09-30  Jim Meyering  <meyering@redhat.com>
34740
34741         fts.m4: correct the test for statfs.f_type
34742         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34743         when checking for statfs.f_type.
34744
34745 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34746
34747         tests: avoid some compiler warnings
34748         * tests/test-memchr.c (main): Pass NULL indirectly.
34749         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34750
34751 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
34752
34753         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34754         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34755         exactly specified dayshifts.
34756         (dayshift): New rule.
34757         (rel): Add dayshift.
34758         (relative_time_table) [tomorrow, yesterday, today, now]:
34759         Use tDAY_SHIFT in place of tDAY_UNIT.
34760         * tests/test-getdate.c: Add tests for now-disallowed countable
34761         dayshifts, e.g., "4 yesterday ago".
34762
34763 2008-09-29  Bruno Haible  <bruno@clisp.org>
34764
34765         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34766         * tests/test-posix_spawn1.in.sh: Renamed from
34767         tests/test-posix_spawn.in.sh.
34768         * tests/test-posix_spawn2.c: New file.
34769         * tests/test-posix_spawn2.in.sh: New file.
34770         * modules/posix_spawnp-tests (Files): Update.
34771         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34772
34773 2008-09-29  Bruno Haible  <bruno@clisp.org>
34774
34775         Propagate effects of putenv/setenv/unsetenv to child processes.
34776         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34777         * lib/pipe.c (create_pipe): Likewise.
34778
34779 2008-09-29  Bruno Haible  <bruno@clisp.org>
34780
34781         Enable use of shell scripts as executables in mingw.
34782         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34783         run the program as a shell script.
34784         * lib/pipe.c (create_pipe): Likewise.
34785         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34786         resulting array.
34787
34788 2008-09-29  Eric Blake  <ebb9@byu.net>
34789
34790         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34791
34792 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34793
34794         * doc/posix-functions/accept.texi: Update mingw problems.
34795         * doc/posix-functions/bind.texi: Update mingw problems.
34796         * doc/posix-functions/close.texi: Update mingw problems.
34797         * doc/posix-functions/connect.texi: Update mingw problems.
34798         * doc/posix-functions/getpeername.texi: Update mingw problems.
34799         * doc/posix-functions/getsockname.texi: Update mingw problems.
34800         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34801         * doc/posix-functions/ioctl.texi: Update mingw problems.
34802         * doc/posix-functions/listen.texi: Update mingw problems.
34803         * doc/posix-functions/recv.texi: Update mingw problems.
34804         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34805         * doc/posix-functions/select.texi: Update mingw problems.
34806         * doc/posix-functions/send.texi: Update mingw problems.
34807         * doc/posix-functions/sendto.texi: Update mingw problems.
34808         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34809         * doc/posix-functions/socket.texi: Update mingw problems.
34810
34811 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34812             Bruno Haible  <bruno@clisp.org>
34813
34814         * lib/sys_select.in.h: Include sys/time.h.
34815         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34816         * modules/sys_select: Depend on sys_time.
34817         * tests/test-sys_select.c: Test that sys/select.h defines struct
34818         timeval fully.
34819
34820 2008-09-29  Bruno Haible  <bruno@clisp.org>
34821
34822         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34823         * lib/sys_select.in.h: Likewise.
34824
34825 2008-09-29  Bruno Haible  <bruno@clisp.org>
34826
34827         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34828
34829 2008-09-29  Bruno Haible  <bruno@clisp.org>
34830
34831         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34832         Set LIBSOCKET instead of augmenting LIBS.
34833         * modules/sockets (Link): New section.
34834         * modules/sockets-tests (test_sockets_LDADD): New variable.
34835         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34836         * modules/poll-tests (test_poll_LDADD): New variable.
34837         * NEWS: Document the change.
34838
34839 2008-09-29  Bruno Haible  <bruno@clisp.org>
34840
34841         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34842         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34843         ARPA_INET_H directly.
34844         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34845
34846 2008-09-28  Bruno Haible  <bruno@clisp.org>
34847
34848         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34849         from gl_HEADER_SYS_SOCKET.
34850         (gl_HEADER_SYS_SOCKET): Invoke it.
34851         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34852
34853 2008-09-28  Bruno Haible  <bruno@clisp.org>
34854
34855         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34856         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34857         Needed on OSF/1 4.0.
34858
34859 2008-09-28  Bruno Haible  <bruno@clisp.org>
34860
34861         Override open more carefully.
34862         * lib/open.c (orig_open): New function.
34863         (rpl_open): Use orig_open instead of open.
34864         * lib/fcntl.in.h: Add special invocation convention.
34865         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34866         (gl_FUNC_OPEN): Invoke it.
34867
34868         Override freopen more carefully.
34869         * lib/freopen.c (orig_freopen): New function.
34870         (rpl_freopen): Use orig_freopen instead of freopen.
34871         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34872         (gl_FUNC_FREOPEN): Invoke it.
34873
34874         Override fopen more carefully.
34875         * lib/fopen.c (orig_fopen): New function.
34876         (rpl_fopen): Use orig_fopen instead of fopen.
34877         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34878         (gl_FUNC_FOPEN): Invoke it.
34879         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34880
34881 2008-09-28  Bruno Haible  <bruno@clisp.org>
34882
34883         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34884         SIGPIPE.
34885
34886 2008-09-28  Bruno Haible  <bruno@clisp.org>
34887
34888         * tests/test-sigaction.c (handler, main): Disable the check whether
34889         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34890         glibc systems with LinuxThreads.
34891
34892 2008-09-28  Bruno Haible  <bruno@clisp.org>
34893
34894         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34895
34896         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34897         with AIX xlc.
34898         * lib/fcntl.in.h (open): Likewise.
34899         Reported by Rainer Tammer <tammer@tammer.net>.
34900
34901 2008-09-28  Bruno Haible  <bruno@clisp.org>
34902
34903         * modules/posix_spawnp-tests: New file.
34904         * tests/test-posix_spawn.c: New file.
34905         * tests/test-posix_spawn.in.sh: New file.
34906
34907         New module 'posix_spawnp'.
34908         * modules/posix_spawnp: New file.
34909         * lib/spawnp.c: New file, from GNU libc with modifications.
34910         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34911
34912         New module 'posix_spawn'.
34913         * modules/posix_spawn: New file.
34914         * lib/spawn.c: New file, from GNU libc with modifications.
34915         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34916
34917         New module 'posix_spawnattr_destroy'.
34918         * modules/posix_spawnattr_destroy: New file.
34919         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34920         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34921         module.
34922
34923         New module 'posix_spawnattr_setsigmask'.
34924         * modules/posix_spawnattr_setsigmask: New file.
34925         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
34926         modifications.
34927         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
34928         new module.
34929
34930         New module 'posix_spawnattr_getsigmask'.
34931         * modules/posix_spawnattr_getsigmask: New file.
34932         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
34933         modifications.
34934         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
34935         new module.
34936
34937         New module 'posix_spawnattr_setsigdefault'.
34938         * modules/posix_spawnattr_setsigdefault: New file.
34939         * lib/spawnattr_setdefault.c: New file, from GNU libc with
34940         modifications.
34941         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
34942         new module.
34943
34944         New module 'posix_spawnattr_getsigdefault'.
34945         * modules/posix_spawnattr_getsigdefault: New file.
34946         * lib/spawnattr_getdefault.c: New file, from GNU libc with
34947         modifications.
34948         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
34949         new module.
34950
34951         New module 'posix_spawnattr_setschedpolicy'.
34952         * modules/posix_spawnattr_setschedpolicy: New file.
34953         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
34954         modifications.
34955         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
34956         new module.
34957
34958         New module 'posix_spawnattr_getschedpolicy'.
34959         * modules/posix_spawnattr_getschedpolicy: New file.
34960         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
34961         modifications.
34962         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
34963         new module.
34964
34965         New module 'posix_spawnattr_setschedparam'.
34966         * modules/posix_spawnattr_setschedparam: New file.
34967         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
34968         modifications.
34969         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
34970         new module.
34971
34972         New module 'posix_spawnattr_getschedparam'.
34973         * modules/posix_spawnattr_getschedparam: New file.
34974         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
34975         modifications.
34976         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
34977         new module.
34978
34979         New module 'posix_spawnattr_setpgroup'.
34980         * modules/posix_spawnattr_setpgroup: New file.
34981         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
34982         modifications.
34983         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
34984         module.
34985
34986         New module 'posix_spawnattr_getpgroup'.
34987         * modules/posix_spawnattr_getpgroup: New file.
34988         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
34989         modifications.
34990         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
34991         module.
34992
34993         New module 'posix_spawnattr_setflags'.
34994         * modules/posix_spawnattr_setflags: New file.
34995         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
34996         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
34997         module.
34998
34999         New module 'posix_spawnattr_getflags'.
35000         * modules/posix_spawnattr_getflags: New file.
35001         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
35002         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
35003         module.
35004
35005         New module 'posix_spawnattr_init'.
35006         * modules/posix_spawnattr_init: New file.
35007         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
35008         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
35009         module.
35010
35011         New module 'posix_spawn_file_actions_destroy'.
35012         * modules/posix_spawn_file_actions_destroy: New file.
35013         * lib/spawn_faction_destroy.c: New file, from GNU libc with
35014         modifications.
35015         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
35016         the new module.
35017
35018         New module 'posix_spawn_file_actions_addopen'.
35019         * modules/posix_spawn_file_actions_addopen: New file.
35020         * lib/spawn_faction_addopen.c: New file, from GNU libc with
35021         modifications.
35022         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
35023         the new module.
35024
35025         New module 'posix_spawn_file_actions_adddup2'.
35026         * modules/posix_spawn_file_actions_adddup2: New file.
35027         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
35028         modifications.
35029         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
35030         the new module.
35031
35032         New module 'posix_spawn_file_actions_addclose'.
35033         * modules/posix_spawn_file_actions_addclose: New file.
35034         * lib/spawn_faction_addclose.c: New file, from GNU libc with
35035         modifications.
35036         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
35037         the new module.
35038
35039         New module 'posix_spawn_file_actions_init'.
35040         * modules/posix_spawn_file_actions_init: New file.
35041         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
35042         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
35043         new module.
35044
35045         New module 'posix_spawn-internal'.
35046         * modules/posix_spawn-internal: New file.
35047         * lib/spawn_int.h: New file, from GNU libc with modifications.
35048         * lib/spawni.c: New file, from GNU libc with modifications.
35049         * m4/posix_spawn.m4: New file.
35050
35051         New module 'spawn'.
35052         * modules/spawn: New file.
35053         * lib/spawn.in.h: New file, from GNU libc with modifications.
35054         * m4/spawn_h.m4: New file.
35055         * doc/posix-headers/spawn.texi: Mention the new module.
35056
35057 2008-09-28  Bruno Haible  <bruno@clisp.org>
35058
35059         * modules/sched-tests: New file.
35060         * tests/test-sched.c: New file.
35061
35062         New module 'sched'.
35063         * modules/sched: New file.
35064         * lib/sched.in.h: New file.
35065         * m4/sched_h.m4: New file.
35066         * doc/posix-headers/sched.texi: Mention the new module.
35067
35068 2008-09-27  Eric Blake  <ebb9@byu.net>
35069
35070         Fix previous patch, and tweak references to $0.
35071         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
35072         (func_version, func_gnulib_dir): Don't call this program
35073         gnulib-tool.
35074         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
35075         with using $0 in function.
35076         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
35077         (func_fatal_error): Reuse the name the user invoked us with.
35078
35079 2008-09-27  Bruno Haible  <bruno@clisp.org>
35080
35081         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
35082         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
35083         (gl_ICONV_H): Not here.
35084         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35085         instead of assigning ICONV_H directly.
35086
35087         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
35088         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
35089         WCHAR_H directly.
35090
35091 2008-09-27  Bruno Haible  <bruno@clisp.org>
35092
35093         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
35094         * modules/arpa_inet (Depends-on): Add link-warning.
35095         (Makefile.am): Insert the definition of GL_LINK-WARNING.
35096         * modules/unistd (Makefile.am): Likewise.
35097
35098 2008-09-26  Bruno Haible  <bruno@clisp.org>
35099
35100         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
35101         variables.
35102         (func_version): Essentially copied from gnulib-tool.
35103         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
35104         func_readlink): Copied from gnulib-tool.
35105
35106 2008-09-26  Bruno Haible  <bruno@clisp.org>
35107
35108         * gnulib-tool (func_version): Change directory to $gnulib_dir before
35109         invoking git-version-gen.
35110
35111 2008-09-26  Bruno Haible  <bruno@clisp.org>
35112
35113         * posix-modules: Update to directory names changed on 2008-01-19.
35114         Remove commas in output before splitting into words. No more need to
35115         avoid 'ftruncate' since 2007-02-19.
35116
35117 2008-09-26  Bruno Haible  <bruno@clisp.org>
35118
35119         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
35120
35121 2008-09-26  Bruno Haible  <bruno@clisp.org>
35122
35123         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
35124         * modules/fwriteerror (Depends-on): Add errno.
35125
35126 2008-09-26  Bruno Haible  <bruno@clisp.org>
35127
35128         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
35129         * tests/test-vc-list-files-cvs.sh: Likewise.
35130
35131 2008-09-26  Bruno Haible  <bruno@clisp.org>
35132
35133         * doc/posix-headers/sys_resource.texi: Reorder items.
35134
35135 2008-09-26  Jim Meyering  <meyering@redhat.com>
35136
35137         fts: tweak inode comparison function
35138         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
35139         inode numbers, as documented.
35140
35141         fts: sort dirent entries on inode number before traversing
35142         This avoids a quadratic, seek-related performance penalty when
35143         operating on a directory containing many entries (measurable at 10k;
35144         3.5 hours at 2 million entries with a cold cache) on certain types
35145         of file systems, including ext3 and ext4, but not tmpfs.
35146         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
35147         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
35148         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
35149         (fs_handles_readdir_ordered_dirents_efficiently): New function.
35150         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
35151         (fts_build): Set the stat.st_ino member from D_INO.
35152         If it is likely to be useful, sort dirent entries on inode number.
35153
35154         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
35155         and the struct statfs.f_type member.
35156         * modules/fts (Depends-on): Add d-ino.
35157
35158 2008-09-26  Bruno Haible  <bruno@clisp.org>
35159
35160         * modules/sigpipe-die (Depends-on): Add sigpipe.
35161
35162         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
35163         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
35164         and GNULIB_STDIO_H_SIGPIPE are set.
35165         * lib/stdio-write.c: New file.
35166         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
35167         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35168         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35169         REPLACE_STDIO_WRITE_FUNCS.
35170         (gl_STDIO_H_DEFAULTS): Initialize 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         * modules/stdio (Files): Add lib/stdio-write.c.
35175         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
35176         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35177         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35178         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35179         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
35180         REPLACE_FPRINTF_POSIX.
35181         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
35182         REPLACE_PRINTF_POSIX.
35183         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
35184         REPLACE_VFPRINTF_POSIX.
35185         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
35186         REPLACE_VPRINTF_POSIX.
35187         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
35188         SIGPIPE issue.
35189         * doc/posix-functions/fputc.texi: Likewise.
35190         * doc/posix-functions/fputs.texi: Likewise.
35191         * doc/posix-functions/fwrite.texi: Likewise.
35192         * doc/posix-functions/printf.texi: Likewise.
35193         * doc/posix-functions/putc.texi: Likewise.
35194         * doc/posix-functions/putchar.texi: Likewise.
35195         * doc/posix-functions/puts.texi: Likewise.
35196         * doc/posix-functions/vfprintf.texi: Likewise.
35197         * doc/posix-functions/vprintf.texi: Likewise.
35198
35199         * modules/safe-write (Depends-on): Add write.
35200
35201         * modules/sigpipe-tests: New file.
35202         * tests/test-sigpipe.c: New file.
35203         * tests/test-sigpipe.sh: New file.
35204
35205         * modules/write: New file.
35206         * lib/unistd.in.h: Include <sys/types.h>.
35207         (write): New declaration.
35208         * lib/write.c: New file.
35209         * m4/write.m4: New file.
35210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35211         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
35212         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
35213         GNULIB_WRITE, REPLACE_WRITE.
35214         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
35215         and the SIGPIPE issue.
35216
35217         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
35218         (raise): New declaration.
35219         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
35220         (ext_signal): New function.
35221         (rpl_raise): New function.
35222         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35223         GNULIB_SIGNAL_H_SIGPIPE.
35224         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
35225         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
35226
35227         * modules/sigpipe: New file.
35228         * m4/sigpipe.m4: New file.
35229
35230 2008-09-25  Derek Price  <derek@ximbiot.com>
35231             Bruno Haible  <bruno@clisp.org>
35232
35233         * gnulib-tool (func_import): Report all license incompatibilities, not
35234         just the first one.
35235
35236 2008-09-25  Bruno Haible  <bruno@clisp.org>
35237
35238         * gnulib-tool (func_import): When computing the edits, consider not
35239         only the Makefile.ams that exist but also those that will be generated.
35240
35241 2008-09-25  Simon Josefsson  <simon@josefsson.org>
35242
35243         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
35244         fixes gnulib-tool --test warning about duplicate dependency.
35245
35246 2008-09-25  Bruno Haible  <bruno@clisp.org>
35247
35248         * gnulib-tool: Don't ask the user to perform edits in the generated
35249         Makefile.ams.
35250         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
35251         apply to the Makefile.am being generated.
35252         (func_emit_tests_Makefile_am): Execute edits that apply to the
35253         Makefile.am being generated.
35254         (func_import): Setup list of Makefile.am edits before emitting the
35255         Makefile.ams, not at the end.
35256         (func_create_testdir): Update.
35257         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35258
35259 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35260
35261         * gnulib-tool (func_import): Store the --tests-base option in the
35262         comment in gnulib-cache.m4.
35263
35264 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
35265
35266         * NEWS: Document increased portability that sys_select now provides.
35267
35268         * lib/sys_select.in.h: Install select wrapper.
35269         * lib/sys_socket.in.h: Use more descriptive name when there is no
35270         select wrapper.
35271         * lib/winsock-select.c: New.
35272         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
35273         Require gl_HEADER_SYS_SOCKET.
35274         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
35275         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
35276         * tests/test-sys_select.c: Add functional tests.
35277
35278 2008-09-24  Eric Blake  <ebb9@byu.net>
35279
35280         open, fopen: close fd leak in last patch
35281         * lib/open.c (rpl_open): Close fd before returning error.
35282         * lib/fopen.c (rpl_fopen): Close fd before returning error.
35283         * doc/posix-functions/open.texi (open): Document that Irix also
35284         has the bug.
35285         * doc/posix-functions/fopen.texi (fopen): Likewise.
35286         Reported by Paolo Bonzini.
35287
35288 2008-09-24  Bruno Haible  <bruno@clisp.org>
35289
35290         Ensure that a filename ending in a slash cannot be used to access a
35291         non-directory.
35292         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
35293         to check whether it's really a directory.
35294         * lib/fopen.c: Include fcntl.h, unistd.h.
35295         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
35296         and fdopen().
35297         * modules/fopen (Depends-on): Add unistd.
35298         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
35299         * tests/test-fopen.c (main): Likewise.
35300         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
35301         * doc/posix-functions/fopen.texi: Likewise.
35302         Reported by Eric Blake.
35303
35304 2008-09-23  Eric Blake  <ebb9@byu.net>
35305
35306         c-stack: avoid compiler optimizations when provoking overflow
35307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
35308         recursion harder to optimize, to ensure a stack overflow occurs.
35309         * tests/test-c-stack.c (recurse): Likewise.
35310         Borrowed from libsigsegv.
35311
35312         c-stack: work around Irix sigaltstack bug
35313         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
35314         whether sigaltstack uses wrong end of stack_t (copied in part from
35315         libsigsegv).
35316         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
35317         Irix bug, without requiring an over-allocation.
35318         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
35319         bug.
35320
35321         fopen: document mingw bug on directories
35322         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
35323         not allowing a stream visiting a directory, even though reading
35324         from such a stream is not portable.
35325
35326 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35327
35328         * lib/poll.c: Rewrite.
35329         * modules/poll: Depend on alloca.
35330
35331 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35332
35333         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
35334         instead define prototypes for a full set of wrappers.  Ensure
35335         that Cygwin does not use the compatibility code, which is only
35336         for MinGW.
35337         * lib/winsock.c: New.
35338         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
35339         * modules/sys_socket: Add lib/winsock.c.
35340
35341         * modules/poll-tests: Add errno and perror.
35342         * tests/test-poll.c: Use ioctl, not ioctlsocket.
35343
35344 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35345
35346         * tests/test-poll.c: Downgrade minimum needed Winsock version.
35347
35348 2008-09-23  Bruno Haible  <bruno@clisp.org>
35349
35350         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
35351         * doc/glibc-functions/*: Likewise.
35352
35353 2008-09-23  Simon Josefsson  <simon@josefsson.org>
35354
35355         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
35356         success.
35357
35358 2008-09-22  Eric Blake  <ebb9@byu.net>
35359             Bruno Haible  <bruno@clisp.org>
35360
35361         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
35362         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
35363         supply %A but mishandle pseudo-NaN.
35364         Reported by Simon Josefsson.
35365
35366 2008-09-21  Bruno Haible  <bruno@clisp.org>
35367
35368         * tests/test-lock.c (main): Tweak skip message.
35369         * tests/test-tls.c (main): Likewise.
35370
35371 2008-09-21  Bruno Haible  <bruno@clisp.org>
35372
35373         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
35374         whether 'struct sigaction' has sa_sigaction here...
35375         (gl_PREREQ_SIG_HANDLER_H): ... not here.
35376         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
35377
35378 2008-09-21  Bruno Haible  <bruno@clisp.org>
35379
35380         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
35381         section.
35382         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
35383         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
35384         the new section.
35385         (Support for obsolete systems lacking POSIX:2001): New section.
35386         (String handling <string.h>): Move strdup to the new section.
35387         Suggested by Simon Josefsson and Paolo Bonzini.
35388
35389 2008-09-21  Bruno Haible  <bruno@clisp.org>
35390
35391         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
35392         exponents in %e and %g results on 'long double'. Needed for mingw's
35393         improved *printf functions.
35394         * tests/test-vasprintf-posix.c (test_function): Likewise.
35395         * tests/test-snprintf-posix.h (test_function): Likewise.
35396         * tests/test-sprintf-posix.h (test_function): Likewise.
35397         Reported by Eric Blake.
35398
35399 2008-09-21  Bruno Haible  <bruno@clisp.org>
35400
35401         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
35402         * tests/test-sprintf-posix.h (test_function): Likewise.
35403
35404 2008-09-21  Bruno Haible  <bruno@clisp.org>
35405
35406         * modules/getpass (Depends-on): Add strdup-posix.
35407
35408         New module 'strdup-posix'.
35409         * modules/strdup-posix: New file.
35410         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
35411         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
35412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35413         REPLACE_STRDUP.
35414         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
35415         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
35416         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35417         strdup-posix.
35418
35419         * modules/strdup (Depends-on): Remove malloc-posix.
35420
35421 2008-09-20  Bruno Haible  <bruno@clisp.org>
35422
35423         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
35424         Wildenhues.
35425
35426 2008-09-20  Bruno Haible  <bruno@clisp.org>
35427
35428         Ensure that wint_t gets defined on IRIX 5.3.
35429         * lib/wchar.in.h (wint_t): Define if not defined by the system.
35430         * lib/wctype.in.h (wint_t): Likewise.
35431         (__wctype_wint_t): Remove type.
35432         (isw*): Use wint_t instead of __wctype_wint_t.
35433         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
35434         * modules/wchar (Files): Add m4/wint_t.m4.
35435         (Makefile.am): Substitute HAVE_WINT_T.
35436         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
35437         * tests/test-wctype.c: Check that wint_t is defined.
35438         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
35439         * doc/posix-headers/wctype.texi: Likewise.
35440         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35441
35442 2008-09-18  Bruno Haible  <bruno@clisp.org>
35443
35444         * gnulib-tool (func_exit): Update comment.
35445
35446 2008-09-18  Simon Josefsson  <simon@josefsson.org>
35447
35448         * modules/getaddrinfo (Depends-on): Remove strdup, this module
35449         assumes strdup exists and does not depend on strdup to return
35450         ENOMEM on out of memory conditions.
35451
35452 2008-09-18  Bruno Haible  <bruno@clisp.org>
35453
35454         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
35455         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
35456         digits for the exponent.
35457
35458 2008-09-18  Jim Meyering  <meyering@redhat.com>
35459             Bruno Haible  <bruno@clisp.org>
35460
35461         * lib/vasnprintf.c (decimal_point_char): Define also if
35462         NEED_PRINTF_INFINITE_LONG_DOUBLE.
35463
35464 2008-09-16  Bruno Haible  <bruno@clisp.org>
35465         and Eric Blake  <ebb9@byu.net>
35466
35467         vasnprintf: support Irix 5.3
35468         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
35469         that mishandle long double infinity.
35470         Reported by Tom G. Christensen.
35471
35472 2008-09-16  Bruno Haible  <bruno@clisp.org>
35473
35474         * doc/glibc-functions/scandir.texi: Mention the function is missing on
35475         Solaris 9.
35476         * doc/glibc-functions/alphasort.texi: Likewise.
35477         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
35478
35479 2008-09-16  Jim Meyering  <meyering@redhat.com>
35480
35481         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
35482         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
35483         a umask modification leak out of a subshell.  Otherwise, the
35484         opensolaris /bin/sh would be accepted and thus cause unwarranted
35485         failures in the coreutils test suite.
35486
35487 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
35488
35489         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
35490         to succeed.
35491
35492 2008-09-16  Jim Meyering  <meyering@redhat.com>
35493
35494         avoid spurious test failure when library is built without ACL support
35495         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
35496         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
35497         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
35498         * tests/test-copy-acl.sh: Likewise.
35499
35500 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35501
35502         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
35503         based on character occurrence counts.
35504
35505 2008-09-15  Eric Blake  <ebb9@byu.net>
35506
35507         tests: avoid some compiler warnings
35508         * tests/test-memchr.c (main): Pass NULL indirectly.
35509         * tests/test-closein.c (main): Avoid unused variable.
35510
35511 2008-09-15  Bruno Haible  <bruno@clisp.org>
35512
35513         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
35514         are missing on OpenBSD 4.0 individually.
35515         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35516
35517 2008-09-15  Bruno Haible  <bruno@clisp.org>
35518
35519         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
35520         * doc/posix-functions/strerror.texi: Mention also Cygwin.
35521         * doc/posix-functions/perror.texi: Likewise.
35522         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
35523         is missing.
35524         Reported by Eric Blake.
35525
35526         * lib/errno.in.h: Use replacement values >= 2000.
35527         Reported by Eric Blake.
35528
35529 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35530
35531         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
35532         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
35533         limit.
35534         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
35535         compareseq was aborted.
35536
35537 2008-09-14  Bruno Haible  <bruno@clisp.org>
35538
35539         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
35540         yvec_edit_count.
35541         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
35542         (fstrcmp_bounded): Simplify result computation accordingly.
35543
35544 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35545
35546         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
35547         (fstrcmp): Define in terms of fstrcmp_bounded.
35548         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
35549         lower_bound argument.
35550         Return quickly if the result is certainly < lower_bound.
35551         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
35552
35553 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35554
35555         * lib/diffseq.h (EARLY_ABORT): New macro.
35556         (compareseq): Change return type to bool. Return true when EARLY_ABORT
35557         evaluates to true.
35558
35559 2008-09-14  Bruno Haible  <bruno@clisp.org>
35560
35561         * modules/perror-tests: New file.
35562         * tests/test-perror.sh: New file.
35563         * tests/test-perror.c: New file.
35564
35565         New module 'perror'.
35566         * lib/stdio.in.h (perror): New declaration.
35567         * lib/perror.c: New file.
35568         * m4/perror.m4: New file.
35569         * modules/perror: New file.
35570         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
35571         * doc/posix-functions/perror.texi: Mention the perror module.
35572         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
35573         REPLACE_PERROR.
35574         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
35575         REPLACE_PERROR.
35576
35577 2008-09-14  Bruno Haible  <bruno@clisp.org>
35578
35579         * modules/stdio (Makefile.am): Reorder to match the order in
35580         lib/stdio.in.h.
35581         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35582
35583 2008-09-13  Bruno Haible  <bruno@clisp.org>
35584
35585         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
35586
35587 2008-09-13  Bruno Haible  <bruno@clisp.org>
35588
35589         Extend strerror to cover the added errno values.
35590         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
35591         (rpl_strerror): Provide error messages for the added errno values and
35592         for the WSA* values.
35593         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
35594         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
35595         strerror.
35596         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
35597         * modules/strerror (Depends-on): Add errno.
35598         * doc/posix-functions/strerror.texi: Document the change.
35599         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
35600         and EOVERFLOW.
35601
35602 2008-09-13  Bruno Haible  <bruno@clisp.org>
35603
35604         * modules/EOVERFLOW: Remove file.
35605         * m4/eoverflow.m4: Remove file.
35606         * modules/EOVERFLOW-tests: Remove file.
35607         * tests/test-EOVERFLOW.c: Remove file.
35608         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
35609         * modules/ftell (Depends-on): Likewise.
35610         * modules/getdelim (Depends-on): Likewise.
35611         * modules/getugroups (Depends-on): Likewise.
35612         * modules/poll (Depends-on): Likewise.
35613         * modules/snprintf (Depends-on): Likewise.
35614         * modules/sprintf-posix (Depends-on): Likewise.
35615         * modules/vasnprintf (Depends-on): Likewise.
35616         * modules/vasprintf (Depends-on): Likewise.
35617         * modules/vfprintf-posix (Depends-on): Likewise.
35618         * modules/vsnprintf (Depends-on): Likewise.
35619         * modules/vsprintf-posix (Depends-on): Likewise.
35620         * modules/xvasprintf (Depends-on): Likewise.
35621         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35622         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
35623         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
35624         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
35625         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35626         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
35627         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
35628         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
35629         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35630         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
35631         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
35632         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
35633         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35634         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
35635         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
35636         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
35637         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35638         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
35639         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
35640         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
35641         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35642         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
35643         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
35644         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
35645         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
35646         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35647         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
35648         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
35649         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
35650         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
35651         * MODULES.html.sh: Remove EOVERFLOW.
35652         * NEWS: Mention the change.
35653
35654 2008-09-13  Bruno Haible  <bruno@clisp.org>
35655
35656         * modules/errno-tests: New file.
35657         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
35658
35659         * lib/errno.in.h: New file.
35660         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
35661         * modules/errno: New file.
35662         * doc/posix-headers/errno.texi: Update documentation.
35663         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
35664
35665 2008-09-13  Bruno Haible  <bruno@clisp.org>
35666
35667         * tests/test-poll.c: Use #if for native Windows, rather than testing
35668         __MSVCRT__.
35669
35670 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35671             Bruno Haible  <bruno@clisp.org>
35672
35673         * lib/glob.c: Don't include <pwd.h> on native Windows.
35674         (WINDOWS32): New macro.
35675         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
35676
35677 2008-09-13  Bruno Haible  <bruno@clisp.org>
35678
35679         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
35680         (ETIMEDOUT): Remove macro.
35681         (glthread_cond_timedwait_multithreaded): New declaration.
35682         (glthread_cond_timedwait): Use it.
35683         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
35684         (glthread_cond_timedwait_multithreaded): New function.
35685
35686 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35687
35688         * modules/poll-tests: Do not check for io.h.
35689         * tests/test-poll.c: Check for __MSVCRT__ instead.
35690
35691 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35692
35693         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35694         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35695         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35696
35697 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35698
35699         * modules/poll-tests: New.
35700         * tests/test-poll.c: New.
35701
35702 2008-09-12  Eric Blake  <ebb9@byu.net>
35703
35704         frexp: test for NetBSD failure on -0.0
35705         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35706         not all, bugs from NetBSD 3.0 have been fixed.
35707         * doc/posix-functions/frexp.texi (frexp): Document bug.
35708         Reported by Thomas Klausner.
35709
35710         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35711         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35712         literal -0.0.
35713         Reported by Jonathan C. Patschke <jp@centtech.com>.
35714
35715 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35716
35717         * lib/glthread/cond.h: Use dummy implementation also if
35718         USE_WIN32_THREADS.
35719
35720 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35721
35722         * modules/fnmatch-posix (License): Change to LGPLv2+.
35723         * modules/fnmatch-gnu (License): Likewise.
35724
35725 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35726
35727         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35728
35729 2008-09-11  Jim Meyering  <meyering@redhat.com>
35730
35731         * users.txt: Add gtk-vnc.
35732
35733 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35734
35735         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35736         rotate amounts.
35737
35738         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35739         required for 16-bit and 8-bit rotates.
35740         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35741         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35742         UINT8_MAX instead of hard-coded constants.
35743         Suggested by Paul Eggert.
35744
35745 2008-09-07  Bruno Haible  <bruno@clisp.org>
35746
35747         * tests/test-striconveh.c (main): Check behaviour when converting from
35748         UTF-7.
35749
35750         Make striconveh work better with stateful encodings.
35751         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35752         that iconv does not increment the inptr when returning -1/EINVAL.
35753
35754 2008-09-07  Bruno Haible  <bruno@clisp.org>
35755
35756         * build-aux/config.rpath: Update according to libtool-2.2.6.
35757         * build-aux/config.libpath: Likewise.
35758
35759 2008-09-06  Bruno Haible  <bruno@clisp.org>
35760
35761         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35762         * lib/freadptr.c (freadptr): Likewise.
35763         * lib/freadseek.c (freadptrinc): Likewise.
35764         Reported by Simon Josefsson.
35765
35766 2008-09-06  Bruno Haible  <bruno@clisp.org>
35767
35768         * modules/freadptr (License): Change to LGPLv2+.
35769         * modules/freadseek (License): Likewise.
35770         Suggested by Eric Blake.
35771
35772         * modules/memchr2 (License): Change to LGPLv2+.
35773         Approved by Eric Blake.
35774
35775 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35776             Bruno Haible  <bruno@clisp.org>
35777
35778         Make gnulib-tool work with native 'sed' on AIX.
35779         * gnulib-tool (sed_noop): New variable.
35780         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35781         func_add_or_update, func_create_testdir): Use it to initialize sed
35782         script variables.
35783         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35784
35785 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35786             Bruno Haible  <bruno@clisp.org>
35787
35788         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35789         also works after #include directives.
35790
35791 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
35792
35793         getdate.y: reject an out-of-range timezone value
35794         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35795         the range [-24...+24].  When specified with only one or two digits,
35796         * tests/test-getdate.c: Tests for the fix.
35797         * doc/getdate.texi: Document this change.
35798
35799 2008-09-03  Bruno Haible  <bruno@clisp.org>
35800
35801         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35802
35803 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35804
35805         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35806         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35807         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35808         Blake <ebb9@byu.net>.
35809
35810         * tests/test-bitrotate.c: Add more test vectors.
35811
35812 2008-09-02  Eric Blake  <ebb9@byu.net>
35813
35814         vasnprintf-posix: handle large precision via %.*d
35815         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35816         when handling it ourselves.
35817         * tests/test-vasnprintf-posix.c (test_function): Add test.
35818         * tests/test-snprintf-posix.h (test_function): Likewise.
35819         * tests/test-sprintf-posix.h (test_function): Likewise.
35820         * tests/test-vasprintf-posix.c (test_function): Likewise.
35821         Reported by Alain Guibert.
35822
35823 2008-09-01  Eric Blake  <ebb9@byu.net>
35824
35825         c-stack: make configure-time check more robust
35826         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35827         successful sigaction call.
35828         Reported by Tom G. Christensen.
35829
35830 2008-09-01  Bruno Haible  <bruno@clisp.org>
35831
35832         New module 'findprog-lgpl'.
35833         * modules/findprog-lgpl: New file.
35834         * lib/findprog-lgpl.c: New file.
35835         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35836         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35837         to decide whether to use strdup or xstrdup, concatenated_filename or
35838         xconcatenated_filename.
35839
35840 2008-09-01  Bruno Haible  <bruno@clisp.org>
35841
35842         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35843         'xconcat-filename' (GPL).
35844         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35845         (License): Change to LGPLv2+.
35846         * modules/xconcat-filename: New file.
35847         * lib/concat-filename.h (concatenated_filename): Change specification.
35848         (xconcatenated_filename): New declaration.
35849         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35850         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35851         memory situations.
35852         * lib/xconcat-filename.c: New file.
35853         * NEWS: Mention the change.
35854         * lib/findprog.c: Include concat-filename.h, not filename.h.
35855         (find_in_path): Use xconcatenated_filename instead of
35856         concatenated_filename.
35857         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35858         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35859         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35860         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35861         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35862         instead of concatenated_filename.
35863         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35864         (execute_java_class): Use xconcatenated_filename instead of
35865         concatenated_filename.
35866         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35867         * modules/javacomp (Depends-on): Likewise.
35868         * modules/javaexec (Depends-on): Likewise.
35869
35870 2008-09-01  Bruno Haible  <bruno@clisp.org>
35871
35872         Split module 'filename' into 'filename' and 'concat-filename'.
35873         * modules/filename: Keep only lib/filename.h.
35874         (License): Change to LGPLv2+.
35875         * modules/concat-filename: New file, extracted from modules/filename.
35876         * lib/filename.h (concatenated_filename): Remove declaration.
35877         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35878         * lib/concat-filename.c: Include concat-filename.h.
35879         * NEWS: Mention the change.
35880
35881 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35882
35883         * lib/bitrotate.h (rotl8, rotr8): Add.
35884
35885         * modules/bitrotate (configure.ac): Need
35886         AC_REQUIRE([AC_C_INLINE]).
35887         (Description): Mention stdint.h.  Reported by Bruno Haible
35888         <bruno@clisp.org>.
35889
35890         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35891         Paolo Bonzini <bonzini@gnu.org>.
35892
35893 2008-08-31  Bruno Haible  <bruno@clisp.org>
35894
35895         Assume Solaris specific bi-arch conventions on Solaris systems.
35896         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35897         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35898         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35899         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35900         like acl_libdirstem.
35901         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35902         acl_libdirstem.
35903         * NEWS: Mention the change.
35904         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35905
35906 2008-08-31  Jim Meyering  <meyering@redhat.com>
35907
35908         * lib/strftime.h: Add comments describing the two added arguments.
35909
35910         remove duplicate #include directives
35911         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35912         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35913
35914 2008-08-31  Bruno Haible  <bruno@clisp.org>
35915
35916         New module 'sigpipe-die'.
35917         * modules/sigpipe-die: New file.
35918         * lib/sigpipe-die.h: New file.
35919         * lib/sigpipe-die.c: New file.
35920         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35921
35922 2008-08-31  Bruno Haible  <bruno@clisp.org>
35923
35924         Don't override previously installed signal handlers.
35925         * lib/fatal-signal.c (saved_sigactions): New variable.
35926         (uninstall_handlers): Reset the signal to the saved handler, not
35927         to SIG_DFL (except when ignored).
35928         (install_handlers): Save the previous handlers.
35929
35930 2008-08-30  Bruno Haible  <bruno@clisp.org>
35931
35932         * gnulib-tool (func_reset_sigpipe): New function.
35933         (func_get_automake_snippet, func_modules_transitive_closure,
35934         func_import): Invoke it before a join command that reads from stdin,
35935         to avoid "echo: write error: Broken pipe" error messages on stderr.
35936         Reported by Sam Steingold <sds@gnu.org>.
35937
35938 2008-08-30  Bruno Haible  <bruno@clisp.org>
35939
35940         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
35941         Code copied from m4/open.m4.
35942         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
35943         access and the filename ends in a slash. Code copied from lib/open.c.
35944         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
35945         * tests/test-fopen.c (main): Check against bug with trailing slash.
35946
35947 2008-08-29  Bruno Haible  <bruno@clisp.org>
35948
35949         Avoid some "gcc -pedantic" warnings.
35950         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
35951         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
35952         * lib/dirent.in.h: Likewise.
35953         * lib/fcntl.in.h: Likewise.
35954         * lib/float.in.h: Likewise.
35955         * lib/iconv.in.h: Likewise.
35956         * lib/inttypes.in.h: Likewise.
35957         * lib/locale.in.h: Likewise.
35958         * lib/math.in.h: Likewise.
35959         * lib/netinet_in.in.h: Likewise.
35960         * lib/search.in.h: Likewise.
35961         * lib/signal.in.h: Likewise.
35962         * lib/stdarg.in.h: Likewise.
35963         * lib/stdint.in.h: Likewise.
35964         * lib/stdio.in.h: Likewise.
35965         * lib/stdlib.in.h: Likewise.
35966         * lib/string.in.h: Likewise.
35967         * lib/strings.in.h: Likewise.
35968         * lib/sys_select.in.h: Likewise.
35969         * lib/sys_socket.in.h: Likewise.
35970         * lib/sys_stat.in.h: Likewise.
35971         * lib/sys_time.in.h: Likewise.
35972         * lib/sysexits.in.h: Likewise.
35973         * lib/time.in.h: Likewise.
35974         * lib/unistd.in.h: Likewise.
35975         * lib/wchar.in.h: Likewise.
35976         * lib/wctype.in.h: Likewise.
35977         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
35978         * modules/fchdir (Makefile.am): Likewise.
35979         * modules/fcntl (Makefile.am): Likewise.
35980         * modules/float (Makefile.am): Likewise.
35981         * modules/iconv_open (Makefile.am): Likewise.
35982         * modules/inttypes (Makefile.am): Likewise.
35983         * modules/locale (Makefile.am): Likewise.
35984         * modules/math (Makefile.am): Likewise.
35985         * modules/netinet_in (Makefile.am): Likewise.
35986         * modules/search (Makefile.am): Likewise.
35987         * modules/signal (Makefile.am): Likewise.
35988         * modules/stdarg (Makefile.am): Likewise.
35989         * modules/stdint (Makefile.am): Likewise.
35990         * modules/stdio (Makefile.am): Likewise.
35991         * modules/stdlib (Makefile.am): Likewise.
35992         * modules/string (Makefile.am): Likewise.
35993         * modules/strings (Makefile.am): Likewise.
35994         * modules/sys_select (Makefile.am): Likewise.
35995         * modules/sys_socket (Makefile.am): Likewise.
35996         * modules/sys_stat (Makefile.am): Likewise.
35997         * modules/sys_time (Makefile.am): Likewise.
35998         * modules/sysexits (Makefile.am): Likewise.
35999         * modules/time (Makefile.am): Likewise.
36000         * modules/unistd (Makefile.am): Likewise.
36001         * modules/wchar (Makefile.am): Likewise.
36002         * modules/wctype (Makefile.am): Likewise.
36003         Reported by Reuben Thomas <rrt@sc3d.org>.
36004
36005 2008-08-29  Bruno Haible  <bruno@clisp.org>
36006
36007         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
36008         any more.
36009
36010 2008-08-29  Simon Josefsson  <simon@josefsson.org>
36011
36012         * MODULES.html.sh (Misc): Add bitrotate.
36013
36014         * modules/bitrotate: New file.
36015
36016         * lib/bitrotate.h: New file.
36017
36018         * modules/bitrotate-tests: New file.
36019
36020         * tests/test-bitrotate.c: New file.
36021
36022         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
36023         on the bitrotate module.
36024
36025         * lib/arctwo.c: Use new bitrotate module.
36026
36027 2008-08-29  Jim Meyering  <meyering@redhat.com>
36028
36029         bootstrap: merge changes from coreutils
36030         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
36031         of copied files.  Remove a kludge, now that this is fixed.
36032         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
36033         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
36034         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
36035
36036 2008-08-29  Bruno Haible  <bruno@clisp.org>
36037
36038         * MODULES.html.sh: Remove --cvs-urls option.
36039
36040 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
36041
36042         maint.mk: adjust to file name change
36043         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
36044
36045 2008-08-28  Jim Meyering  <meyering@redhat.com>
36046
36047         * modules/getndelim2 (License): Relicense to LGPLv2+.
36048         Approved by Richard Stallman for the version of 1995, and by
36049         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
36050
36051 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
36052
36053         * lib/getdelim.c (flockfile, funlockfile): Make all of them
36054         dummy if one is not available.  Do not touch them if
36055         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
36056         (getc_maybe_unlocked): New.
36057         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
36058
36059 2008-08-26  Eric Blake  <ebb9@byu.net>
36060
36061         doc/INSTALL: resync from autoconf
36062         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
36063         (INSTALL_PRELUDE): Delete; this is done more efficiently by
36064         moving...
36065         * install.texi [!autoconf]: ...here.  Resync from autoconf.
36066         * INSTALL: Regenerate.
36067         * INSTALL.ISO: New file.
36068         * INSTALL.UTF-8: Likewise.
36069
36070 2008-08-26  Jim Meyering  <meyering@redhat.com>
36071
36072         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
36073         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
36074         these definitions conditional, so that they may be overridden, too.
36075
36076 2008-08-26  Bruno Haible  <bruno@clisp.org>
36077
36078         Generate INSTALL file variants with prettier quotes.
36079         * doc/Makefile (INSTALL_PRELUDE): New macro.
36080         (INSTALL): Use it.
36081         (INSTALL.ISO, INSTALL.UTF-8): New rules.
36082
36083 2008-08-26  Bruno Haible  <bruno@clisp.org>
36084
36085         Run makeinfo in an English locale.
36086         * doc/Makefile (MAKEINFO): New variable.
36087
36088 2008-08-26  Bruno Haible  <bruno@clisp.org>
36089
36090         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
36091         Suggested by Eric Blake.
36092
36093 2008-08-25  Bruno Haible  <bruno@clisp.org>
36094
36095         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
36096
36097 2008-08-25  Eric Blake  <ebb9@byu.net>
36098
36099         c-stack: test that stack overflow can be caught
36100         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
36101         that platform allows handling stack overflow; at least OS/2 EMX
36102         has sigaltstack, but crashes before transferring control to
36103         handler on stack overflow.
36104         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
36105         check for HAVE_STACK_OVERFLOW_HANDLING.
36106         Reported by Elbert Pol.
36107
36108 2008-08-25  Bruno Haible  <bruno@clisp.org>
36109
36110         * doc/posix-functions/strftime.texi: Fix description of strftime
36111         module.
36112
36113 2008-08-24  Bruno Haible  <bruno@clisp.org>
36114
36115         * tests/uniwidth/test-uc_width2.c: New file.
36116         * tests/uniwidth/test-uc_width2.sh: New file.
36117         * modules/uniwidth/width-tests (Files): Add the new files.
36118         (TESTS): Add uniwidth/test-uc_width2.sh.
36119         (TESTS_ENVIRONMENT): New variable.
36120         (check_PROGRAMS): Add test-uc_width2.
36121         (test_uc_width2_SOURCES): New variable.
36122
36123         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
36124         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
36125         not 0x00AB.
36126         Reported by Alexander V. Lukyanov <lav@netis.ru>.
36127
36128 2008-08-22  Eric Blake  <ebb9@byu.net>
36129
36130         test-lock, test-tls: mention why a test is skipped
36131         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
36132         skipped.
36133         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
36134
36135         count-one-bits: relax license
36136         * modules/count-one-bits (License): Relicense to LGPLv2+.
36137         Suggested by Ludovic Courtès, approved by Ben Pfaff.
36138
36139 2008-08-22  Andreas Schwab  <schwab@suse.de>
36140
36141         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36142         Remove spurious space in assignment.
36143
36144 2008-08-21  Simon Josefsson  <simon@josefsson.org>
36145
36146         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
36147         Paul Eggert <eggert@CS.UCLA.EDU>.
36148
36149 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
36150
36151         * modules/gettext: Add m4/threadlib.m4.
36152
36153 2008-08-19  Eric Blake  <ebb9@byu.net>
36154
36155         test-c-stack: fix compilation failure on FreeBSD 5.0
36156         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
36157         headers before <sys/resource.h>.
36158         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
36159         the bug.
36160         Reported by Nelson H. F. Beebe.
36161
36162         strverscmp: migrate from "strverscmp.h" to <string.h>
36163         * modules/string (Makefile.am): Add new hooks.
36164         * modules/strverscmp (Files): Remove strverscmp.h.
36165         (Depends-on): Add string.
36166         (configure.ac): Add indicator.
36167         (Include): Mention new header.
36168         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
36169         defaults.
36170         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
36171         results.
36172         * lib/strverscmp.h: Delete.
36173         * lib/string.in.h (strverscmp): Provide declaration, when needed.
36174         * tests/test-strverscmp.c (includes): Adjust client.
36175         * lib/check-version.c (includes): Likewise.
36176         * NEWS: Document the change.
36177
36178         strverscmp: add unit test
36179         * modules/strverscmp-tests: New file.
36180         * tests/test-strverscmp.c: Likewise.
36181
36182 2008-08-19  Simon Josefsson  <simon@josefsson.org>
36183
36184         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
36185         regarding Windows crypto stuff, from Mono.
36186
36187 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
36188
36189         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
36190         if present, for intel RND.  Return error on failures.
36191
36192 2008-08-18  Ben Pfaff  <blp@gnu.org>
36193
36194         gitlog-to-changelog: give better diagnostic for failed pipe-open
36195         * build-aux/gitlog-to-changelog: Improve error message: suggest
36196         that the version of Git may be too old.
36197
36198 2008-08-18  Simon Josefsson  <simon@josefsson.org>
36199
36200         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
36201         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
36202
36203 2008-08-18  Bruno Haible  <bruno@clisp.org>
36204
36205         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
36206         pthread_in_use().
36207
36208 2008-08-18  Bruno Haible  <bruno@clisp.org>
36209
36210         * lib/glthread/threadlib.c: Include <pthread.h>.
36211
36212 2008-08-18  Bruno Haible  <bruno@clisp.org>
36213
36214         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
36215         glthread_recursive_lock_* macros.
36216         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
36217         Fix syntax error.
36218
36219 2008-08-18  Bruno Haible  <bruno@clisp.org>
36220
36221         * lib/glthread/thread.c: Avoid forcing a context switch right after
36222         thread creation.
36223
36224 2008-08-17  Bruno Haible  <bruno@clisp.org>
36225
36226         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
36227         * lib/glthread/thread.h: Provide Win32 specific implementation.
36228         * modules/thread (Files): Add lib/glthread/thread.c.
36229         (Depends-on): Add lock.
36230         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
36231
36232 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36233
36234         New module 'yield'.
36235         * modules/yield: New file.
36236         * lib/glthread/yield.h: New file.
36237         * m4/yield.m4: New file.
36238         * MODULES.html.sh (Multithreading): Add yield.
36239
36240 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36241
36242         New module 'thread'.
36243         * modules/thread: New file.
36244         * lib/glthread/thread.h: New file.
36245         * m4/thread.m4: New file.
36246         * MODULES.html.sh (Multithreading): Add thread.
36247
36248 2008-08-17  Bruno Haible  <bruno@clisp.org>
36249
36250         * lib/glthread/lock.h: Include <stdlib.h> always.
36251         * lib/glthread/tls.h: Likewise.
36252         * lib/glthread/cond.h: Likewise.
36253
36254 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36255
36256         New module 'cond'.
36257         * modules/cond: New file.
36258         * lib/glthread/cond.h: New file.
36259         * lib/glthread/cond.c: New file.
36260         * m4/cond.m4: New file.
36261         * MODULES.html.sh (Multithreading): Add cond.
36262
36263 2008-08-16  Eric Blake  <ebb9@byu.net>
36264
36265         c-stack: fix regression on Irix 5.3 from 2008-06-21
36266         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
36267         sa_sigaction...
36268         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
36269         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
36270         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
36271         * modules/signal (Makefile.am): Use the value.
36272         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
36273         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
36274         * doc/posix-headers/signal.texi (signal.h): Document this
36275         portability issue.
36276         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
36277         Reported by Tom G. Christensen.
36278
36279 2008-08-17  Bruno Haible  <bruno@clisp.org>
36280
36281         New module 'threadlib'.
36282         * modules/threadlib: New file.
36283         * lib/glthread/threadlib.c: New file, extracted from
36284         lib/glthread/lock.c.
36285         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
36286         functions.
36287         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
36288         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
36289         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
36290         macros.
36291         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
36292         (gl_DISABLE_THREADS): Remove macro.
36293         * modules/lock (Files): Remove build-aux/config.rpath.
36294         (Depends-on): Remove havelib. Add threadlib.
36295         (configure.ac-early): Remove section.
36296         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
36297         * modules/tls (Depends-on): Remove lock. Add threadlib.
36298         (Link): New section, copied from threadlib.
36299         * MODULES.html.sh (Multithreading): Add threadlib.
36300
36301 2008-08-14  Bruno Haible  <bruno@clisp.org>
36302
36303         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
36304         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
36305         glthread_rwlock_unlock, glthread_rwlock_destroy,
36306         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
36307         glthread_recursive_lock_destroy): Define as macros always.
36308         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
36309         glthread_lock_lock.
36310         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
36311         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
36312         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
36313         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
36314         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
36315         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
36316         (glthread_recursive_lock_lock_func): Renamed from
36317         glthread_recursive_lock_lock.
36318         (glthread_recursive_lock_unlock_func): Renamed from
36319         glthread_recursive_lock_unlock.
36320         (glthread_recursive_lock_destroy_func): Renamed from
36321         glthread_recursive_lock_destroy.
36322
36323 2008-08-14  Bruno Haible  <bruno@clisp.org>
36324
36325         * lib/glthread/lock.h: Renamed from lib/lock.h.
36326         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
36327         * lib/glthread/tls.h: Renamed from lib/tls.h.
36328         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
36329         * lib/fstrcmp.c: Update includes.
36330         * lib/strsignal.c: Update includes.
36331         * modules/lock (Files, Makefile.am): Update.
36332         (Include): Change to "glthread/lock.h".
36333         * modules/tls (Files, Makefile.am): Update.
36334         (Include): Change to "glthread/tls.h".
36335         * tests/test-lock.c: Update includes.
36336         * tests/test-tls.c: Update includes.
36337         * NEWS: Mention the renamed header files.
36338
36339 2008-08-11  Jim Meyering  <meyering@redhat.com>
36340
36341         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
36342
36343 2008-08-11  Eric Blake  <ebb9@byu.net>
36344
36345         test-c-stack: avoid C99-ism
36346         * tests/test-c-stack.c (main): Fix whitespace, move declaration
36347         before statement.
36348         Reported by Alain Guibert.
36349
36350 2008-08-10  Jim Meyering  <meyering@redhat.com>
36351
36352         ensure that return value of uinttostr et al are not ignored
36353         * lib/inttostr.h (__GNUC_PREREQ): Define.
36354         (__attribute_warn_unused_result__): Define.
36355         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
36356
36357 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
36358
36359         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
36360         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
36361
36362 2008-08-07  Jim Meyering  <meyering@redhat.com>
36363
36364         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
36365
36366         * modules/mkstemp (License): Relicense under LGPLv2+.
36367         * modules/tempname (License): Likewise.
36368
36369 2008-08-06  Bruno Haible  <bruno@clisp.org>
36370
36371         * lib/poll.c (poll): Further micro-optimization.
36372
36373 2008-08-06  Jim Meyering  <meyering@redhat.com>
36374
36375         inet_pton.c: use locale-independent tolower
36376         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
36377         (inet_pton6): Use c_tolower rather than tolower.
36378         * modules/inet_pton (Depends-on): Add c-ctype.
36379
36380 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
36381
36382         * lib/poll.c (poll): Avoid division when timeout is 0, cache
36383         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
36384
36385 2008-08-06  Jim Meyering  <meyering@redhat.com>
36386
36387         * modules/inet_pton (License): Relicense under LGPLv2+.
36388
36389 2008-08-03  Bruno Haible  <bruno@clisp.org>
36390
36391         Additional non-aborting API for lock and tls.
36392         * lib/lock.h: Include <errno.h>.
36393         (glthread_lock_init): New macro/function.
36394         (gl_lock_init): Define as wrapper around glthread_lock_init.
36395         (glthread_lock_lock): New macro/function.
36396         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
36397         (glthread_lock_unlock): New macro/function.
36398         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
36399         (glthread_lock_destroy): New macro/function.
36400         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
36401         (glthread_rwlock_init): New macro/function.
36402         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
36403         (glthread_rwlock_rdlock): New macro/function.
36404         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
36405         (glthread_rwlock_wrlock): New macro/function.
36406         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
36407         (glthread_rwlock_unlock): New macro/function.
36408         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
36409         (glthread_rwlock_destroy): New macro/function.
36410         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
36411         (glthread_recursive_lock_init): New macro/function.
36412         (gl_recursive_lock_init): Define as wrapper around
36413         glthread_recursive_lock_init.
36414         (glthread_recursive_lock_lock): New macro/function.
36415         (gl_recursive_lock_lock): Define as wrapper around
36416         glthread_recursive_lock_lock.
36417         (glthread_recursive_lock_unlock): New macro/function.
36418         (gl_recursive_lock_unlock): Define as wrapper around
36419         glthread_recursive_lock_unlock.
36420         (glthread_recursive_lock_destroy): New macro/function.
36421         (gl_recursive_lock_destroy): Define as wrapper around
36422         glthread_recursive_lock_destroy.
36423         (glthread_once): New macro/function.
36424         (gl_once): Define as wrapper around glthread_once.
36425         Update function declarations.
36426         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
36427         glthread_rwlock_init. Return error code.
36428         (glthread_rwlock_rdlock_multithreaded): Renamed from
36429         glthread_rwlock_rdlock. Return error code.
36430         (glthread_rwlock_wrlock_multithreaded): Renamed from
36431         glthread_rwlock_wrlock. Return error code.
36432         (glthread_rwlock_unlock_multithreaded): Renamed from
36433         glthread_rwlock_unlock. Return error code.
36434         (glthread_rwlock_destroy_multithreaded): Renamed from
36435         glthread_rwlock_destroy. Return error code.
36436         (glthread_recursive_lock_init_multithreaded): Renamed from
36437         glthread_recursive_lock_init. Return error code.
36438         (glthread_recursive_lock_lock_multithreaded): Renamed from
36439         glthread_recursive_lock_lock. Return error code.
36440         (glthread_recursive_lock_unlock_multithreaded): Renamed from
36441         glthread_recursive_lock_unlock. Return error code.
36442         (glthread_recursive_lock_destroy_multithreaded): Renamed from
36443         glthread_recursive_lock_destroy. Return error code.
36444         (glthread_once_call): Make static.
36445         (glthread_once_multithreaded): Renamed from glthread_once.
36446         * lib/tls.h: Include <errno.h>.
36447         (glthread_tls_key_init): New macro/function.
36448         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
36449         (glthread_tls_set): New macro/function.
36450         (gl_tls_set): Define as wrapper around glthread_tls_set.
36451         (glthread_tls_key_destroy): New macro/function.
36452         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
36453         Update function declarations.
36454         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
36455         glthread_tls_get.
36456         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36457
36458 2008-08-04  Eric Blake  <ebb9@byu.net>
36459
36460         gnumakefile: use space, not TAB, outside of targets
36461         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
36462
36463 2008-08-02  Jim Meyering  <meyering@redhat.com>
36464
36465         getdate.y: avoid locale-dependent date parsing failure
36466         In Turkish locales, getdate would fail to recognize keywords
36467         containing a lowercase "i".  The solution is not to rely on
36468         locale-sensitive case-conversion.
36469         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
36470         (lookup_word): Use c_toupper in place of toupper.
36471         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
36472         Reported by Vefa Bicakci <bicave@superonline.com> in
36473         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
36474         * modules/getdate (Depends-on): Add c-ctype.
36475
36476 2008-08-02  Bruno Haible  <bruno@clisp.org>
36477
36478         * gnulib-tool (func_import): When updating or creating a .gitignore
36479         file, prepend each added line with a slash, and ignore leading slashes
36480         from the existing lines.
36481         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36482
36483 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36484
36485         Portability fix for GNU make 3.79.1.
36486         * top/GNUmakefile: Avoid 'else COND', which older GNU make
36487         versions do not understand.
36488
36489 2008-08-01  Bruno Haible  <bruno@clisp.org>
36490
36491         Work around bug of HP-UX 10.20 cc with -0.0 literal.
36492         * tests/test-isnanf.h (zero): New variable.
36493         (main): Avoid literal -0.0f.
36494         * tests/test-isnand.h (zero): New variable.
36495         (main): Avoid literal -0.0.
36496         * tests/test-isnanl.h (zero): New variable.
36497         (main): Avoid literal -0.0L.
36498         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
36499         (test_float, test_double, test_long_double): Avoid literals -0.0f,
36500         -0.0, -0.0L.
36501         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
36502         (test_signbitd): Avoid literal -0.0.
36503         (test_signbitl): Avoid literal -0.0L.
36504         * tests/test-ceilf1.c (zero): New variable.
36505         (main): Avoid literal -0.0f.
36506         * tests/test-ceill.c (zero): New variable.
36507         (main): Avoid literal -0.0L.
36508         * tests/test-floorf1.c (zero): New variable.
36509         (main): Avoid literal -0.0f.
36510         * tests/test-floorl.c (zero): New variable.
36511         (main): Avoid literal -0.0L.
36512         * tests/test-roundf1.c (zero): New variable.
36513         (main): Avoid literal -0.0f.
36514         * tests/test-round1.c (zero): New variable.
36515         (main): Avoid literal -0.0.
36516         * tests/test-roundl.c (zero): New variable.
36517         (main): Avoid literal -0.0L.
36518         * tests/test-truncf1.c (zero): New variable.
36519         (main): Avoid literal -0.0f.
36520         * tests/test-trunc1.c (zero): New variable.
36521         (main): Avoid literal -0.0.
36522         * tests/test-truncl.c (zero): New variable.
36523         (main): Avoid literal -0.0L.
36524         * tests/test-frexp.c (zero): New variable.
36525         (main): Avoid literal -0.0.
36526         * tests/test-frexpl.c (zero): New variable.
36527         (main): Avoid literal -0.0L.
36528         * tests/test-ldexpl.c (zero): New variable.
36529         (main): Avoid literal -0.0L.
36530         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36531         (zerod, zerol): New variables.
36532         (test_function): Avoid literals -0.0, -0.0L.
36533         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36534         (zerod, zerol): New variables.
36535         (test_function): Avoid literals -0.0, -0.0L.
36536         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36537         (zerod, zerol): New variables.
36538         (test_function): Avoid literals -0.0, -0.0L.
36539         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36540         (zerod, zerol): New variables.
36541         (test_function): Avoid literals -0.0, -0.0L.
36542         * tests/test-strtod.c (zero): New variable.
36543         (main): Avoid literal -0.0.
36544         Reported by Jonathan C. Patschke <jp@centtech.com>.
36545
36546 2008-07-31  Jim Meyering  <meyering@redhat.com>
36547
36548         sha256.h: correct definition of SHA224_DIGEST_SIZE
36549         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
36550         Reported by Paulie Pena IV <paulie4@gmail.com>.
36551         Define as 224 / 8, rather than as a literal.
36552         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
36553         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
36554         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
36555
36556 2008-07-31  Bruno Haible  <bruno@clisp.org>
36557
36558         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
36559         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
36560         Reported by Jonathan Patschke <jp@centtech.com>.
36561
36562 2008-07-31  Bruno Haible  <bruno@clisp.org>
36563
36564         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
36565         Reported by Paolo Bonzini <bonzini@gnu.org>.
36566
36567 2008-07-30  Eric Blake  <ebb9@byu.net>
36568
36569         test-strtod: allow compilation without -lm
36570         * tests/test-strtod.c (main): Avoid link dependence on fabs.
36571         Reported by Dennis Clarke <blastwave@gmail.com>.
36572
36573 2008-07-28  Jim Meyering  <meyering@redhat.com>
36574
36575         bootstrap: work also when there are no .po files in po/
36576         * build-aux/bootstrap (update_po_files): Complete the change
36577         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
36578
36579 2008-07-27  Jim Meyering  <meyering@redhat.com>
36580
36581         * users.txt: Add zile.
36582
36583 2008-07-26  Ben Pfaff  <blp@gnu.org>
36584
36585         Add missing dependencies on new m4/exponent[fdl].m4 files.
36586         * modules/isnanf-nolibm: Add m4/exponentf.m4.
36587         * modules/isnand-nolibm: Add m4/exponentd.m4.
36588         * modules/isnanl-nolibm: Add m4/exponentl.m4.
36589         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
36590         m4/isnan[fdl].m4, because the macros actually used moved.
36591         Reported by Jim Meyering.
36592
36593 2008-07-14  Ben Pfaff  <blp@gnu.org>
36594
36595         Add isinf module.
36596         * lib/isinf.c: New file.
36597         * lib/math.in.h: Define isinf macro if we have decided to replace
36598         it.
36599         * m4/isinf.m4: New file.
36600         * m4/math_h.m4: Initialize and substitute variables for isinf
36601         module.
36602         * modules/isinf: New file.
36603         * modules/isinf-tests: New file.
36604         * modules/math: Add substitutions for new module.
36605         * tests/test-isinf.c: New file.
36606         * doc/posix-functions/isinf.texi: Mention new module.
36607         * MODULES.html.sh: Mention new module.
36608
36609 2008-07-14  Ben Pfaff  <blp@gnu.org>
36610
36611         Factor out some macros for use by additional modules.
36612         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
36613         exponentf.m4.
36614         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
36615         exponentd.m4.
36616         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
36617         file exponentl.m4.
36618         * m4/exponentf.m4: New file.
36619         * m4/exponentd.m4: New file.
36620         * m4/exponentl.m4: New file.
36621         * modules/isnanf: Use new file m4/exponentf.m4.
36622         * modules/isnand: Use new file m4/exponentd.m4.
36623         * modules/isnanl: Use new file m4/exponentl.m4.
36624
36625 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
36626
36627         mktime.c: normalize tp->tm_isdst value to -1/0/1.
36628         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
36629         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
36630         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
36631
36632         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
36633         readlink on platforms without PATH_MAX.
36634
36635 2008-07-21  Eric Blake  <ebb9@byu.net>
36636
36637         Warn, not fail, on stale version.
36638         * top/GNUmakefile (_curr-ver): Tone down previous patch.
36639
36640         Don't allow installation with stale devel version number.
36641         * top/GNUmakefile (_is-install-target): New macro.
36642         (_curr-ver): Forbid installation with stale version number.
36643
36644 2008-07-20  Bruno Haible  <bruno@clisp.org>
36645
36646         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
36647         TESTS_ENVIRONMENT.
36648         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
36649
36650 2008-07-20  Bruno Haible  <bruno@clisp.org>
36651
36652         * lib/c-stack.h (c_stack_action): Add documentation.
36653         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
36654
36655 2008-07-20  Bruno Haible  <bruno@clisp.org>
36656
36657         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
36658         * modules/readlink (License): Likewise.
36659
36660 2008-07-17  Eric Blake  <ebb9@byu.net>
36661
36662         * modules/c-stack (Link): Fix typo.
36663
36664         Make c-stack use libsigsegv, when available.
36665         * modules/c-stack (Depends-on): Add libsigsegv.
36666         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
36667         needed.
36668         * lib/c-stack.c (SIGSTKSZ): Define fallback.
36669         (segv_handler, overflow_handler, c_stack_action)
36670         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
36671         implementation when libsigsegv is available, but only when using
36672         the library is necessary.
36673         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
36674         comment, explaining why XSI check fails on Linux.
36675         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
36676         * tests/test-c-stack2.sh: Tweak skip message.
36677         * NEWS: Document new link-time requirements.
36678
36679 2008-07-16  Eric Blake  <ebb9@byu.net>
36680
36681         c-stack: Expose false positives when not using libsigsegv.
36682         * modules/c-stack-tests (Files): Expand test.
36683         * tests/test-c-stack.c (main): Add means to conditionally trigger
36684         non-overflow SIGSEGV.
36685         * tests/test-c-stack2.sh: New file.
36686
36687 2008-07-14  Bruno Haible  <bruno@clisp.org>
36688
36689         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
36690         Reported by Eric Blake.
36691
36692 2008-07-14  Sam Steingold  <sds@gnu.org>
36693             Bruno Haible  <bruno@clisp.org>
36694
36695         New module libsigsegv.
36696         * modules/libsigsegv: New file.
36697         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36698         modifications.
36699         * MODULES.html.sh (Signal handling): New section.
36700
36701 2008-07-14  Bruno Haible  <bruno@clisp.org>
36702
36703         * modules/unictype/ctype-* (Description): Add the word "function".
36704         Improves the resulting doc in MODULES.html.
36705
36706 2008-07-12  Ben Pfaff  <blp@gnu.org>
36707
36708         Add longlong module.
36709         * modules/longlong: New file.
36710
36711 2008-07-12  Bruno Haible  <bruno@clisp.org>
36712
36713         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36714         to empty.
36715
36716 2008-07-10  Ben Pfaff  <blp@gnu.org>
36717
36718         Add isnan module.
36719         * doc/posix-functions/isnan.texi: Mention new module.
36720         * lib/math.in.h: Define isnan macro if we have decided to replace
36721         it.
36722         * m4/isnan.m4: New file.
36723         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36724         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36725         also.
36726         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36727         redundancy.
36728         * m4/math_h.m4: Initialize and substitute variables for isnan
36729         module.
36730         * modules/isnan: New file.
36731         * modules/isnan-tests: New file.
36732         * modules/math: Add substitutions for new module.
36733         * tests/test-isnan.c: New file.
36734         * MODULES.html.sh: Mention new module.
36735
36736 2008-07-10  Ben Pfaff  <blp@gnu.org>
36737
36738         Add isnanf module.
36739         * lib/isnanf.m4: New file.
36740         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36741         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36742         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36743         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36744         * modules/isnanf: New file.
36745         * modules/isnanf-tests: New file.
36746         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36747         files.
36748         * tests/test-isnanf-nolibm.c: factored most of its contents into
36749         new file tests/test-isnanf.h.
36750         * tests/test-isnanf.h: New file.
36751         * tests/test-isnanf.c: New file.
36752         * MODULES.html.sh: Mention new module.
36753         * doc/glibc-functions/isnanf.texi: Mention new module.
36754
36755 2008-07-10  Ben Pfaff  <blp@gnu.org>
36756
36757         Add isnand module.
36758         * lib/isnand.h: New file.
36759         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36760         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36761         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36762         functionality also.
36763         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36764         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36765         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36766         * modules/isnand: New file.
36767         * modules/isnand-tests: New file.
36768         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36769         files.
36770         * tests/test-isnand-nolibm.c: factored most of its contents into
36771         new file tests/test-isnand.h.
36772         * tests/test-isnand.h: New file.
36773         * tests/test-isnand.c: New file.
36774         * MODULES.html.sh: Mention new module.
36775
36776 2008-07-10  Ben Pfaff  <blp@gnu.org>
36777
36778         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36779         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36780         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36781         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36782         * modules/isnanf-nolibm: Update references to renamed files.
36783         * modules/isnand-nolibm: Likewise.
36784         * modules/isnanf-nolibm-tests: Likewise.
36785         * modules/isnand-nolibm-tests: Likewise.
36786         * lib/frexp.c: Likewise.
36787         * lib/isfinite.c: Likewise.
36788         * lib/signbitd.c: Likewise.
36789         * lib/signbitf.c: Likewise.
36790         * lib/vasnprintf.c: Likewise.
36791         * tests/test-ceilf1.c: Likewise.
36792         * tests/test-ceilf2.c: Likewise.
36793         * tests/test-floorf1.c: Likewise.
36794         * tests/test-floorf2.c: Likewise.
36795         * tests/test-frexp.c: Likewise.
36796         * tests/test-round1.c: Likewise.
36797         * tests/test-round2.c: Likewise.
36798         * tests/test-roundf1.c: Likewise.
36799         * tests/test-strtod.c: Likewise.
36800         * tests/test-trunc1.c: Likewise.
36801         * tests/test-trunc2.c: Likewise.
36802         * tests/test-truncf1.c: Likewise.
36803         * tests/test-truncf2.c: Likewise.
36804         * NEWS: Mention the renamed header files.
36805
36806 2008-07-11  Jim Meyering  <meyering@redhat.com>
36807
36808         vc-list-files: make the last-resort awk code more portable
36809         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36810         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36811         does not support it.
36812
36813 2008-07-10  Eric Blake  <ebb9@byu.net>
36814
36815         Work with tar's bootstrap.
36816         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36817         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36818         an m4 comment.
36819
36820 2008-07-09  Jim Meyering  <meyering@redhat.com>
36821
36822         posix-shell.m4: fix typo that made this test malfunction
36823         * m4/posix-shell.m4: Remove capitalization in variable name.
36824
36825 2008-07-08  Bruno Haible  <bruno@clisp.org>
36826
36827         * m4/onceonly.m4: Update comments.
36828         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36829
36830 2008-07-04  Jim Meyering  <meyering@redhat.com>
36831
36832         * users.txt: Add vc-dwim.
36833         (bison, coreutils): Use the gitweb URL.
36834
36835 2008-07-03  Jim Meyering  <meyering@redhat.com>
36836
36837         * users.txt: Add libffcall.  From Sam Steingold.
36838
36839 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
36840
36841         getdate.y: do not ignore TZ with relative day, month or year offset
36842         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36843         relative-date-handling, since otherwise, the latter would clobber the
36844         sole output (an updated Start value) of the tz-handling block.
36845         * tests/test-getdate.c: Tests for the fix
36846
36847 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36848
36849         Recognize 'foo_LIBRARIES += libgnu.a'.
36850         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36851         makefile snippet has already specified an installation location,
36852         also using '+='.
36853
36854 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
36855
36856         getdate.y: factor out common actions
36857         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36858         Use them in place of open-coded actions.
36859
36860 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36861
36862         Add self-test for getdate module.
36863         * modules/getdate-tests: New file.
36864         * tests/test-getdate.c: New file.
36865
36866 2008-06-29  Bruno Haible  <bruno@clisp.org>
36867
36868         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36869         .gitignore.
36870         Reported by Sylvain Beucler <beuc@beuc.net>.
36871
36872 2008-06-29  Bruno Haible  <bruno@clisp.org>
36873
36874         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36875         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36876
36877 2008-06-29  Bruno Haible  <bruno@clisp.org>
36878
36879         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36880         EXTRA_DIST.
36881         Reported by Sylvain Beucler <beuc@beuc.net>.
36882
36883 2008-06-26  Jim Meyering  <meyering@redhat.com>
36884
36885         make several modules depend on the "open" module
36886         This provides slightly increased consistency when opening-for-write
36887         the name of a non-directory spelled with a trailing slash.
36888         * modules/chdir-safer: Likewise.
36889         * modules/chown: Likewise.
36890         * modules/clean-temp: Likewise.
36891         * modules/copy-file: Likewise.
36892         * modules/fchdir: Likewise.
36893         * modules/fcntl-safer: Likewise.
36894         * modules/pipe: Likewise.
36895         * modules/utime: Likewise.
36896         Prompted by Eric Blake and Bruno Haible.
36897
36898 2008-06-24  Andreas Schwab  <schwab@suse.de>
36899
36900         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36901         literals can be used as initializers for global variables.
36902
36903 2008-06-23  Eric Blake  <ebb9@byu.net>
36904
36905         Make gnulib-cache.m4 easier to diff.
36906         * gnulib-tool (func_import): Allow newlines when reading cached
36907         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36908
36909 2008-06-23  Bruno Haible  <bruno@clisp.org>
36910
36911         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36912         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36913         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36914         m4/signalblocking.m4.
36915         (gl_PREREQ_SIGACTION): Don't invoke it.
36916         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36917         gl_PREREQ_SIG_HANDLER_H.
36918         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36919         Don't check for sigaction here.
36920
36921 2008-06-23  Bruno Haible  <bruno@clisp.org>
36922
36923         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36924         (install_handlers): Don't set the SA_RESETHAND flag.
36925
36926 2008-06-23  Bruno Haible  <bruno@clisp.org>
36927
36928         * m4/sigaction.m4: Comment fixes.
36929         * lib/signal.in.h: Likewise.
36930
36931 2008-06-23  Eric Blake  <ebb9@byu.net>
36932
36933         Fix typo.
36934         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
36935
36936         Avoid SA_ namespace.
36937         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
36938         Reported by Ralf Wildenhues.
36939
36940         Avoid test failure due to SA_RESTORER.
36941         * tests/test-sigaction.c (SA_MASK): New macro.
36942         (main): Avoid failing due to extension flags being set.
36943         Reported by Jim Meyering.
36944
36945         Revert use of sig-handler.h in sigprocmask.c.
36946         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
36947         it requires the existence of struct sigaction.
36948         * lib/sigprocmask.c (handler_t): Restore typedef.
36949         (rpl_signal, old_handlers): Use local type.
36950
36951 2008-06-22  Bruno Haible  <bruno@clisp.org>
36952
36953         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
36954         conditionally.
36955         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36956
36957 2008-06-22  Bruno Haible  <bruno@clisp.org>
36958
36959         * doc/posix-functions/siginterrupt.texi: Move note.
36960
36961         * lib/signal.in.h (SA_RESTART): New macro.
36962         * lib/sigaction.c: Update comment.
36963
36964         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
36965
36966         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
36967         (gl_PREREQ_SIGPROCMASK): Invoke it.
36968         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
36969
36970         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
36971
36972         * lib/sigprocmask.c: Update a comment.
36973
36974 2008-06-21  Eric Blake  <ebb9@byu.net>
36975
36976         Use sigaction module rather than signal().
36977         * modules/c-stack (Depends-on): Add sigaction.
36978         * modules/fatal-signal (Depends-on): Likewise.
36979         * modules/nanosleep (Depends-on): Likewise.
36980         * modules/sigprocmask (Files): Add sig-handler.h.
36981         * modules/sigaction (Files): Likewise.
36982         * lib/sig-handler.h (get_handler): New file, suggested by Paul
36983         Eggert.
36984         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
36985         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
36986         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36987         (init_fatal_signals): Likewise.
36988         * lib/nanosleep.c (rpl_nanosleep): Likewise.
36989         (siginterrupt): Delete fallback.
36990         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
36991         instead.
36992         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
36993         siginterrupt.
36994
36995         New module sigaction, for mingw.
36996         * modules/sigaction: New module...
36997         * modules/sigaction-tests: ...and its test.
36998         * m4/sigaction.m4: New file.
36999         * lib/sigaction.c: Likewise.
37000         * tests/test-sigaction.c: Likewise.
37001         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
37002         * modules/signal (Makefile.am): Likewise.
37003         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
37004         needed.
37005         * doc/posix-headers/signal.texi (signal.h): Mention provided
37006         types.
37007         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
37008         that sigaction is preferable.
37009         * doc/posix-functions/sigaction.texi (sigaction): Mention new
37010         module.
37011         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37012         sigaction.
37013
37014         Improve robustness of sigprocmask by overriding signal.
37015         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
37016         is in use.
37017         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
37018         (SIGKILL, SIGSTOP): Provide fallbacks.
37019         (rpl_signal): Implement.
37020         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
37021         signal can be called inside handlers.
37022
37023         Fix nanosleep module on mingw.
37024         * modules/nanosleep (Depends-on): Add sys_select.
37025         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
37026
37027         Fix licensing of sigprocmask.
37028         * modules/raise (License): Relicense as LGPL.
37029
37030 2008-06-21  Bruno Haible  <bruno@clisp.org>
37031
37032         * lib/propername.c (proper_name_utf8): Don't use the transliterated
37033         result if it contains question marks.
37034         Reported by Michael Geng <linux@michaelgeng.de>.
37035
37036 2008-06-19  Bruno Haible  <bruno@clisp.org>
37037
37038         Fix CVS-ism.
37039         * doc/gnulib.texi: Include updated-stamp.texi.
37040         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
37041         (updated-stamp.texi): New rule.
37042         (gnulib.info): Depend on it.
37043         * doc/.gitignore: Add updated-stamp.texi.
37044         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
37045
37046 2008-06-19  Bruno Haible  <bruno@clisp.org>
37047
37048         * doc/Makefile (gnulib.info): Update and simplify dependencies.
37049         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37050
37051 2008-06-19  Eric Blake  <ebb9@byu.net>
37052
37053         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
37054         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
37055         Reported by Stepan Kasal.
37056
37057 2008-06-18  Bruno Haible  <bruno@clisp.org>
37058
37059         * lib/fatal-signal.c (init_fatal_signals): Add comment.
37060         Reported by Eric Blake.
37061
37062 2008-06-18  Eric Blake  <ebb9@byu.net>
37063
37064         Work around cygwin 1.5.25 strsignal bug.
37065         * tests/test-strsignal.c: Allow for const char *.
37066         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
37067
37068 2008-06-18  Simon Josefsson  <simon@josefsson.org>
37069
37070         * users.txt: Update URL to article and add author/date
37071         information.
37072
37073 2008-06-17  Bruno Haible  <bruno@clisp.org>
37074
37075         New macro gl_DISABLE_THREADS.
37076         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
37077         if the user did not pass --enable-threads or --disable-threads option.
37078         (gl_DISABLE_THREADS): New macro.
37079         Reported by Eric Blake <ebb9@byu.net>.
37080
37081 2008-06-17  Bruno Haible  <bruno@clisp.org>
37082
37083         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
37084         when the macro ignores it.
37085         Based on a patch by Eric Blake <ebb9@byu.net>.
37086
37087 2008-06-17  Bruno Haible  <bruno@clisp.org>
37088
37089         * modules/tls (License): Change to LGPLv2+.
37090         Reported by Eric Blake.
37091
37092 2008-06-17  Eric Blake  <ebb9@byu.net>
37093
37094         Simplify c-stack prerequisites.
37095         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
37096         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
37097         no longer requires <ucontext.h> to exist.  Optimize setrlimit
37098         check.
37099         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
37100         <sys/resource.h>.
37101
37102         Move c-stack test into testsuite.
37103         * modules/c-stack-tests: New file.
37104         * lib/c-stack.c [DEBUG]: Move test program...
37105         * tests/test-c-stack.c: ...into this new file.  Skip rather than
37106         fail test if sigaltstack is lacking.
37107         * tests/test-c-stack.sh: New driver file.
37108
37109 2008-06-16  Eric Blake  <ebb9@byu.net>
37110
37111         Use raise module consistently.
37112         * modules/fatal-signal (Depends-on): Add raise.
37113         * modules/sigprocmask (Depends-on): Likewise.
37114         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
37115         * lib/sigprocmask.c (sigprocmask): Likewise.
37116         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37117         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
37118
37119         Fix compliance bug in sigpending.
37120         * lib/sigprocmask.c (sigpending): Return pending array via
37121         parameter, not return value.
37122
37123 2008-06-14  Eric Blake  <ebb9@byu.net>
37124
37125         Improve obstack-printf test code.
37126         * tests/test-obstack-printf.c (test_function): Fix comment, and
37127         simplify usage of obstack_* in macros.  Add a test for coverage.
37128         Reported by Bruno Haible.
37129
37130 2008-06-14  Bruno Haible  <bruno@clisp.org>
37131
37132         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
37133         array size as a constant, not as a const variable.
37134         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
37135         AC_USE_SYSTEM_EXTENSIONS.
37136         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37137         Test whether the obstack_printf function actually exists.
37138         * modules/obstack-printf (Depends-on): Add extensions.
37139         (Include): Remove obstack.h.
37140         * modules/obstack-printf-posix (Depends-on): Add extensions.
37141         (Include): Remove obstack.h.
37142
37143 2008-06-13  Eric Blake  <ebb9@byu.net>
37144
37145         Add obstack-printf and obstack-printf-posix modules.
37146         * modules/obstack-printf: New file.
37147         * modules/obstack-printf-posix: Likewise.
37148         * MODULES.html.sh (Misc): Mention them.
37149         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37150         Likewise.
37151         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37152         Likewise.
37153         * modules/stdio (Makefile.am): Accomodate new modules.
37154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37155         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
37156         Declare.
37157         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
37158         functions.
37159         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
37160         (gl_REPLACE_OBSTACK_PRINTF): New macros
37161         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
37162         * tests/test-obstack-printf.c: New file.
37163         * modules/obstack-printf-tests: Likewise.
37164         * modules/obstack-printf-posix-tests: Likewise.
37165
37166 2008-06-11  Bruno Haible  <bruno@clisp.org>
37167
37168         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
37169         * lib/open.c: Include errno.h.
37170         (open): Fail when attempting to write to a file that has a trailing
37171         slash.
37172         * tests/test-open.c (main): Test against trailing slash bug.
37173         * doc/posix-functions/open.texi: Mention the trailing slash bug.
37174
37175 2008-06-10  Bruno Haible  <bruno@clisp.org>
37176
37177         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
37178         for $? to work inside the trap command, with various /bin/sh-s.
37179         * tests/test-vc-list-files-cvs.sh: Likewise.
37180
37181 2008-06-10  Bruno Haible  <bruno@clisp.org>
37182
37183         * lib/acl-internal.h: Don't include gettext.h here.
37184         * lib/set-mode-acl.c: Include gettext.h here.
37185         * lib/copy-acl.c: Likewise.
37186
37187 2008-06-10  Bruno Haible  <bruno@clisp.org>
37188
37189         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
37190         * lib/wait-process.c (wait_subprocess): Likewise.
37191         * lib/execute.h (execute): Add termsigp argument.
37192         * lib/execute.c (execute): Likewise.
37193         * lib/csharpcomp.c (compile_csharp_using_pnet,
37194         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
37195         * lib/csharpexec.c (execute_csharp_using_pnet,
37196         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
37197         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
37198         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
37199         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
37200         is_jikes_present): Update.
37201         * lib/javaexec.c (execute_java_class): Update.
37202         * lib/javaversion.c (execute_and_read_line): Update.
37203         * NEWS: Document the changes.
37204         Reported by Eric Blake.
37205
37206 2008-06-10  Eric Blake  <ebb9@byu.net>
37207
37208         Add missing include.
37209         * tests/test-strstr.c (includes): Add <signal.h>.
37210         * tests/test-strcasestr.c (includes): Likewise.
37211         * tests/test-memmem.c (includes): Likewise.
37212
37213 2008-06-10  Bruno Haible  <bruno@clisp.org>
37214
37215         * lib/wait-process.c (wait_subprocess): Add an assertion.
37216
37217 2008-06-10  Bruno Haible  <bruno@clisp.org>
37218
37219         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
37220
37221 2008-06-10  Bruno Haible  <bruno@clisp.org>
37222
37223         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
37224         using alarm().
37225         * tests/test-strcasestr.c (main): Likewise.
37226         * tests/test-strstr.c (main): Likewise.
37227
37228 2008-06-09  Bruno Haible  <bruno@clisp.org>
37229
37230         Work around the Solaris 10 ACE ACLs ABI change.
37231         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
37232         declare if ACL_NO_TRIVIAL is present.
37233         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
37234         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
37235         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
37236         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
37237         define if ACL_NO_TRIVIAL is present.
37238         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
37239         and use the current ABI.
37240         (file_has_acl): Use same #if condition as elsewhere.
37241         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
37242         in use, and use the current ABI.
37243         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
37244         Reported by Jim Meyering.
37245
37246 2008-06-09  Eric Blake  <ebb9@byu.net>
37247
37248         Work around environments that (stupidly) ignore SIGALRM.
37249         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
37250         before using alarm().
37251         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37252         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37253         Reported by Ian Beckwith <ianb@erislabs.net>.
37254
37255         Produce autobuild blurb earlier in log.
37256         * modules/autobuild (configure.ac-early): Move AB_INIT here.
37257
37258 2008-06-09  Jim Meyering  <meyering@redhat.com>
37259         and OndÅ™ej Vašík  <ovasik@redhat.com>
37260
37261         utimens.c: correct kernel bug work-around
37262         OndÅ™ej Vašík found that the invalid return value of 280 indicates
37263         failure, not success, and the kernel bug we're trying to work
37264         around affects not just the utimensat call, but also the fallback
37265         futimens call.
37266         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
37267         not success.
37268         [HAVE_FUTIMENS]: Use the same work-around, here.
37269
37270 2008-06-09  Jim Meyering  <meyering@redhat.com>
37271
37272         add more guards around definition of ACE_-related code
37273         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
37274         ALLOW and ACE_OWNER are also defined.
37275
37276 2008-06-08  Bruno Haible  <bruno@clisp.org>
37277
37278         * lib/acl-internal.h: Add me as co-author.
37279         * lib/file-has-acl.c: Likewise.
37280         * lib/set-mode-acl.c: Likewise.
37281         * lib/copy-acl.c: Likewise.
37282
37283 2008-06-08  Bruno Haible  <bruno@clisp.org>
37284
37285         Add support for AIX ACLs.
37286         * lib/acl-internal.h (acl_nontrivial): New declaration.
37287         * lib/file-has-acl.c (acl_nontrivial): New function.
37288         (file_has_acl): Add implementation using AIX 4 ACL API.
37289         * lib/set-mode-acl.c (qset_acl): Likewise.
37290         * lib/copy-acl.c (qcopy_acl): Likewise.
37291
37292 2008-06-08  Bruno Haible  <bruno@clisp.org>
37293
37294         Add support for HP-UX ACLs.
37295         * lib/acl-internal.h (acl_nontrivial): New declaration.
37296         * lib/file-has-acl.c (acl_nontrivial): New function.
37297         (file_has_acl): Add implementation using HP-UX 11 ACL API.
37298         * lib/set-mode-acl.c (qset_acl): Likewise.
37299         * lib/copy-acl.c (qcopy_acl): Likewise.
37300
37301 2008-06-08  Bruno Haible  <bruno@clisp.org>
37302
37303         Add support for Cygwin ACLs.
37304         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
37305         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
37306         the chmod_or_fchmod call.
37307         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
37308
37309 2008-06-08  Bruno Haible  <bruno@clisp.org>
37310
37311         Fix bug with setuid modes in Solaris 10+ code.
37312         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
37313         succeeded, when the mode contains some special bits.
37314
37315 2008-06-08  Bruno Haible  <bruno@clisp.org>
37316
37317         Add support for Solaris 7..10 ACLs.
37318         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
37319         declarations.
37320         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
37321         functions.
37322         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
37323         * lib/set-mode-acl.c (qset_acl): Likewise.
37324         * lib/copy-acl.c (qcopy_acl): Likewise.
37325
37326 2008-06-08  Bruno Haible  <bruno@clisp.org>
37327
37328         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
37329         declaration.
37330         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
37331         (acl_access_nontrivial): Remove MacOS X case.
37332         (file_has_acl): Use acl_extended_nontrivial.
37333         * lib/copy-acl.c (qcopy_acl): Likewise.
37334
37335 2008-06-08  Bruno Haible  <bruno@clisp.org>
37336
37337         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
37338
37339 2008-06-08  Jim Meyering  <meyering@redhat.com>
37340
37341         * modules/acl (Maintainer): Add Bruno Haible.
37342
37343 2008-06-07  Bruno Haible  <bruno@clisp.org>
37344
37345         Improve support for Tru64 ACLs.
37346         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
37347         ACL on OSF/1.
37348
37349 2008-06-07  Bruno Haible  <bruno@clisp.org>
37350
37351         Add support for MacOS X ACLs.
37352         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
37353         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
37354         * lib/set-mode-acl.c (qset_acl): Likewise.
37355         * lib/copy-acl.c (qcopy_acl): Likewise.
37356
37357 2008-06-07  Bruno Haible  <bruno@clisp.org>
37358
37359         Fix memory leak introduced on 2008-05-22.
37360         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
37361         use.
37362
37363 2008-06-07  Bruno Haible  <bruno@clisp.org>
37364
37365         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
37366         to construct an empty ACL.
37367
37368 2008-06-07  Bruno Haible  <bruno@clisp.org>
37369
37370         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
37371         precisely.
37372         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
37373
37374 2008-06-07  Bruno Haible  <bruno@clisp.org>
37375
37376         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
37377         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
37378
37379 2008-06-07  Bruno Haible  <bruno@clisp.org>
37380
37381         * doc/posix-functions/_setjmp.texi: Explain the use of this function
37382         regardless of POSIX.
37383         * doc/posix-functions/_longjmp.texi: Likewise.
37384         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
37385         SystemV platform in this case.
37386
37387 2008-06-06  Eric Blake  <ebb9@byu.net>
37388
37389         Document abort() bugs.
37390         * doc/posix-functions/abort.texi (abort): Mention anomalies.
37391
37392         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
37393         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
37394         sigsetjmp.
37395         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
37396         siglongjmp, but only as a macro.
37397         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
37398         is obsolete.
37399         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
37400
37401         Tweak documentation to cover cygwin argz bugs.
37402         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
37403         argz bug fix; no code change needed since no cygwin releases
37404         occurred between the last fix and the bug being tested.
37405         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
37406         module and recently fixed cygwin bugs.
37407         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
37408         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
37409         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
37410         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
37411         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
37412         Likewise.
37413         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
37414         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
37415         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
37416         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
37417         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
37418         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
37419         Likewise.
37420
37421         Avoid gcc warning on cygwin.
37422         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
37423         !ACL_NO_TRIVIAL]: Avoid unused variable.
37424
37425 2008-06-05  Eric Blake  <ebb9@byu.net>
37426
37427         Be tolerant of UNKNOWN version in gnulib-tool test dir.
37428         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
37429         git-version-gen fails to come up with a version.
37430         Reported by Simon Josefsson.
37431
37432 2008-06-05  Jim Meyering  <meyering@redhat.com>
37433             Paul Eggert  <eggert@cs.ucla.edu>
37434
37435         utimens.c: work around a probable Linux kernel bug
37436         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
37437         appears to be a kernel bug that causes utimensat to return 280
37438         instead of 0, indicating success.
37439
37440 2008-06-04  Bruno Haible  <bruno@clisp.org>
37441
37442         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
37443         2008-06-01 commit.
37444
37445 2008-06-04  Bruno Haible  <bruno@clisp.org>
37446
37447         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
37448         * lib/file-has-acl.c (acl_access_nontrivial): New function.
37449         (file_has_acl): Use it. Save errno afterwards.
37450         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
37451
37452 2008-06-03  Bruno Haible  <bruno@clisp.org>
37453
37454         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
37455         draft code. Simplify #ifs.
37456         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
37457         Put Solaris code after POSIX-draft code. Fix comments regarding
37458         Solaris 10, HP-UX. Mention Cygwin.
37459         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
37460
37461 2008-06-03  Eric Blake  <ebb9@byu.net>
37462
37463         Provide fallback for older kernels.
37464         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
37465         Provide runtime fallback if kernel lacks support.
37466         Reported by Mike Frysinger.
37467
37468 2008-06-02  Bruno Haible  <bruno@clisp.org>
37469
37470         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
37471         it exists.
37472
37473 2008-06-02  Bruno Haible  <bruno@clisp.org>
37474
37475         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
37476         * lib/copy-acl.c (qcopy_acl): Update comment.
37477
37478 2008-06-02  Bruno Haible  <bruno@clisp.org>
37479
37480         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
37481         like ACL APIs.
37482
37483 2008-06-02  Bruno Haible  <bruno@clisp.org>
37484
37485         * tests/test-file-has-acl.sh: Use different code for Cygwin.
37486         * tests/test-set-mode-acl.sh: Likewise.
37487         * tests/test-copy-acl.sh: Likewise.
37488         * tests/test-copy-file.sh: Likewise.
37489
37490 2008-06-02  Bruno Haible  <bruno@clisp.org>
37491
37492         * tests/test-file-has-acl.sh: Remove unused code.
37493
37494 2008-06-01  Bruno Haible  <bruno@clisp.org>
37495
37496         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
37497         (copy_acl): Just a wrapper around qcopy_acl that emits the error
37498         messages.
37499         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
37500
37501 2008-06-01  Bruno Haible  <bruno@clisp.org>
37502
37503         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
37504         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
37505         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
37506         APIs.
37507         * modules/acl-tests (configure.ac): Remove tests now contained in
37508         m4/acl.m4.
37509
37510 2008-06-02  Jim Meyering  <meyering@redhat.com>
37511
37512         announce-gen: use a better key-server host name
37513         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
37514         it may be more consistently reliable.  Suggested by Werner Koch
37515         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
37516
37517 2008-06-01  Bruno Haible  <bruno@clisp.org>
37518
37519         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
37520         Reported by Voroskoi Andras <voroskoi@gmail.com>.
37521
37522 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
37523
37524         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
37525
37526 2008-06-01  Bruno Haible  <bruno@clisp.org>
37527
37528         New ACL tests.
37529         * tests/test-file-has-acl.sh: New file.
37530         * tests/test-file-has-acl.c: New file.
37531         * tests/test-set-mode-acl.sh: New file.
37532         * tests/test-set-mode-acl.c: New file.
37533         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
37534         * tests/test-copy-acl.c: New file.
37535         * modules/acl-tests: New file, based on modules/copy-file-tests.
37536         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
37537         (Depends-on): Add acl-tests.
37538         (configure.ac): Remove checks.
37539         (Makefile.am): Don't create test-sameacls program here any more.
37540
37541 2008-06-01  Bruno Haible  <bruno@clisp.org>
37542
37543         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
37544         * tests/test-sameacls.c: Include progname.h.
37545         (main): Invoke set_program_name. Portability fixes for MacOS X,
37546         Solaris, HP-UX.
37547
37548 2008-06-01  Bruno Haible  <bruno@clisp.org>
37549
37550         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
37551         function.
37552         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
37553
37554 2008-06-01  Bruno Haible  <bruno@clisp.org>
37555
37556         * modules/rpmatch (Depends-on): Add strdup.
37557
37558 2008-06-01  Bruno Haible  <bruno@clisp.org>
37559
37560         * lib/pipe.c: Include unistd-safer.h.
37561         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
37562         * modules/pipe (Depends-on): Add unistd-safer.
37563
37564 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37565
37566         * modules/autobuild (configure.ac): Call AB_INIT.
37567
37568 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37569
37570         * tests/test-getaddrinfo.c: Don't print debug messages by default.
37571         Suggested by Bruno Haible <bruno@clisp.org>.
37572
37573 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37574
37575         * tests/test-base64.c: Cast size_t to unsigned long when invoking
37576         printf.  Use %lu instead of %d.  Reported by Bruno Haible
37577         <bruno@clisp.org>.
37578
37579 2008-05-29  Eric Blake  <ebb9@byu.net>
37580
37581         Prefer new POSIX 200x interfaces over futimesat.
37582         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
37583         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
37584         when available.
37585         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
37586
37587 2008-05-28  Bruno Haible  <bruno@clisp.org>
37588
37589         * modules/stpcpy (License): Change to LGPLv2+.
37590         Requested by David Lutterkort <dlutter@redhat.com>.
37591
37592 2008-05-27  Bruno Haible  <bruno@clisp.org>
37593
37594         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
37595         current mingw.
37596         Reported by Jose E. Marchesi <jemarch@gnu.org>.
37597
37598 2008-05-27  Bruno Haible  <bruno@clisp.org>
37599
37600         * modules/iconv_open (Link): New section, from module 'iconv'.
37601         * modules/striconv (Link): Likewise.
37602         * modules/striconveh (Link): Likewise.
37603         * modules/xstriconv (Link): Likewise.
37604         * modules/unicodeio (Link): Likewise.
37605         * modules/propername (Link): Likewise.
37606         Reported by Jim Meyering.
37607
37608 2008-05-26  Jim Meyering  <meyering@redhat.com>
37609
37610         sha256: do not artificially restrict buffer length to be < 2^32
37611         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
37612         uint32_t to size_t.
37613         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
37614         to match.
37615
37616         avoid unaligned access errors, e.g., on sparc
37617         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
37618         direct access through a possibly-unaligned uint64* pointer.
37619         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
37620         direct access through a possibly-unaligned uint32* pointer.
37621         Prompted by this patch from Tom "spot" Callaway:
37622         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
37623
37624         sha512.c: fix typo in comment
37625         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
37626
37627 2008-05-25  Bruno Haible  <bruno@clisp.org>
37628
37629         * lib/set-mode-acl.c: Renamed from lib/acl.c.
37630         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
37631         (Makefile.am): Update lib_SOURCES.
37632
37633 2008-05-25  Bruno Haible  <bruno@clisp.org>
37634
37635         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
37636
37637 2008-05-25  Jim Meyering  <meyering@redhat.com>
37638
37639         useless-if-before-free: freed expr may have white-space differences
37640         * build-aux/useless-if-before-free: Recognize cases in which the
37641         freed expression differs from the tested one in embedded white
37642         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
37643         $1 was used, so we can't make any regexp shy.  Improved tests now
37644         detect this.
37645
37646         useless-if-before-free: accept white space in the expression.
37647         * build-aux/useless-if-before-free: For now, any white space
37648         in the expression must be identical in the free argument.
37649
37650         useless-if-before-free: efficiency tweak
37651         * build-aux/useless-if-before-free: Make the expression-matching
37652         regexp "shy".
37653         Make the *outer* regexp shy, not the expr-matching one.
37654
37655         update code-in-comment to accept cast of free arg
37656         * build-aux/useless-if-before-free: Update regexp.
37657
37658 2008-05-25  Bruno Haible  <bruno@clisp.org>
37659
37660         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
37661         * modules/copy-file-tests (Files, Makefile.am): Update.
37662         * tests/test-copy-file.c (func_test_copy): Update.
37663
37664 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
37665
37666         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
37667
37668 2008-05-23  Bruno Haible  <bruno@clisp.org>
37669
37670         Improve support for ACLs on OSF/1.
37671         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
37672         Remove fallback for unknown flavors of ACLs.
37673
37674 2008-05-22  Bruno Haible  <bruno@clisp.org>
37675
37676         Add support for ACLs on OSF/1.
37677         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
37678         replacements.
37679         (acl_free_text): New macro fallback.
37680         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
37681         acl_free.
37682         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
37683         acl_free_text function. Require AC_C_INLINE.
37684
37685 2008-05-22  Bruno Haible  <bruno@clisp.org>
37686
37687         Make copy_acl work on MacOS X 10.5.
37688         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
37689         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
37690         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37691         If MODE_INSIDE_ACL, don't assume that every system has the same text
37692         representation for ACLs as FreeBSD.
37693         * lib/copy-acl.c (copy_acl): Add support for platforms with
37694         !MODE_INSIDE_ACL.
37695         * lib/file-has-acl.c (file_has_acl): Likewise.
37696         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37697         FreeBSD, MacOS X, or IRIX, respectively.
37698
37699 2008-05-22  Bruno Haible  <bruno@clisp.org>
37700
37701         * lib/acl.h: Don't include <sys/acl.h>.
37702         (GETACLCNT): Move fallback to lib/acl-internal.h.
37703         * lib/acl-internal.h: Include <sys/acl.h> here.
37704         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37705
37706 2008-05-22  Bruno Haible  <bruno@clisp.org>
37707
37708         Split off copy_acl function to separate file.
37709         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37710         * lib/acl.c (copy_acl): Moved function to separate file.
37711         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37712         * modules/acl (Files): Add lib/copy-acl.c.
37713         (Makefiles.am): Augment lib_SOURCES.
37714
37715 2008-05-22  Bruno Haible  <bruno@clisp.org>
37716
37717         * modules/copy-file-tests: New file.
37718         * tests/test-copy-file.sh: New file.
37719         * tests/test-copy-file.c: New file.
37720         * tests/test-copy-file-sameacls.c: New file.
37721
37722 2008-05-22  Eric Blake  <ebb9@byu.net>
37723
37724         Avoid gcc warning.
37725         * tests/test-memcmp.c (main): Pass NULL indirectly.
37726
37727 2008-05-21  Bruno Haible  <bruno@clisp.org>
37728
37729         Add reference doc about ACLs.
37730         * doc/acl-resources.txt: New file.
37731         * doc/acl-cygwin.txt: New file.
37732
37733 2008-05-21  Bruno Haible  <bruno@clisp.org>
37734
37735         Avoid one more warning from gcc.
37736         * lib/vasnprintf.c (IF_LINT): Update comments.
37737         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37738
37739 2008-05-21  Jim Meyering  <meyering@redhat.com>
37740
37741         avoid a warning from gcc
37742         * lib/vasnprintf.c (IF_LINT): Define.
37743         (scale10_round_decimal_long_double):
37744         Use it to avoid a "may be used uninitialized" warning.
37745         (scale10_round_decimal_double): Likewise.
37746
37747 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37748
37749         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37750         declared.
37751
37752 2008-05-20  Bruno Haible  <bruno@clisp.org>
37753
37754         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37755         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37756
37757 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37758
37759         * modules/memcmp-tests: New file.
37760         * tests/test-memcmp.c: New file.
37761
37762 2008-05-19  Bruno Haible  <bruno@clisp.org>
37763
37764         * modules/propername (Notice, configure.ac): Put quoted "..." into
37765         --keyword option.
37766         * lib/propername.h: Update comments accordingly.
37767         Reported by Eric Blake.
37768
37769 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37770
37771         * modules/getpass-gnu (Depends-on): Add fseeko.
37772
37773 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37774
37775         * modules/base64-tests: New file.
37776
37777 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37778
37779         * lib/base64.c (base64_decode_ctx): If a decode context structure
37780         was passed in use it to ignore newlines.  If a context structure
37781         was _not_ passed in, continue to treat newlines as garbage (this
37782         is the historical behavior).  Formerly base64_decode.
37783         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37784         takes a decode context structure.
37785         * lib/base64.h (base64_decode): Macro for four-argument calls.
37786         (base64_decode_alloc): Likewise.
37787         * lib/base64.c (base64_decode_ctx): If a decode context structure
37788         was passed in use it to ignore newlines.  If a context structure
37789         was _not_ passed in, continue to treat newlines as garbage (this
37790         is the historical behavior).  Formerly base64_decode.
37791         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37792         takes a decode context structure.
37793         * lib/base64.h (base64_decode): Macro for four-argument calls.
37794         (base64_decode_alloc): Likewise.
37795
37796 2008-05-19  Jim Meyering  <meyering@redhat.com>
37797
37798         avoid a warning from gcc
37799         * lib/trim.c (IF_LINT): Define.
37800         (trim2): Use it to avoid a "may be used uninitialized" warning.
37801
37802         Fix doc typo.
37803         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37804
37805 2008-05-19  Bruno Haible  <bruno@clisp.org>
37806
37807         * doc/glibc-functions/getpass.texi: Document limits of other
37808         implementations.
37809
37810 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37811             Bruno Haible <bruno@clisp.org>
37812
37813         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37814
37815 2008-05-18  Bruno Haible  <bruno@clisp.org>
37816
37817         * modules/propername: New file, from GNU gettext.
37818         * lib/propername.h: New file, from GNU gettext.
37819         * lib/propername.c: New file, from GNU gettext.
37820         * MODULES.html.sh (Internationalization functions): Add propername.
37821
37822 2008-05-16  Jim Meyering  <meyering@redhat.com>
37823             Bruno Haible  <bruno@clisp.org>
37824
37825         Avoid some warnings from "gcc -Wshadow".
37826         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37827
37828 2008-05-15  Eric Blake  <ebb9@byu.net>
37829
37830         Extend previous patch to cygwin 1.7.0.
37831         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37832         fast implementation in cygwin >= 1.7.0.
37833         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37834         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37835
37836 2008-05-15  Bruno Haible  <bruno@clisp.org>
37837
37838         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37839         implementation in glibc >= 2.9.
37840         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37841         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37842
37843 2008-05-15  Bruno Haible  <bruno@clisp.org>
37844
37845         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37846         (Unicode string functions): Add unilbrk/*.
37847         Reported by Karl Berry.
37848
37849 2008-05-15  Eric Blake  <ebb9@byu.net>
37850
37851         Fix violation of <stdbool.h> replacement in regex.
37852         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37853         * lib/regexec.c (re_search_internal): Likewise.
37854         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37855
37856 2008-05-15  Jim Meyering  <meyering@redhat.com>
37857
37858         avoid distracting test output when git or cvs is not found
37859         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37860         * tests/test-vc-list-files-git.sh: Likewise.
37861
37862 2008-05-15  Eric Blake  <ebb9@byu.net>
37863
37864         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37865         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37866         glibc version.
37867         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37868         * doc/posix-functions/strstr.texi (strstr): Likewise.
37869         * lib/str-two-way.h (MAX): Sychronize with glibc.
37870
37871 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37872
37873         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37874         opr.ctx_type.
37875         (calc_first): Initialize constraint field.
37876         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37877         Fix grammar.
37878         (duplicate_node): Merge constraint field for all node types.
37879         (calc_eclosure_iter): Look at constraint field for all node types.
37880         * lib/regex_internal.c (create_cd_newstate): Don't look at
37881         opr.ctx_type.
37882
37883 2008-05-14  Bruno Haible  <bruno@clisp.org>
37884
37885         Help GCC to do better code generation.
37886         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37887         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37888         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37889         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37890         Declare with attribute 'malloc' if supported.
37891
37892 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37893
37894         use "echo STR|wc -c" rather than unportable "expr length STR"
37895         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37896         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37897
37898 2008-05-14  Jim Meyering  <meyering@redhat.com>
37899
37900         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37901         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37902         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37903         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37904         via Collin Lasse.
37905
37906 2008-05-14  Eric Blake  <ebb9@byu.net>
37907
37908         Avoid quadratic growth in gl_LIBSOURCES.
37909         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37910         Suggested by Bruno Haible.
37911
37912         Test xmemdup0.
37913         * modules/xmemdup0-tests: New file.
37914         * tests/test-xmemdup0.c: Likewise.
37915
37916 2008-05-13  Eric Blake  <ebb9@byu.net>
37917
37918         Split xmemdup0 into its own module.
37919         * modules/xmemdup0: New file.
37920         * lib/xmemdup0.h: Likewise.
37921         * lib/xmemdup0.c: Likewise.
37922         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37923         * lib/xalloc.h (xmemdup0): Remove.
37924         * lib/xmalloc.c (xmemdup0): Likewise.
37925
37926 2008-05-13  Eric Blake  <ebb9@byu.net>
37927             Bruno Haible  <bruno@clisp.org>
37928
37929         Reduce number of forks required during autoconf.
37930         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
37931         and gl_LIBSOURCES_DIR.
37932         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
37933         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
37934         m4_syscmd per file.
37935         <m4_foreach_w>: Move...
37936         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
37937
37938 2008-05-13  Eric Blake  <ebb9@byu.net>
37939
37940         * gnulib-tool: Fix various comment typos.
37941
37942 2008-05-12  Bruno Haible  <bruno@clisp.org>
37943
37944         Tailor the linebreaking algorithm.
37945         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
37946
37947 2008-05-12  Bruno Haible  <bruno@clisp.org>
37948
37949         Update to Unicode 5.0.0.
37950         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37951         LBP_JV, LBP_JT. Redistribute values.
37952         (unilbrk_table): Change size.
37953         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
37954         Unicode TR#14 rev. 22.
37955         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37956         LBP_JV, LBP_JT. Redistribute values.
37957         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
37958         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
37959         Update.
37960         * lib/unilbrk/lbrkprop1.h: Regenerated.
37961         * lib/unilbrk/lbrkprop2.h: Regenerated.
37962         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
37963         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
37964         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
37965         Likewise.
37966         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
37967         Likewise.
37968         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
37969         result.
37970         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
37971         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
37972         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
37973         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
37974         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
37975         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
37976
37977 2008-05-11  Bruno Haible  <bruno@clisp.org>
37978
37979         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
37980
37981 2008-05-11  Bruno Haible  <bruno@clisp.org>
37982
37983         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
37984         * modules/unilbrk/gen-lbrk: New file.
37985
37986 2008-05-11  Bruno Haible  <bruno@clisp.org>
37987
37988         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
37989         * m4/sha512.m4 (gl_SHA512): Likewise.
37990
37991 2008-05-11  Jim Meyering  <meyering@redhat.com>
37992
37993         New modules: crypto/sha256, crypto/sha512 (from coreutils)
37994         * modules/crypto/sha256: New file.
37995         * modules/crypto/sha512: Likewise.
37996         * lib/sha256.c: Likewise.
37997         * lib/sha256.h: Likewise.
37998         * lib/sha512.c: Likewise.
37999         * lib/sha512.h: Likewise.
38000         * lib/u64.h: Likewise.
38001         * m4/sha256.m4: Likewise.
38002         * m4/sha512.m4: Likewise.
38003         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
38004
38005 2008-05-10  Bruno Haible  <bruno@clisp.org>
38006
38007         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
38008         (Input/Output <stdio.h>): Add xprintf.
38009         (Signal handling <signal.h>): Add strsignal.
38010         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
38011         (Core language properties): Add func.
38012         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
38013         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
38014         strings.
38015         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
38016         (Input/output): New section.
38017         (File system functions): Add openat-die, stat-macros.
38018         (Networking functions): Add sockets.
38019         (Unicode string functions): Add unictype/*.
38020         (Support for building libraries and executables): Add gperf.
38021         (Support for building documentation): Add agpl-3.0.
38022         (Misc): Add nocrash.
38023
38024 2008-05-10  Bruno Haible  <bruno@clisp.org>
38025
38026         * modules/unictype/gen-ctype: New file.
38027
38028 2008-05-10  Jim Meyering  <meyering@redhat.com>
38029
38030         Make chdir-safer.c more efficient on a system with no symlinks.
38031         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
38032         also if ELOOP is zero.  Suggested by Bruno Haible.
38033
38034         Make chdir-safer.c slightly safer.
38035         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
38036         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
38037
38038         Avoid compile failure on systems without ELOOP (like mingw).
38039         * lib/chdir-safer.c (ELOOP): Define if not already defined.
38040         Reported by Bruno Haible.
38041
38042 2008-05-10  Bruno Haible  <bruno@clisp.org>
38043
38044         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
38045         (is_utf8_encoding): Use a case-insensitive comparison.
38046         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
38047         streq.
38048
38049 2008-05-10  Bruno Haible  <bruno@clisp.org>
38050
38051         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
38052         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
38053         * lib/unilbrk/ulc-common.h (iconv_string_length,
38054         iconv_string_keeping_offsets): Remove declarations.
38055         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
38056         Don't include <iconv.h>, streq.h, xsize.h.
38057         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
38058         conversion.
38059         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
38060         <iconv.h>, streq.h, xsize.h.
38061         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
38062         conversion.
38063         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
38064         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
38065         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
38066         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
38067
38068 2008-05-10  Bruno Haible  <bruno@clisp.org>
38069
38070         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
38071         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
38072
38073         * modules/unilbrk/u32-width-linebreaks-tests: New file.
38074         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
38075
38076         * modules/unilbrk/u16-width-linebreaks-tests: New file.
38077         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
38078
38079         * modules/unilbrk/u8-width-linebreaks-tests: New file.
38080         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
38081
38082         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
38083         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
38084
38085         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
38086         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
38087
38088         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
38089         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
38090
38091         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
38092         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
38093
38094 2008-05-10  Bruno Haible  <bruno@clisp.org>
38095
38096         Split up 'linebreak' module.
38097         * lib/unilbrk.h: New file, based on lib/linebreak.h.
38098         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
38099         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
38100         modifications.
38101         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
38102         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
38103         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
38104         lib/linebreak.c.
38105         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
38106         lib/linebreak.c.
38107         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
38108         lib/linebreak.c.
38109         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
38110         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
38111         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
38112         lib/linebreak.c.
38113         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
38114         lib/linebreak.c.
38115         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
38116         lib/linebreak.c.
38117         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
38118         lib/linebreak.c.
38119         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
38120         lib/linebreak.c.
38121         * modules/unilbrk/base: New file.
38122         * modules/unilbrk/tables: New file.
38123         * modules/unilbrk/u8-possible-linebreaks: New file.
38124         * modules/unilbrk/u16-possible-linebreaks: New file.
38125         * modules/unilbrk/u32-possible-linebreaks: New file.
38126         * modules/unilbrk/ulc-common: New file.
38127         * modules/unilbrk/ulc-possible-linebreaks: New file.
38128         * modules/unilbrk/u8-width-linebreaks: New file.
38129         * modules/unilbrk/u16-width-linebreaks: New file.
38130         * modules/unilbrk/u32-width-linebreaks: New file.
38131         * modules/unilbrk/ulc-width-linebreaks: New file.
38132         * lib/linebreak.h: Remove file.
38133         * lib/linebreak.c: Remove file.
38134         * m4/linebreak.m4: Remove file.
38135         * modules/linebreak: Remove file.
38136         * NEWS: Mention the changes.
38137
38138 2008-05-09  Eric Blake  <ebb9@byu.net>
38139
38140         Add xmemdup0.
38141         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
38142         implementation.
38143         * lib/xmalloc.c (xmemdup0): New C implementation.
38144
38145 2008-05-08  Bruno Haible  <bruno@clisp.org>
38146
38147         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
38148
38149 2008-05-07  Eric Blake  <ebb9@byu.net>
38150
38151         Support cross-compilation of <wctype.h>.
38152         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
38153         AC_CACHE_CHECK.
38154
38155 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
38156
38157         * build-aux/vc-list-files: Add support for bzr.
38158
38159 2008-05-03  Jim Meyering  <meyering@redhat.com>
38160
38161         avoid failed assertion with tight malloc
38162         * tests/test-getndelim2.c: Correct an off-by-one assertion.
38163
38164 2008-05-03  Simon Josefsson  <simon@josefsson.org>
38165
38166         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
38167         are needed from arpa/inet.h.
38168         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
38169         Reported by Bruno Haible.
38170
38171 2008-05-02  Jim Meyering  <meyering@redhat.com>
38172
38173         avoid compilation error on FreeBSD 6
38174         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
38175
38176 2008-05-01  Jim Meyering  <meyering@redhat.com>
38177
38178         useless-if-before-free: correct --help's exit status description
38179         * build-aux/useless-if-before-free (usage): Like grep, exit 0
38180         for one or more matches, etc.  Reported by Bruno Haible.
38181
38182         vc-list-files: make the stand-alone gnulib test work
38183         * modules/vc-list-files-tests (configure.ac):
38184         Define and AC_SUBST abs_aux_dir.
38185         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
38186         $(abs_top_srcdir) to each script and having each of them
38187         duplicate the work of setting PATH, set PATH here, using
38188         the new variable, abs_aux_dir instead.
38189         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
38190         * tests/test-vc-list-files-git.sh: Likewise.
38191         Reported by Bruno Haible.
38192
38193 2008-05-01  Bruno Haible  <bruno@clisp.org>
38194
38195         * lib/getndelim2.c (getndelim2): Fix newsize computation during
38196         reallocation. Rename 'done' to 'found_delimiter'.
38197
38198 2008-05-01  Jim Meyering  <meyering@redhat.com>
38199
38200         vc-list-files: accommodate /bin/sh like the one from Solaris 10
38201         * build-aux/vc-list-files: Use `...`, not $(...).
38202
38203 2008-04-30  Jim Meyering  <meyering@redhat.com>
38204
38205         add tests for vc-list-files
38206         * modules/vc-list-files-tests: New module.
38207         * tests/test-vc-list-files-cvs.sh: New file.
38208         * tests/test-vc-list-files-git.sh: New file.
38209
38210         avoid a warning from gcc
38211         * lib/getndelim2.c (IF_LINT): Define.
38212         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
38213
38214         vc-list-files: work properly with build-aux/cvsu, too
38215         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
38216         to all cvs-based clauses.
38217
38218         vc-list-files: work properly in the CVS+awk case, too
38219         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
38220
38221         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
38222         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
38223         take more than one file argument, so .  Add quotes, just in case $dir
38224         ever contains a shell meta-character.  Prompted by Soren Hansen in
38225         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
38226
38227 2008-04-29  Eric Blake  <ebb9@byu.net>
38228
38229         Optimize getndelim2 to use block operations when possible.
38230         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
38231         freadseek, and memchr2.
38232         * lib/getndelim2.c (getndelim2): Use them for block reads.
38233
38234 2008-04-29  Bruno Haible  <bruno@clisp.org>
38235
38236         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
38237         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38238         * modules/inet_ntop (Depends-on): Add extensions.
38239         * modules/inet_pton (Depends-on): Likewise.
38240         Reported by Simon Josefsson.
38241
38242 2008-04-29  Jim Meyering  <meyering@redhat.com>
38243
38244         When the is more than one match in a block, match all of them.
38245         * build-aux/useless-if-before-free: Iterate through each block
38246         until there are no more matches.
38247
38248         Fix broken useless-if-before-free script.
38249         * build-aux/useless-if-before-free: Fix typo: missing "?" after
38250         the expression to match cast of argument to free-like function.
38251
38252 2008-04-29  Eric Blake  <ebb9@byu.net>
38253
38254         Use new header.
38255         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
38256
38257 2008-04-29  Jim Meyering  <meyering@redhat.com>
38258
38259         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
38260         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
38261         by gnulib to exist and to declare e.g., inet_ntop.
38262         Don't include "inet_ntop.h", now removed.
38263
38264         * m4/arpa_inet_h.m4: Remove trailing blanks.
38265
38266 2008-04-29  Eric Blake  <ebb9@byu.net>
38267
38268         Silence valgrind on safe reads beyond potential array bounds.
38269         * lib/rawmemchr.valgrind: New file.
38270         * lib/strchrnul.valgrind: Likewise.
38271         * modules/rawmemchr (Files): Distribute new file.
38272         * modules/strchrnul (Files): Likewise.
38273         Suggested by Bruno Haible.
38274
38275 2008-04-29  Bruno Haible  <bruno@clisp.org>
38276
38277         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
38278         (inet_ntop, inet_pton): Change portability warning's wording.
38279         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
38280         Invoke gl_CHECK_NEXT_HEADERS.
38281         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
38282         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
38283         set ARPA_INET_H.
38284         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38285         * modules/arpa_inet (Description): No longer only for systems that
38286         lack it.
38287         (Depends-on): Add include_next.
38288         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
38289         HAVE_ARPA_INET_H.
38290
38291 2008-04-29  Jim Meyering  <meyering@redhat.com>
38292
38293         * modules/mkdir (License): Re-license as LGPLv2+.
38294
38295 2008-04-29  Bruno Haible  <bruno@clisp.org>
38296
38297         * modules/rawmemchr (Maintainer): Set to Eric.
38298         * modules/strchrnul (Maintainer): Likewise.
38299
38300 2008-04-29  Simon Josefsson  <simon@josefsson.org>
38301
38302         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
38303         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
38304
38305         * modules/arpa_inet (arpa/inet.h): Use them.
38306
38307 2008-04-28  Eric Blake  <ebb9@byu.net>
38308
38309         Test getndelim2.
38310         * modules/getndelim2-tests: New file.
38311         * tests/test-getndelim2.c: Likewise.
38312         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
38313         stream.
38314         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
38315
38316         * MODULES.html.sh: Document new module.
38317
38318 2008-04-20  Bruno Haible  <bruno@clisp.org>
38319
38320         * lib/c-stack.c (die): Use raise.
38321         * modules/c-stack (Depends-on): Add raise.
38322
38323 2008-04-28  Bruno Haible  <bruno@clisp.org>
38324
38325         Expect rpmatch to be declared.
38326         * lib/yesno.c (rpmatch): Remove declaration.
38327
38328         Declare rpmatch.
38329         * lib/stdlib.in.h (rpmatch): New declaration.
38330         * lib/rpmatch.c: Include <stdlib.h> first.
38331         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
38332         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
38333         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
38334         HAVE_RPMATCH.
38335         * modules/rpmatch (Depends-on): Add stdlib, extensions.
38336         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38337         (Include): Set to <stdlib.h>.
38338         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
38339         HAVE_RPMATCH.
38340         * NEWS: Document the change.
38341
38342 2008-04-28  Bruno Haible  <bruno@clisp.org>
38343
38344         Change rpmatch to use nl_langinfo when appropriate.
38345         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
38346         (N_): New macro.
38347         (localized_pattern): New function/macro.
38348         (try): Remove match, nomatch arguments. Copy the pattern into safe
38349         memory before caching it.
38350         (rpmatch): Use localized_pattern. Add translator comments.
38351         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
38352         Suggested by Eric Blake.
38353         * modules/rpmatch (Depends-on): Add stdbool.
38354
38355 2008-04-28  Eric Blake  <ebb9@byu.net>
38356
38357         Add rawmemchr module, matching glibc.
38358         * modules/string (Makefile.am): New indicator.
38359         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
38360         * lib/string.in.h (rawmemchr): Declare when appropriate.
38361         * modules/rawmemchr: New file.
38362         * m4/rawmemchr.m4: Likewise.
38363         * lib/rawmemchr.c: Likewise.
38364         * modules/rawmemchr-tests: Likewise.
38365         * tests/test-rawmemchr.c: Likewise.
38366         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
38367         module.
38368         * modules/strchrnul (Depends-on): Add rawmemchr.
38369         * lib/strchrnul.c (strchrnul): Optimize a corner case.
38370
38371         Whitespace cleanup.
38372         * tests/test-strchrnul.c: Reindent.
38373         * lib/strchrnul.c: Likewise.
38374
38375         Optimize and test strchrnul.
38376         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
38377         * modules/strchrnul-tests: New file.
38378         * tests/test-strchrnul.c: Likewise.
38379
38380         Remove intprops dependency.
38381         * modules/memchr (Depends-on): Remove intprops.
38382         * modules/memrchr (Depends-on): Likewise.
38383         * modules/memchr2 (Depends-on): Likewise.
38384         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
38385         * lib/memrchr.c (__memrchr): Likewise.
38386         * lib/memrchr2.c (memchr2): Likewise.
38387         Reported by Simon Josefsson.
38388
38389 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38390
38391         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
38392         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38393
38394 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38395
38396         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
38397
38398         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
38399
38400         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
38401
38402         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
38403         declarations.
38404         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
38405
38406         * m4/inet_pton.m4: Don't check for header files.
38407
38408         * m4/inet_ntop.m4: Don't check for header files.
38409
38410 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38411
38412         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
38413         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
38414         trigger for cygwin).
38415         Reported by Bruno Haible  <bruno@clisp.org>.
38416
38417 2008-04-28  Bruno Haible  <bruno@clisp.org>
38418
38419         * doc/posix-functions/strdup.texi: Mention mingw problem.
38420
38421 2008-04-27  Bruno Haible  <bruno@clisp.org>
38422
38423         * modules/stat-time-tests (Depends-on): Add sleep.
38424         * tests/test-stat-time.c (force_unlink): New function.
38425         (cleanup): Use it.
38426         (test_mtime): Remove the ctime related tests.
38427         (test_ctime): New function, containing the ctime related tests.
38428         (main): Call test_ctime, except on native Windows platforms.
38429
38430 2008-04-27  Bruno Haible  <bruno@clisp.org>
38431
38432         * lib/rpmatch.c (rpmatch): Add some comments.
38433         Reported by James Youngman <jay@gnu.org>.
38434
38435 2008-04-27  Bruno Haible  <bruno@clisp.org>
38436
38437         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
38438         quiet NaNs.
38439
38440 2008-04-27  Bruno Haible  <bruno@clisp.org>
38441
38442         Make test-yesno.sh work on mingw.
38443         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
38444         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
38445         (main): Set stdin to binary mode.
38446         * modules/yesno-tests (Depends-on): Add binary-io.
38447
38448 2008-04-27  Bruno Haible  <bruno@clisp.org>
38449
38450         Fix 'isfinite' on x86, x86_64, ia64 platforms.
38451         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
38452         argument that lie outside the IEEE 854 domain.
38453         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
38454         (gl_ISFINITE): Use it.
38455         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
38456
38457 2008-04-27  Bruno Haible  <bruno@clisp.org>
38458
38459         Allow local renaming in config.h.
38460         * lib/memrchr.c (memrchr): Don't undefine outside libc.
38461
38462 2008-04-27  Bruno Haible  <bruno@clisp.org>
38463
38464         * lib/memchr.c (__memchr): Change type of 'i'.
38465         * lib/memchr2.c (memchr2): Likewise.
38466
38467 2008-04-26  Eric Blake  <ebb9@byu.net>
38468         and Bruno Haible  <bruno@clisp.org>
38469
38470         Optimize and test memrchr.
38471         * modules/memrchr (Depends-on): Add intprops.
38472         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
38473         * modules/memrchr-tests: New file.
38474         * tests/test-memrchr.c: New file.
38475
38476 2008-04-26  Bruno Haible  <bruno@clisp.org>
38477
38478         Add tentative support for DragonFly BSD.
38479         * lib/stdio-impl.h: Add macros for DragonFly BSD.
38480         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
38481         fp.
38482         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38483         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
38484         * lib/fpurge.c (fpurge): Likewise.
38485         * lib/freadable.c (freaadable): Likewise.
38486         * lib/freadahead.c (freadahead): Likewise.
38487         * lib/freading.c (freading): Likewise.
38488         * lib/freadptr.c (freadptr): Likewise.
38489         * lib/freadseek.c (freadptrinc): Likewise.
38490         * lib/fseeko.c (fseeko): Likewise.
38491         * lib/fseterr.c (fseterr): Likewise.
38492         * lib/fwritable.c (fwritable): Likewise.
38493         * lib/fwriting.c (fwriting): Likewise.
38494
38495 2008-04-26  Bruno Haible  <bruno@clisp.org>
38496
38497         * lib/stdio-impl.h: New file.
38498         * lib/fbufmode.c: Include stdio-impl.h.
38499         (fbufmode): Use fp_, remove redundant #defines.
38500         * lib/fflush.c: Include stdio-impl.h.
38501         (clear_ungetc_buffer): Remove redundant #defines.
38502         * lib/fpurge.c: Include stdio-impl.h.
38503         (fpurge): Remove redundant #defines.
38504         * lib/freadable.c: Include stdio-impl.h.
38505         (freadable): Remove redundant #defines.
38506         * lib/freadahead.c: Include stdio-impl.h.
38507         (freadahead): Remove redundant #defines.
38508         * lib/freading.c: Include stdio-impl.h.
38509         (freading): Remove redundant #defines.
38510         * lib/freadptr.c: Include stdio-impl.h.
38511         (freadptr): Remove redundant #defines.
38512         * lib/freadseek.c: Include stdio-impl.h.
38513         (freadptrinc): Remove redundant #defines.
38514         * lib/fseeko.c: Include stdio-impl.h.
38515         (rpl_fseeko): Remove redundant #defines.
38516         * lib/fseterr.c: Include stdio-impl.h.
38517         (fseterr): Remove redundant #defines.
38518         * lib/fwritable.c: Include stdio-impl.h.
38519         (fwritable: Remove redundant #defines.
38520         * lib/fwriting.c: Include stdio-impl.h.
38521         (fwriting): Remove redundant #defines.
38522         * modules/fbufmode (Files): Add lib/stdio-impl.h.
38523         * modules/fflush (Files): Likewise.
38524         * modules/fpurge (Files): Likewise.
38525         * modules/freadable (Files): Likewise.
38526         * modules/freadahead (Files): Likewise.
38527         * modules/freading (Files): Likewise.
38528         * modules/freadptr (Files): Likewise.
38529         * modules/freadseek (Files): Likewise.
38530         * modules/fseeko (Files): Likewise.
38531         * modules/fseterr (Files): Likewise.
38532         * modules/fwritable (Files): Likewise.
38533         * modules/fwriting (Files): Likewise.
38534
38535 2008-04-26  Bruno Haible  <bruno@clisp.org>
38536
38537         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38538         restore_seek_optimization, update_fpos_cache): New functions, extracted
38539         from rpl_fflush.
38540         (rpl_fflush): Use them.
38541         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
38542         (gl_REPLACE_FFLUSH): Use it.
38543
38544 2008-04-26  Bruno Haible  <bruno@clisp.org>
38545
38546         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
38547         on Solaris.
38548         * tests/test-xstrtoimax.sh: Likewise.
38549         * tests/test-xstrtoumax.sh: Likewise.
38550         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38551
38552 2008-04-26  Bruno Haible  <bruno@clisp.org>
38553
38554         * modules/memchr-tests: New file.
38555         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
38556
38557 2008-04-26  Eric Blake  <ebb9@byu.net>
38558             Bruno Haible  <bruno@clisp.org>
38559
38560         * lib/memchr.c: Include intprops.h.
38561         (__memchr): Optimize parallel detection of matching bytes. Rename local
38562         variables. Add explanatory comments.
38563
38564 2008-04-26  Bruno Haible  <bruno@clisp.org>
38565
38566         Fix module 'memchr', broken since 2000-10-28.
38567         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
38568
38569 2008-04-26  Bruno Haible  <bruno@clisp.org>
38570
38571         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
38572         comments.
38573
38574 2008-04-25  Eric Blake  <ebb9@byu.net>
38575
38576         Use native fstatat on cygwin 1.7.0.
38577         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
38578         first.
38579
38580 2008-04-23  Eric Blake  <ebb9@byu.net>
38581
38582         Improve memchr2 performance.
38583         * lib/memchr2.c (memchr2): Further optimize parallel detection of
38584         NUL bytes.
38585         * modules/memchr2 (Depends-on): Use intprops.h.
38586
38587 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38588
38589         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
38590         an inline function instead of a CPP macro.  Patch by Ben Pfaff
38591         <blp@cs.stanford.edu>.
38592
38593 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38594
38595         * lib/arpa_inet.in.h: New file.
38596
38597         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
38598         (Makefile.am): Sed in substitute header file.
38599
38600         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
38601         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
38602
38603         * modules/inet_ntop (configure.ac): Use
38604         gl_ARPA_INET_MODULE_INDICATOR.
38605
38606         * modules/inet_pton (configure.ac): Use
38607         gl_ARPA_INET_MODULE_INDICATOR.
38608
38609 2008-04-22  Jim Meyering  <meyering@redhat.com>
38610
38611         * modules/verify (License): Re-license as LGPLv2+.
38612
38613 2008-04-22  Simon Josefsson  <simon@josefsson.org>
38614
38615         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
38616         parameter to void* as per POSIX standard (MinGW uses char*).
38617
38618 2008-04-21  Bruno Haible  <bruno@clisp.org>
38619
38620         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
38621         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
38622         Define to replacements if REPLACE_ISWCNTRL is 1.
38623         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
38624         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
38625         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
38626         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
38627         what it fixes.
38628         * doc/posix-functions/iswalpha.texi: Likewise.
38629         * doc/posix-functions/iswblank.texi: Likewise.
38630         * doc/posix-functions/iswcntrl.texi: Likewise.
38631         * doc/posix-functions/iswdigit.texi: Likewise.
38632         * doc/posix-functions/iswgraph.texi: Likewise.
38633         * doc/posix-functions/iswlower.texi: Likewise.
38634         * doc/posix-functions/iswprint.texi: Likewise.
38635         * doc/posix-functions/iswpunct.texi: Likewise.
38636         * doc/posix-functions/iswspace.texi: Likewise.
38637         * doc/posix-functions/iswupper.texi: Likewise.
38638         * doc/posix-functions/iswxdigit.texi: Likewise.
38639         Reported by Alain Guibert.
38640
38641 2008-04-21  Bruno Haible  <bruno@clisp.org>
38642
38643         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
38644         Patch by Alain Guibert.
38645
38646 2008-04-21  Bruno Haible  <bruno@clisp.org>
38647
38648         Fix test failures on mingw.
38649         * tests/test-xstrtol.c (print_no_progname): New function.
38650         (main): Install it in error_print_progname hook.
38651         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
38652         * tests/test-xstrtoimax.sh: Likewise.
38653         * tests/test-xstrtoumax.sh: Likewise.
38654
38655 2008-04-21  Bruno Haible  <bruno@clisp.org>
38656
38657         Fix test failure on mingw.
38658         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
38659
38660 2008-04-21  Bruno Haible  <bruno@clisp.org>
38661
38662         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
38663         Actually assign a value.
38664
38665 2008-04-20  Bruno Haible  <bruno@clisp.org>
38666
38667         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
38668         take 2.
38669         * lib/canonicalize.c (canonicalize_file_name): Elide if the
38670         'canonicalize-lgpl' module is also used.
38671         * lib/canonicalize-lgpl.c: Undo last change.
38672         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
38673
38674 2008-04-20  Bruno Haible  <bruno@clisp.org>
38675
38676         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
38677         config.h. Provide _mkdir based fallback for mingw.
38678         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
38679         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
38680         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
38681         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
38682         rather than defining mkdir in config.h.
38683         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
38684         (gl_SYS_STAT_H_DEFAULTS): New macro.
38685         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
38686         HAVE_IO_H any more.
38687         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
38688         HAVE_DECL_MKDIR and HAVE_IO_H.
38689
38690 2008-04-20  Bruno Haible  <bruno@clisp.org>
38691
38692         * lib/isapipe.c: Port to native Windows platforms.
38693
38694 2008-04-20  Bruno Haible  <bruno@clisp.org>
38695
38696         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38697
38698 2008-04-21  Eric Blake  <ebb9@byu.net>
38699
38700         Work around preprocessors that don't handle UINTMAX_MAX.
38701         * lib/memchr2.c (memchr2): Avoid embedded #if.
38702         Reported by Alain Guibert, fix suggested by Bruno Haible.
38703
38704 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38705
38706         * doc/posix-functions/strftime.texi (strftime): Explain better
38707         Windows incompatibility.  Suggested by Micah Cowan
38708         <micah@cowan.name>.
38709
38710 2008-04-20  Bruno Haible  <bruno@clisp.org>
38711
38712         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38713         unistr/u8-mblen.
38714
38715 2008-04-20  Bruno Haible  <bruno@clisp.org>
38716
38717         Fix test failure on platforms with non-GNU iconv.
38718         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38719         (U_TO_U8): Use it, rather than u16_to_u8.
38720         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38721         units at the end of the input string.
38722         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38723
38724 2008-04-20  Bruno Haible  <bruno@clisp.org>
38725
38726         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38727         when the resulting length is 0.
38728         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38729
38730 2008-04-20  Bruno Haible  <bruno@clisp.org>
38731
38732         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38733         works.
38734         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38735
38736 2008-04-20  Bruno Haible  <bruno@clisp.org>
38737
38738         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38739         * modules/tsearch-tests (configure.ac): Test for initstate function.
38740
38741 2008-04-20  Bruno Haible  <bruno@clisp.org>
38742
38743         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38744         for nlink_t if missing.
38745         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38746
38747 2008-04-19  Bruno Haible  <bruno@clisp.org>
38748
38749         Work around snprintf bug on Linux libc5.
38750         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38751         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38752         gl_SNPRINTF_SIZE1.
38753         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38754         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38755         that test failed.
38756         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38757         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38758         * modules/snprintf (Files): Add m4/printf.m4.
38759         * modules/vsnprintf (Files): Likewise.
38760         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38761         * doc/posix-functions/vsnprintf.texi: Likewise.
38762
38763 2008-04-19  Bruno Haible  <bruno@clisp.org>
38764
38765         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38766         from 0.0058 to less than 10^-7.
38767
38768 2008-04-19  Bruno Haible  <bruno@clisp.org>
38769
38770         Fix rounding when a precision is given.
38771         * lib/vasnprintf.c (is_borderline): New function.
38772         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38773         9...9x.
38774         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38775         %e, %g.
38776         * tests/test-vasprintf-posix.c (test_function): Likewise.
38777         * tests/test-snprintf-posix.h (test_function): Likewise.
38778         * tests/test-sprintf-posix.h (test_function): Likewise.
38779         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38780         * tests/test-printf-posix.h (test_function): Likewise.
38781         * tests/test-printf-posix.output: Update.
38782         Reported by John Darrington <john@darrington.wattle.id.au> via
38783         Ben Pfaff <blp@cs.stanford.edu>.
38784
38785 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38786
38787         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38788         Suggested by Bruno Haible <bruno@clisp.org>.
38789
38790 2008-04-17  Bruno Haible  <bruno@clisp.org>
38791
38792         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38793         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38794         implementation.
38795         Patch by Bruce Merry <bmerry@gmail.com>.
38796
38797 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38798
38799         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38800         doesn't work under Windows.
38801
38802 2008-04-16  Bruno Haible  <bruno@clisp.org>
38803
38804         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38805         New macros.
38806         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38807         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38808         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38809         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38810         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38811         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38812         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38813         macros.
38814         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38815         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38816         Northern Sotho, Uighur.
38817
38818 2008-04-16  Bruno Haible  <bruno@clisp.org>
38819
38820         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38821         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38822         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38823         Reported by Daniel Bergström <daniel@octocode.com>.
38824
38825 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38826             Bruno Haible  <bruno@clisp.org>
38827
38828         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38829         function.
38830         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38831         New functions, mostly extracted from gl_locale_name_default.
38832         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38833
38834 2008-04-16  Eric Blake  <ebb9@byu.net>
38835
38836         Adjust strtod detection to catch glibc 2.7 bug.
38837         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38838         Reported by John Gatewood Ham.
38839
38840 2008-04-16  Bruno Haible  <bruno@clisp.org>
38841
38842         Add tentative support for Linux libc5.
38843         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38844         * lib/fpurge.c (fpurge): Likewise.
38845         * lib/freadable.c (freadable): Likewise.
38846         * lib/freadahead.c (freadahead): Likewise.
38847         * lib/freading.c (freading): Likewise.
38848         * lib/freadptr.c (freadptr): Likewise.
38849         * lib/freadseek.c (freadptrinc): Likewise.
38850         * lib/fseeko.c (rpl_fseeko): Likewise.
38851         * lib/fseterr.c (fseterr): Likewise.
38852         * lib/fwritable.c (fwritable): Likewise.
38853         * lib/fwriting.c (fwriting): Likewise.
38854         Reported by Alain Guibert <alguibert+bts@free.fr>.
38855
38856 2008-04-15  Bruno Haible  <bruno@clisp.org>
38857
38858         * modules/mathl (configure.ac): Define module indicator.
38859
38860 2008-04-15  Bruno Haible  <bruno@clisp.org>
38861
38862         * lib/logl.c (logl): Remove unused variables.
38863
38864 2008-04-15  Bruno Haible  <bruno@clisp.org>
38865
38866         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38867         fails.
38868
38869 2008-04-15  Bruno Haible  <bruno@clisp.org>
38870
38871         * lib/trim.c (trim2): Fix argument of isspace() macro.
38872
38873 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38874
38875         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38876         to 0.
38877         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38878
38879 2008-04-14  Bruno Haible  <bruno@clisp.org>
38880
38881         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38882         AC_LANG_PROGRAM argument.
38883         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38884         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38885         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38886         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38887         * m4/math_h.m4 (gl_MATH_H): Likewise.
38888         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38889         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38890         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38891         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38892         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38893         * m4/regex.m4 (gl_REGEX): Likewise.
38894         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38895         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38897         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38898         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38899         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38900         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38901         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38902
38903 2008-04-14  Jim Meyering  <meyering@redhat.com>
38904
38905         test-strtod: fix typos: s/abs/fabs/
38906         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38907
38908 2008-04-13  Bruno Haible  <bruno@clisp.org>
38909
38910         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38911         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38912         module is also used and while not building the reloc-wrapper.
38913
38914 2008-04-13  Bruno Haible  <bruno@clisp.org>
38915
38916         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38917
38918 2008-04-13  Bruno Haible  <bruno@clisp.org>
38919
38920         Fix AIX compilation failure introduced on 2008-04-02.
38921         * tests/test-frexp.c (exp): Undefine before redefining.
38922         * tests/test-frexpl.c (exp): Likewise.
38923
38924 2008-04-13  Bruno Haible  <bruno@clisp.org>
38925
38926         Work around a HP-UX stdio bug.
38927         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
38928         * tests/test-ftello.c (main): Likewise.
38929         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
38930         * doc/posix-functions/ftello.texi: Likewise.
38931
38932 2008-04-13  Bruno Haible  <bruno@clisp.org>
38933
38934         Make test-signbit pass on HP-UX/hppa.
38935         * tests/test-signbit.c (minus_zerol): New variable.
38936         (test_signbitl): Use it.
38937
38938 2008-04-13  Bruno Haible  <bruno@clisp.org>
38939
38940         Make truncl work on OSF/1 4.0.
38941         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
38942         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38943         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38944         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
38945         HAVE_DECL_TRUNCL.
38946         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
38947         HAVE_DECL_TRUNCL.
38948         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
38949
38950 2008-04-13  Bruno Haible  <bruno@clisp.org>
38951
38952         * lib/unictype.h: Remove trailing comma from enumeration definitions.
38953
38954 2008-04-13  Bruno Haible  <bruno@clisp.org>
38955
38956         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
38957         expression, so as to avoid HP-UX 11 cc compiler bug.
38958
38959 2008-04-13  Bruno Haible  <bruno@clisp.org>
38960
38961         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
38962
38963 2008-04-13  Bruno Haible  <bruno@clisp.org>
38964
38965         * lib/git-merge-changelog.c: Remove empty declaration outside of
38966         functions.
38967
38968 2008-04-13  Bruno Haible  <bruno@clisp.org>
38969
38970         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
38971
38972 2008-04-13  Bruno Haible  <bruno@clisp.org>
38973
38974         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
38975         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
38976         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
38977         also if it exists but lacks definitions of the SHUT_* macros.
38978         * modules/sys_socket (Description): Update.
38979         Reported by Elbert Pol <e.pol@chello.nl>.
38980
38981 2008-04-13  Bruno Haible  <bruno@clisp.org>
38982
38983         * lib/localcharset.c (OS2): Don't redefine if already defined.
38984         Reported by Elbert Pol <e.pol@chello.nl>.
38985
38986 2008-04-13  Bruno Haible  <bruno@clisp.org>
38987
38988         * lib/binary-io.h [__EMX__]: Include <io.h>.
38989         Reported by Elbert Pol <e.pol@chello.nl>.
38990
38991 2008-04-12  Bruno Haible  <bruno@clisp.org>
38992
38993         * lib/fpucw.h: Enable the definitions also for x86_64.
38994         Needed for NetBSD/x86_64.
38995         Reported by Thomas Klausner <tk@giga.or.at>.
38996
38997 2008-04-12  Bruno Haible  <bruno@clisp.org>
38998
38999         * tests/test-strtod.c: Include isnand.h.
39000         (main): Use isnand instead of isnan.
39001         Reported by Jim Meyering.
39002
39003 2008-04-12  Bruno Haible  <bruno@clisp.org>
39004
39005         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
39006         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39007
39008 2008-04-12  Jim Meyering  <meyering@redhat.com>
39009
39010         * m4/math_h.m4 (gl_MATH_H): Fix typos.
39011
39012 2008-04-12  Bruno Haible  <bruno@clisp.org>
39013
39014         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
39015         Reported by Elbert Pol <e.pol@chello.nl>.
39016
39017 2008-04-12  Eric Blake  <ebb9@byu.net>
39018
39019         Work around Solaris 10 math.h bug.
39020         * m4/math_h.m4 (gl_MATH_H): Check for bug.
39021         (gl_MATH_H_DEFAULTS): Set up default.
39022         * modules/math (Makefile.am): Replace new indicators.
39023         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
39024         * tests/test-math.c (main): Test this.
39025         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
39026         * doc/posix-headers/math.texi (math.h): Mention bug.
39027         Reported by Nelson H. F. Beebe and Jim Meyering.
39028
39029 2008-04-11  Bruno Haible  <bruno@clisp.org>
39030
39031         Adapt to future versions of Apple GCC.
39032         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
39033         Reported by Peter O'Gorman <peter@pogma.com>.
39034
39035 2008-04-11  Bruno Haible  <bruno@clisp.org>
39036
39037         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
39038
39039 2008-04-11  Bruno Haible  <bruno@clisp.org>
39040
39041         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
39042
39043         * modules/getaddrinfo-tests (Makefile.am): Define
39044         test_getaddrinfo_LDADD.
39045
39046 2008-04-11  Bruno Haible  <bruno@clisp.org>
39047
39048         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
39049         (init): Fix syntax error.
39050         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
39051         is declared.
39052
39053 2008-04-11  Bruno Haible  <bruno@clisp.org>
39054
39055         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
39056         * modules/glob (Depends-on): Add stdbool.
39057
39058 2008-04-11  Bruno Haible  <bruno@clisp.org>
39059
39060         * lib/trim.c: Include <string.h>.
39061
39062 2008-04-11  Eric Blake  <ebb9@byu.net>
39063
39064         Avoid compile failure on OS/2.
39065         * lib/regex_internal.h (internal_function): Disable optimization
39066         on OS/2 (__EMX__), where it caused compiler error.
39067         Reported by Elbert Pol.
39068
39069 2008-04-11  Bruno Haible  <bruno@clisp.org>
39070
39071         Flush the standard error stream before aborting. Needed on mingw.
39072         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
39073         * tests/test-array_list.c (ASSERT): Likewise.
39074         * tests/test-array_oset.c (ASSERT): Likewise.
39075         * tests/test-avltree_list.c (ASSERT): Likewise.
39076         * tests/test-avltree_oset.c (ASSERT): Likewise.
39077         * tests/test-avltreehash_list.c (ASSERT): Likewise.
39078         * tests/test-binary-io.c (ASSERT): Likewise.
39079         * tests/test-byteswap.c (ASSERT): Likewise.
39080         * tests/test-c-ctype.c (ASSERT): Likewise.
39081         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
39082         * tests/test-c-strcasestr.c (ASSERT): Likewise.
39083         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
39084         * tests/test-c-strstr.c (ASSERT): Likewise.
39085         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
39086         * tests/test-canonicalize.c (ASSERT): Likewise.
39087         * tests/test-carray_list.c (ASSERT): Likewise.
39088         * tests/test-ceilf1.c (ASSERT): Likewise.
39089         * tests/test-ceilf2.c (ASSERT): Likewise.
39090         * tests/test-ceill.c (ASSERT): Likewise.
39091         * tests/test-count-one-bits.c (ASSERT): Likewise.
39092         * tests/test-fbufmode.c (ASSERT): Likewise.
39093         * tests/test-fflush2.c (ASSERT): Likewise.
39094         * tests/test-floorf1.c (ASSERT): Likewise.
39095         * tests/test-floorf2.c (ASSERT): Likewise.
39096         * tests/test-floorl.c (ASSERT): Likewise.
39097         * tests/test-fopen.c (ASSERT): Likewise.
39098         * tests/test-fpending.c (ASSERT): Likewise.
39099         * tests/test-fprintf-posix.c (ASSERT): Likewise.
39100         * tests/test-fpurge.c (ASSERT): Likewise.
39101         * tests/test-freadable.c (ASSERT): Likewise.
39102         * tests/test-freadahead.c (ASSERT): Likewise.
39103         * tests/test-freading.c (ASSERT): Likewise.
39104         * tests/test-freadptr.c (ASSERT): Likewise.
39105         * tests/test-freadptr2.c (ASSERT): Likewise.
39106         * tests/test-freadseek.c (ASSERT): Likewise.
39107         * tests/test-freopen.c (ASSERT): Likewise.
39108         * tests/test-frexp.c (ASSERT): Likewise.
39109         * tests/test-frexpl.c (ASSERT): Likewise.
39110         * tests/test-fseek.c (ASSERT): Likewise.
39111         * tests/test-fseeko.c (ASSERT): Likewise.
39112         * tests/test-fstrcmp.c (ASSERT): Likewise.
39113         * tests/test-ftell.c (ASSERT): Likewise.
39114         * tests/test-ftello.c (ASSERT): Likewise.
39115         * tests/test-func.c (ASSERT): Likewise.
39116         * tests/test-fwritable.c (ASSERT): Likewise.
39117         * tests/test-fwriting.c (ASSERT): Likewise.
39118         * tests/test-getdelim.c (ASSERT): Likewise.
39119         * tests/test-getline.c (ASSERT): Likewise.
39120         * tests/test-i-ring.c (ASSERT): Likewise.
39121         * tests/test-iconv-utf.c (ASSERT): Likewise.
39122         * tests/test-iconv.c (ASSERT): Likewise.
39123         * tests/test-isfinite.c (ASSERT): Likewise.
39124         * tests/test-isnand.c (ASSERT): Likewise.
39125         * tests/test-isnanf.c (ASSERT): Likewise.
39126         * tests/test-isnanl.h (ASSERT): Likewise.
39127         * tests/test-ldexpl.c (ASSERT): Likewise.
39128         * tests/test-linked_list.c (ASSERT): Likewise.
39129         * tests/test-linkedhash_list.c (ASSERT): Likewise.
39130         * tests/test-localename.c (ASSERT): Likewise.
39131         * tests/test-lseek.c (ASSERT): Likewise.
39132         * tests/test-mbscasecmp.c (ASSERT): Likewise.
39133         * tests/test-mbscasestr1.c (ASSERT): Likewise.
39134         * tests/test-mbscasestr2.c (ASSERT): Likewise.
39135         * tests/test-mbscasestr3.c (ASSERT): Likewise.
39136         * tests/test-mbscasestr4.c (ASSERT): Likewise.
39137         * tests/test-mbschr.c (ASSERT): Likewise.
39138         * tests/test-mbscspn.c (ASSERT): Likewise.
39139         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
39140         * tests/test-mbspbrk.c (ASSERT): Likewise.
39141         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
39142         * tests/test-mbsrchr.c (ASSERT): Likewise.
39143         * tests/test-mbsspn.c (ASSERT): Likewise.
39144         * tests/test-mbsstr1.c (ASSERT): Likewise.
39145         * tests/test-mbsstr2.c (ASSERT): Likewise.
39146         * tests/test-mbsstr3.c (ASSERT): Likewise.
39147         * tests/test-memchr2.c (ASSERT): Likewise.
39148         * tests/test-memmem.c (ASSERT): Likewise.
39149         * tests/test-open.c (ASSERT): Likewise.
39150         * tests/test-printf-frexp.c (ASSERT): Likewise.
39151         * tests/test-printf-frexpl.c (ASSERT): Likewise.
39152         * tests/test-printf-posix.c (ASSERT): Likewise.
39153         * tests/test-quotearg.c (ASSERT): Likewise.
39154         * tests/test-rbtree_list.c (ASSERT): Likewise.
39155         * tests/test-rbtree_oset.c (ASSERT): Likewise.
39156         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
39157         * tests/test-round1.c (ASSERT): Likewise.
39158         * tests/test-roundf1.c (ASSERT): Likewise.
39159         * tests/test-roundl.c (ASSERT): Likewise.
39160         * tests/test-signbit.c (ASSERT): Likewise.
39161         * tests/test-sleep.c (ASSERT): Likewise.
39162         * tests/test-snprintf-posix.c (ASSERT): Likewise.
39163         * tests/test-snprintf.c (ASSERT): Likewise.
39164         * tests/test-sprintf-posix.c (ASSERT): Likewise.
39165         * tests/test-stat-time.c (ASSERT): Likewise.
39166         * tests/test-strcasestr.c (ASSERT): Likewise.
39167         * tests/test-strerror.c (ASSERT): Likewise.
39168         * tests/test-striconv.c (ASSERT): Likewise.
39169         * tests/test-striconveh.c (ASSERT): Likewise.
39170         * tests/test-striconveha.c (ASSERT): Likewise.
39171         * tests/test-strsignal.c (ASSERT): Likewise.
39172         * tests/test-strstr.c (ASSERT): Likewise.
39173         * tests/test-strtod.c (ASSERT): Likewise.
39174         * tests/test-trunc1.c (ASSERT): Likewise.
39175         * tests/test-trunc2.c (ASSERT): Likewise.
39176         * tests/test-truncf1.c (ASSERT): Likewise.
39177         * tests/test-truncf2.c (ASSERT): Likewise.
39178         * tests/test-truncl.c (ASSERT): Likewise.
39179         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
39180         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
39181         * tests/test-vasnprintf.c (ASSERT): Likewise.
39182         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
39183         * tests/test-vasprintf.c (ASSERT): Likewise.
39184         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
39185         * tests/test-vprintf-posix.c (ASSERT): Likewise.
39186         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
39187         * tests/test-vsnprintf.c (ASSERT): Likewise.
39188         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
39189         * tests/test-wcwidth.c (ASSERT): Likewise.
39190         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
39191         * tests/test-xprintf-posix.c (ASSERT): Likewise.
39192         * tests/test-xvasprintf.c (ASSERT): Likewise.
39193         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
39194         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
39195         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
39196         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
39197         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
39198         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
39199         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
39200         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
39201         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
39202         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
39203         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
39204         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
39205         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
39206         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
39207         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
39208         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
39209         * tests/unictype/test-block_list.c (ASSERT): Likewise.
39210         * tests/unictype/test-block_of.c (ASSERT): Likewise.
39211         * tests/unictype/test-block_test.c (ASSERT): Likewise.
39212         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
39213         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
39214         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
39215         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
39216         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
39217         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
39218         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
39219         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
39220         * tests/unictype/test-combining.c (ASSERT): Likewise.
39221         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
39222         * tests/unictype/test-digit.c (ASSERT): Likewise.
39223         * tests/unictype/test-mirror.c (ASSERT): Likewise.
39224         * tests/unictype/test-numeric.c (ASSERT): Likewise.
39225         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
39226         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
39227         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
39228         * tests/unictype/test-scripts.c (ASSERT): Likewise.
39229         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
39230         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
39231         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
39232         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
39233         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
39234         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
39235         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
39236         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
39237         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
39238         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
39239         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
39240         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
39241         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
39242         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
39243         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
39244         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
39245         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
39246         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
39247         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
39248         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
39249         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
39250         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
39251         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
39252         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
39253         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
39254         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
39255         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
39256         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
39257         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
39258         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
39259         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
39260         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
39261         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
39262         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
39263         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
39264         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
39265         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
39266         Reported by Eric Blake.
39267
39268 2008-04-11  Bruno Haible  <bruno@clisp.org>
39269
39270         * lib/wchar.in.h: Tweak comment.
39271
39272 2008-04-11  Bruno Haible  <bruno@clisp.org>
39273
39274         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
39275         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
39276         gl_COMMON.
39277         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
39278
39279 2008-04-11  Bruno Haible  <bruno@clisp.org>
39280
39281         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
39282
39283 2008-04-11  Simon Josefsson  <simon@josefsson.org>
39284
39285         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
39286         of attempting to use non-existing /dev/*random.  Based on patch
39287         from Adam Strzelecki <ono@java.pl> in
39288         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
39289
39290 2008-04-08  Bruno Haible  <bruno@clisp.org>
39291
39292         Add tentative support for emx+gcc.
39293         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
39294         * lib/fpurge.c (fpurge): Likewise.
39295         * lib/freadable.c (freadable): Likewise.
39296         * lib/freadahead.c (freadahead): Likewise.
39297         * lib/freading.c (freading): Likewise.
39298         * lib/freadptr.c (freadptr): Likewise.
39299         * lib/freadseek.c (freadptrinc): Likewise.
39300         * lib/fseeko.c (rpl_fseeko): Likewise.
39301         * lib/fseterr.c (fseterr): Likewise.
39302         * lib/fwritable.c (fwritable): Likewise.
39303         * lib/fwriting.c (fwriting): Likewise.
39304         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
39305
39306 2008-04-09  Eric Blake  <ebb9@byu.net>
39307
39308         Avoid some autoconf warnings.
39309         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
39310         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
39311         * m4/afs.m4 (gl_AFS): Likewise.
39312         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
39313         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
39314         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39315         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
39316         (gl_INTEGER_TYPE_SUFFIX): Likewise.
39317         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
39318         (AC_CHECK_DECLS_ONCE): Likewise.
39319         Rename file...
39320         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
39321         gnulib-tool requires autoconf 2.59 or better.
39322         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
39323
39324 2008-04-08  Eric Blake  <ebb9@byu.net>
39325
39326         Use 'git describe --match' if present (added in git 1.5.5).
39327         * build-aux/git-version-gen: Limit result to tags that match 'v*'
39328         if possible.
39329
39330 2008-04-08  Bruno Haible  <bruno@clisp.org>
39331
39332         Add tentative support for OpenServer.
39333         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
39334         _ptr, _cnt.
39335         * lib/fpurge.c (fpurge): Likewise.
39336         * lib/freadable.c (freadable): Likewise.
39337         * lib/freadahead.c (freadahead): Likewise.
39338         * lib/freading.c (freading): Likewise.
39339         * lib/freadptr.c (freadptr): Likewise.
39340         * lib/freadseek.c (freadptrinc): Likewise.
39341         * lib/fseeko.c (rpl_fseeko): Likewise.
39342         * lib/fseterr.c (fseterr): Likewise.
39343         * lib/fwritable.c (fwritable): Likewise.
39344         * lib/fwriting.c (fwriting): Likewise.
39345         Reported by Roger Cornelius <rac@tenzing.org> and
39346         Brian K. White <brian@aljex.com>.
39347
39348 2008-04-06  Jim Meyering  <meyering@redhat.com>
39349
39350         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
39351
39352 2008-04-06  Bruno Haible  <bruno@clisp.org>
39353
39354         Avoid possible error with non-ASCII bytes in UTF-8 locales.
39355         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
39356         * tests/test-printf-posix.sh: Likewise.
39357         * tests/test-vfprintf-posix.sh: Likewise.
39358         * tests/test-vprintf-posix.sh: Likewise.
39359         * tests/test-xprintf-posix.sh: Likewise.
39360
39361 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39362
39363         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
39364         hide error from 'ls', needed on OS/2.
39365         Report by Elbert Pol <elbert.pol@gmail.com>.
39366
39367 2008-04-04  Eric Blake  <ebb9@byu.net>
39368
39369         Make test-fseeko.c failures meaningful.
39370         * tests/test-fseeko.c: Print line number on failure.
39371         * tests/test-fseek.c: Likewise.
39372         Reported by Nelson H. F. Beebe.
39373
39374         Improve strtod bug detection check.
39375         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
39376         required for Solaris 10.
39377         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
39378
39379 2008-04-04  Bruno Haible  <bruno@clisp.org>
39380
39381         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
39382         by m4/setenv.m4.
39383
39384 2008-04-03  Eric Blake  <ebb9@byu.net>
39385
39386         Ensure sane .version contents.
39387         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
39388         version string.
39389         * build-aux/git-version-gen: Improve documentation.
39390
39391         Make GNU make output nicer.
39392         * top/GNUmakefile [!_have-Makefile]: Add dependency on
39393         MAKECMDGOALS to enforce message for all command line targets.  Set
39394         srcdir for use in maint.mk.
39395
39396         Another maintainer tweak.
39397         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
39398         a target that regenerates version.
39399
39400 2008-04-03  Jim Meyering  <meyering@redhat.com>
39401
39402         vc-list-files: don't cause coreutils "make po-check" failure
39403         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
39404
39405 2008-04-03  Eric Blake  <ebb9@byu.net>
39406
39407         Allow VPATH usage of vc-list-files.
39408         * build-aux/vc-list-files (scriptversion): Add timestamp.
39409         (options): Add --help, --version, -C.
39410         (CVS): Support installed cvsu.
39411
39412 2008-04-02  Bruno Haible  <bruno@clisp.org>
39413
39414         Avoid some "statement with no effect" warnings from gcc.
39415         * tests/test-wctype.c (main): Explicitly ignore unused values.
39416         Reported by Jim Meyering.
39417
39418 2008-04-02  Jim Meyering  <meyering@redhat.com>
39419
39420         Avoid some warnings from "gcc -Wshadow".
39421         * tests/test-frexp.c (exp): Define to a different identifier.
39422         * tests/test-frexpl.c (exp): Likewise.
39423
39424 2008-04-03  Jim Meyering  <meyering@redhat.com>
39425
39426         bootstrap: remove dangling *.[ch] symlinks from lib
39427         * build-aux/bootstrap [dangling symlink removal]: Move find's
39428         -depth option to precede all others, to avoid a warning.
39429         Remove *.[ch] files too, and from "$source_base" (usually lib/).
39430
39431 2008-04-02  Bruno Haible  <bruno@clisp.org>
39432
39433         Avoid some warnings from "gcc -Wshadow".
39434         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
39435         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
39436         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
39437         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
39438         Reported by Jim Meyering.
39439
39440 2008-04-01  Bruno Haible  <bruno@clisp.org>
39441
39442         Fix test to work on IRIX 6.5 with cc.
39443         * tests/test-math.c (numeric_equal): New function.
39444         (main): Use it.
39445
39446 2008-04-01  Bruno Haible  <bruno@clisp.org>
39447
39448         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
39449
39450 2008-04-01  Bruno Haible  <bruno@clisp.org>
39451
39452         * tests/test-vasnprintf-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/vasnprintf-posix-tests (Files): Add tests/nan.h.
39455         (Depends-on): Remove math.
39456
39457         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
39458         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39459         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
39460         (Depends-on): Remove math.
39461
39462         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
39463         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39464         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
39465         (Depends-on): Remove math.
39466         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
39467         (Depends-on): Remove math.
39468
39469         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
39470         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39471         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
39472         (Depends-on): Remove math.
39473         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
39474         (Depends-on): Remove math.
39475
39476         * tests/test-round1.c: Include nan.h.
39477         (main): Use NaNd instead of NAN.
39478         * modules/round-tests (Files): Add tests/nan.h.
39479
39480         * tests/test-trunc1.c: Include nan.h.
39481         (main): Use NaNd instead of NAN.
39482         * modules/trunc-tests (Files): Add tests/nan.h.
39483
39484         * tests/test-roundf1.c: Include nan.h.
39485         (main): Use NaNf instead of NAN.
39486         * modules/roundf-tests (Files): Add tests/nan.h.
39487
39488         * tests/test-truncf1.c: Include nan.h.
39489         (main): Use NaNf instead of NAN.
39490         * modules/truncf-tests (Files): Add tests/nan.h.
39491
39492         * tests/test-ceilf1.c: Include nan.h.
39493         (main): Use NaNf instead of NAN.
39494         * modules/ceilf-tests (Files): Add tests/nan.h.
39495
39496         * tests/test-floorf1.c: Include nan.h.
39497         (main): Use NaNf instead of NAN.
39498         * modules/floorf-tests (Files): Add tests/nan.h.
39499
39500         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
39501         (main): Use NaNf instead of NAN.
39502         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
39503
39504         * tests/test-isnand.c: Include nan.h instead of <math.h>.
39505         (main): Use NaNd instead of NAN.
39506         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
39507
39508         * tests/test-frexp.c: Include nan.h.
39509         (main): Use NaNd instead of NAN.
39510         * modules/frexp-tests (Files): Add tests/nan.h.
39511
39512         * lib/isnan.c: Don't include <math.h>.
39513         (FUNC): Don't use NAN macro.
39514         * modules/isnand-nolibm (Depends-on): Remove math.
39515         * modules/isnanf-nolibm (Depends-on): Remove math.
39516         * modules/isnanl (Depends-on): Remove math.
39517         * modules/isnanl-nolibm (Depends-on): Remove math.
39518
39519         * tests/nan.h: New file.
39520
39521 2008-04-01  Eric Blake  <ebb9@byu.net>
39522
39523         Fix typos.
39524         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
39525         values to be the right type.
39526
39527         For now, cater to gnulib strtod inaccuracies.
39528         * tests/test-strtod.c (main): Allow 1-ulp error on expected
39529         fractional results.  While not as nice from a QoI perspective, it
39530         is a quicker patch than correctly implementing decimal to binary
39531         rounding.
39532
39533 2008-03-31  Eric Blake  <ebb9@byu.net>
39534
39535         Guarantee a definition of NAN.
39536         * lib/math.in.h (NAN): Define if missing.
39537         * tests/test-math.c (main): Test it.
39538         * doc/posix-headers/math.texi (math.h): Document this.
39539         * lib/isnan.c (rpl_isnand): Use it.
39540         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
39541         * tests/test-floorf1.c (NaN): Likewise.
39542         * tests/test-frexp.c (NaN): Likewise.
39543         * tests/test-isnand.c (NaN): Likewise.
39544         * tests/test-isnanf.c (NaN): Likewise.
39545         * tests/test-round1.c (NaN): Likewise.
39546         * tests/test-roundf1.c (NaN): Likewise.
39547         * tests/test-snprintf-posix.h (NaN): Likewise.
39548         * tests/test-sprintf-posix.h (NaN): Likewise.
39549         * tests/test-trunc1.c (NaN): Likewise.
39550         * tests/test-truncf1.c (NaN): Likewise.
39551         * tests/test-vasnprintf-posix.c (NaN): Likewise.
39552         * tests/test-vasprintf-posix.c (NaN): Likewise.
39553         * modules/isnand-nolibm (Depends-on): Add math.
39554         * modules/isnanf-nolibm (Depends-on): Likewise.
39555         * modules/isnanl (Depends-on): Likewise.
39556         * modules/isnanl-nolibm (Depends-on): Likewise.
39557         * modules/snprintf-posix-tests (Depends-on): Likewise.
39558         * modules/sprintf-posix-tests (Depends-on): Likewise.
39559         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
39560         * modules/vsprintf-posix-tests (Depends-on): Likewise.
39561         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
39562         * modules/vasprintf-posix-tests (Depends-on): Likewise.
39563
39564 2008-03-31  Bruno Haible  <bruno@clisp.org>
39565
39566         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
39567         * doc/posix-functions/strtod.texi: Likewise.
39568
39569 2008-03-31  Bruno Haible  <bruno@clisp.org>
39570
39571         * tests/test-strtod.c (main): Don't use C99 syntax.
39572
39573 2008-03-31  Bruno Haible  <bruno@clisp.org>
39574
39575         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
39576         Reported by Eric Blake.
39577
39578 2008-03-31  Jim Meyering  <meyering@redhat.com>
39579
39580         Don't compare actual signbit return values.
39581         * tests/test-strtod.c (main): Rather, compare only their
39582         zero/non-zero nature.
39583
39584 2008-03-31  Eric Blake  <ebb9@byu.net>
39585
39586         More strtod documentation.
39587         * doc/posix-functions/strtod.texi (strtod): Interpret more test
39588         failures as distinct bugs.
39589
39590 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39591
39592         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
39593         Problem reported by Erik Benada in
39594         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
39595
39596 2008-03-30  Bruno Haible  <bruno@clisp.org>
39597
39598         * tests/test-strtod.c: Add comments about which assertion fails on which
39599         platform.
39600         * doc/posix-functions/strtod.texi: Add info about many more platforms.
39601
39602 2008-03-30  Eric Blake  <ebb9@byu.net>
39603
39604         Test signbit behavior on zeros.
39605         * tests/test-signbit.c (test_signbitf): Add tests for zero.
39606         (test_signbitd, test_signbitl): Likewise.
39607
39608         More strtod touchups.
39609         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
39610         sign of negative underflow, for now.  Use .5, not .1.
39611         * doc/posix-functions/strtod.texi (strtod): Mention these
39612         limitations.
39613         Reported by Jim Meyering.
39614
39615 2008-03-30  Bruno Haible  <bruno@clisp.org>
39616
39617         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
39618         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
39619
39620 2008-03-30  Bruno Haible  <bruno@clisp.org>
39621
39622         Avoid failure when attempting to return empty iconv results on some
39623         platforms.
39624         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
39625         allocation, don't report ENOMEM when the resulting string is empty.
39626
39627 2008-03-30  Bruno Haible  <bruno@clisp.org>
39628
39629         Fix buffer overrun.
39630         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
39631         Don't consider the width for tmp_length. Check count against tmp_length
39632         before doing the padding. Ensure enough allocation during padding.
39633
39634 2008-03-30  Eric Blake  <ebb9@byu.net>
39635
39636         strtod touchups.
39637         * lib/strtod.c (strtod): Avoid compiler warnings.
39638         Reported by Jim Meyering.
39639
39640 2008-03-30  Bruno Haible  <bruno@clisp.org>
39641
39642         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
39643         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
39644         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
39645         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
39646         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
39647         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
39648         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
39649         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
39650
39651         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
39652         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
39653         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
39654         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
39655         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
39656         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
39657         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
39658         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
39659
39660         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
39661         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
39662         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
39663         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
39664         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
39665         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
39666         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
39667         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
39668
39669         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
39670         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
39671
39672         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
39673         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
39674
39675         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
39676         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
39677
39678         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
39679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
39680         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
39681
39682         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
39683         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
39684         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
39685
39686         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
39687         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
39688         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
39689
39690         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39691         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39692         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39693
39694         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39695         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39696         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39697         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39698         (Depends-on): Add EOVERFLOW.
39699         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39700         (Depends-on): Add EOVERFLOW.
39701         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39702         (Depends-on): Add EOVERFLOW.
39703         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39704         (Depends-on): Add EOVERFLOW.
39705         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39706         (Depends-on): Add EOVERFLOW.
39707         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39708         (Depends-on): Add EOVERFLOW.
39709         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39710         (Depends-on): Add EOVERFLOW.
39711         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39712         (Depends-on): Add EOVERFLOW.
39713
39714         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39715         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39716         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39717
39718         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39719         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39720         * modules/snprintf (Depends-on): Add EOVERFLOW.
39721
39722         * lib/poll.c (EOVERFLOW): Remove fallback.
39723         * modules/poll (Depends-on): Add EOVERFLOW.
39724
39725         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39726         * modules/getugroups (Depends-on): Add EOVERFLOW.
39727
39728         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39729         * modules/getdelim (Depends-on): Add EOVERFLOW.
39730
39731         * lib/ftell.c (EOVERFLOW): Remove fallback.
39732         * modules/ftell (Depends-on): Add EOVERFLOW.
39733
39734         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39735         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39736         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39737
39738         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39739
39740         * modules/EOVERFLOW-tests: New file.
39741         * tests/test-EOVERFLOW.c: New file.
39742
39743         * modules/EOVERFLOW: New file.
39744         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39745
39746 2008-03-30  Bruno Haible  <bruno@clisp.org>
39747
39748         Fix bug introduced on 2007-06-10.
39749         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39750         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39751
39752 2008-03-30  Bruno Haible  <bruno@clisp.org>
39753
39754         Improve freadseek's efficiency after ungetc.
39755         * lib/freadseek.c: Include freadahead.h.
39756         (freadptrinc): New function, extracted from freadseek.
39757         (freadseek): Use it in a loop. Use freadahead to determine the number
39758         of loop iterations.
39759         * modules/freadseek (Depends-on): Add freadahead.
39760         (configure.ac): Require AC_C_INLINE.
39761
39762 2008-03-30  Bruno Haible  <bruno@clisp.org>
39763
39764         * lib/freadseek.c (freadseek): Don't ignore the return value of
39765         freadptr.
39766
39767 2008-03-29  Eric Blake  <ebb9@byu.net>
39768
39769         Add hex float support.
39770         * modules/strtod (Depends-on): Add c-ctype.
39771         (Link): Mention POW_LIB.
39772         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39773         whitespace between 'e' and exponent.
39774         * tests/test-strtod.c (main): Enable hex float tests.
39775         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39776         now provides.
39777
39778         Document various strtod bugs, with some fixes.
39779         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39780         "-0x", "inf", "nan", and hex constants.
39781         * doc/posix-functions/atof.texi (atof): Likewise.
39782         * modules/stdlib (Makefile.am): Support strtod.
39783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39784         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39785         detect additional strtod bugs.
39786         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39787         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39788         bool where appropriate.  Parse 'inf' and 'nan'.
39789         * tests/test-strtod.c: New file.
39790         * modules/strtod (Depends-on): Add stdbool, stdlib.
39791         (configure.ac): Turn on module indicator.
39792         * modules/strtod-tests: New module.
39793
39794 2008-03-29  Eric Blake  <ebb9@byu.net>
39795
39796         Fix ftell on mingw.
39797         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39798         * modules/ftell-tests (Depends-on): Add binary-io.
39799         * modules/ftello-tests (Depends-on): Likewise.
39800         * tests/test-ftell.c (main): Enhance test to cover behavior after
39801         ungetc.  Enforce binary mode.
39802         * tests/test-ftello.c (main): Likewise.
39803
39804         Pass test-freadseek on cygwin.
39805         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39806         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39807         ungetc buffer.
39808
39809         * tests/test-fflush2.c (main): Fix typo.
39810
39811 2008-03-29  Bruno Haible  <bruno@clisp.org>
39812
39813         * tests/test-fflush2.c (main): Temporarily disable the contents of
39814         this test.
39815         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39816         Reported by Eric Blake.
39817
39818 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39819
39820         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39821         (GC_SHA224_DIGEST_SIZE): Add.
39822
39823         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39824         (gc_hash_digest_length): Likewise.
39825         (gc_hash_buffer): Likewise.
39826
39827 2008-03-25  Bruno Haible  <bruno@clisp.org>
39828
39829         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39830         detail which gettext release to use.
39831         Reported by Simon Josefsson.
39832
39833 2008-03-26  Jim Meyering  <meyering@redhat.com>
39834
39835         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39836         * modules/gnumakefile (clean-GNUmakefile): Also, use
39837         test ... && ... || : syntax rather than if-then ... fi.
39838
39839         gnumakefile: Don't double-quote-expand $(VPATH) value.
39840         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39841
39842 2008-03-24  Eric Blake  <ebb9@byu.net>
39843
39844         Alter GNUmakefile to install into top directory.
39845         * modules/maintainer-makefile: Split, and add dependency...
39846         * modules/gnumakefile: to this new module.
39847         * build-aux/GNUmakefile: Move...
39848         * top/GNUmakefile: ...here.
39849         * build-aux/maint.mk: Move...
39850         * top/maint.mk: ...here.
39851         * MODULES.html.sh (Support for maintaining...): Document new
39852         module.
39853
39854 2008-03-23  Bruno Haible  <bruno@clisp.org>
39855
39856         * gnulib-tool: New options --vc-files, --no-vc-files.
39857         (func_usage): Document them.
39858         (vc_files): New variable.
39859         (func_import): Consider vc_files.
39860         (func_create_testdir): Set vc_files to empty.
39861         Suggested by Jim Meyering and Karl Berry.
39862
39863 2008-03-23  Bruno Haible  <bruno@clisp.org>
39864
39865         Fix regex compilation error on HP-UX 11.
39866         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39867         * modules/regex (Files): Add m4/mbstate_t.m4.
39868         Reported by Ton Voon <ton.voon@altinity.com>.
39869
39870 2008-03-23  Bruno Haible  <bruno@clisp.org>
39871
39872         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39873
39874 2008-03-23  Eric Blake  <ebb9@byu.net>
39875             Bruno Haible  <bruno@clisp.org>
39876
39877         Install files from top/ in the destination directory.
39878         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39879         augmentation also for the files from top/.
39880         (func_import, func_create_testdir): Rewrite file names:
39881         top/filename -> filename.
39882
39883 2008-03-23  Bruno Haible  <bruno@clisp.org>
39884
39885         Tweak "gnulib --version" output.
39886         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39887
39888 2008-03-23  Bruno Haible  <bruno@clisp.org>
39889
39890         Tweak "gnulib --version" output.
39891         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39892         rather than contents of ChangeLog, when possible.
39893
39894 2008-03-21  Eric Blake  <ebb9@byu.net>
39895
39896         More --version tweaks.
39897         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39898         date of last ChangeLog entry.
39899
39900 2008-03-21  Jim Meyering  <meyering@redhat.com>
39901
39902         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39903
39904 2008-03-20  Eric Blake  <ebb9@byu.net>
39905
39906         VPATH fix.
39907         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39908
39909 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39910
39911         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39912         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39913
39914 2008-03-20  Eric Blake  <ebb9@byu.net>
39915
39916         Sync GNUmakefile with coreutils.
39917         * build-aux/GNUmakefile (have-Makefile): Rename...
39918         (_have-Makefile): ...to this, for namespace consideration.
39919         (GNUmakefile.cfg): Include, if present.
39920         (_autoreconf): Define a default.
39921         (_is-dist-target): New rule for rebuilds to pick up intra-release
39922         version.
39923         (maint-cfg.mk): Rename...
39924         (cfg.mk): ...to this.
39925
39926 2008-03-18  Jim Meyering  <meyering@redhat.com>
39927
39928         New script and module: mktempd
39929         * MODULES.html.sh (maint+release support): Add mktempd.
39930         * build-aux/mktempd: New file.
39931         * modules/mktempd: New file.
39932
39933 2008-03-15  Jim Meyering  <meyering@redhat.com>
39934
39935         Undo last change.
39936         * lib/sha1.c, lib/md5.c: 63 != ~63.
39937         Reported by Andreas Schwab.
39938
39939         sha1.c, md5.c: Hoist a redundant expression.
39940         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
39941         "ctx->buflen" only once, before calling *_process_block.
39942         * lib/md5.c (md5_process_bytes): Likewise.
39943
39944 2008-03-14  Eric Blake  <ebb9@byu.net>
39945
39946         Bump copyright year in files generated by gnulib-tool.
39947         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
39948         gnulib-tool, rather than hard-coding it.
39949
39950         Fix 'gnulib-tool --version' output to work with git.
39951         * gnulib-tool (func_gnulib_dir): New function, extracted from...
39952         (startup): ...here.
39953         (func_version): Use it to invoke git-version-gen, rather than
39954         relying on CVS keyword expansion.  Modernize wording.
39955         (cvsdatestamp, last_checkin_date, version): Kill unused
39956         variables.
39957
39958 2008-03-12  Jim Meyering  <meyering@redhat.com>
39959
39960         Recognize optional cast of the argument to free.
39961         * build-aux/useless-if-before-free: Update regexps.
39962
39963         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
39964
39965 2008-03-11  Bruno Haible  <bruno@clisp.org>
39966
39967         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
39968         by a single package.
39969         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
39970         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
39971         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
39972         Reported by Sam Steingold <sds@gnu.org>.
39973
39974 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39975
39976         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
39977         repositories.
39978
39979 2008-03-11  Bruno Haible  <bruno@clisp.org>
39980
39981         Avoid conflicts between local macro definitions.
39982         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39983         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
39984
39985 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
39986             Bruno Haible  <bruno@clisp.org>
39987
39988         Make va_copy work with some version of xlc on AIX 5.1.
39989         * lib/stdarg.in.h: New file.
39990         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
39991         On AIX, use a <stdarg.h> file substitute.
39992         * modules/stdarg (Files): Add lib/stdarg.in.h.
39993         (Depends-on): Add include_next.
39994         (Makefile.am): Build a stdarg.h substitute if requested.
39995         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
39996
39997 2008-03-10  Bruno Haible  <bruno@clisp.org>
39998
39999         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
40000         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40001         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40002
40003 2008-03-10  Bruno Haible  <bruno@clisp.org>
40004
40005         * modules/stdlib (Depends-on): Add include_next, remove
40006         absolute-header.
40007
40008 2008-03-09  Bruno Haible  <bruno@clisp.org>
40009
40010         * lib/freadahead.h (freadahead): Document more precisely.
40011         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
40012         the sum of both buffer sizes.
40013         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
40014         * NEWS: Document the change.
40015
40016 2008-03-09  Bruno Haible  <bruno@clisp.org>
40017
40018         Extend freadptr to return also the buffer size.
40019         * lib/freadptr.h (freadptr): Add sizep argument.
40020         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
40021         (freadptr): Add sizep argument. Determine buffer size like freadahead
40022         does.
40023         * tests/test-freadptr.c: Don't include freadahead.h.
40024         (main): Adapt for new calling convention of freadptr.
40025         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
40026         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
40027         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
40028         tests/test-freadptr2.sh.
40029         (Depends): Remove freadahead.
40030         (TESTS): Add test-freadptr2.sh.
40031         (check_PROGRAMS): Add test-freadptr2.
40032
40033 2008-03-09  Bruno Haible  <bruno@clisp.org>
40034
40035         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
40036         Report and solution by Simon Josefsson.
40037
40038 2008-03-06  Bruno Haible  <bruno@clisp.org>
40039
40040         Make fflush after ungetc work on BSD platforms.
40041         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
40042         * tests/test-fflush2.c: New file.
40043         * tests/test-fflush2.sh: New file.
40044         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
40045         tests/test-fflush2.c.
40046         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
40047         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
40048
40049 2008-03-06  Eric Blake  <ebb9@byu.net>
40050
40051         Likewise for ftello.
40052         * modules/ftello (Dependencies): Add extensions.
40053         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
40054
40055 2008-03-06  Bruno Haible  <bruno@clisp.org>
40056
40057         * modules/fseeko (Dependencies): Add extensions.
40058         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
40059         Needed on glibc systems.
40060
40061 2008-03-06  Bruno Haible  <bruno@clisp.org>
40062
40063         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
40064         email address.
40065         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40066
40067 2008-03-06  Bruno Haible  <bruno@clisp.org>
40068
40069         * users.txt: Add libgnupdf.
40070
40071 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40072
40073         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
40074         (Header File Substitutes, Function Substitutes,
40075         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
40076         (Build robot for gnulib): Fix typo.
40077
40078 2008-03-06  Bruno Haible  <bruno@clisp.org>
40079
40080         * doc/gnulib-tool.texi (VCS Issues): Small updates.
40081         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40082
40083 2008-03-06  Bruno Haible  <bruno@clisp.org>
40084
40085         * doc/func.texi: New file, extracted from doc/gnulib.texi.
40086         * doc/gnulib.texi: Include it.
40087
40088 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40089
40090         * modules/func (License): Change license to unlimited; there was
40091         no LGPL parts in the module anyway.
40092
40093 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40094
40095         * modules/__func__: Renamed to modules/func.
40096         * modules/__func__-tests: Renamed to modules/func-tests.
40097         * tests/test-__func__.c: Renamed to tests/test-func.c.
40098         * m4/__func__.m4: Renamed to m4/func.m4.
40099         * doc/gnulib.texi (__func__): Section renamed to func.
40100         Suggested by Eric Blake <ebb9@byu.net>.
40101
40102 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40103
40104         * doc/gnulib.texi (__func__): Use C99 terminology when talking
40105         about __func__.  Make example self-contained.  Suggested by Eric
40106         Blake <ebb9@byu.net>.
40107
40108         * tests/test-__func__.c (main): Avoid extraneous () around __func.
40109         Suggested by Eric Blake <ebb9@byu.net>.
40110
40111 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40112
40113         * modules/__func__: New file.
40114         * modules/__func__-tests: New file.
40115         * tests/test-__func__.c: New file.
40116         * m4/__func__.m4: New file.
40117         * doc/gnulib.texi (__func__): Document __func__ module.
40118
40119 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40120
40121         * modules/byteswap (License): Re-license as LGPLv2+.
40122
40123 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40124
40125         * doc/Makefile: Add pdf target.
40126
40127 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40128
40129         * modules/inline (License): Use 'unlimited', since there are only
40130         *.m4 files in this module.
40131
40132 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40133             Bruno Haible  <bruno@clisp.org>
40134
40135         Add support for HP C 7.1 on OpenVMS 8.3.
40136         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
40137
40138 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40139
40140         Update VMS specifics.
40141         * lib/getopt.c [VMS]: Remove include of unixlib.h.
40142
40143 2008-03-02  Jim Meyering  <meyering@redhat.com>
40144
40145         Remove the last dependency on the "free" module.
40146         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
40147         Reported by Bob Proulx.
40148
40149         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
40150
40151         Remove useless "if" tests before free.  Deprecate "free" module.
40152         * doc/posix-functions/free.texi: Mention that this
40153         module is no longer useful.
40154         * modules/free (Notice): Say this module is obsolete.
40155         * modules/readutmp (Depends-on): Remove free.
40156         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
40157         * lib/putenv.c (putenv): Likewise.
40158         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
40159         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
40160         * tests/test-c-strcasestr.c (main): Likewise.
40161         * tests/test-c-strstr.c (main): Likewise.
40162         * tests/test-mbscasestr1.c (main): Likewise.
40163         * tests/test-mbscasestr2.c (main): Likewise.
40164         * tests/test-mbsstr1.c (main): Likewise.
40165         * tests/test-mbsstr2.c (main): Likewise.
40166         * tests/test-memmem.c (main): Likewise.
40167         * tests/test-strcasestr.c (main): Likewise.
40168         * tests/test-striconv.c (main): Likewise.
40169         * tests/test-striconveh.c (main): Likewise.
40170         * tests/test-striconveha.c (main): Likewise.
40171         * tests/test-strstr.c (main): Likewise.
40172
40173         * build-aux/git-version-gen: Adjust a comment and the Usage string.
40174
40175         bootstrap: sync from coreutils again
40176         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
40177
40178 2008-03-01  Jim Meyering  <meyering@redhat.com>
40179
40180         bootstrap: sync from coreutils
40181         * build-aux/bootstrap (update_po_files): Copy a .po file into place
40182         also when the target doesn't exist.
40183
40184 2008-03-01  Eric Blake  <ebb9@byu.net>
40185
40186         Fix bugs in last patch.
40187         * lib/memchr2.c (memchr2): Fix typo.
40188         * tests/test-memchr2.c: Test previous bug, and don't use GNU
40189         extension.
40190         Reported by Bruce Korb.
40191
40192         New module 'memchr2'.
40193         * modules/memchr2: New file.
40194         * modules/memchr2-tests: Likewise.
40195         * lib/memchr2.h: Likewise.
40196         * lib/memchr2.c: Likewise, based on memchr.c.
40197         * tests/test-memchr2.c: New test.
40198         * MODULES.html.sh (String handling): Add memchr2.
40199
40200 2008-02-29  Bruno Haible  <bruno@clisp.org>
40201
40202         * modules/freadseek-tests: New file.
40203         * tests/test-freadseek.sh: New file.
40204         * tests/test-freadseek.c: New file.
40205
40206         New module 'freadseek'.
40207         * modules/freadseek: New file.
40208         * lib/freadseek.h: New file.
40209         * lib/freadseek.c: New file.
40210         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
40211
40212 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40213
40214         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
40215         wydawca.
40216
40217         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
40218         program_invocation_name and program_invocation_short_name are
40219         present.
40220
40221 2008-02-28  Bruno Haible  <bruno@clisp.org>
40222
40223         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
40224         * tests/test-freadptr.sh: Also test non-seekable stdin.
40225
40226 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
40227
40228         * build-aux/bootstrap (source_base, m4_base)
40229         (doc_base, tests_base): New variables.
40230         (gnulib_tool_options): Do not hardcode base directories, use
40231         the above variables instead.
40232
40233 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
40234
40235         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
40236
40237 2008-02-28  Bruno Haible  <bruno@clisp.org>
40238
40239         * modules/freadptr-tests: New file.
40240         * tests/test-freadptr.sh: New file.
40241         * tests/test-freadptr.c: New file.
40242
40243         New module 'freadptr'.
40244         * modules/freadptr: New file.
40245         * lib/freadptr.h: New file.
40246         * lib/freadptr.c: New file.
40247         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
40248
40249 2008-02-26  Karl Berry  <karl@freefriends.org>
40250
40251         Sync from Libtool:
40252         * libltdl/argz.c (argz_add, argz_count): New functions.
40253         * libltdl/argz.in.h: Declare them.
40254         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
40255
40256 2008-02-22  Bruno Haible  <bruno@clisp.org>
40257
40258         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
40259         is a pointer type.  Needed for HP-UX 10.
40260         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
40261         * doc/posix-functions/gmtime_r.texi: Likewise.
40262         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40263
40264 2008-02-24  Bruno Haible  <bruno@clisp.org>
40265
40266         * modules/environ-tests: New file.
40267         * tests/test-environ.c: New file.
40268
40269         New module 'environ'.
40270         * modules/environ: New file.
40271         * lib/unistd.in.h (environ): New declaration.
40272         * m4/environ.m4: New file.
40273         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
40274         after use.
40275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
40276         HAVE_DECL_ENVIRON.
40277         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
40278         HAVE_DECL_ENVIRON.
40279         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
40280         wrong claim that 'environ' is missing on some systems.
40281         * modules/execute (Depends-on): Add environ.
40282         * lib/execute.c (environ): Remove fallback declaration.
40283         * modules/pipe (Depends-on): Add environ.
40284         * lib/pipe.c (environ): Remove fallback declaration.
40285         * modules/setenv (Depends-on): Add environ.
40286         * lib/setenv.c (environ): Remove fallback declaration.
40287         * modules/unsetenv (Depends-on): Add environ.
40288         * lib/unsetenv.c (environ): Remove fallback declaration.
40289         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
40290         m4/environ.m4.
40291         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
40292         (gl_PREREQ_UNSETENV): Likewise.
40293
40294 2008-02-24  Bruno Haible  <bruno@clisp.org>
40295
40296         * doc/posix-functions/environ.texi: Document the MacOS X problem.
40297
40298 2008-02-20  Bob Proulx  <bob@proulx.com>
40299
40300         Enable use of older two part flavor 'git describe'.
40301         * build-aux/git-version-gen: If using the older two part flavor of
40302         git version then recreate the third part now present in the
40303         newer three part flavor of git describe.
40304
40305 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
40306
40307         * lib/fts.c (fts_build): Typo correction to comment.
40308
40309 2008-02-17  Bruno Haible  <bruno@clisp.org>
40310
40311         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
40312         generating no-op conflicts.
40313
40314 2008-02-17  Bruno Haible  <bruno@clisp.org>
40315
40316         Speed up by 10%.
40317         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
40318         result_entries, rather than an index-based loop.
40319
40320 2008-02-17  Bruno Haible  <bruno@clisp.org>
40321
40322         Speed up by 25%.
40323         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
40324         'hashcode_cached'.
40325         (entry_create): New function.
40326         (entry_hashcode): Use the cached hashcode if possible.
40327         (read_changelog_file, try_split_merged_entry): Use entry_create.
40328
40329 2008-02-17  Bruno Haible  <bruno@clisp.org>
40330
40331         Speed up from O(n^2) to O(n) for long ChangeLog files.
40332         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
40333         (read_changelog_file): Change implementation of entries_reversed list
40334         to rbtreehash.
40335         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
40336
40337 2008-02-17  Bruno Haible  <bruno@clisp.org>
40338
40339         New option --split-merged-entry.
40340         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
40341         (find_paragraph_end, try_split_merged_entry): New functions.
40342         (long_options): Add option --split-merged-entry.
40343         (usage): Document option --split-merged-entry.
40344         (main): Implement option --split-merged-entry.
40345         Reported by Eric Blake.
40346
40347 2008-02-17  Bruno Haible  <bruno@clisp.org>
40348
40349         * lib/git-merge-changelog.c: Include c-strstr.h.
40350         (main): Support the "git pull --rebase" situation.
40351         * modules/git-merge-changelog (Depends-on): Add c-strstr.
40352         Reported by Eric Blake.
40353
40354 2008-02-16  Eric Blake  <ebb9@byu.net>
40355
40356         Avoid doubling \ in common case of "c-maybe" quoting style.
40357         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
40358         eliding outer quotes.
40359         * lib/quotearg.h: Document this.
40360         * tests/test-quotearg.c (result_strings, inputs, results_g)
40361         (flag_results, locale_results): Test it by adding a new string to
40362         each test group.
40363         (compare_strings): Test new string.
40364
40365 2008-02-13  Eric Blake  <ebb9@byu.net>
40366
40367         Avoid trigraph quoting in default output.
40368         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
40369         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
40370         unless explicitly requested.
40371         * tests/test-quotearg.c (flag_results, main): Add additional tests.
40372
40373 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
40374
40375         Don't rely on signed integer overflowing to negative value.
40376         * lib/getugroups.c (getugroups): Include <limits.h>.
40377         Instead, compare against INT_MAX, and increment only if the test passes.
40378
40379 2008-02-13  Jim Meyering  <meyering@redhat.com>
40380         and Eric Blake  <ebb9@byu.net>
40381
40382         Avoid shadowing warning and compile errors on Linux.
40383         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
40384         forwarding macros on Linux.
40385         (dcgettext): Define a stub, for Linux.
40386         (results_g, main): Avoid warnings.
40387
40388 2008-02-12  Eric Blake  <ebb9@byu.net>
40389
40390         Silence warning in last patch.
40391         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
40392
40393         Quotearg part 4: add tests, fix c-maybe colon quoting.
40394         * lib/quotearg.h: Improve documentation.
40395         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
40396         escapes when adding outer quotes.  When quoting trigraphs, use
40397         valid C notation.  When quoting NUL, omit extra characters if next
40398         character is not digit.  Alter prototype.
40399         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
40400         callers.
40401         * modules/quotearg-tests: New module.
40402         * tests/test-quotearg.c: New test.
40403
40404 2008-02-07  Eric Blake  <ebb9@byu.net>
40405
40406         Quotearg part 3: add flag to control outer quote elision.
40407         * lib/quotearg.h (c_maybe_quoting_style): New style.
40408         (enum quoting_flags): Better documentation of flags.
40409         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
40410         c-maybe style.
40411         (quotearg_buffer_restyled): Handle new flag to elide outer
40412         quotes.
40413
40414         Quotearg part 2: add flag that can control NUL elision.
40415         * lib/quotearg.h (set_quoting_flags): New prototype.
40416         * lib/quotearg.c (struct quoting_options): Add flag field.
40417         (set_quoting_flags): New function.
40418         (quotearg_buffer_restyled): Add flags parameter.
40419         (quotearg_alloc_mem): Set the flag if length cannot be returned.
40420         (quotearg_n_options): Set the flag, since length cannot be
40421         returned.
40422         (quoting_options_from_style): Default flags correctly.
40423
40424         Quotearg part 1: more wrappers, restore quotearg_char state.
40425         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
40426         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
40427         (quotearg_colon_mem): New wrappers.
40428         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
40429         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
40430         functions.
40431         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
40432         (quotearg_colon_mem): New functions.
40433
40434 2008-02-11  Bruno Haible  <bruno@clisp.org>
40435
40436         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
40437         library in the current directory: it does not work with parallel make.
40438         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40439
40440 2008-02-11  Bruno Haible  <bruno@clisp.org>
40441
40442         * .gitattributes: New file.
40443
40444 2008-02-11  Jim Meyering  <meyering@redhat.com>
40445
40446         useless-if-before-free: Fix reversed exit values.
40447         * build-aux/useless-if-before-free: Use correct values
40448         for EXIT_MATCH and EXIT_NO_MATCH.
40449
40450         * build-aux/useless-if-before-free: Close stdout carefully.
40451
40452 2008-02-10  Bruno Haible  <bruno@clisp.org>
40453
40454         New module 'git-merge-changelog'.
40455         * modules/git-merge-changelog: New file.
40456         * lib/git-merge-changelog.c: New file.
40457
40458 2008-02-10  Jim Meyering  <meyering@redhat.com>
40459
40460         useless-if-before-free: New option: --list (-l).
40461
40462         useless-if-before-free: Don't exit immediately upon open failure.
40463         * build-aux/useless-if-before-free: Exit 2 for errors.
40464         Upon failure to open a file, don't exit immediately.
40465         Rather, just warn and continue with any remaining files.
40466
40467 2008-02-10  Bruno Haible  <bruno@clisp.org>
40468
40469         New abstract list operation 'node_set_value'.
40470         * lib/gl_list.h (gl_list_node_set_value): New function.
40471         (struct gl_list_implementation): New field node_set_value.
40472         * lib/gl_list.c (gl_list_node_set_value): New function.
40473         * lib/gl_array_list.c (gl_array_node_set_value): New function.
40474         (gl_array_list_implementation): Update.
40475         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
40476         (gl_carray_list_implementation): Update.
40477         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
40478         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40479         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40480         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
40481         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40482         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40483         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40484         Update.
40485         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40486         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
40487         (gl_sublist_list_implementation): Update.
40488
40489 2008-02-10  Bruno Haible  <bruno@clisp.org>
40490
40491         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
40492         Needed when ELEMENT is #defined to 'some_type *'.
40493
40494 2008-02-10  Jim Meyering  <meyering@redhat.com>
40495
40496         New script and module: useless-if-before-free
40497         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
40498         * build-aux/useless-if-before-free: New file.
40499         * modules/useless-if-before-free: New file.
40500
40501         * build-aux/gitlog-to-changelog: Use committer date, not author date.
40502
40503         xstrtol_error: Fix typo.
40504         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
40505         s/exit_failure/exit_status/.
40506
40507 2008-02-09  Jim Meyering  <meyering@redhat.com>
40508
40509         New script and module: gitlog-to-changelog
40510         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
40511         * modules/gitlog-to-changelog: New file.
40512         * build-aux/gitlog-to-changelog: New file.
40513
40514 2008-02-08  Jim Meyering  <meyering@redhat.com>
40515
40516         Avoid two "parameter unused" warnings.
40517         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
40518         Mark "st" as used.
40519
40520         Use "git COMMAND", not "git-COMMAND".
40521         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
40522         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
40523         * build-aux/git-version-gen: Use "git status", not "git-status".
40524
40525 2008-02-07  Bruno Haible  <bruno@clisp.org>
40526
40527         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
40528         Avoids a crash on Windows Vista.
40529         Reported by Adam Strzelecki <ono@java.pl> via
40530         Simon Josefsson <simon@josefsson.org>.
40531
40532 2008-02-06  Bruno Haible  <bruno@clisp.org>
40533
40534         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
40535         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
40536         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
40537         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
40538         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40539         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40540         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
40541         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
40542         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40543         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40544         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40545         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40546         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40547         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40548         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40549         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
40550         left-adjust flag.
40551         * tests/test-snprintf-posix.h (test_function): Likewise.
40552         * tests/test-sprintf-posix.h (test_function): Likewise.
40553         * tests/test-vasprintf-posix.c (test_function): Likewise.
40554         * doc/posix-functions/fprintf.texi: Update.
40555         * doc/posix-functions/printf.texi: Update.
40556         * doc/posix-functions/snprintf.texi: Update.
40557         * doc/posix-functions/sprintf.texi: Update.
40558         * doc/posix-functions/vfprintf.texi: Update.
40559         * doc/posix-functions/vprintf.texi: Update.
40560         * doc/posix-functions/vsnprintf.texi: Update.
40561         * doc/posix-functions/vsprintf.texi: Update.
40562         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40563
40564 2008-02-06  Bruno Haible  <bruno@clisp.org>
40565
40566         Fix bug introduced on 2008-01-26.
40567         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
40568
40569 2008-02-06  Bruno Haible  <bruno@clisp.org>
40570
40571         Fix bug introduced on 2007-06-10.
40572         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
40573         !NEED_PRINTF_FLAG_ZERO.
40574
40575 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
40576
40577         getloadavg: use libperfstat on AIX5
40578         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
40579
40580 2008-02-03  Bruno Haible  <bruno@clisp.org>
40581
40582         * lib/diffseq.h: Add comments about required #includes.
40583         Reported by Michael Biggs <gnulib@doubleplum.net>.
40584
40585 2008-02-01  Bruno Haible  <bruno@clisp.org>
40586
40587         * users.txt: Add gnuit.
40588
40589 2008-01-31  Bruno Haible  <bruno@clisp.org>
40590
40591         * lib/md4.c (set_uint32): Mark as inline.
40592         * lib/md5.c (set_uint32): Likewise.
40593         * lib/sha1.c (set_uint32): Likewise.
40594         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
40595         * m4/md5.m4 (gl_MD5): Likewise.
40596         * m4/sha1.m4 (gl_SHA1): Likewise.
40597
40598 2008-01-31  Jim Meyering  <meyering@redhat.com>
40599
40600         Use "sizeof VAR", rather than a literal "4".
40601         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
40602         * lib/md4.c (md4_read_ctx): Likewise.
40603         * lib/sha1.c (sha1_read_ctx): Likewise.
40604
40605 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40606
40607         * tests/test-sha1.c: New file, based on test-md5.c.
40608
40609         * modules/crypto/sha1-tests: New file.
40610
40611 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40612
40613         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
40614
40615 2008-01-31  Jim Meyering  <meyering@redhat.com>
40616
40617         Prefer "sizeof v" over the equivalent "4".
40618         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
40619         * lib/md5.c (set_uint32): Likewise.
40620         * lib/sha1.c (set_uint32): Likewise.
40621
40622 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40623
40624         * lib/sha1.c (set_uint32): Mark function as static.
40625
40626 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40627
40628         md2: clarify comments to say that alignment is not required.
40629         * lib/md2.h: Remove warning about alignment in comment.
40630         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
40631         never been required.
40632
40633 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40634
40635         md4: adapt alignment constraint fix from sha1.
40636         * lib/md4.c (set_uint32): New function, from sha1.c
40637         (md4_read_ctx): Use it.
40638         (md4_finish_ctx): Doc fix.
40639         * lib/md4.h: Doc fix.
40640
40641 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40642
40643         md5: adapt alignment constraint fix from sha1.
40644         * lib/md5.c (set_uint32): New function, from sha1.c
40645         (md5_read_ctx): Use it.
40646         (md5_finish_ctx): Doc fix.
40647         * lib/md5.h: Doc fix.
40648
40649 2008-01-30  Peter Palfrader  <weasel@debian.org>
40650
40651         sha1: remove the result buffer alignment constraint
40652         * lib/sha1.c (set_uint32): New function.
40653         (sha1_read_ctx): Rewrite to remove the result buffer alignment
40654         constraint.
40655         (sha1_finish_ctx): Remove comment warning about alignment constraint.
40656         * lib/sha1.h: Likewise.
40657
40658 2008-01-30  Andreas Schwab  <schwab@suse.de>
40659             Bruno Haible  <bruno@clisp.org>
40660
40661         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
40662         correct definition of LDBL_MIN_EXP.
40663
40664 2008-01-30  Karl Berry  <karl@gnu.org>
40665
40666         * config/srclist-update: try to preserve x bit on updates.
40667         * config/srclistvars.sh: update for karl.
40668
40669 2008-01-29  Jim Meyering  <meyering@redhat.com>
40670
40671         vasnprintf.c: Avoid warning about unused label
40672         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
40673         "overflow" label definition and associated code with the
40674         same cpp condition that guards the sole use of that label.
40675
40676 2008-01-26  Bruno Haible  <bruno@clisp.org>
40677
40678         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
40679         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
40680         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
40681         * lib/isnanl-nolibm.h (isnanl): Likewise.
40682         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40683
40684 2008-01-26  Bruno Haible  <bruno@clisp.org>
40685
40686         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
40687         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
40688
40689 2008-01-26  Bruno Haible  <bruno@clisp.org>
40690
40691         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40692         GCC >= 4.0 built-in.
40693         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40694
40695 2008-01-26  Bruno Haible  <bruno@clisp.org>
40696
40697         Rename isnan, applicable to 'double' only, to isnand.
40698         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40699         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40700         (configure.ac): Update.
40701         (Include): Replace "isnan.h" with "isnand.h".
40702         * m4/isnand.m4: Renamed from m4/isnan.m4.
40703         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40704         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40705         instead of isnan.c.
40706         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40707         instead of HAVE_ISNAN_IN_LIBC.
40708         (isnand): Renamed from isnan.
40709         * lib/isnand.c: New file.
40710         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40711         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40712         (Makefile.am): Update.
40713         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40714         Include isnand.h instead of isnan.h.
40715         (main): Test isnand instead of isnan.
40716         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40717         isnan-nolibm.
40718         * modules/frexp (Depends-on): Likewise.
40719         * modules/frexp-tests (Depends-on): Likewise.
40720         * modules/frexp-nolibm (Depends-on): Likewise.
40721         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40722         * modules/isfinite (Depends-on): Likewise.
40723         * modules/round-tests (Depends-on): Likewise.
40724         * modules/signbit (Depends-on): Likewise.
40725         * modules/signbit-tests (Depends-on): Likewise.
40726         * modules/snprintf-posix (Depends-on): Likewise.
40727         * modules/sprintf-posix (Depends-on): Likewise.
40728         * modules/trunc-tests (Depends-on): Likewise.
40729         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40730         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40731         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40732         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40733         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40734         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40735         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40736         * modules/vasnprintf-posix (Depends-on): Likewise.
40737         * modules/vasprintf-posix (Depends-on): Likewise.
40738         * modules/vfprintf-posix (Depends-on): Likewise.
40739         * modules/vsnprintf-posix (Depends-on): Likewise.
40740         * modules/vsprintf-posix (Depends-on): Likewise.
40741         * lib/frexp.c: Include isnand.h instead of isnan.h.
40742         (ISNAN): Set to isnand instead of isnan.
40743         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40744         (gl_isfinited): Use isnand instead of isnan.
40745         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40746         (gl_signbitd): Use isnand instead of isnan.
40747         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40748         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40749         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40750         (main): Use isnand instead of isnan.
40751         * tests/test-round1.c: Include isnand.h.
40752         (main): Use isnand instead of isnan.
40753         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40754         (ISNAN): Set to isnand instead of isnan.
40755         * tests/test-trunc1.c: Include isnand.h.
40756         (main): Use isnand instead of isnan.
40757         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40758         (equal): Use isnand instead of isnan.
40759         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40760         isnand-nolibm.
40761         * NEWS: Mention the change.
40762
40763 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40764             Bruno Haible  <bruno@clisp.org>
40765
40766         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40767         the GCC builtins for signbits are present and set
40768         REPLACE_SIGNBIT_USING_GCC if so.
40769         * lib/math.in.h (signbit): Define using GCC builtins if
40770         REPLACE_SIGNBIT_USING_GCC is set.
40771         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40772         REPLACE_SIGNBIT_USING_GCC.
40773         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40774
40775 2008-01-25  Jim Meyering  <meyering@redhat.com>
40776
40777         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40778         * lib/poll.c: Include <config.h>, not "config.h".
40779         * tests/test-getaddrinfo.c: Likewise.
40780
40781 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40782
40783         * modules/sockets-tests: New file.
40784
40785 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40786
40787         * modules/sockets: New module, can be used to call WSA_Startup and
40788         WSA_Cleanup when needed.
40789
40790         * lib/sockets.h, lib/sockets.c: New files.
40791
40792         * m4/sockets.m4: New file.
40793
40794         * tests/test-sockets.c: New file.
40795
40796 2008-01-19  Bruno Haible  <bruno@clisp.org>
40797
40798         * doc/posix-headers: Renamed from doc/headers.
40799         * doc/posix-functions: Renamed from doc/functions.
40800         * doc/gnulib.texi: Update.
40801
40802 2008-01-19  Bruno Haible  <bruno@clisp.org>
40803
40804         * doc/glibc-functions/strcasestr.texi: Include contents of
40805         doc/functions/strcasestr.texi, fixing the list of platforms.
40806         * doc/functions/strcasestr.texi: Remove file.
40807
40808 2008-01-19  Bruno Haible  <bruno@clisp.org>
40809
40810         * doc/glibc-functions/memmem.texi: Include contents of
40811         doc/functions/memmem.texi.
40812         * doc/functions/memmem.texi: Remove file.
40813
40814 2008-01-18  Bruno Haible  <bruno@clisp.org>
40815
40816         * doc/glibc-functions/*.texi: New files.
40817         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40818         to use the new files.
40819
40820 2008-01-17  Bruno Haible  <bruno@clisp.org>
40821
40822         * tests/test-gethostname.c (main): Fix printf statement.
40823
40824 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40825
40826         * modules/gethostname-tests: New file.
40827
40828         * tests/test-gethostname.c: New file.
40829
40830 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40831
40832         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40833         used by the UNAME case.  Reported by Bruno Haible
40834         <bruno@clisp.org>.
40835
40836 2008-01-17  Eric Blake  <ebb9@byu.net>
40837
40838         Convert c-strcasestr to be more efficient.
40839         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40840         (Depends-on): Add c-strcase, remove malloca, strnlen.
40841         * tests/test-c-strcasestr.c (main): Enhance test.
40842         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40843
40844 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40845
40846         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40847         Use it in creating po/Makevars.
40848
40849 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40850
40851         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40852         Applications that requires it should initialize libgcrypt
40853         manually.
40854
40855 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40856
40857         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40858
40859 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40860
40861         Fix problem with getdate on mingw32 reported by Simon Josefsson
40862         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40863         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40864         tzname", when deciding whether to declare tzname.
40865         * lib/strftime.c (tzname): Likewise.
40866
40867 2008-01-15  Bruno Haible  <bruno@clisp.org>
40868
40869         Work around a MacOS X 10.5 bug in frexpl().
40870         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40871         * doc/functions/frexpl.texi: Document the bug.
40872         Reported by Elias Pipping <pipping@gentoo.org>.
40873
40874 2008-01-14  Eric Blake  <ebb9@byu.net>
40875
40876         Touch up previous patch.
40877         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40878         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40879
40880         Convert strcasestr module to use Two-Way algorithm.
40881         * modules/strcasestr-simple: New module, based on the old
40882         strcasestr, but with Two-Way rather than KMP.
40883         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40884         * lib/string.in.h (rpl_strcasestr): Declare.
40885         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40886         performance.
40887         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40888         * modules/string (Makefile.am): Support strcasestr.
40889         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40890         * modules/strcasestr-tests (Depends-on): Check for alarm.
40891         * tests/test-strcasestr.c: Augment test.
40892         * lib/str-two-way.h: Clean up stray macro.
40893         * NEWS: Document new module.
40894         * MODULES.html.sh (string handling): Likewise.
40895         * doc/functions/strcasestr.texi: New file.
40896         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40897         here, since it is not a POSIX function.
40898
40899 2008-01-14  Colin Watson  <cjwatson@debian.org>
40900             Bruno Haible  <bruno@clisp.org>
40901
40902         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40903         works fine; if not, set REPLACE_STRSIGNAL.
40904         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40905         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40906         REPLACE_STRSIGNAL.
40907         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40908         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40909         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40910
40911 2008-01-14  Bruno Haible  <bruno@clisp.org>
40912
40913         * modules/strsignal (Include): Change to <string.h>.
40914
40915 2008-01-14  Colin Watson  <cjwatson@debian.org>
40916
40917         * modules/argp (Notice): Add a notice recommending to change
40918         XGETTEXT_OPTIONS.
40919         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40920
40921 2008-01-13  Colin Watson  <cjwatson@debian.org>
40922
40923         * modules/strsignal-tests: New file.
40924         * tests/test-strsignal.c: New file.
40925
40926         * lib/strsignal.c: New file, from glibc with modifications.
40927         * lib/siglist.h: New file, from glibc with modifications.
40928         * lib/string.in.h (strsignal): New declaration.
40929         * m4/strsignal.m4: New file.
40930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40931         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
40932         * modules/strsignal: New file.
40933         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
40934         HAVE_DECL_STRSIGNAL.
40935
40936 2008-01-13  Bruno Haible  <bruno@clisp.org>
40937
40938         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
40939         locale encoding is not ASCII. Needed for OpenBSD 4.0.
40940         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40941         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40942
40943 2008-01-13  Bruno Haible  <bruno@clisp.org>
40944
40945         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
40946         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
40947         * lib/argp.h (__attribute__): Likewise.
40948         * lib/c-stack.c (__attribute__): Likewise.
40949         * lib/error.h (__attribute__): Likewise.
40950         * lib/fts.c (__attribute__): Likewise.
40951         * lib/openat.h (__attribute__): Likewise.
40952         * lib/stdio.in.h (__attribute__): Likewise.
40953         * lib/string.in.h (__attribute__): Likewise.
40954         * lib/utimens.c (__attribute__): Likewise.
40955         * lib/vasnprintf.h (__attribute__): Likewise.
40956         * lib/xalloc.h (__attribute__): Likewise.
40957         * lib/xprintf.h (__attribute__): Likewise.
40958         * lib/xstrtol.h (__attribute__): Likewise.
40959         * lib/xvasprintf.h (__attribute__): Likewise.
40960
40961 2008-01-12  Bruno Haible  <bruno@clisp.org>
40962
40963         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
40964         * doc/glibc-headers/a.out.texi: New file.
40965         * doc/glibc-headers/aliases.texi: New file.
40966         * doc/glibc-headers/alloca.texi: New file.
40967         * doc/glibc-headers/ar.texi: New file.
40968         * doc/glibc-headers/argp.texi: New file.
40969         * doc/glibc-headers/argz.texi: New file.
40970         * doc/glibc-headers/byteswap.texi: New file.
40971         * doc/glibc-headers/crypt.texi: New file.
40972         * doc/glibc-headers/endian.texi: New file.
40973         * doc/glibc-headers/envz.texi: New file.
40974         * doc/glibc-headers/err.texi: New file.
40975         * doc/glibc-headers/error.texi: New file.
40976         * doc/glibc-headers/execinfo.texi: New file.
40977         * doc/glibc-headers/fpu_control.texi: New file.
40978         * doc/glibc-headers/fstab.texi: New file.
40979         * doc/glibc-headers/fts.texi: New file.
40980         * doc/glibc-headers/getopt.texi: New file.
40981         * doc/glibc-headers/ieee754.texi: New file.
40982         * doc/glibc-headers/ifaddrs.texi: New file.
40983         * doc/glibc-headers/libintl.texi: New file.
40984         * doc/glibc-headers/mcheck.texi: New file.
40985         * doc/glibc-headers/mntent.texi: New file.
40986         * doc/glibc-headers/obstack.texi: New file.
40987         * doc/glibc-headers/paths.texi: New file.
40988         * doc/glibc-headers/printf.texi: New file.
40989         * doc/glibc-headers/pty.texi: New file.
40990         * doc/glibc-headers/resolv.texi: New file.
40991         * doc/glibc-headers/shadow.texi: New file.
40992         * doc/glibc-headers/sysexits.texi: New file.
40993         * doc/glibc-headers/ttyent.texi: New file.
40994
40995 2008-01-12  Jim Meyering  <meyering@redhat.com>
40996
40997         announce-gen: emit Gnulib's git-based version string.
40998         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
40999         New option --gnulib-version=V, where V is expected to be
41000         the output of running git describe in the gnulib directory.
41001         (get_tool_versions): Request feedback on xdelta.  I suspect it's
41002         not useful, and plan to stop publishing an xdelta file with each
41003         coreutils release.
41004
41005         * build-aux/announce-gen: Also check for lzma-compressed files.
41006
41007 2008-01-11  Bruno Haible  <bruno@clisp.org>
41008
41009         * tests/test-memmem.c (main): Increase maximum allowed time.
41010         * tests/test-strstr.c (main): Likewise.
41011
41012 2008-01-11  Bruno Haible  <bruno@clisp.org>
41013
41014         * doc/functions/memmem.texi: Add more precisions about platforms.
41015         * doc/functions/strstr.texi: Likewise.
41016
41017 2008-01-10  Eric Blake  <ebb9@byu.net>
41018
41019         * m4/strstr.m4: Delete cruft from copy-n-paste.
41020         Reported by Bruno Haible.
41021
41022 2008-01-10  Bruno Haible  <bruno@clisp.org>
41023
41024         Make c-strstr rely on strstr.
41025         * lib/c-strstr.c: Don't include str-kmp.h.
41026         (c_strstr): Define in terms of strstr.
41027         * modules/c-strstr (Files): Remove lib/str-kmp.h.
41028         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
41029
41030 2008-01-10  Bruno Haible  <bruno@clisp.org>
41031
41032         * doc/gnulib.texi (String Functions in C Locale): New section.
41033         * doc/c-ctype.texi: New file.
41034         * doc/c-strcase.texi: New file.
41035         * doc/c-strcaseeq.texi: New file.
41036         * doc/c-strcasestr.texi: New file.
41037         * doc/c-strstr.texi: New file.
41038         * doc/c-strtod.texi: New file.
41039         * doc/c-strtold.texi: New file.
41040
41041 2008-01-10  Eric Blake  <ebb9@byu.net>
41042
41043         * lib/relocatable.h: Fix a comment.
41044
41045 2008-01-10  Eric Blake  <ebb9@byu.net>
41046
41047         Share two-way algorithm.
41048         * lib/str-two-way.h: New file, merged from...
41049         * lib/memmem.c: ...here...
41050         * lib/strstr.c: ...and here.
41051         * modules/memmem (Files): Use it.
41052         * modules/strstr (Files): Likewise.
41053
41054         Avoid quadratic strstr implementations.
41055         * lib/strstr.c: New file.
41056         * m4/strstr.m4: Likewise.
41057         * modules/strstr: Likewise.
41058         * modules/strstr-tests: Likewise.
41059         * tests/test-strstr.c: Likewise.
41060         * lib/string.in.h (rpl_strstr): Declare.
41061         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
41062         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
41063         * modules/string (Makefile.am): Likewise.
41064         * MODULES.html.sh (string handling): Mention new module.
41065         * doc/functions/strstr.texi (strstr): Document the bug.
41066
41067 2008-01-10  Bruno Haible  <bruno@clisp.org>
41068
41069         * lib/relocatable.h (relocate): State whether result is freshly
41070         allocated or not.
41071         * lib/relocatable.c (relocate): Return a freshly allocated string
41072         instead of a pointer to a privately held string.
41073         Reported by Sylvain Beucler <beuc@gnu.org>.
41074
41075 2008-01-10  Colin Watson  <cjwatson@debian.org>
41076
41077         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
41078         s/S_ISNLK/S_ISLNK/.
41079
41080 2008-01-09  Bruno Haible  <bruno@clisp.org>
41081
41082         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
41083         and other files.
41084         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
41085         if it's only a guess.
41086         * modules/memmem: Simplify by depending on memmem-simple.
41087
41088 2008-01-09  Bruno Haible  <bruno@clisp.org>
41089
41090         Work around OpenBSD 4.0 tdelete() bug.
41091         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
41092         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
41093         macros and don't redefine the enum values.
41094         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
41095         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
41096         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
41097
41098 2008-01-09  Bruno Haible  <bruno@clisp.org>
41099
41100         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
41101         (main): Don't perform the tests if setlocale did not install a UTF-8
41102         locale. Needed on OpenBSD 4.0.
41103         * modules/wcwidth-tests (Depends-on): Add localcharset.
41104
41105 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
41106
41107         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
41108         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
41109         * NEWS: announce this.
41110         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
41111
41112 2008-01-09  Simon Josefsson  <simon@josefsson.org>
41113         and Eric Blake  <ebb9@byu.net>
41114
41115         Add memmem-simple module.
41116         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
41117         (gl_FUNC_MEMMEM): Separate performance from presence checks.
41118         * modules/memmem-simple: New file.
41119         * modules/memmem (Description): Tweak.
41120         * MODULES.html.sh (string handling): Mention new module.
41121         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
41122         addressed by memmem-simple.
41123         * NEWS: Document the difference.
41124
41125 2008-01-09  Eric Blake  <ebb9@byu.net>
41126
41127         Give gcc some memmem optimization hints.
41128         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
41129         (strcasestr): Declare as pure.
41130         * modules/memmem (Maintainer): Claim my implementation.
41131
41132 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41133
41134         Support AIX 6.1 and higher.
41135         * build-aux/config.libpath: Likewise.
41136         * build-aux/config.rpath: Likewise.
41137
41138 2008-01-08  Jim Meyering  <meyering@redhat.com>
41139             Bruno Haible  <bruno@clisp.org>
41140
41141         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
41142         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
41143         Reported by Peter Fales in
41144         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
41145
41146 2008-01-08  Bruno Haible  <bruno@clisp.org>
41147
41148         * modules/unictype/category-of (Depends-on): Add
41149         unictype/category-none.
41150         * modules/unictype/category-and-tests (Depends-on): Add
41151         unictype/category-{L,N,Lu,Nd}.
41152         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
41153         * modules/unictype/category-or-tests (Depends-on): Add
41154         unictype/category-{L,N}.
41155         * modules/unictype/category-name-tests (Depends-on): Add
41156         unictype/category-{Z,Nl}.
41157         Reported by Simon Josefsson.
41158
41159 2008-01-08  Bruno Haible  <bruno@clisp.org>
41160
41161         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
41162         convention better.
41163         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
41164         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
41165         Reported by Peter Miller <millerp@canb.auug.org.au>.
41166
41167 2008-01-08  Eric Blake  <ebb9@byu.net>
41168
41169         Rewrite memmem to guarantee linear complexity without malloc.
41170         * lib/memmem.c (memmem): Use Two-Way rather than
41171         Knuth-Morris-Pratt, to allow O(1) space usage.
41172         (critical_factorization, two_way_short_needle)
41173         (two_way_long_needle): New functions.
41174         (knuth_morris_pratt): Delete.
41175         * modules/memmem (Depends-on): No longer need malloca or stdbool.
41176         Add stdint.
41177         * tests/test-memmem.c (main): Add tests for periodic needle and
41178         sublinear performance.
41179         * doc/functions/memmem.texi (memmem): Document other deficiencies
41180         in cygwin and older glibc.
41181
41182 2008-01-08  Bruno Haible  <bruno@clisp.org>
41183
41184         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
41185         augmentation.
41186
41187 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
41188
41189         Add a configure time option: --disable-acl.
41190         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
41191         AC_ARG_ENABLE(acl).
41192
41193 2008-01-06  Simon Josefsson  <simon@josefsson.org>
41194
41195         * tests/test-localename.c: Don't include obsolete "setenv.h".
41196
41197         * modules/localename-tests (Depends-on): Need unsetenv.
41198
41199 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41200
41201         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
41202
41203 2008-01-06  Colin Watson  <cjwatson@debian.org>
41204
41205         * users.txt: Add man-db.
41206
41207 2008-01-07  Bruno Haible  <bruno@clisp.org>
41208
41209         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
41210         previous section name.
41211
41212 2008-01-07  Bruno Haible  <bruno@clisp.org>
41213
41214         * lib/progname.c (set_program_name): Don't strip off a leading
41215         "lt-" prefix outside a .libs directory.
41216         Suggested by Paul Eggert.
41217
41218 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
41219             Bruno Haible  <bruno@clisp.org>
41220
41221         Improve memory cleanup in 'relocatable' module.
41222         * lib/relocatable.h (compute_curr_prefix): Change return type to
41223         'char *'.
41224         * lib/relocatable.c (compute_curr_prefix): Change return type to
41225         'char *'. Free curr_installdir after use.
41226         (relocate): Free curr_prefix_better after use.
41227         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
41228
41229 2008-01-01  Bruno Haible  <bruno@clisp.org>
41230
41231         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
41232         failure on older glibc systems.
41233         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41234
41235 2008-01-05  Eric Blake  <ebb9@byu.net>
41236
41237         Avoid quadratic system memmem.
41238         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
41239         Reported by Ralf Wildenhues.
41240
41241         Fix memmem test for mingw.
41242         * modules/memmem-tests (configure.ac): Check for alarm.
41243         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
41244         it.
41245         * doc/functions/memmem.texi: New file.
41246         * doc/gnulib.texi (Function Substitutes): Add memmem.
41247         Reported by Bruno Haible.
41248
41249 2008-01-04  Bruno Haible  <bruno@clisp.org>
41250
41251         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
41252         Require gl_HEADER_STRINGS_H_DEFAULTS, not
41253         gl_HEADER_STRING_H_DEFAULTS.
41254
41255 2008-01-04  Eric Blake  <ebb9@byu.net>
41256
41257         Shorten duration of memmem test.
41258         * tests/test-memmem.c (main): Use alarm to declare failure if test
41259         is taking too long.
41260         Reported by Ralf Wildenhues.
41261
41262 2007-12-21  Simon Josefsson  <simon@josefsson.org>
41263
41264         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
41265         string, needed by strerror.
41266
41267 2008-01-03  Colin Watson  <cjwatson@debian.org>
41268             Bruno Haible  <bruno@clisp.org>
41269
41270         * doc/gnulib-tool.texi (Localization): New section.
41271
41272 2008-01-02  Bruno Haible  <bruno@clisp.org>
41273
41274         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
41275         variables to 'unsigned char *' type.
41276         Reported by Paul Eggert.
41277
41278 2008-01-02  Jim Meyering  <jim@meyering.net>
41279
41280         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
41281
41282 2007-12-31  Jim Meyering  <jim@meyering.net>
41283
41284         Avoid use of private FTS type name.
41285         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
41286
41287 2007-12-30  Karl Berry  <karl@gnu.org>
41288
41289         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
41290         work around defect in Texinfo and/or the standalone Info browser.
41291
41292 2007-12-30  Bruno Haible  <bruno@clisp.org>
41293
41294         Unify 5 copies of the KMP code.
41295         * lib/str-kmp.h: New file.
41296         * lib/c-strcasestr.c: Include str-kmp.h.
41297         (knuth_morris_pratt): Remove function.
41298         (c_strcasestr): Update.
41299         * lib/c-strstr.c: Include str-kmp.h.
41300         (knuth_morris_pratt): Remove function.
41301         (c_strcasestr): Update.
41302         * lib/mbscasestr.c: Include str-kmp.h.
41303         (knuth_morris_pratt_unibyte): Remove function.
41304         * lib/mbsstr.c: Include str-kmp.h.
41305         (knuth_morris_pratt_unibyte): Remove function.
41306         * lib/strcasestr.c: Include str-kmp.h.
41307         (knuth_morris_pratt): Remove function.
41308         (strcasestr): Update.
41309         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
41310         * modules/c-strstr (Files): Likewise.
41311         * modules/mbscasestr (Files): Likewise.
41312         * modules/mbsstr (Files): Likewise.
41313         * modules/strcasestr (Files): Likewise.
41314         Suggested by Paul Eggert.
41315
41316 2007-12-30  Bruno Haible  <bruno@clisp.org>
41317
41318         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
41319         defined.
41320
41321 2007-12-30  Bruno Haible  <bruno@clisp.org>
41322
41323         * lib/xmalloca.h: Include xalloc.h.
41324         (xnmalloca): New macro.
41325
41326 2007-12-30  Bruno Haible  <bruno@clisp.org>
41327
41328         * lib/malloca.h (nmalloca): New macro.
41329         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
41330         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
41331         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
41332         knuth_morris_pratt_multibyte): Likewise.
41333         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
41334         knuth_morris_pratt_multibyte): Likewise.
41335         * lib/memmem.c (knuth_morris_pratt): Likewise.
41336         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
41337
41338 2007-12-25  Bruno Haible  <bruno@clisp.org>
41339
41340         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
41341         * lib/glob.c: Don't include openat.h.
41342         (link_exists2_p): Add back the code that deals with the
41343         !GLOB_ALTDIRFUNC case.
41344         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
41345         let it do the filename concatenation.
41346         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
41347         * modules/glob (Depends-on): Remove openat.
41348
41349 2007-12-31  Bruno Haible  <bruno@clisp.org>
41350
41351         * modules/dirfd (License): Change to LGPLv2+.
41352         Approved by Jim Meyering.
41353
41354 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41355
41356         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
41357         when multiplying M by sizeof (size_t).
41358
41359 2007-12-10  Martin Lambers  <marlam@marlam.de>
41360
41361         Override getpagesize on mingw.
41362         * lib/getpagesize.c: New file.
41363         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
41364         * modules/getpagesize (Files): Add lib/getpagesize.c.
41365         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
41366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41367         REPLACE_GETPAGESIZE.
41368         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
41369
41370 2007-12-25  Bruno Haible  <bruno@clisp.org>
41371
41372         * modules/localcharset (Notice): New field.
41373         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
41374         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
41375
41376 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41377             Bruno Haible  <bruno@clisp.org>
41378
41379         Avoid using the syntax symbol() in formatted documentation.
41380         * MODULES.html.sh (func_module): When replacing symbol() with a
41381         hyperlink, remove the parentheses. Show an error if some remain.
41382         Recognize and render the '...' syntax.
41383         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
41384         Rework. Add paragraph about GCC's inlining.
41385         * doc/alloca.texi: Likewise.
41386         * doc/error.texi: Remove parentheses from symbol reference.
41387         * doc/gnulib-intro.texi: Likewise.
41388         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
41389         * modules/fnmatch (Description): Reword to say "the ... function".
41390         * modules/full-read (Description): Likewise.
41391         * modules/full-write (Description): Likewise.
41392         * modules/safe-read (Description): Likewise.
41393         * modules/safe-write (Description): Likewise.
41394         * modules/strchrnul (Description): Likewise.
41395         * modules/trim (Description): Likewise.
41396         * modules/error (Description): Remove parentheses from symbol
41397         references.
41398         * modules/verror (Description): Likewise.
41399         Reported by Karl Berry.
41400
41401 2007-12-25  Bruno Haible  <bruno@clisp.org>
41402
41403         Fixup after 2007-10-16 commit.
41404         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
41405
41406 2007-12-24  Bruno Haible  <bruno@clisp.org>
41407
41408         Make --enable-relocatable work with DESTDIR.
41409         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
41410         to compute installdir from destprog.
41411         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
41412         also set the RELOC_DESTDIR variable.
41413         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
41414
41415 2007-12-24  Bruno Haible  <bruno@clisp.org>
41416
41417         Fix link error due to xalloc_die().
41418         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
41419         of xreadlink.
41420         * lib/relocwrapper.c: Update comments.
41421         * build-aux/install-reloc: Remove xreadlink.c from file list.
41422         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
41423         xreadlink.c.
41424         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
41425
41426 2007-12-24  Bruno Haible  <bruno@clisp.org>
41427
41428         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
41429         * lib/setenv.h: Remove file.
41430         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
41431         lib/setenv.h.
41432         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
41433         (Depends-on): Add stdlib.
41434         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
41435         gl_FUNC_UNSETENV.
41436         (Include): Replace setenv.h with <stdlib.h>.
41437         * modules/unsetenv: New file.
41438         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
41439         * lib/unsetenv.c: Include <stdlib.h> first.
41440         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
41441         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
41442         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
41443         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
41444         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
41445         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41446         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
41447         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41448         * doc/functions/unsetenv.texi: Update.
41449         * modules/xsetenv (Depends-on): Add unsetenv.
41450         * modules/getdate (Depends-on): Likewise.
41451         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
41452         * lib/xsetenv.c: Don't include setenv.h.
41453         * lib/getdate.y: Likewise.
41454         * lib/relocwrapper.c: Likewise.
41455         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
41456         (Depends-on): Add stdlib.
41457         * NEWS: Mention the changes.
41458         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
41459
41460 2007-12-23  Bruno Haible  <bruno@clisp.org>
41461
41462         * lib/memmem.c (memmem): Use lowercase variable names. Tab
41463         indentation.
41464
41465 2007-12-23  Bruno Haible  <bruno@clisp.org>
41466
41467         * lib/c-strcasestr.c: Add more comments.
41468         * lib/c-strstr.c: Likewise.
41469         * lib/mbscasestr.c: Likewise.
41470         * lib/mbsstr.c: Likewise.
41471         * lib/strcasestr.c: Likewise.
41472         * lib/memmem.c: Likewise.
41473
41474 2007-12-23  Bruno Haible  <bruno@clisp.org>
41475
41476         * tests/test-memmem.c: Include <string.h> first.
41477
41478 2007-12-22  Bruno Haible  <bruno@clisp.org>
41479
41480         * gnulib-tool (func_create_testdir): Change $auxdir while generating
41481         the contents of $testsbase.
41482         Reported by Ralf Wildenhues.
41483
41484 2007-12-22  Bruno Haible  <bruno@clisp.org>
41485
41486         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
41487         two variables local_ldadd_before, local_ldadd_last.
41488
41489 2007-12-20  Eric Blake  <ebb9@byu.net>
41490
41491         Work around circular library issue when cross-compiling.
41492         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
41493         that progname.o does not need to pull in rpl_memcmp.
41494
41495 2007-12-19  Eric Blake  <ebb9@byu.net>
41496
41497         Fix memmem to avoid O(n^2) worst-case complexity.
41498         * lib/memmem.c (knuth_morris_pratt): New function.
41499         (memmem): Use it if first few naive iterations fail.
41500         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
41501         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
41502         * modules/memchr (License): Likewise.
41503         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
41504         malloca.
41505         * tests/test-memmem.c: Rewrite, borrowing ideas from
41506         test-mbsstr1.c; the old version wouldn't even compile!
41507         * modules/memmem-tests: New file.
41508         * lib/string.in.h (rpl_memmem): Add declaration.
41509         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
41510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
41511         REPLACE_MEMMEM.
41512
41513 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41514
41515         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
41516         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
41517         before any system include files, and undef after them all.  This
41518         should fix a problem on VMS reported by John E. Malmberg in
41519         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
41520
41521 2007-12-17  Eric Blake  <ebb9@byu.net>
41522
41523         Revert addition of verify, for BSD/OS.
41524         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
41525         can't handle large files, for the sake of obsolete platforms.
41526         * modules/fseeko (Depends-on): Remove verify.
41527         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
41528         * doc/functions/ftello.texi (ftello): Likewise.
41529         * doc/functions/fgetpos.texi (fgetpos): Likewise.
41530         Reported by Larry Jones.
41531
41532 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
41533
41534         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
41535         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
41536
41537 2007-12-17  Jim Meyering  <meyering@redhat.com>
41538
41539         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
41540         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
41541         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
41542         * modules/getcwd (Depends-on): Add openat.
41543         Reported by Petr Salinger.
41544
41545 2007-12-17  Bruno Haible  <bruno@clisp.org>
41546
41547         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
41548         avoid a segmentation fault of the configure test on x86_64 systems.
41549
41550 2007-12-15  Jim Meyering  <meyering@redhat.com>
41551
41552         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
41553
41554 2007-12-13  Eric Blake  <ebb9@byu.net>
41555
41556         Another fseek test.
41557         * tests/test-fseek.c (main): Also test ungetc handling.
41558         * tests/test-fseeko.c (main): Likewise.
41559         * modules/fseeko (Depends-on): Add verify.
41560         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
41561         large.
41562         Reported by Larry Jones.
41563
41564         Fix fseeko on mingw.
41565         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
41566         seek.
41567
41568         Beef up fseek tests.
41569         * tests/test-fseek.c (main): Also test eof handling.
41570         * tests/test-fseeko.c (main): Likewise.
41571         Reported by Larry Jones.
41572
41573 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
41574
41575         Fix fseeko on BSD-based platforms.
41576         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
41577         successful seek.
41578
41579 2007-12-12  Eric Blake  <ebb9@byu.net>
41580
41581         Allow circular dependency of separate libtests.a
41582         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
41583         when use_libtests.
41584
41585 2007-12-11  Eric Blake  <ebb9@byu.net>
41586
41587         Fix bug with -0.0L in previous patch.
41588         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
41589         * tests/test-isnan.c (main): Also test on zeroes.
41590         * tests/test-isnanf.c (main): Likewise.
41591         * tests/test-isnanl.h (main): Likewise.
41592
41593         Detect pseudo-denormals on x86 even when cross-compiling.
41594         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
41595         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
41596         invalid bit patterns that happen to satisfy ==.
41597
41598         Avoid link failures with separate libtests.a.
41599         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
41600         last, to satisfy circular dependencies.
41601
41602 2007-12-11  Eric Blake  <ebb9@byu.net>
41603         and Bruno Haible  <bruno@clisp.org>
41604
41605         Fix OpenBSD 4.0 <float.h> handling of long double.
41606         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
41607         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
41608         * doc/headers/float.texi (float.h): Document OpenBSD bug.
41609
41610 2007-12-11  Jim Meyering  <meyering@redhat.com>
41611
41612         * users.txt: Add libvirt.
41613
41614         Support versions of autoconf prior to 2.59c.
41615         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
41616         if it is not already defined.
41617
41618 2007-12-09  Bruno Haible  <bruno@clisp.org>
41619
41620         Let 'gnulib-tool --import' collect sources needed for the tests in
41621         tests/ rather than in lib/.
41622         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
41623         argument. If true, add rules to generate libtests.a, and put libtests.a
41624         into $(LDADD). Consider source files in subdirectories and set
41625         uses_subdirs.
41626         (func_emit_initmacro_start, func_emit_initmacro_end,
41627         func_emit_initmacro_done): Pass all arguments explicitly.
41628         (func_import): Determine two module lists main_modules,
41629         testsrelated_modules. Determine use_libtests. Determine two variables
41630         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
41631         instead of just sed_transform_lib_file. Determine two variables
41632         main_files and testsrelated_files. Compute 'files' as the union of
41633         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
41634         func_add_or_update. In the generated gnulib-comp.m4, collect the
41635         object files for tests/ in different variables than those for lib/.
41636         Substitute LIBTESTS_LIBDEPS.
41637         (func_create_testdir): Combine the uses_subdirs results from
41638         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
41639
41640 2007-12-09  Bruno Haible  <bruno@clisp.org>
41641
41642         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
41643         the build-aux directory.
41644
41645 2007-12-09  Bruno Haible  <bruno@clisp.org>
41646
41647         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
41648         introduced on 2006-09-09.
41649
41650 2007-12-07  Jim Meyering  <meyering@redhat.com>
41651
41652         Let these macros work also with autoconf-2.59.
41653         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
41654         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
41655         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41656
41657 2007-12-06  Jim Meyering  <meyering@redhat.com>
41658
41659         Avoid a configure-time syntax error in gl_FUNC_ACL.
41660         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
41661         function in each branch, before testing the cache variable.
41662
41663 2007-12-04  Eric Blake  <ebb9@byu.net>
41664
41665         Make scripts executable.
41666         * build-aux/config.guess: Add execute permissions.
41667         * build-aux/config.sub: Likewise.
41668         * build-aux/gendocs.sh: Likewise.
41669
41670         Fix frexp on mingw.
41671         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
41672         cross-compiling.
41673         * doc/functions/frexp.texi (frexp): Document the bug.
41674
41675         Make cygwin fseeko check more reliable.
41676         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
41677         version numbers, rather than unrelated feature check.
41678         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
41679         * doc/functions/ftello.texi (ftello): Likewise.
41680         Reported by Bruno Haible.
41681
41682         * m4/strerror.m4: Bump version number.
41683
41684 2007-12-03  Bruno Haible  <bruno@clisp.org>
41685
41686         * doc/functions/mprotect.texi: Mention the mingw problem.
41687
41688 2007-12-03  Eric Blake  <ebb9@byu.net>
41689
41690         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41691         REPLACE_STRERROR is initialized before this macro.
41692
41693 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41694
41695         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41696         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41697         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41698         put -lsec in even for programs other than 'ls'.  This fixes a problem
41699         for gettext reported by Bruno Haible in
41700         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41701         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41702         Add support for Solaris 10.  This isn't efficient, but should get the
41703         job done for now.
41704
41705 2007-12-03  James Youngman  <jay@gnu.org>
41706
41707         * doc/regexprops-generic.texi: change "an close-group" to "a
41708         close-group" and "illegal" to "not allowed".
41709
41710 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41711
41712         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41713         pr_byname.h. Needed for the rare case when the maintainer has done
41714         "make maintainer-clean" in the source directory and then attempts a
41715         build outside the source directory.
41716         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41717         scripts_byname.h.
41718
41719 2007-12-02  Martin Lambers <marlam@marlam.de>
41720             Bruno Haible  <bruno@clisp.org>
41721
41722         * lib/getpagesize.h: Remove file.
41723         * lib/unistd.in.h: Include declaration of getpagesize here.
41724         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41725         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41726         HAVE_SYS_PARAM_H.
41727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41728         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41729         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41730         (Depends-on): Add unistd.
41731         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41732         (Include): Use <unistd.h> instead of getpagesize.h.
41733         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41734         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41735         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41736         gl_GETPAGESIZE invocation, already handled by module dependency.
41737         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41738
41739 2007-12-02  Bruno Haible  <bruno@clisp.org>
41740
41741         * modules/strings-tests: New file.
41742         * tests/test-strings.c: New file.
41743
41744         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41745         * lib/strings.in.h: New file.
41746         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41747         * m4/strings_h.m4: New file.
41748         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41749         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41750         * modules/strings: New file.
41751         * modules/string (Makefile.am): Update.
41752         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41753         Reported by Karl Berry.
41754
41755 2007-12-01  Eric Blake  <ebb9@byu.net>
41756
41757         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41758         accomodate fix in cygwin 1.5.25.
41759
41760 2007-12-01  Jim Meyering  <meyering@redhat.com>
41761
41762         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41763         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41764         that would inhibit utf8-optimization of a regexp containing line-
41765         or buffer-anchors, e.g., `^', `$'.
41766
41767 2007-11-30  Bruno Haible  <bruno@clisp.org>
41768
41769         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41770         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41771         glthread_recursive_lock_init.
41772         * lib/lock.c (glthread_recursive_lock_init)
41773         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41774         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41775
41776 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41777
41778         New function qset_acl, like set_acl but with syscall semantics.
41779         * lib/acl.h (qset_acl): New decl.
41780         * lib/acl.c (qset_acl): New function.
41781         (set_acl): Use new function.  Use more-consistent diagnostics.
41782
41783 2007-11-28  Jim Meyering  <meyering@redhat.com>
41784
41785         * modules/physmem (License): Change from GPL to LGPLv2+.
41786
41787 2007-11-26  Bruno Haible  <bruno@clisp.org>
41788
41789         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41790         'long double' type has excess precision.
41791         Reported by Jim Meyering in
41792         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41793
41794 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41795
41796         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41797         Sync from <http://gnu.org/licenses>.
41798         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41799         with license text from same location.
41800         * doc/maintain.texi, doc/standards.texi:  Sync from
41801         <http://savannah.gnu.org/projects/gnustandards>.
41802
41803 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
41804         and Jim Meyering  <meyering@redhat.com>
41805
41806         Adjust getdate' grammar to accept a slightly more regular language.
41807         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41808         Before, the former was rejected.
41809         * lib/getdate.y (digits_to_date_time): New function, factored
41810         out of ...
41811         (number): ...here.  Just call digits_to_date_time.
41812         (hybrid): New non-terminal to handle an <unsigned number,
41813         signed relative offset> sequence consistently.
41814
41815 2007-11-18  Jim Meyering  <meyering@redhat.com>
41816
41817         Pull my changes from coreutils:
41818         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41819         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41820         use of $gnulib_tool_option_extras, so that it's separated from the
41821         preceding argument.
41822
41823         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41824         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41825         parent destination directories before copying a file into place.
41826
41827 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41828
41829         bootstrap: work also with 4-argument variant of AC_INIT
41830         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41831
41832 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41833
41834         Port test-getaddrinfo to Solaris.
41835         Problem reported by Bruno Haible in
41836         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41837         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41838         explanation of setting 'hints'.
41839         Don't reject an implementation merely because it returns EAI_SERVICE.
41840         (EAI_SERVICE): Define to 0 if not defined.
41841
41842 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41843
41844         The license of gnu-make and posix-shell is now "GPLed build tool".
41845         * modules/gnu-make (License): Likewise.
41846         * modules/posix-shell (License): Likewise.
41847
41848         New module posix-shell, for determining a POSIX shell
41849         or perhaps something that is close enough to a POSIX shell.
41850         * m4/posix-shell.m4: New file.
41851         * modules/posix-shell: New file.
41852
41853         * MODULES.html.sh: Mention new module.
41854
41855         New module gnu-make, for determining whether we're using GNU Make.
41856         * m4/gnu-make.m4: New file.
41857         * modules/gnu-make: New file.
41858         * MODULES.html.sh: Mention new module.
41859
41860 2007-11-14  Jim Meyering  <meyering@redhat.com>
41861
41862         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41863         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41864         use this macro to create a function _definition_.
41865         Remove useless "#undef ARGMATCH_DIE".
41866
41867 2007-11-14  Bruno Haible  <bruno@clisp.org>
41868
41869         * lib/config.charset: Update for OpenBSD 4.1.
41870         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41871
41872 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41873
41874         Document 64-bit #if problems in stdint.texi.
41875         * doc/headers/stdint.texi (stdint.h): Mention problems with
41876         64-bit-#if, and how to work around them.
41877
41878         Don't insist on 'long long int' support in the preprocessor.  It
41879         breaks too many things.  For example, PRIdMAX still uses a 'long
41880         long int' format with the latest Sun compiler, even though
41881         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41882         preprocessor problem.  This causes the latest coreutils to dump
41883         core on Solaris 10 sparc with the Sun C compiler.
41884         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41885         the troublesome expressions at configure-time, not at #if-time.
41886         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41887         preprocessor.
41888         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41889         compile-time C checks, done at 'configure'-time.
41890         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41891         * modules/inttypes (Makefile): Substitute the new symbols that
41892         gl_INTTYPES_H now generates.
41893         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41894
41895 2007-11-12  Bruno Haible  <bruno@clisp.org>
41896
41897         Tests for Unicode character classification functions.
41898
41899         * modules/unictype/bidicategory-byname-tests: New file.
41900         * modules/unictype/bidicategory-name-tests: New file.
41901         * modules/unictype/bidicategory-of-tests: New file.
41902         * modules/unictype/bidicategory-test-tests: New file.
41903         * modules/unictype/block-list-tests: New file.
41904         * modules/unictype/block-of-tests: New file.
41905         * modules/unictype/block-test-tests: New file.
41906         * modules/unictype/category-C-tests: New file.
41907         * modules/unictype/category-Cc-tests: New file.
41908         * modules/unictype/category-Cf-tests: New file.
41909         * modules/unictype/category-Cn-tests: New file.
41910         * modules/unictype/category-Co-tests: New file.
41911         * modules/unictype/category-Cs-tests: New file.
41912         * modules/unictype/category-L-tests: New file.
41913         * modules/unictype/category-Ll-tests: New file.
41914         * modules/unictype/category-Lm-tests: New file.
41915         * modules/unictype/category-Lo-tests: New file.
41916         * modules/unictype/category-Lt-tests: New file.
41917         * modules/unictype/category-Lu-tests: New file.
41918         * modules/unictype/category-M-tests: New file.
41919         * modules/unictype/category-Mc-tests: New file.
41920         * modules/unictype/category-Me-tests: New file.
41921         * modules/unictype/category-Mn-tests: New file.
41922         * modules/unictype/category-N-tests: New file.
41923         * modules/unictype/category-Nd-tests: New file.
41924         * modules/unictype/category-Nl-tests: New file.
41925         * modules/unictype/category-No-tests: New file.
41926         * modules/unictype/category-P-tests: New file.
41927         * modules/unictype/category-Pc-tests: New file.
41928         * modules/unictype/category-Pd-tests: New file.
41929         * modules/unictype/category-Pe-tests: New file.
41930         * modules/unictype/category-Pf-tests: New file.
41931         * modules/unictype/category-Pi-tests: New file.
41932         * modules/unictype/category-Po-tests: New file.
41933         * modules/unictype/category-Ps-tests: New file.
41934         * modules/unictype/category-S-tests: New file.
41935         * modules/unictype/category-Sc-tests: New file.
41936         * modules/unictype/category-Sk-tests: New file.
41937         * modules/unictype/category-Sm-tests: New file.
41938         * modules/unictype/category-So-tests: New file.
41939         * modules/unictype/category-Z-tests: New file.
41940         * modules/unictype/category-Zl-tests: New file.
41941         * modules/unictype/category-Zp-tests: New file.
41942         * modules/unictype/category-Zs-tests: New file.
41943         * modules/unictype/category-and-not-tests: New file.
41944         * modules/unictype/category-and-tests: New file.
41945         * modules/unictype/category-byname-tests: New file.
41946         * modules/unictype/category-name-tests: New file.
41947         * modules/unictype/category-none-tests: New file.
41948         * modules/unictype/category-of-tests: New file.
41949         * modules/unictype/category-or-tests: New file.
41950         * modules/unictype/category-test-withtable-tests: New file.
41951         * modules/unictype/combining-class-tests: New file.
41952         * modules/unictype/ctype-alnum-tests: New file.
41953         * modules/unictype/ctype-alpha-tests: New file.
41954         * modules/unictype/ctype-blank-tests: New file.
41955         * modules/unictype/ctype-cntrl-tests: New file.
41956         * modules/unictype/ctype-digit-tests: New file.
41957         * modules/unictype/ctype-graph-tests: New file.
41958         * modules/unictype/ctype-lower-tests: New file.
41959         * modules/unictype/ctype-print-tests: New file.
41960         * modules/unictype/ctype-punct-tests: New file.
41961         * modules/unictype/ctype-space-tests: New file.
41962         * modules/unictype/ctype-upper-tests: New file.
41963         * modules/unictype/ctype-xdigit-tests: New file.
41964         * modules/unictype/decimal-digit-tests: New file.
41965         * modules/unictype/digit-tests: New file.
41966         * modules/unictype/mirror-tests: New file.
41967         * modules/unictype/numeric-tests: New file.
41968         * modules/unictype/property-alphabetic-tests: New file.
41969         * modules/unictype/property-ascii-hex-digit-tests: New file.
41970         * modules/unictype/property-bidi-arabic-digit-tests: New file.
41971         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
41972         * modules/unictype/property-bidi-block-separator-tests: New file.
41973         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
41974         * modules/unictype/property-bidi-common-separator-tests: New file.
41975         * modules/unictype/property-bidi-control-tests: New file.
41976         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
41977         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
41978         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
41979         * modules/unictype/property-bidi-european-digit-tests: New file.
41980         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
41981         * modules/unictype/property-bidi-left-to-right-tests: New file.
41982         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
41983         * modules/unictype/property-bidi-other-neutral-tests: New file.
41984         * modules/unictype/property-bidi-pdf-tests: New file.
41985         * modules/unictype/property-bidi-segment-separator-tests: New file.
41986         * modules/unictype/property-bidi-whitespace-tests: New file.
41987         * modules/unictype/property-byname-tests: New file.
41988         * modules/unictype/property-combining-tests: New file.
41989         * modules/unictype/property-composite-tests: New file.
41990         * modules/unictype/property-currency-symbol-tests: New file.
41991         * modules/unictype/property-dash-tests: New file.
41992         * modules/unictype/property-decimal-digit-tests: New file.
41993         * modules/unictype/property-default-ignorable-code-point-tests: New file.
41994         * modules/unictype/property-deprecated-tests: New file.
41995         * modules/unictype/property-diacritic-tests: New file.
41996         * modules/unictype/property-extender-tests: New file.
41997         * modules/unictype/property-format-control-tests: New file.
41998         * modules/unictype/property-grapheme-base-tests: New file.
41999         * modules/unictype/property-grapheme-extend-tests: New file.
42000         * modules/unictype/property-grapheme-link-tests: New file.
42001         * modules/unictype/property-hex-digit-tests: New file.
42002         * modules/unictype/property-hyphen-tests: New file.
42003         * modules/unictype/property-id-continue-tests: New file.
42004         * modules/unictype/property-id-start-tests: New file.
42005         * modules/unictype/property-ideographic-tests: New file.
42006         * modules/unictype/property-ids-binary-operator-tests: New file.
42007         * modules/unictype/property-ids-trinary-operator-tests: New file.
42008         * modules/unictype/property-ignorable-control-tests: New file.
42009         * modules/unictype/property-iso-control-tests: New file.
42010         * modules/unictype/property-join-control-tests: New file.
42011         * modules/unictype/property-left-of-pair-tests: New file.
42012         * modules/unictype/property-line-separator-tests: New file.
42013         * modules/unictype/property-logical-order-exception-tests: New file.
42014         * modules/unictype/property-lowercase-tests: New file.
42015         * modules/unictype/property-math-tests: New file.
42016         * modules/unictype/property-non-break-tests: New file.
42017         * modules/unictype/property-not-a-character-tests: New file.
42018         * modules/unictype/property-numeric-tests: New file.
42019         * modules/unictype/property-other-alphabetic-tests: New file.
42020         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
42021         * modules/unictype/property-other-grapheme-extend-tests: New file.
42022         * modules/unictype/property-other-id-continue-tests: New file.
42023         * modules/unictype/property-other-id-start-tests: New file.
42024         * modules/unictype/property-other-lowercase-tests: New file.
42025         * modules/unictype/property-other-math-tests: New file.
42026         * modules/unictype/property-other-uppercase-tests: New file.
42027         * modules/unictype/property-paired-punctuation-tests: New file.
42028         * modules/unictype/property-paragraph-separator-tests: New file.
42029         * modules/unictype/property-pattern-syntax-tests: New file.
42030         * modules/unictype/property-pattern-white-space-tests: New file.
42031         * modules/unictype/property-private-use-tests: New file.
42032         * modules/unictype/property-punctuation-tests: New file.
42033         * modules/unictype/property-quotation-mark-tests: New file.
42034         * modules/unictype/property-radical-tests: New file.
42035         * modules/unictype/property-sentence-terminal-tests: New file.
42036         * modules/unictype/property-soft-dotted-tests: New file.
42037         * modules/unictype/property-space-tests: New file.
42038         * modules/unictype/property-terminal-punctuation-tests: New file.
42039         * modules/unictype/property-test-tests: New file.
42040         * modules/unictype/property-titlecase-tests: New file.
42041         * modules/unictype/property-unassigned-code-value-tests: New file.
42042         * modules/unictype/property-unified-ideograph-tests: New file.
42043         * modules/unictype/property-uppercase-tests: New file.
42044         * modules/unictype/property-variation-selector-tests: New file.
42045         * modules/unictype/property-white-space-tests: New file.
42046         * modules/unictype/property-xid-continue-tests: New file.
42047         * modules/unictype/property-xid-start-tests: New file.
42048         * modules/unictype/property-zero-width-tests: New file.
42049         * modules/unictype/scripts-tests: New file.
42050         * modules/unictype/syntax-c-ident-tests: New file.
42051         * modules/unictype/syntax-c-whitespace-tests: New file.
42052         * modules/unictype/syntax-java-ident-tests: New file.
42053         * modules/unictype/syntax-java-whitespace-tests: New file.
42054         * tests/unictype/test-bidi_byname.c: New file.
42055         * tests/unictype/test-bidi_name.c: New file.
42056         * tests/unictype/test-bidi_of.c: New file.
42057         * tests/unictype/test-bidi_test.c: New file.
42058         * tests/unictype/test-block_list.c: New file.
42059         * tests/unictype/test-block_of.c: New file.
42060         * tests/unictype/test-block_test.c: New file.
42061         * tests/unictype/test-categ_and.c: New file.
42062         * tests/unictype/test-categ_and_not.c: New file.
42063         * tests/unictype/test-categ_byname.c: New file.
42064         * tests/unictype/test-categ_name.c: New file.
42065         * tests/unictype/test-categ_none.c: New file.
42066         * tests/unictype/test-categ_of.c: New file.
42067         * tests/unictype/test-categ_or.c: New file.
42068         * tests/unictype/test-categ_test_withtable.c: New file.
42069         * tests/unictype/test-combining.c: New file.
42070         * tests/unictype/test-decdigit.c: New file.
42071         * tests/unictype/test-digit.c: New file.
42072         * tests/unictype/test-mirror.c: New file.
42073         * tests/unictype/test-numeric.c: New file.
42074         * tests/unictype/test-pr_byname.c: New file.
42075         * tests/unictype/test-pr_test.c: New file.
42076         * tests/unictype/test-predicate-part1.h: New file.
42077         * tests/unictype/test-predicate-part2.h: New file.
42078         * tests/unictype/test-scripts.c: New file.
42079         * tests/unictype/test-sy_c_ident.c: New file.
42080         * tests/unictype/test-sy_java_ident.c: New file.
42081
42082         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
42083         for Unicode 5.0.0.
42084         * tests/unictype/test-categ_Cc.c: Likewise.
42085         * tests/unictype/test-categ_Cf.c: Likewise.
42086         * tests/unictype/test-categ_Cn.c: Likewise.
42087         * tests/unictype/test-categ_Co.c: Likewise.
42088         * tests/unictype/test-categ_Cs.c: Likewise.
42089         * tests/unictype/test-categ_L.c: Likewise.
42090         * tests/unictype/test-categ_Ll.c: Likewise.
42091         * tests/unictype/test-categ_Lm.c: Likewise.
42092         * tests/unictype/test-categ_Lo.c: Likewise.
42093         * tests/unictype/test-categ_Lt.c: Likewise.
42094         * tests/unictype/test-categ_Lu.c: Likewise.
42095         * tests/unictype/test-categ_M.c: Likewise.
42096         * tests/unictype/test-categ_Mc.c: Likewise.
42097         * tests/unictype/test-categ_Me.c: Likewise.
42098         * tests/unictype/test-categ_Mn.c: Likewise.
42099         * tests/unictype/test-categ_N.c: Likewise.
42100         * tests/unictype/test-categ_Nd.c: Likewise.
42101         * tests/unictype/test-categ_Nl.c: Likewise.
42102         * tests/unictype/test-categ_No.c: Likewise.
42103         * tests/unictype/test-categ_P.c: Likewise.
42104         * tests/unictype/test-categ_Pc.c: Likewise.
42105         * tests/unictype/test-categ_Pd.c: Likewise.
42106         * tests/unictype/test-categ_Pe.c: Likewise.
42107         * tests/unictype/test-categ_Pf.c: Likewise.
42108         * tests/unictype/test-categ_Pi.c: Likewise.
42109         * tests/unictype/test-categ_Po.c: Likewise.
42110         * tests/unictype/test-categ_Ps.c: Likewise.
42111         * tests/unictype/test-categ_S.c: Likewise.
42112         * tests/unictype/test-categ_Sc.c: Likewise.
42113         * tests/unictype/test-categ_Sk.c: Likewise.
42114         * tests/unictype/test-categ_Sm.c: Likewise.
42115         * tests/unictype/test-categ_So.c: Likewise.
42116         * tests/unictype/test-categ_Z.c: Likewise.
42117         * tests/unictype/test-categ_Zl.c: Likewise.
42118         * tests/unictype/test-categ_Zp.c: Likewise.
42119         * tests/unictype/test-categ_Zs.c: Likewise.
42120         * tests/unictype/test-ctype_alnum.c: Likewise.
42121         * tests/unictype/test-ctype_alpha.c: Likewise.
42122         * tests/unictype/test-ctype_blank.c: Likewise.
42123         * tests/unictype/test-ctype_cntrl.c: Likewise.
42124         * tests/unictype/test-ctype_digit.c: Likewise.
42125         * tests/unictype/test-ctype_graph.c: Likewise.
42126         * tests/unictype/test-ctype_lower.c: Likewise.
42127         * tests/unictype/test-ctype_print.c: Likewise.
42128         * tests/unictype/test-ctype_punct.c: Likewise.
42129         * tests/unictype/test-ctype_space.c: Likewise.
42130         * tests/unictype/test-ctype_upper.c: Likewise.
42131         * tests/unictype/test-ctype_xdigit.c: Likewise.
42132         * tests/unictype/test-decdigit.h: Likewise.
42133         * tests/unictype/test-digit.h: Likewise.
42134         * tests/unictype/test-numeric.h: Likewise.
42135         * tests/unictype/test-pr_alphabetic.c: Likewise.
42136         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
42137         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42138         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42139         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
42140         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42141         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
42142         * tests/unictype/test-pr_bidi_control.c: Likewise.
42143         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
42144         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
42145         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42146         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42147         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42148         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42149         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42150         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42151         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
42152         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
42153         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
42154         * tests/unictype/test-pr_combining.c: Likewise.
42155         * tests/unictype/test-pr_composite.c: Likewise.
42156         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42157         * tests/unictype/test-pr_dash.c: Likewise.
42158         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42159         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
42160         * tests/unictype/test-pr_deprecated.c: Likewise.
42161         * tests/unictype/test-pr_diacritic.c: Likewise.
42162         * tests/unictype/test-pr_extender.c: Likewise.
42163         * tests/unictype/test-pr_format_control.c: Likewise.
42164         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42165         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42166         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42167         * tests/unictype/test-pr_hex_digit.c: Likewise.
42168         * tests/unictype/test-pr_hyphen.c: Likewise.
42169         * tests/unictype/test-pr_id_continue.c: Likewise.
42170         * tests/unictype/test-pr_id_start.c: Likewise.
42171         * tests/unictype/test-pr_ideographic.c: Likewise.
42172         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
42173         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
42174         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42175         * tests/unictype/test-pr_iso_control.c: Likewise.
42176         * tests/unictype/test-pr_join_control.c: Likewise.
42177         * tests/unictype/test-pr_left_of_pair.c: Likewise.
42178         * tests/unictype/test-pr_line_separator.c: Likewise.
42179         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42180         * tests/unictype/test-pr_lowercase.c: Likewise.
42181         * tests/unictype/test-pr_math.c: Likewise.
42182         * tests/unictype/test-pr_non_break.c: Likewise.
42183         * tests/unictype/test-pr_not_a_character.c: Likewise.
42184         * tests/unictype/test-pr_numeric.c: Likewise.
42185         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42186         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
42187         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
42188         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42189         * tests/unictype/test-pr_other_id_start.c: Likewise.
42190         * tests/unictype/test-pr_other_lowercase.c: Likewise.
42191         * tests/unictype/test-pr_other_math.c: Likewise.
42192         * tests/unictype/test-pr_other_uppercase.c: Likewise.
42193         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
42194         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
42195         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
42196         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
42197         * tests/unictype/test-pr_private_use.c: Likewise.
42198         * tests/unictype/test-pr_punctuation.c: Likewise.
42199         * tests/unictype/test-pr_quotation_mark.c: Likewise.
42200         * tests/unictype/test-pr_radical.c: Likewise.
42201         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42202         * tests/unictype/test-pr_soft_dotted.c: Likewise.
42203         * tests/unictype/test-pr_space.c: Likewise.
42204         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42205         * tests/unictype/test-pr_titlecase.c: Likewise.
42206         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42207         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42208         * tests/unictype/test-pr_uppercase.c: Likewise.
42209         * tests/unictype/test-pr_variation_selector.c: Likewise.
42210         * tests/unictype/test-pr_white_space.c: Likewise.
42211         * tests/unictype/test-pr_xid_continue.c: Likewise.
42212         * tests/unictype/test-pr_xid_start.c: Likewise.
42213         * tests/unictype/test-pr_zero_width.c: Likewise.
42214         * tests/unictype/test-sy_c_whitespace.c: Likewise.
42215         * tests/unictype/test-sy_java_whitespace.c: Likewise.
42216
42217 2007-11-12  Bruno Haible  <bruno@clisp.org>
42218
42219         Unicode character classification functions.
42220         * lib/unictype.h: New file.
42221         * modules/unictype/base: New file.
42222         * modules/unictype/category-L: New file.
42223         * modules/unictype/category-Lu: New file.
42224         * modules/unictype/category-Ll: New file.
42225         * modules/unictype/category-Lt: New file.
42226         * modules/unictype/category-Lm: New file.
42227         * modules/unictype/category-Lo: New file.
42228         * modules/unictype/category-M: New file.
42229         * modules/unictype/category-Mn: New file.
42230         * modules/unictype/category-Mc: New file.
42231         * modules/unictype/category-Me: New file.
42232         * modules/unictype/category-N: New file.
42233         * modules/unictype/category-Nd: New file.
42234         * modules/unictype/category-Nl: New file.
42235         * modules/unictype/category-No: New file.
42236         * modules/unictype/category-P: New file.
42237         * modules/unictype/category-Pc: New file.
42238         * modules/unictype/category-Pd: New file.
42239         * modules/unictype/category-Ps: New file.
42240         * modules/unictype/category-Pe: New file.
42241         * modules/unictype/category-Pi: New file.
42242         * modules/unictype/category-Pf: New file.
42243         * modules/unictype/category-Po: New file.
42244         * modules/unictype/category-S: New file.
42245         * modules/unictype/category-Sm: New file.
42246         * modules/unictype/category-Sc: New file.
42247         * modules/unictype/category-Sk: New file.
42248         * modules/unictype/category-So: New file.
42249         * modules/unictype/category-Z: New file.
42250         * modules/unictype/category-Zs: New file.
42251         * modules/unictype/category-Zl: New file.
42252         * modules/unictype/category-Zp: New file.
42253         * modules/unictype/category-C: New file.
42254         * modules/unictype/category-Cc: New file.
42255         * modules/unictype/category-Cf: New file.
42256         * modules/unictype/category-Cs: New file.
42257         * modules/unictype/category-Co: New file.
42258         * modules/unictype/category-Cn: New file.
42259         * modules/unictype/category-or: New file.
42260         * modules/unictype/category-of: New file.
42261         * modules/unictype/category-test: New file.
42262         * modules/unictype/category-test-withtable: New file.
42263         * modules/unictype/category-byname: New file.
42264         * modules/unictype/category-none: New file.
42265         * modules/unictype/category-and: New file.
42266         * modules/unictype/category-and-not: New file.
42267         * modules/unictype/category-name: New file.
42268         * modules/unictype/combining-class: New file.
42269         * modules/unictype/category-all: New file.
42270         * modules/unictype/bidicategory-all: New file.
42271         * modules/unictype/bidicategory-byname: New file.
42272         * modules/unictype/bidicategory-name: New file.
42273         * modules/unictype/bidicategory-of: New file.
42274         * modules/unictype/bidicategory-test: New file.
42275         * modules/unictype/decimal-digit: New file.
42276         * modules/unictype/digit: New file.
42277         * modules/unictype/numeric: New file.
42278         * modules/unictype/mirror: New file.
42279         * modules/unictype/property-white-space: New file.
42280         * modules/unictype/property-alphabetic: New file.
42281         * modules/unictype/property-other-alphabetic: New file.
42282         * modules/unictype/property-not-a-character: New file.
42283         * modules/unictype/property-default-ignorable-code-point: New file.
42284         * modules/unictype/property-other-default-ignorable-code-point: New
42285         file.
42286         * modules/unictype/property-deprecated: New file.
42287         * modules/unictype/property-logical-order-exception: New file.
42288         * modules/unictype/property-variation-selector: New file.
42289         * modules/unictype/property-private-use: New file.
42290         * modules/unictype/property-unassigned-code-value: New file.
42291         * modules/unictype/property-uppercase: New file.
42292         * modules/unictype/property-other-uppercase: New file.
42293         * modules/unictype/property-lowercase: New file.
42294         * modules/unictype/property-other-lowercase: New file.
42295         * modules/unictype/property-titlecase: New file.
42296         * modules/unictype/property-soft-dotted: New file.
42297         * modules/unictype/property-id-start: New file.
42298         * modules/unictype/property-other-id-start: New file.
42299         * modules/unictype/property-id-continue: New file.
42300         * modules/unictype/property-other-id-continue: New file.
42301         * modules/unictype/property-xid-start: New file.
42302         * modules/unictype/property-xid-continue: New file.
42303         * modules/unictype/property-pattern-white-space: New file.
42304         * modules/unictype/property-pattern-syntax: New file.
42305         * modules/unictype/property-join-control: New file.
42306         * modules/unictype/property-grapheme-base: New file.
42307         * modules/unictype/property-grapheme-extend: New file.
42308         * modules/unictype/property-other-grapheme-extend: New file.
42309         * modules/unictype/property-grapheme-link: New file.
42310         * modules/unictype/property-bidi-control: New file.
42311         * modules/unictype/property-bidi-left-to-right: New file.
42312         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
42313         * modules/unictype/property-bidi-arabic-right-to-left: New file.
42314         * modules/unictype/property-bidi-european-digit: New file.
42315         * modules/unictype/property-bidi-eur-num-separator: New file.
42316         * modules/unictype/property-bidi-eur-num-terminator: New file.
42317         * modules/unictype/property-bidi-arabic-digit: New file.
42318         * modules/unictype/property-bidi-common-separator: New file.
42319         * modules/unictype/property-bidi-block-separator: New file.
42320         * modules/unictype/property-bidi-segment-separator: New file.
42321         * modules/unictype/property-bidi-whitespace: New file.
42322         * modules/unictype/property-bidi-non-spacing-mark: New file.
42323         * modules/unictype/property-bidi-boundary-neutral: New file.
42324         * modules/unictype/property-bidi-pdf: New file.
42325         * modules/unictype/property-bidi-embedding-or-override: New file.
42326         * modules/unictype/property-bidi-other-neutral: New file.
42327         * modules/unictype/property-hex-digit: New file.
42328         * modules/unictype/property-ascii-hex-digit: New file.
42329         * modules/unictype/property-ideographic: New file.
42330         * modules/unictype/property-unified-ideograph: New file.
42331         * modules/unictype/property-radical: New file.
42332         * modules/unictype/property-ids-binary-operator: New file.
42333         * modules/unictype/property-ids-trinary-operator: New file.
42334         * modules/unictype/property-zero-width: New file.
42335         * modules/unictype/property-space: New file.
42336         * modules/unictype/property-non-break: New file.
42337         * modules/unictype/property-iso-control: New file.
42338         * modules/unictype/property-format-control: New file.
42339         * modules/unictype/property-dash: New file.
42340         * modules/unictype/property-hyphen: New file.
42341         * modules/unictype/property-punctuation: New file.
42342         * modules/unictype/property-line-separator: New file.
42343         * modules/unictype/property-paragraph-separator: New file.
42344         * modules/unictype/property-quotation-mark: New file.
42345         * modules/unictype/property-sentence-terminal: New file.
42346         * modules/unictype/property-terminal-punctuation: New file.
42347         * modules/unictype/property-currency-symbol: New file.
42348         * modules/unictype/property-math: New file.
42349         * modules/unictype/property-other-math: New file.
42350         * modules/unictype/property-paired-punctuation: New file.
42351         * modules/unictype/property-left-of-pair: New file.
42352         * modules/unictype/property-combining: New file.
42353         * modules/unictype/property-composite: New file.
42354         * modules/unictype/property-decimal-digit: New file.
42355         * modules/unictype/property-numeric: New file.
42356         * modules/unictype/property-diacritic: New file.
42357         * modules/unictype/property-extender: New file.
42358         * modules/unictype/property-ignorable-control: New file.
42359         * modules/unictype/property-test: New file.
42360         * modules/unictype/property-byname: New file.
42361         * modules/unictype/property-all: New file.
42362         * modules/unictype/scripts: New file.
42363         * modules/unictype/scripts-all: New file.
42364         * modules/unictype/block-of: New file.
42365         * modules/unictype/block-test: New file.
42366         * modules/unictype/block-list: New file.
42367         * modules/unictype/block-all: New file.
42368         * modules/unictype/syntax-c-whitespace: New file.
42369         * modules/unictype/syntax-java-whitespace: New file.
42370         * modules/unictype/syntax-c-ident: New file.
42371         * modules/unictype/syntax-java-ident: New file.
42372         * modules/unictype/ctype-alnum: New file.
42373         * modules/unictype/ctype-alpha: New file.
42374         * modules/unictype/ctype-cntrl: New file.
42375         * modules/unictype/ctype-digit: New file.
42376         * modules/unictype/ctype-graph: New file.
42377         * modules/unictype/ctype-lower: New file.
42378         * modules/unictype/ctype-print: New file.
42379         * modules/unictype/ctype-punct: New file.
42380         * modules/unictype/ctype-space: New file.
42381         * modules/unictype/ctype-upper: New file.
42382         * modules/unictype/ctype-xdigit: New file.
42383         * modules/unictype/ctype-blank: New file.
42384         * lib/unictype/bidi_byname.c: New file.
42385         * lib/unictype/bidi_name.c: New file.
42386         * lib/unictype/bidi_of.c: New file.
42387         * lib/unictype/bidi_test.c: New file.
42388         * lib/unictype/bitmap.h: New file.
42389         * lib/unictype/block_test.c: New file.
42390         * lib/unictype/blocks.c: New file.
42391         * lib/unictype/categ_C.c: New file.
42392         * lib/unictype/categ_Cc.c: New file.
42393         * lib/unictype/categ_Cf.c: New file.
42394         * lib/unictype/categ_Cn.c: New file.
42395         * lib/unictype/categ_Co.c: New file.
42396         * lib/unictype/categ_Cs.c: New file.
42397         * lib/unictype/categ_L.c: New file.
42398         * lib/unictype/categ_Ll.c: New file.
42399         * lib/unictype/categ_Lm.c: New file.
42400         * lib/unictype/categ_Lo.c: New file.
42401         * lib/unictype/categ_Lt.c: New file.
42402         * lib/unictype/categ_Lu.c: New file.
42403         * lib/unictype/categ_M.c: New file.
42404         * lib/unictype/categ_Mc.c: New file.
42405         * lib/unictype/categ_Me.c: New file.
42406         * lib/unictype/categ_Mn.c: New file.
42407         * lib/unictype/categ_N.c: New file.
42408         * lib/unictype/categ_Nd.c: New file.
42409         * lib/unictype/categ_Nl.c: New file.
42410         * lib/unictype/categ_No.c: New file.
42411         * lib/unictype/categ_P.c: New file.
42412         * lib/unictype/categ_Pc.c: New file.
42413         * lib/unictype/categ_Pd.c: New file.
42414         * lib/unictype/categ_Pe.c: New file.
42415         * lib/unictype/categ_Pf.c: New file.
42416         * lib/unictype/categ_Pi.c: New file.
42417         * lib/unictype/categ_Po.c: New file.
42418         * lib/unictype/categ_Ps.c: New file.
42419         * lib/unictype/categ_S.c: New file.
42420         * lib/unictype/categ_Sc.c: New file.
42421         * lib/unictype/categ_Sk.c: New file.
42422         * lib/unictype/categ_Sm.c: New file.
42423         * lib/unictype/categ_So.c: New file.
42424         * lib/unictype/categ_Z.c: New file.
42425         * lib/unictype/categ_Zl.c: New file.
42426         * lib/unictype/categ_Zp.c: New file.
42427         * lib/unictype/categ_Zs.c: New file.
42428         * lib/unictype/categ_and.c: New file.
42429         * lib/unictype/categ_and_not.c: New file.
42430         * lib/unictype/categ_byname.c: New file.
42431         * lib/unictype/categ_name.c: New file.
42432         * lib/unictype/categ_none.c: New file.
42433         * lib/unictype/categ_of.c: New file.
42434         * lib/unictype/categ_or.c: New file.
42435         * lib/unictype/categ_test.c: New file.
42436         * lib/unictype/combining.c: New file.
42437         * lib/unictype/ctype_alnum.c: New file.
42438         * lib/unictype/ctype_alpha.c: New file.
42439         * lib/unictype/ctype_blank.c: New file.
42440         * lib/unictype/ctype_cntrl.c: New file.
42441         * lib/unictype/ctype_digit.c: New file.
42442         * lib/unictype/ctype_graph.c: New file.
42443         * lib/unictype/ctype_lower.c: New file.
42444         * lib/unictype/ctype_print.c: New file.
42445         * lib/unictype/ctype_punct.c: New file.
42446         * lib/unictype/ctype_space.c: New file.
42447         * lib/unictype/ctype_upper.c: New file.
42448         * lib/unictype/ctype_xdigit.c: New file.
42449         * lib/unictype/decdigit.c: New file.
42450         * lib/unictype/digit.c: New file.
42451         * lib/unictype/identsyntaxmap.h: New file.
42452         * lib/unictype/mirror.c: New file.
42453         * lib/unictype/numeric.c: New file.
42454         * lib/unictype/pr_alphabetic.c: New file.
42455         * lib/unictype/pr_ascii_hex_digit.c: New file.
42456         * lib/unictype/pr_bidi_arabic_digit.c: New file.
42457         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
42458         * lib/unictype/pr_bidi_block_separator.c: New file.
42459         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
42460         * lib/unictype/pr_bidi_common_separator.c: New file.
42461         * lib/unictype/pr_bidi_control.c: New file.
42462         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
42463         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
42464         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
42465         * lib/unictype/pr_bidi_european_digit.c: New file.
42466         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
42467         * lib/unictype/pr_bidi_left_to_right.c: New file.
42468         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
42469         * lib/unictype/pr_bidi_other_neutral.c: New file.
42470         * lib/unictype/pr_bidi_pdf.c: New file.
42471         * lib/unictype/pr_bidi_segment_separator.c: New file.
42472         * lib/unictype/pr_bidi_whitespace.c: New file.
42473         * lib/unictype/pr_byname.c: New file.
42474         * lib/unictype/pr_byname.gperf: New file.
42475         * lib/unictype/pr_combining.c: New file.
42476         * lib/unictype/pr_composite.c: New file.
42477         * lib/unictype/pr_currency_symbol.c: New file.
42478         * lib/unictype/pr_dash.c: New file.
42479         * lib/unictype/pr_decimal_digit.c: New file.
42480         * lib/unictype/pr_default_ignorable_code_point.c: New file.
42481         * lib/unictype/pr_deprecated.c: New file.
42482         * lib/unictype/pr_diacritic.c: New file.
42483         * lib/unictype/pr_extender.c: New file.
42484         * lib/unictype/pr_format_control.c: New file.
42485         * lib/unictype/pr_grapheme_base.c: New file.
42486         * lib/unictype/pr_grapheme_extend.c: New file.
42487         * lib/unictype/pr_grapheme_link.c: New file.
42488         * lib/unictype/pr_hex_digit.c: New file.
42489         * lib/unictype/pr_hyphen.c: New file.
42490         * lib/unictype/pr_id_continue.c: New file.
42491         * lib/unictype/pr_id_start.c: New file.
42492         * lib/unictype/pr_ideographic.c: New file.
42493         * lib/unictype/pr_ids_binary_operator.c: New file.
42494         * lib/unictype/pr_ids_trinary_operator.c: New file.
42495         * lib/unictype/pr_ignorable_control.c: New file.
42496         * lib/unictype/pr_iso_control.c: New file.
42497         * lib/unictype/pr_join_control.c: New file.
42498         * lib/unictype/pr_left_of_pair.c: New file.
42499         * lib/unictype/pr_line_separator.c: New file.
42500         * lib/unictype/pr_logical_order_exception.c: New file.
42501         * lib/unictype/pr_lowercase.c: New file.
42502         * lib/unictype/pr_math.c: New file.
42503         * lib/unictype/pr_non_break.c: New file.
42504         * lib/unictype/pr_not_a_character.c: New file.
42505         * lib/unictype/pr_numeric.c: New file.
42506         * lib/unictype/pr_other_alphabetic.c: New file.
42507         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
42508         * lib/unictype/pr_other_grapheme_extend.c: New file.
42509         * lib/unictype/pr_other_id_continue.c: New file.
42510         * lib/unictype/pr_other_id_start.c: New file.
42511         * lib/unictype/pr_other_lowercase.c: New file.
42512         * lib/unictype/pr_other_math.c: New file.
42513         * lib/unictype/pr_other_uppercase.c: New file.
42514         * lib/unictype/pr_paired_punctuation.c: New file.
42515         * lib/unictype/pr_paragraph_separator.c: New file.
42516         * lib/unictype/pr_pattern_syntax.c: New file.
42517         * lib/unictype/pr_pattern_white_space.c: New file.
42518         * lib/unictype/pr_private_use.c: New file.
42519         * lib/unictype/pr_punctuation.c: New file.
42520         * lib/unictype/pr_quotation_mark.c: New file.
42521         * lib/unictype/pr_radical.c: New file.
42522         * lib/unictype/pr_sentence_terminal.c: New file.
42523         * lib/unictype/pr_soft_dotted.c: New file.
42524         * lib/unictype/pr_space.c: New file.
42525         * lib/unictype/pr_terminal_punctuation.c: New file.
42526         * lib/unictype/pr_test.c: New file.
42527         * lib/unictype/pr_titlecase.c: New file.
42528         * lib/unictype/pr_unassigned_code_value.c: New file.
42529         * lib/unictype/pr_unified_ideograph.c: New file.
42530         * lib/unictype/pr_uppercase.c: New file.
42531         * lib/unictype/pr_variation_selector.c: New file.
42532         * lib/unictype/pr_white_space.c: New file.
42533         * lib/unictype/pr_xid_continue.c: New file.
42534         * lib/unictype/pr_xid_start.c: New file.
42535         * lib/unictype/pr_zero_width.c: New file.
42536         * lib/unictype/scripts.c: New file.
42537         * lib/unictype/sy_c_ident.c: New file.
42538         * lib/unictype/sy_c_whitespace.c: New file.
42539         * lib/unictype/sy_java_ident.c: New file.
42540         * lib/unictype/sy_java_whitespace.c: New file.
42541
42542         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
42543         Unicode 5.0.0.
42544         * lib/unictype/blocks.h: Likewise.
42545         * lib/unictype/categ_C.h: Likewise.
42546         * lib/unictype/categ_Cc.h: Likewise.
42547         * lib/unictype/categ_Cf.h: Likewise.
42548         * lib/unictype/categ_Cn.h: Likewise.
42549         * lib/unictype/categ_Co.h: Likewise.
42550         * lib/unictype/categ_Cs.h: Likewise.
42551         * lib/unictype/categ_L.h: Likewise.
42552         * lib/unictype/categ_Ll.h: Likewise.
42553         * lib/unictype/categ_Lm.h: Likewise.
42554         * lib/unictype/categ_Lo.h: Likewise.
42555         * lib/unictype/categ_Lt.h: Likewise.
42556         * lib/unictype/categ_Lu.h: Likewise.
42557         * lib/unictype/categ_M.h: Likewise.
42558         * lib/unictype/categ_Mc.h: Likewise.
42559         * lib/unictype/categ_Me.h: Likewise.
42560         * lib/unictype/categ_Mn.h: Likewise.
42561         * lib/unictype/categ_N.h: Likewise.
42562         * lib/unictype/categ_Nd.h: Likewise.
42563         * lib/unictype/categ_Nl.h: Likewise.
42564         * lib/unictype/categ_No.h: Likewise.
42565         * lib/unictype/categ_P.h: Likewise.
42566         * lib/unictype/categ_Pc.h: Likewise.
42567         * lib/unictype/categ_Pd.h: Likewise.
42568         * lib/unictype/categ_Pe.h: Likewise.
42569         * lib/unictype/categ_Pf.h: Likewise.
42570         * lib/unictype/categ_Pi.h: Likewise.
42571         * lib/unictype/categ_Po.h: Likewise.
42572         * lib/unictype/categ_Ps.h: Likewise.
42573         * lib/unictype/categ_S.h: Likewise.
42574         * lib/unictype/categ_Sc.h: Likewise.
42575         * lib/unictype/categ_Sk.h: Likewise.
42576         * lib/unictype/categ_Sm.h: Likewise.
42577         * lib/unictype/categ_So.h: Likewise.
42578         * lib/unictype/categ_Z.h: Likewise.
42579         * lib/unictype/categ_Zl.h: Likewise.
42580         * lib/unictype/categ_Zp.h: Likewise.
42581         * lib/unictype/categ_Zs.h: Likewise.
42582         * lib/unictype/categ_of.h: Likewise.
42583         * lib/unictype/combining.h: Likewise.
42584         * lib/unictype/ctype_alnum.h: Likewise.
42585         * lib/unictype/ctype_alpha.h: Likewise.
42586         * lib/unictype/ctype_blank.h: Likewise.
42587         * lib/unictype/ctype_cntrl.h: Likewise.
42588         * lib/unictype/ctype_digit.h: Likewise.
42589         * lib/unictype/ctype_graph.h: Likewise.
42590         * lib/unictype/ctype_lower.h: Likewise.
42591         * lib/unictype/ctype_print.h: Likewise.
42592         * lib/unictype/ctype_punct.h: Likewise.
42593         * lib/unictype/ctype_space.h: Likewise.
42594         * lib/unictype/ctype_upper.h: Likewise.
42595         * lib/unictype/ctype_xdigit.h: Likewise.
42596         * lib/unictype/decdigit.h: Likewise.
42597         * lib/unictype/digit.h: Likewise.
42598         * lib/unictype/mirror.h: Likewise.
42599         * lib/unictype/numeric.h: Likewise.
42600         * lib/unictype/pr_alphabetic.h: Likewise.
42601         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
42602         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
42603         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
42604         * lib/unictype/pr_bidi_block_separator.h: Likewise.
42605         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
42606         * lib/unictype/pr_bidi_common_separator.h: Likewise.
42607         * lib/unictype/pr_bidi_control.h: Likewise.
42608         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
42609         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
42610         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
42611         * lib/unictype/pr_bidi_european_digit.h: Likewise.
42612         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
42613         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
42614         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
42615         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
42616         * lib/unictype/pr_bidi_pdf.h: Likewise.
42617         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
42618         * lib/unictype/pr_bidi_whitespace.h: Likewise.
42619         * lib/unictype/pr_combining.h: Likewise.
42620         * lib/unictype/pr_composite.h: Likewise.
42621         * lib/unictype/pr_currency_symbol.h: Likewise.
42622         * lib/unictype/pr_dash.h: Likewise.
42623         * lib/unictype/pr_decimal_digit.h: Likewise.
42624         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
42625         * lib/unictype/pr_deprecated.h: Likewise.
42626         * lib/unictype/pr_diacritic.h: Likewise.
42627         * lib/unictype/pr_extender.h: Likewise.
42628         * lib/unictype/pr_format_control.h: Likewise.
42629         * lib/unictype/pr_grapheme_base.h: Likewise.
42630         * lib/unictype/pr_grapheme_extend.h: Likewise.
42631         * lib/unictype/pr_grapheme_link.h: Likewise.
42632         * lib/unictype/pr_hex_digit.h: Likewise.
42633         * lib/unictype/pr_hyphen.h: Likewise.
42634         * lib/unictype/pr_id_continue.h: Likewise.
42635         * lib/unictype/pr_id_start.h: Likewise.
42636         * lib/unictype/pr_ideographic.h: Likewise.
42637         * lib/unictype/pr_ids_binary_operator.h: Likewise.
42638         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
42639         * lib/unictype/pr_ignorable_control.h: Likewise.
42640         * lib/unictype/pr_iso_control.h: Likewise.
42641         * lib/unictype/pr_join_control.h: Likewise.
42642         * lib/unictype/pr_left_of_pair.h: Likewise.
42643         * lib/unictype/pr_line_separator.h: Likewise.
42644         * lib/unictype/pr_logical_order_exception.h: Likewise.
42645         * lib/unictype/pr_lowercase.h: Likewise.
42646         * lib/unictype/pr_math.h: Likewise.
42647         * lib/unictype/pr_non_break.h: Likewise.
42648         * lib/unictype/pr_not_a_character.h: Likewise.
42649         * lib/unictype/pr_numeric.h: Likewise.
42650         * lib/unictype/pr_other_alphabetic.h: Likewise.
42651         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
42652         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
42653         * lib/unictype/pr_other_id_continue.h: Likewise.
42654         * lib/unictype/pr_other_id_start.h: Likewise.
42655         * lib/unictype/pr_other_lowercase.h: Likewise.
42656         * lib/unictype/pr_other_math.h: Likewise.
42657         * lib/unictype/pr_other_uppercase.h: Likewise.
42658         * lib/unictype/pr_paired_punctuation.h: Likewise.
42659         * lib/unictype/pr_paragraph_separator.h: Likewise.
42660         * lib/unictype/pr_pattern_syntax.h: Likewise.
42661         * lib/unictype/pr_pattern_white_space.h: Likewise.
42662         * lib/unictype/pr_private_use.h: Likewise.
42663         * lib/unictype/pr_punctuation.h: Likewise.
42664         * lib/unictype/pr_quotation_mark.h: Likewise.
42665         * lib/unictype/pr_radical.h: Likewise.
42666         * lib/unictype/pr_sentence_terminal.h: Likewise.
42667         * lib/unictype/pr_soft_dotted.h: Likewise.
42668         * lib/unictype/pr_space.h: Likewise.
42669         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42670         * lib/unictype/pr_titlecase.h: Likewise.
42671         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42672         * lib/unictype/pr_unified_ideograph.h: Likewise.
42673         * lib/unictype/pr_uppercase.h: Likewise.
42674         * lib/unictype/pr_variation_selector.h: Likewise.
42675         * lib/unictype/pr_white_space.h: Likewise.
42676         * lib/unictype/pr_xid_continue.h: Likewise.
42677         * lib/unictype/pr_xid_start.h: Likewise.
42678         * lib/unictype/pr_zero_width.h: Likewise.
42679         * lib/unictype/scripts.h: Likewise.
42680         * lib/unictype/scripts_byname.gperf: Likewise.
42681         * lib/unictype/sy_c_ident.h: Likewise.
42682         * lib/unictype/sy_c_whitespace.h: Likewise.
42683         * lib/unictype/sy_java_ident.h: Likewise.
42684         * lib/unictype/sy_java_whitespace.h: Likewise.
42685
42686         * lib/unictype/Makefile: New file.
42687         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
42688         glibc.
42689         * lib/unictype/3level.h: New file, copied from glibc.
42690         * lib/unictype/3levelbit.h: New file.
42691
42692 2007-11-11  Bruno Haible  <bruno@clisp.org>
42693
42694         * modules/gperf: New file.
42695         * modules/iconv_open (Depends-on): Add it.
42696         (Makefile.am): Remove the GPERF definition.
42697
42698 2007-11-11  Bruno Haible  <bruno@clisp.org>
42699
42700         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42701         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42702
42703 2007-11-11  Bruno Haible  <bruno@clisp.org>
42704
42705         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42706         (usage): Remove function.
42707
42708 2007-11-11  Bruno Haible  <bruno@clisp.org>
42709
42710         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42711         gl_FUNC_CEILF_LIBS.
42712         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42713         gl_FUNC_CEIL_LIBS.
42714         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42715         gl_FUNC_CEILL_LIBS.
42716         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42717         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42718         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42719
42720 2007-11-11  Bruno Haible  <bruno@clisp.org>
42721
42722         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42723         roundf were declared but do not exist on functions.
42724         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42725         roundl were declared but do not exist on functions.
42726         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42727         HAVE_FLOORL_AND_CEILL, respectively.
42728         Needed for Sun C on Solaris 10.
42729
42730 2007-11-11  Bruno Haible  <bruno@clisp.org>
42731
42732         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42733         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42734         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42735         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42736         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42737         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42738         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42739         HAVE_DECL_ROUNDF.
42740         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42741         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42743         of HAVE_DECL_ROUND*.
42744         * modules/math (Makefile.am): Update.
42745
42746 2007-11-10  Bruno Haible  <bruno@clisp.org>
42747
42748         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42749         ptrdiff_t as m4/intl.m4.
42750
42751 2007-11-10  Jim Meyering  <meyering@redhat.com>
42752
42753         Avoid link failure for the argmatch test.
42754         * tests/test-argmatch.c (usage): Define function to avoid a link
42755         failure: argmatch_die requires a usage function.
42756
42757 2007-11-09  Bruno Haible  <bruno@clisp.org>
42758
42759         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42760         * doc/functions/vsnprintf.texi: Likewise.
42761         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42762         with a size argument < 2.
42763
42764 2007-11-09  Bruno Haible  <bruno@clisp.org>
42765
42766         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42767         buffer. Fixes an inefficiency introduced on 2007-11-03.
42768
42769 2007-11-09  Bruno Haible  <bruno@clisp.org>
42770
42771         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42772         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42773
42774 2007-11-08  Jim Meyering  <meyering@redhat.com>
42775
42776         Change cache variable name prefix "jm_" to "gl_" everywhere.
42777         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42778         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42779         * m4/uptime.m4: s/gl_/jm_/
42780
42781 2007-11-07  Bruno Haible  <bruno@clisp.org>
42782
42783         Update to GNU gettext 0.17.
42784         * m4/intl.m4: Update to GNU gettext 0.17.
42785         * m4/po.m4: Likewise.
42786         * modules/gettext (Files): Remove m4/ulonglong.m4.
42787         (configure.ac): Require gettext infrastructure from version 0.17.
42788
42789 2007-11-06  Bruno Haible  <bruno@clisp.org>
42790
42791         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42792         symbolic values are not defined in a public header.
42793         * lib/freadable.c (freadable) [QNX]: Likewise.
42794         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42795         * lib/freading.c (freading) [QNX]: Likewise.
42796         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42797         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42798         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42799         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42800         Reported by Alain Magloire.
42801
42802         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42803
42804 2007-11-05  Bruno Haible  <bruno@clisp.org>
42805
42806         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42807         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42808         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42809         Reported by Eric Blake.
42810
42811 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42812             Bruno Haible  <bruno@clisp.org>
42813
42814         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42815         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42816         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42817         (malloc): Undefine also before including <stdlib.h>.
42818         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42819         Needed on OSF/1 4.0.
42820
42821 2007-11-05  Jim Meyering  <meyering@redhat.com>
42822
42823         git-version-gen: sync from coreutils.
42824         * build-aux/git-version-gen: Add comments.
42825         Change the first '-' to '.' in the snapshot version string,
42826         e.g., 6.9-377-08144 -> 6.9.377-08144
42827         Remove first parameter.
42828         Don't declare a version "-dirty" merely because a time
42829         stamp has changed.
42830
42831 2007-11-04  Bruno Haible  <bruno@clisp.org>
42832
42833         * lib/lock.h: Protect all macro definitions containing an 'if'
42834         statement through a "do { ... } while (0)".
42835         * lib/tls.h: Likewise.
42836
42837 2007-11-04  Bruno Haible  <bruno@clisp.org>
42838
42839         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42840
42841 2007-11-04  Bruno Haible  <bruno@clisp.org>
42842
42843         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42844         * modules/fprintf-posix (Depends-on): Add nocrash.
42845         * modules/snprintf-posix (Depends-on): Likewise.
42846         * modules/sprintf-posix (Depends-on): Likewise.
42847         * modules/vasnprintf-posix (Depends-on): Likewise.
42848         * modules/vasprintf-posix (Depends-on): Likewise.
42849         * modules/vfprintf-posix (Depends-on): Likewise.
42850         * modules/vsnprintf-posix (Depends-on): Likewise.
42851         * modules/vsprintf-posix (Depends-on): Likewise.
42852         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42853         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42854         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42855         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42856         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42857         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42858         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42859
42860 2007-11-04  Bruno Haible  <bruno@clisp.org>
42861
42862         * modules/nocrash: New file.
42863         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42864         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42865
42866 2007-11-04  Bruno Haible  <bruno@clisp.org>
42867
42868         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42869         precision handling.
42870         * tests/test-vasprintf-posix.c (test_function): Likewise.
42871         * tests/test-snprintf-posix.h (test_function): Likewise.
42872         * tests/test-sprintf-posix.h (test_function): Likewise.
42873
42874         Fix *printf behaviour for large precisions on mingw and BeOS.
42875         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42876         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42877         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42878         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42879         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42880         gl_PRINTF_PRECISION and test its result. Invoke
42881         gl_PREREQ_VASNPRINTF_PRECISION.
42882         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42883         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42884         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42885         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42886         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42887         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42888         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42889         * doc/functions/fprintf.texi: Update.
42890         * doc/functions/printf.texi: Update.
42891         * doc/functions/snprintf.texi: Update.
42892         * doc/functions/sprintf.texi: Update.
42893         * doc/functions/vfprintf.texi: Update.
42894         * doc/functions/vprintf.texi: Update.
42895         * doc/functions/vsnprintf.texi: Update.
42896         * doc/functions/vsprintf.texi: Update.
42897
42898 2007-11-04  Bruno Haible  <bruno@clisp.org>
42899
42900         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42901
42902 2007-11-04  Bruno Haible  <bruno@clisp.org>
42903
42904         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42905         Reported by Sylvain Beucler <beuc@gnu.org>.
42906
42907 2007-11-03  Bruno Haible  <bruno@clisp.org>
42908
42909         * tests/test-fprintf-posix2.sh: New file.
42910         * tests/test-fprintf-posix2.c: New file.
42911         * modules/fprintf-posix-tests (Files): Add them.
42912         (TESTS): Add test-fprintf-posix2.sh.
42913         (configure.ac): Check for getrlimit and setrlimit.
42914         (check_PROGRAMS): Add test-fprintf-posix2.
42915
42916         * tests/test-printf-posix2.sh: New file.
42917         * tests/test-printf-posix2.c: New file.
42918         * modules/printf-posix-tests (Files): Add them.
42919         (TESTS): Add test-printf-posix2.sh.
42920         (configure.ac): Check for getrlimit and setrlimit.
42921         (check_PROGRAMS): Add test-printf-posix2.
42922
42923         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42924         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42925         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
42926         (decode_double): New function, copied from decode_long_double.
42927         (scale10_round_decimal_decoded): New function, extracted from
42928         scale10_round_decimal_long_double.
42929         (scale10_round_decimal_long_double): Use it.
42930         (scale10_round_decimal_double): New function.
42931         (floorlog10): New function.
42932         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
42933         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
42934         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42935         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42936         gl_PRINTF_ENOMEM and test its result. Invoke
42937         gl_PREREQ_VASNPRINTF_ENOMEM.
42938         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42939         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42940         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42941         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42942         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42943         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42944         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42945         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
42946         * modules/snprintf-posix (Depends-on): Likewise.
42947         * modules/sprintf-posix (Depends-on): Likewise.
42948         * modules/vasnprintf-posix (Depends-on): Likewise.
42949         * modules/vasprintf-posix (Depends-on): Likewise.
42950         * modules/vfprintf-posix (Depends-on): Likewise.
42951         * modules/vsnprintf-posix (Depends-on): Likewise.
42952         * modules/vsprintf-posix (Depends-on): Likewise.
42953         * doc/functions/fprintf.texi: Update.
42954         * doc/functions/printf.texi: Update.
42955         * doc/functions/snprintf.texi: Update.
42956         * doc/functions/sprintf.texi: Update.
42957         * doc/functions/vfprintf.texi: Update.
42958         * doc/functions/vprintf.texi: Update.
42959         * doc/functions/vsnprintf.texi: Update.
42960         * doc/functions/vsprintf.texi: Update.
42961
42962 2007-11-03  Bruno Haible  <bruno@clisp.org>
42963
42964         * modules/frexp-nolibm-tests: New file.
42965
42966         * modules/frexp-nolibm: New file.
42967         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
42968
42969 2007-11-03  Bruno Haible  <bruno@clisp.org>
42970
42971         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
42972         value is C99 compliant.
42973         Needed for OSF/1 5.1.
42974
42975 2007-11-03  Bruno Haible  <bruno@clisp.org>
42976
42977         Fix out-of-memory handling of vasnprintf.
42978         * lib/printf-parse.c: Include <errno.h>.
42979         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
42980         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
42981         is already set.
42982
42983 2007-11-02  Eric Blake  <ebb9@byu.net>
42984
42985         Fix tests on cygwin.
42986         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
42987
42988 2007-11-01  Bruno Haible  <bruno@clisp.org>
42989
42990         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
42991         warning.
42992         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
42993         needed for POSIX compatibility.
42994
42995 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42996
42997         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
42998         for compatibility with GNU.
42999
43000 2007-11-01  Bruno Haible  <bruno@clisp.org>
43001
43002         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
43003         (putenv): Renamed from rpl_putenv. Change argument type from
43004         'const char *' to 'char *'.
43005         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
43006         of defining putenv in config.h, just set REPLACE_PUTENV.
43007         * modules/putenv (Depends-on): Add stdlib.
43008         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43009         (Include): Use <stdlib.h>.
43010         * lib/stdlib.in.h (putenv): New declaration.
43011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
43012         REPLACE_PUTENV.
43013         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
43014         REPLACE_PUTENV.
43015         Needed for MacOS X 10.5.0.
43016         Reported by Peter O'Gorman <peter@pogma.com>.
43017
43018 2007-11-01  Jim Meyering  <meyering@redhat.com>
43019
43020         Treat an empty date string exactly like "0".
43021         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
43022         if the remaining date string (to be parsed) is empty, use "0".
43023         Reported by Mischa Molhoek and discussed in this thread:
43024         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
43025
43026 2007-10-31  Bruno Haible  <bruno@clisp.org>
43027
43028         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
43029         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
43030         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
43031         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
43032         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
43033         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
43034
43035 2007-10-31  Bruno Haible  <bruno@clisp.org>
43036
43037         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
43038         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
43039         (AC_TYPE_LONG_LONG_INT): Use it.
43040         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
43041         it as well.
43042         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
43043         to m4/longlong.m4.
43044         * modules/stdint (Files): Remove m4/ulonglong.m4.
43045         * modules/strtoull (Files): Use m4/longlong.m4 instead of
43046         m4/ulonglong.m4.
43047         * modules/strtoumax (Files): Likewise.
43048
43049 2007-10-30  Bruno Haible  <bruno@clisp.org>
43050
43051         * modules/xvasprintf-posix: New file.
43052         Suggested by Eric Blake.
43053
43054 2007-10-30  Bruno Haible  <bruno@clisp.org>
43055
43056         * modules/xprintf-posix-tests: New file.
43057         * tests/test-xprintf-posix.sh: New file.
43058         * tests/test-xprintf-posix.c: New file.
43059         * tests/test-xfprintf-posix.c: New file.
43060
43061         * modules/xprintf-posix: New file.
43062
43063 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43064
43065         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
43066         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
43067         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
43068
43069 2007-10-29  Bruno Haible  <bruno@clisp.org>
43070
43071         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
43072         contain the special marker '_cv_'.
43073         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43074         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43075         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43076         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
43077         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43078         Reported by Ralf Wildenhues.
43079
43080 2007-10-29  Bruno Haible  <bruno@clisp.org>
43081
43082         * gnulib-tool (func_import): When --lgpl is not specified, set
43083         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
43084         GPLv3.
43085         Reported by Simon Josefsson.
43086
43087 2007-10-28  Bruno Haible  <bruno@clisp.org>
43088
43089         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
43090         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
43091         HAVE_DECL_ISFINITE.
43092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43093         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
43094         HAVE_DECL_ISFINITE.
43095
43096 2007-10-28  Bruno Haible  <bruno@clisp.org>
43097
43098         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
43099         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
43100
43101 2007-10-28  Bruno Haible  <bruno@clisp.org>
43102
43103         Fix link errors with Sun C 5.0 on Solaris 10.
43104         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
43105         function is declared but not present in the compiler's libm.
43106         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
43107         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
43108         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
43109         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
43110         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
43111         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
43112         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
43113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43114         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
43115         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
43116         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
43117         HAVE_DECL_FLOORL.
43118
43119 2007-10-28  Bruno Haible  <bruno@clisp.org>
43120
43121         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
43122         gl_FUNC_FLOORL. Cache the result.
43123         (gl_FUNC_FLOORL): Use it.
43124         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
43125         gl_FUNC_CEILL. Cache the result.
43126         (gl_FUNC_CEILL): Use it.
43127
43128         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
43129         gl_FUNC_FLOOR. Cache the result.
43130         (gl_FUNC_FLOOR): Use it.
43131         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
43132         gl_FUNC_CEIL. Cache the result.
43133         (gl_FUNC_CEIL): Use it.
43134
43135         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
43136         gl_FUNC_FLOORF. Cache the result.
43137         (gl_FUNC_FLOORF): Use it.
43138         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
43139         gl_FUNC_CEILF. Cache the result.
43140         (gl_FUNC_CEILF): Use it.
43141
43142 2007-10-28  Bruno Haible  <bruno@clisp.org>
43143
43144         * gnulib-tool: Allow specifying the LGPL version number through
43145         --lgpl=2 or --lgpl=3.
43146         (func_usage): Document --lgpl with argument.
43147         Handle --lgpl=... arguments.
43148         (func_import): Recognize also gl_LGPL calls with an argument. When
43149         --lgpl=2 is used and the module's license is just LGPL, report an
43150         error. Set sed_transform_lib_file according to the lgpl variable. In
43151         the generated files, use --lgpl or gl_LGPL invocations with argument,
43152         if necessary.
43153         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
43154         an LGPv2+ license.
43155         * doc/gnulib-tool.texi (Modified imports): Update explanation of
43156         gl_LGPL macro.
43157
43158 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43159             Bruno Haible  <bruno@clisp.org>
43160
43161         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
43162         (u16_uctomb_aux): Likewise.
43163         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
43164         !HAVE_INLINE.
43165         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
43166
43167 2007-10-28  Bruno Haible  <bruno@clisp.org>
43168
43169         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
43170         Invoke AM_GETTEXT_OPTION if it exists.
43171         * modules/vasprintf: Likewise.
43172         * modules/verror: Likewise.
43173         * modules/xprintf: Likewise.
43174         * modules/xvasprintf: Likewise.
43175
43176 2007-10-27  Ben Pfaff  <blp@gnu.org>
43177
43178         * lib/math.in.h: Define isfinite macro and prototypes for
43179         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
43180         implementations.
43181         * m4/math_h.m4: New substitutions for isfinite module.
43182         * lib/isfinite.c: New file.
43183         * m4/isfinite.m4: New file.
43184         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
43185         * modules/isfinite: New file.
43186         * modules/isfinite-tests: New file.
43187         * tests/tests-isfinite.c: New file.
43188         * doc/functions/isfinite.texi: Mention isfinite module.
43189         * MODULES.html.sh: Mention new module.
43190
43191 2007-10-27  Ben Pfaff  <blp@gnu.org>
43192
43193         Ralf Wildenhues reported that Tru64 4.0D declares the round
43194         functions but does not have definitions.
43195         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
43196         cannot be found in any library, set the output variable to
43197         "missing" instead of "".
43198         * m4/round.m4: Also use our substitute if we cannot find round in
43199         any library, even if it is declared.
43200         * m4/roundf.m4: Likewise for roundf.
43201         * m4/roundl.m4: Likewise for roundl.
43202         * lib/math.in.h: Undefine roundf, round, roundl before defining
43203         their replacements, to allow for hypothetical systems where these
43204         may be defined as macros but not available in libraries.
43205
43206 2007-10-27  Bruno Haible  <bruno@clisp.org>
43207
43208         * doc/gnulib.texi: Invoke @firstparagraphindent.
43209         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
43210         changes in gnulib.
43211         (Source changes): New section.
43212
43213 2007-10-26  Bruno Haible  <bruno@clisp.org>
43214
43215         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
43216         borrowed from autoconf.
43217
43218 2007-10-26  Bruno Haible  <bruno@clisp.org>
43219
43220         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
43221         strerror returned the empty string. Needed on HP-UX 11.00.
43222
43223 2007-10-24  Micah Cowan  <micah@cowan.name>
43224
43225         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
43226         * build-aux/bootstrap: Remove support for now-unnecessary option,
43227         --cvs-user, and envvars CVS_USER, CVS_RSH.
43228
43229 2007-10-24  Jim Meyering  <meyering@redhat.com>
43230
43231         Avoid diagnostics from sha1sum when there is no cached checksum.
43232         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
43233         if the po.s1 file hasn't been created yet.
43234
43235         * build-aux/bootstrap: Sync from coreutils:
43236         2007-10-24  Jim Meyering  <meyering@redhat.com>
43237         Get gnulib from the git repository, not from an obsolete cvs one.
43238         * build-aux/bootstrap: Suggestion from Micah Cowan.
43239         2007-10-04  Jim Meyering  <jim@meyering.net>
43240         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
43241         (update_po_files): Work also when there are no .po files in po/.
43242
43243 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43244
43245         * README: Append ".git" to git and cg examples.
43246         Problem reported by Benoit Sigoure.
43247
43248 2007-10-23  Micah Cowan  <micah@cowan.name>
43249
43250         * users.txt: Add wget.
43251
43252 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43253
43254         Fix linking of some unistdio tests on FreeBSD.
43255         * modules/unistdio/u16-vsnprintf-tests
43256         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
43257         * modules/unistdio/u16-vsprintf-tests
43258         (test_u16_vsnprintf1_LDADD): Likewise.
43259         * modules/unistdio/u32-vsnprintf-tests
43260         (test_u32_vsnprintf1_LDADD): Likewise.
43261         * modules/unistdio/u32-vsprintf-tests
43262         (test_u32_vsprintf1_LDADD): Likewise.
43263         * modules/unistdio/u8-vsnprintf-tests
43264         (test_u8_vsnprintf1_LDADD): Likewise.
43265         * modules/unistdio/u8-vsprintf-tests
43266         (test_u8_vsprintf1_LDADD): Likewise.
43267         * modules/unistdio/ulc-vsnprintf-tests
43268         (test_ulc_vsnprintf1_LDADD): Likewise.
43269         * modules/unistdio/ulc-vsprintf-tests
43270         (test_ulc_vsprintf1_LDADD): Likewise.
43271
43272         Fix linking of some uniconv tests on FreeBSD.
43273         * modules/uniconv/u16-conv-from-enc-tests
43274         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
43275         * modules/uniconv/u16-conv-to-enc-tests
43276         (test_u16_conv_to_enc_LDADD): Likewise.
43277         * modules/uniconv/u16-strconv-from-enc-tests
43278         (test_u16_strconv_from_enc_LDADD): Likewise.
43279         * modules/uniconv/u16-strconv-to-enc-tests
43280         (test_u16_strconv_to_enc_LDADD): Likewise.
43281         * modules/uniconv/u32-conv-from-enc-tests
43282         (test_u32_conv_from_enc_LDADD): Likewise.
43283         * modules/uniconv/u32-conv-to-enc-tests
43284         (test_u32_conv_to_enc_LDADD): Likewise.
43285         * modules/uniconv/u32-strconv-from-enc-tests
43286         (test_u32_strconv_from_enc_LDADD): Likewise.
43287         * modules/uniconv/u32-strconv-to-enc-tests
43288         (test_u32_strconv_to_enc_LDADD): Likewise.
43289         * modules/uniconv/u8-conv-from-enc-tests
43290         (test_u8_conv_from_enc_LDADD): Likewise.
43291         * modules/uniconv/u8-conv-to-enc-tests
43292         (test_u8_conv_to_enc_LDADD): Likewise.
43293         * modules/uniconv/u8-strconv-from-enc-tests
43294         (test_u8_strconv_from_enc_LDADD): Likewise.
43295         * modules/uniconv/u8-strconv-to-enc-tests
43296         (test_u8_strconv_to_enc_LDADD): Likewise.
43297
43298 2007-10-22  Bruno Haible  <bruno@clisp.org>
43299
43300         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
43301         size.
43302
43303 2007-10-22  Eric Blake  <ebb9@byu.net>
43304
43305         Tweak x*printf documentation.
43306         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
43307         variable name and comments.
43308         Suggested by Bruno Haible.
43309
43310 2007-10-22  Bruno Haible  <bruno@clisp.org>
43311
43312         * lib/acl.c (copy_acl): Fix file name in comment.
43313
43314 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43315
43316         Fix Tru64 problem with stdbool.h.
43317         * lib/stdbool.in.h (false, true):
43318         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
43319         Don't declare as an enum in this situation; it runs afoul of Tru64.
43320         Problem reported by Steven M. Schweda in
43321         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
43322
43323 2007-10-22  Eric Blake  <ebb9@byu.net>
43324
43325         Also wrap vf?printf.
43326         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
43327         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
43328         (xvprintf, xvfprintf): New functions.
43329
43330 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43331
43332         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
43333         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
43334
43335         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
43336         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
43337
43338 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43339
43340         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
43341         by Bruno Haible.
43342
43343 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43344
43345         * lib/getloadavg.c
43346         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
43347         Undef `sys' after including sys/table.h, for Tru64 4.0D.
43348
43349         * tests/test-i-ring.c: Work for C89.
43350
43351 2007-10-22  Bruno Haible  <bruno@clisp.org>
43352
43353         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
43354         -1u, in preprocessor expression, so that we don't test for the bug
43355         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
43356         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
43357
43358 2007-10-22  Eric Blake  <ebb9@byu.net>
43359
43360         * tests/test-yesno.sh: Silence stderr during test.
43361
43362 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43363
43364         * modules/crypto/gc-camellia: New file.
43365
43366         * m4/gc-camellia.m4: New file.
43367
43368         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
43369
43370         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
43371
43372 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43373
43374         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
43375         --help to stdout.  Reported by sms@antinode.org (Steven
43376         M. Schweda).
43377
43378 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43379
43380         * users.txt: Fix link to libksba.
43381
43382 2007-10-21  Ben Pfaff  <blp@gnu.org>
43383
43384         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
43385         round.c roundf implementation that depends on floorf and ceilf to
43386         be tested unconditionally.
43387
43388 2007-10-21  Ben Pfaff  <blp@gnu.org>
43389
43390         * m4/check-libm-func.m4: Removed.
43391         * m4/check-math-lib.m4: New file.
43392         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
43393         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
43394         definition and lack of AC_LIBOBJ([roundf]).
43395         * m4/roundl.m4: Ditto, and similarly for roundl.
43396         * modules/round: Reference new m4 file.
43397         * modules/roundf: Ditto.
43398         * modules/roundl: Ditto.
43399         * tests/test-round2.c (main): Use ROUND instead of round.
43400         Bug report from Bruno Haible.
43401
43402 2007-10-21  Bruno Haible  <bruno@clisp.org>
43403
43404         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
43405         context.
43406
43407 2007-10-21  Bruno Haible  <bruno@clisp.org>
43408
43409         * tests/test-wcwidth.c (main): Allow negative result for some control
43410         characters.
43411
43412         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
43413         Needed on OSF/1 5.1.
43414
43415 2007-10-21  Bruno Haible  <bruno@clisp.org>
43416
43417         * tests/test-floorf1.c: Include isnanf.h.
43418         (main): Use isnanf() instead of isnan().
43419         * tests/test-ceilf1.c: Include isnanf.h.
43420         (main): Use isnanf() instead of isnan().
43421         * tests/test-truncf1.c: Include isnanf.h.
43422         (main): Use isnanf() instead of isnan().
43423         * tests/test-roundf1.c: Include isnanf.h.
43424         (main): Use isnanf() instead of isnan().
43425
43426 2007-10-21  Eric Blake  <ebb9@byu.net>
43427
43428         * users.txt: Update URL for m4.
43429
43430 2007-10-21  Bruno Haible  <bruno@clisp.org>
43431
43432         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
43433
43434 2007-10-21  Bruno Haible  <bruno@clisp.org>
43435
43436         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
43437         Git's management files if the CVS files are not present.
43438
43439 2007-10-20  Bruno Haible  <bruno@clisp.org>
43440
43441         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
43442         gcc-3.4.x.
43443
43444 2007-10-20  Ben Pfaff  <blp@gnu.org>
43445
43446         * lib/math.in.h: Declare round, roundf, roundl if we are providing
43447         implementations.
43448         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
43449         * lib/round.c: New file.
43450         * lib/roundf.c: New file.
43451         * lib/roundl.c: New file.
43452         * m4/round.m4: New file.
43453         * m4/roundf.m4: New file.
43454         * m4/roundl.m4: New file.
43455         * m4/check-libm-func-m4: New file.
43456         * modules/math: Replace round, roundf, roundl related @VARS@ in
43457         math.in.h.
43458         * modules/round: New file.
43459         * modules/round-tests: New file.
43460         * modules/roundf: New file.
43461         * modules/roundf-tests: New file.
43462         * modules/roundl: New file.
43463         * modules/roundl-tests: New file.
43464         * tests/test-round1.c: New file.
43465         * tests/test-round2.c: New file.
43466         * tests/test-roundf1.c: New file.
43467         * tests/test-roundf2.c: New file.
43468         * tests/test-roundl.c: New file.
43469         * doc/functions/round.texi: Mention round module.
43470         * doc/functions/roundf.texi: Mention roundf module.
43471         * doc/functions/roundl.texi: Mention roundl module.
43472         * MODULES.html.sh: Mention new modules.
43473         Thanks to Bruno Haible for suggestions.
43474
43475 2007-10-20  Jim Meyering  <meyering@redhat.com>
43476
43477         * lib/xprintf.c: Include <config.h> unconditionally.
43478
43479         Change xprintf's license to GPL.
43480         * modules/xprintf (License): s/LGPL/GPL/, since this module
43481         depends on modules (exit and exitfail) which are GPL.
43482         Suggestion from Bruno Haible.
43483
43484         xprintf fixes.
43485         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
43486         Use a clearer diagnostic.
43487         Patch from Bruno Haible.
43488
43489 2007-10-20  Bruno Haible  <bruno@clisp.org>
43490
43491         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
43492         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
43493         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43494
43495 2007-10-20  Bruno Haible  <bruno@clisp.org>
43496
43497         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
43498         precision in the comparison result > x - 1 or similar.
43499         * tests/test-ceilf2.c (correct_result_p): Likewise.
43500         * tests/test-truncf2.c (correct_result_p): Likewise.
43501         * tests/test-trunc2.c (correct_result_p): Likewise.
43502         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43503
43504 2007-10-20  Bruno Haible  <bruno@clisp.org>
43505
43506         * modules/ceil: New file.
43507         * m4/ceil.m4: New file.
43508         * doc/functions/ceil.texi: Mention the 'ceil' module.
43509
43510 2007-10-20  Bruno Haible  <bruno@clisp.org>
43511
43512         * modules/floor: New file.
43513         * m4/floor.m4: New file.
43514         * doc/functions/floor.texi: Mention the 'floor' module.
43515
43516 2007-10-20  Bruno Haible  <bruno@clisp.org>
43517
43518         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
43519         of %a.
43520         * modules/floorf-tests (Depends-on): Likewise.
43521         * modules/truncf-tests (Depends-on): Likewise.
43522         * modules/trunc-tests (Depends-on): Likewise.
43523         Reported by Ben Pfaff.
43524
43525 2007-10-19  Jim Meyering  <meyering@redhat.com>
43526
43527         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
43528         Don't bother testing specific errno values.  Just test ferror.
43529
43530         New module: xprintf
43531         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
43532
43533 2007-10-19  Bruno Haible  <bruno@clisp.org>
43534
43535         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
43536         syntax.
43537         * modules/javaexec (Makefile.am): Likewise.
43538         * modules/relocatable-prog (Makefile.am): Likewise.
43539         Suggested by Jim Meyering.
43540
43541 2007-10-18  Bruno Haible  <bruno@clisp.org>
43542
43543         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
43544         Reported by Jim Meyering.
43545
43546 2007-10-18  Eric Blake  <ebb9@byu.net>
43547
43548         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
43549
43550 2007-10-18  Bruno Haible  <bruno@clisp.org>
43551
43552         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
43553         the format string into writable memory. Needed in Fortify conditions.
43554
43555 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
43556             Bruno Haible  <bruno@clisp.org>
43557
43558         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
43559         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
43560         * modules/trim (Depends-on): Add mbchar.
43561         (configure.ac): Add gl_FUNC_MBRTOWC.
43562         (Makefile.am): Augment lib_SOURCES.
43563
43564 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43565
43566         Modify glob.c to use fstatat and dirfd, to simplify it.
43567         Suggested by Eric Blake.
43568         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
43569         Don't include <stdbool.h>; not used.
43570         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
43571         (link_exists_p): Simplify implementation, since we can now assume
43572         dirfd and fstatat.
43573         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
43574
43575 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43576
43577         * gnulib-tool (func_get_dependencies): Fix sed script to
43578         match only tests.
43579
43580 2007-10-17  Bruno Haible  <bruno@clisp.org>
43581
43582         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
43583         allow locale names without encoding suffix.
43584         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43585         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43586
43587 2007-10-16  Bruno Haible  <bruno@clisp.org>
43588
43589         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
43590         * lib/getgroups.c (getgroups): Likewise.
43591         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
43592
43593 2007-10-16  Bruno Haible  <bruno@clisp.org>
43594
43595         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
43596         * modules/malloc-posix (License): Likewise.
43597         * modules/realloc-posix (License): Likewise.
43598         * modules/calloc-posix (License): Likewise.
43599         * modules/intprops (License): Change from GPL to LGPL, with
43600         Paul Eggert's approval.
43601
43602 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43603
43604         Merge glibc changes into lib/glob.c.
43605
43606         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
43607         2007-10-15 04:59:03 UTC.  Here are the changes:
43608
43609         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
43610
43611         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
43612
43613         * lib/glob.c: Add some branch prediction throughout.
43614
43615         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
43616
43617         [BZ #5103]
43618         * lib/glob.c (glob): Recognize patterns starting \/.
43619
43620         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
43621
43622         [BZ #3996]
43623         * lib/glob.c (attribute_hidden): Define if not defined.
43624         (glob): Unescape dirname, filename or username when needed and not
43625         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
43626         is NULL.  Handle unescaped [ in pattern without closing ].
43627         Don't pass GLOB_CHECK down to recursive glob for directories.
43628         (__glob_pattern_type): New function.
43629         (__glob_pattern_p): Implement using __glob_pattern_type.
43630         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
43631         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
43632         Remove unreachable code.
43633
43634         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
43635
43636         * lib/glob.c (glob_in_dir): Add some comments and asserts to
43637         explain why there are no leaks.
43638
43639         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
43640
43641         [BZ #3253]
43642         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
43643         time, rather allocate increasingly bigger arrays of pointers, if
43644         possible with alloca, if too large with malloc.
43645
43646 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43647
43648         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
43649         Problem reported by H.Merijn Brand in
43650         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
43651         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
43652         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
43653
43654 2007-10-15  Bruno Haible  <bruno@clisp.org>
43655
43656         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
43657         with explicit rpl_ prefix.
43658         * lib/fopen.c (fopen): Likewise.
43659         * lib/freopen.c (freopen): Likewise.
43660         * lib/iconv.c (iconv): Likewise.
43661         * lib/iconv_close.c (iconv_close): Likewise.
43662
43663 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43664
43665         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
43666
43667 2007-10-15  Bruno Haible  <bruno@clisp.org>
43668
43669         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
43670         <stddef.h> instead of <stdlib.h> since we only need NULL.
43671         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43672
43673 2007-10-15  Bruno Haible  <bruno@clisp.org>
43674
43675         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
43676         Replace paragraph talking about LIBOBJS.
43677         Reported by Colin Watson <cjwatson@debian.org>.
43678
43679 2007-10-15  Bruno Haible  <bruno@clisp.org>
43680
43681         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
43682         <stdlib.h> before using NULL.
43683
43684 2007-10-15  Simon Josefsson  <simon@josefsson.org>
43685
43686         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
43687         Reported by Albert Chin <china@thewrittenword.com>.
43688
43689 2007-10-14  Bruno Haible  <bruno@clisp.org>
43690
43691         * modules/iconv_open-utf-tests: New file.
43692         * tests/test-iconv-utf.c: New file.
43693
43694         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43695         * modules/iconv_open-utf: New file.
43696         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43697         (iconv, iconv_close): New declarations.
43698         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43699         be defined.
43700         (iconv_open): Add special handling of conversion between UTF-8 and
43701         UTF-{16,32}{BE,LE}.
43702         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43703         * lib/iconv_close.c: New file.
43704         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43705         gl_FUNC_ICONV_OPEN.
43706         (gl_FUNC_ICONV_OPEN): Use it.
43707         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43708         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43709         and REPLACE_ICONV_UTF.
43710         * modules/iconv_open (Depends-on): Add c-strcase.
43711         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43712         ICONV_CONST.
43713         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43714
43715 2007-10-13  Albert Chin  <china@thewrittenword.com>
43716             Bruno Haible  <bruno@clisp.org>
43717
43718         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43719         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43720
43721 2007-10-13  Bruno Haible  <bruno@clisp.org>
43722
43723         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43724         defined, use the ISO C99 inline semantics.
43725         * lib/argp.h (ARGP_EI): Likewise.
43726
43727 2007-10-13  Bruno Haible  <bruno@clisp.org>
43728
43729         Handle 'inline' change in gcc 4.3.0.
43730         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43731         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43732         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43733         argp_fmtstream_point): Disable 'extern' declaration if the function
43734         definition is going to be provided inline.
43735         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43736         semantics, not the ISO C99 inline semantics.
43737         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43738         'extern' declaration if the function definition is going to be provided
43739         inline.
43740         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43741         the GNU C inline semantics, not the ISO C99 inline semantics. With
43742         GCC 4.2, avoid a warning.
43743
43744 2007-10-13  Bruno Haible  <bruno@clisp.org>
43745
43746         * lib/freading.h (freading): Enable the use of __freading for
43747         glibc >= 2.7.
43748         * lib/freading.c (freading): Likewise.
43749
43750 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43751
43752         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43753         "warning: C99 inline functions are not supported; using GNU89".
43754
43755 2007-10-12  Bruno Haible  <bruno@clisp.org>
43756
43757         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43758         of 2.
43759         * tests/test-ceilf2.c: New file.
43760         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43761
43762         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43763         * modules/ceilf-tests: Update.
43764
43765 2007-10-12  Bruno Haible  <bruno@clisp.org>
43766
43767         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43768         of 2.
43769         * tests/test-floorf2.c: New file.
43770         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43771
43772         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43773         * modules/floorf-tests: Update.
43774
43775 2007-10-12  Bruno Haible  <bruno@clisp.org>
43776
43777         * tests/test-trunc2.c: New file.
43778         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43779
43780         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43781         * modules/trunc-tests: Update.
43782
43783 2007-10-12  Bruno Haible  <bruno@clisp.org>
43784
43785         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43786         of 2.
43787         * tests/test-truncf2.c: New file.
43788         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43789
43790         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43791         * modules/truncf-tests: Update.
43792
43793 2007-10-11  Eric Blake  <ebb9@byu.net>
43794
43795         Don't claim strerror is broken on Interix.
43796         * doc/functions/strerror.texi (strerror): Known broken systems are
43797         now Solaris 8, and not Interix.
43798         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43799         Interix on cross-compile.
43800         Reported by Martin Koeppe in
43801         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43802
43803 2007-10-11  Bruno Haible  <bruno@clisp.org>
43804
43805         * modules/i-ring-tests: New file.
43806         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43807         instead of assert.
43808
43809 2007-10-11  Bruno Haible  <bruno@clisp.org>
43810
43811         * modules/filenamecat-tests: New file.
43812         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43813         * lib/filenamecat.c: Remove test code.
43814
43815 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43816
43817         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43818
43819         * lib/strerror.c: Include <string.h> always, to test interface,
43820         and to remove the need for the dummy.
43821         Include intprops.h to compute width instead of doing it ourselves
43822         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43823         (strerror): Define it to return NULL if there's no system strerror.
43824         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43825         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43826         ancient pre-strerror Unix systems well any more.  Saying "unknown
43827         system error" is enough.
43828         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43829         simpler strerror.c implementation.
43830         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43831         Simplify the tests to reflect the simpler strerror implementation.
43832         * modules/strerror (Depends-on): Add intprops.
43833
43834 2007-10-09  Eric Blake  <ebb9@byu.net>
43835
43836         Silence test-fpending.
43837         * modules/fpending-tests (Files): Add wrapper script.
43838         * tests/test-fpending.sh: New file.
43839
43840 2007-10-09  Bruno Haible  <bruno@clisp.org>
43841
43842         * MODULES.html.sh (func_module): Don't create a hyperlink for
43843         function names like 'printf_frexp'.
43844         (Misc): Add crc, memxor.
43845         (Characteristics of floating types): New section.
43846         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43847         isnanf-nolibm, signbit, trunc, truncf, truncl.
43848         (Enhancements for ISO C 99 functions): New subsection Input/output.
43849         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43850         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43851         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43852         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43853         (Enhancements for POSIX:2001 functions): Add chdir-long.
43854         (File system functions): Add areadlink, chdir-safer, read-file.
43855         Remove cycle-check.
43856         (File system as inode set): New section.
43857         (Date and time): Add gethrxtime.
43858         (Multithreading): Add openmp.
43859         (Internationalization functions): Add localename.
43860         (Unicode string functions): Add unistr/u*-mbsnlen.
43861         (Support for maintaining and releasing projects): Add git-version-gen.
43862         (Lone files): Remove directories.
43863
43864 2007-10-08  Ben Pfaff  <blp@gnu.org>
43865
43866         * lib/xmalloca.h: Fix typo in comment.
43867
43868 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43869
43870         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43871         when avoiding problems with integer overflow.  Use a portable test
43872         instead.
43873
43874 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43875
43876         * modules/dummy (License): Change to LGPLv2+.
43877         * modules/float (License): Likewise
43878         * modules/realloc (License): Likewise
43879         * modules/stdlib (License): Likewise
43880
43881 2007-10-07  Bruno Haible  <bruno@clisp.org>
43882
43883         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43884         * floor.c (TWO_MANT_DIG): Likewise.
43885         * ceil.c (TWO_MANT_DIG): Likewise.
43886         Reported by Ben Pfaff.
43887
43888 2007-10-07  Bruno Haible  <bruno@clisp.org>
43889
43890         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43891         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43892         * lib/frexp.c (FUNC): Likewise.
43893         * lib/printf-frexp.h (printf_frexp): Likewise.
43894         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43895         * lib/printf-frexp.c (FUNC): Likewise.
43896         Suggested by Jim Meyering.
43897
43898 2007-10-07  Jim Meyering  <meyering@redhat.com>
43899
43900         Make xnanosleep's integer overflow test more robust.
43901         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43902         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43903
43904 2007-10-07  Bruno Haible  <bruno@clisp.org>
43905
43906         * NEWS: Mention the license change.
43907
43908         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43909         abbreviations in the modules files.
43910
43911         Change copyright notice from GPLv2+ to GPLv3+.
43912         * README: Change copyright notice.
43913         * MODULES.html.sh: Likewise.
43914         * build-aux/bootstrap.conf: Likewise.
43915         * build-aux/config.libpath: Likewise.
43916         * build-aux/csharpcomp.sh.in: Likewise.
43917         * build-aux/csharpexec.sh.in: Likewise.
43918         * build-aux/install-reloc: Likewise.
43919         * build-aux/javacomp.sh.in: Likewise.
43920         * build-aux/javaexec.sh.in: Likewise.
43921         * build-aux/ldd.sh.in: Likewise.
43922         * build-aux/reloc-ldflags: Likewise.
43923         * build-aux/relocatable.sh.in: Likewise.
43924         * build-aux/x-to-1.in: Likewise.
43925         * check-module: Likewise.
43926         * config/srclistvars.sh: Likewise.
43927         * gnulib-tool: Likewise.
43928         * lib/acl-internal.h: Likewise.
43929         * lib/acl.c: Likewise.
43930         * lib/acl.h: Likewise.
43931         * lib/acl_entries.c: Likewise.
43932         * lib/areadlink-with-size.c: Likewise.
43933         * lib/areadlink.c: Likewise.
43934         * lib/areadlink.h: Likewise.
43935         * lib/argmatch.c: Likewise.
43936         * lib/argmatch.h: Likewise.
43937         * lib/argp-ba.c: Likewise.
43938         * lib/argp-eexst.c: Likewise.
43939         * lib/argp-fmtstream.c: Likewise.
43940         * lib/argp-fmtstream.h: Likewise.
43941         * lib/argp-fs-xinl.c: Likewise.
43942         * lib/argp-help.c: Likewise.
43943         * lib/argp-namefrob.h: Likewise.
43944         * lib/argp-parse.c: Likewise.
43945         * lib/argp-pin.c: Likewise.
43946         * lib/argp-pv.c: Likewise.
43947         * lib/argp-pvh.c: Likewise.
43948         * lib/argp-xinl.c: Likewise.
43949         * lib/argp.h: Likewise.
43950         * lib/at-func.c: Likewise.
43951         * lib/atanl.c: Likewise.
43952         * lib/backupfile.c: Likewise.
43953         * lib/backupfile.h: Likewise.
43954         * lib/basename.c: Likewise.
43955         * lib/binary-io.h: Likewise.
43956         * lib/byteswap.in.h: Likewise.
43957         * lib/c-stack.c: Likewise.
43958         * lib/c-stack.h: Likewise.
43959         * lib/c-strcasestr.c: Likewise.
43960         * lib/c-strcasestr.h: Likewise.
43961         * lib/c-strstr.c: Likewise.
43962         * lib/c-strstr.h: Likewise.
43963         * lib/c-strtod.c: Likewise.
43964         * lib/calloc.c: Likewise.
43965         * lib/canon-host.c: Likewise.
43966         * lib/canon-host.h: Likewise.
43967         * lib/canonicalize-lgpl.c: Likewise.
43968         * lib/canonicalize.c: Likewise.
43969         * lib/canonicalize.h: Likewise.
43970         * lib/ceil.c: Likewise.
43971         * lib/ceilf.c: Likewise.
43972         * lib/ceill.c: Likewise.
43973         * lib/chdir-long.c: Likewise.
43974         * lib/chdir-long.h: Likewise.
43975         * lib/chdir-safer.c: Likewise.
43976         * lib/chdir-safer.h: Likewise.
43977         * lib/chown.c: Likewise.
43978         * lib/classpath.c: Likewise.
43979         * lib/classpath.h: Likewise.
43980         * lib/clean-temp.c: Likewise.
43981         * lib/clean-temp.h: Likewise.
43982         * lib/cloexec.c: Likewise.
43983         * lib/close-stream.c: Likewise.
43984         * lib/closein.c: Likewise.
43985         * lib/closein.h: Likewise.
43986         * lib/closeout.c: Likewise.
43987         * lib/closeout.h: Likewise.
43988         * lib/concat-filename.c: Likewise.
43989         * lib/copy-file.c: Likewise.
43990         * lib/copy-file.h: Likewise.
43991         * lib/count-one-bits.h: Likewise.
43992         * lib/crc.c: Likewise.
43993         * lib/crc.h: Likewise.
43994         * lib/creat-safer.c: Likewise.
43995         * lib/csharpcomp.c: Likewise.
43996         * lib/csharpcomp.h: Likewise.
43997         * lib/csharpexec.c: Likewise.
43998         * lib/csharpexec.h: Likewise.
43999         * lib/cycle-check.c: Likewise.
44000         * lib/cycle-check.h: Likewise.
44001         * lib/diacrit.c: Likewise.
44002         * lib/diacrit.h: Likewise.
44003         * lib/diffseq.h: Likewise.
44004         * lib/dirchownmod.c: Likewise.
44005         * lib/dirent.in.h: Likewise.
44006         * lib/dirfd.c: Likewise.
44007         * lib/dirfd.h: Likewise.
44008         * lib/dirname.c: Likewise.
44009         * lib/dirname.h: Likewise.
44010         * lib/dummy.c: Likewise.
44011         * lib/dup-safer.c: Likewise.
44012         * lib/dup2.c: Likewise.
44013         * lib/eealloc.h: Likewise.
44014         * lib/error.c: Likewise.
44015         * lib/error.h: Likewise.
44016         * lib/euidaccess.c: Likewise.
44017         * lib/exclude.c: Likewise.
44018         * lib/exclude.h: Likewise.
44019         * lib/execute.c: Likewise.
44020         * lib/execute.h: Likewise.
44021         * lib/exitfail.c: Likewise.
44022         * lib/exitfail.h: Likewise.
44023         * lib/expl.c: Likewise.
44024         * lib/fatal-signal.c: Likewise.
44025         * lib/fatal-signal.h: Likewise.
44026         * lib/fbufmode.c: Likewise.
44027         * lib/fbufmode.h: Likewise.
44028         * lib/fchdir.c: Likewise.
44029         * lib/fchmodat.c: Likewise.
44030         * lib/fchownat.c: Likewise.
44031         * lib/fcntl--.h: Likewise.
44032         * lib/fcntl-safer.h: Likewise.
44033         * lib/fcntl.in.h: Likewise.
44034         * lib/fd-safer.c: Likewise.
44035         * lib/fflush.c: Likewise.
44036         * lib/file-has-acl.c: Likewise.
44037         * lib/file-set.c: Likewise.
44038         * lib/file-type.c: Likewise.
44039         * lib/file-type.h: Likewise.
44040         * lib/fileblocks.c: Likewise.
44041         * lib/filemode.c: Likewise.
44042         * lib/filemode.h: Likewise.
44043         * lib/filename.h: Likewise.
44044         * lib/filenamecat.c: Likewise.
44045         * lib/filenamecat.h: Likewise.
44046         * lib/findprog.c: Likewise.
44047         * lib/findprog.h: Likewise.
44048         * lib/float.in.h: Likewise.
44049         * lib/floor.c: Likewise.
44050         * lib/floorf.c: Likewise.
44051         * lib/floorl.c: Likewise.
44052         * lib/fopen-safer.c: Likewise.
44053         * lib/fopen.c: Likewise.
44054         * lib/fpending.c: Likewise.
44055         * lib/fpending.h: Likewise.
44056         * lib/fprintf.c: Likewise.
44057         * lib/fprintftime.h: Likewise.
44058         * lib/fpucw.h: Likewise.
44059         * lib/fpurge.c: Likewise.
44060         * lib/fpurge.h: Likewise.
44061         * lib/freadable.c: Likewise.
44062         * lib/freadable.h: Likewise.
44063         * lib/freadahead.c: Likewise.
44064         * lib/freadahead.h: Likewise.
44065         * lib/freading.c: Likewise.
44066         * lib/freading.h: Likewise.
44067         * lib/free.c: Likewise.
44068         * lib/freopen.c: Likewise.
44069         * lib/frexp.c: Likewise.
44070         * lib/frexpl.c: Likewise.
44071         * lib/fseek.c: Likewise.
44072         * lib/fseterr.c: Likewise.
44073         * lib/fseterr.h: Likewise.
44074         * lib/fstatat.c: Likewise.
44075         * lib/fstrcmp.c: Likewise.
44076         * lib/fstrcmp.h: Likewise.
44077         * lib/fsusage.c: Likewise.
44078         * lib/fsusage.h: Likewise.
44079         * lib/ftell.c: Likewise.
44080         * lib/ftello.c: Likewise.
44081         * lib/fts-cycle.c: Likewise.
44082         * lib/fts.c: Likewise.
44083         * lib/fts_.h: Likewise.
44084         * lib/full-read.c: Likewise.
44085         * lib/full-read.h: Likewise.
44086         * lib/full-write.c: Likewise.
44087         * lib/full-write.h: Likewise.
44088         * lib/fwritable.c: Likewise.
44089         * lib/fwritable.h: Likewise.
44090         * lib/fwriteerror.c: Likewise.
44091         * lib/fwriteerror.h: Likewise.
44092         * lib/fwriting.c: Likewise.
44093         * lib/fwriting.h: Likewise.
44094         * lib/gcd.c: Likewise.
44095         * lib/gcd.h: Likewise.
44096         * lib/getcwd.c: Likewise.
44097         * lib/getdate.h: Likewise.
44098         * lib/getdate.y: Likewise.
44099         * lib/getdomainname.c: Likewise.
44100         * lib/getdomainname.h: Likewise.
44101         * lib/getgroups.c: Likewise.
44102         * lib/gethostname.c: Likewise.
44103         * lib/gethrxtime.c: Likewise.
44104         * lib/gethrxtime.h: Likewise.
44105         * lib/getloadavg.c: Likewise.
44106         * lib/getndelim2.c: Likewise.
44107         * lib/getndelim2.h: Likewise.
44108         * lib/getnline.c: Likewise.
44109         * lib/getnline.h: Likewise.
44110         * lib/getopt.c: Likewise.
44111         * lib/getopt.in.h: Likewise.
44112         * lib/getopt1.c: Likewise.
44113         * lib/getopt_int.h: Likewise.
44114         * lib/getpagesize.h: Likewise.
44115         * lib/getsubopt.c: Likewise.
44116         * lib/gettime.c: Likewise.
44117         * lib/getugroups.c: Likewise.
44118         * lib/getugroups.h: Likewise.
44119         * lib/getusershell.c: Likewise.
44120         * lib/gl_anyavltree_list1.h: Likewise.
44121         * lib/gl_anyavltree_list2.h: Likewise.
44122         * lib/gl_anyhash_list1.h: Likewise.
44123         * lib/gl_anyhash_list2.h: Likewise.
44124         * lib/gl_anylinked_list1.h: Likewise.
44125         * lib/gl_anylinked_list2.h: Likewise.
44126         * lib/gl_anyrbtree_list1.h: Likewise.
44127         * lib/gl_anyrbtree_list2.h: Likewise.
44128         * lib/gl_anytree_list1.h: Likewise.
44129         * lib/gl_anytree_list2.h: Likewise.
44130         * lib/gl_anytree_oset.h: Likewise.
44131         * lib/gl_anytreehash_list1.h: Likewise.
44132         * lib/gl_anytreehash_list2.h: Likewise.
44133         * lib/gl_array_list.c: Likewise.
44134         * lib/gl_array_list.h: Likewise.
44135         * lib/gl_array_oset.c: Likewise.
44136         * lib/gl_array_oset.h: Likewise.
44137         * lib/gl_avltree_list.c: Likewise.
44138         * lib/gl_avltree_list.h: Likewise.
44139         * lib/gl_avltree_oset.c: Likewise.
44140         * lib/gl_avltree_oset.h: Likewise.
44141         * lib/gl_avltreehash_list.c: Likewise.
44142         * lib/gl_avltreehash_list.h: Likewise.
44143         * lib/gl_carray_list.c: Likewise.
44144         * lib/gl_carray_list.h: Likewise.
44145         * lib/gl_linked_list.c: Likewise.
44146         * lib/gl_linked_list.h: Likewise.
44147         * lib/gl_linkedhash_list.c: Likewise.
44148         * lib/gl_linkedhash_list.h: Likewise.
44149         * lib/gl_list.c: Likewise.
44150         * lib/gl_list.h: Likewise.
44151         * lib/gl_oset.c: Likewise.
44152         * lib/gl_oset.h: Likewise.
44153         * lib/gl_rbtree_list.c: Likewise.
44154         * lib/gl_rbtree_list.h: Likewise.
44155         * lib/gl_rbtree_oset.c: Likewise.
44156         * lib/gl_rbtree_oset.h: Likewise.
44157         * lib/gl_rbtreehash_list.c: Likewise.
44158         * lib/gl_rbtreehash_list.h: Likewise.
44159         * lib/gl_sublist.c: Likewise.
44160         * lib/gl_sublist.h: Likewise.
44161         * lib/group-member.c: Likewise.
44162         * lib/group-member.h: Likewise.
44163         * lib/hard-locale.c: Likewise.
44164         * lib/hard-locale.h: Likewise.
44165         * lib/hash-pjw.c: Likewise.
44166         * lib/hash-pjw.h: Likewise.
44167         * lib/hash-triple.c: Likewise.
44168         * lib/hash.c: Likewise.
44169         * lib/hash.h: Likewise.
44170         * lib/human.c: Likewise.
44171         * lib/human.h: Likewise.
44172         * lib/i-ring.c: Likewise.
44173         * lib/i-ring.h: Likewise.
44174         * lib/idcache.c: Likewise.
44175         * lib/imaxabs.c: Likewise.
44176         * lib/imaxdiv.c: Likewise.
44177         * lib/inet_pton.c: Likewise.
44178         * lib/inet_pton.h: Likewise.
44179         * lib/intprops.h: Likewise.
44180         * lib/inttostr.c: Likewise.
44181         * lib/inttostr.h: Likewise.
44182         * lib/inttypes.in.h: Likewise.
44183         * lib/isapipe.c: Likewise.
44184         * lib/isdir.c: Likewise.
44185         * lib/isnan.c: Likewise.
44186         * lib/isnan.h: Likewise.
44187         * lib/isnanf.c: Likewise.
44188         * lib/isnanf.h: Likewise.
44189         * lib/isnanl-nolibm.h: Likewise.
44190         * lib/isnanl.c: Likewise.
44191         * lib/isnanl.h: Likewise.
44192         * lib/javacomp.c: Likewise.
44193         * lib/javacomp.h: Likewise.
44194         * lib/javaexec.c: Likewise.
44195         * lib/javaexec.h: Likewise.
44196         * lib/javaversion.c: Likewise.
44197         * lib/javaversion.h: Likewise.
44198         * lib/javaversion.java: Likewise.
44199         * lib/lbrkprop.h: Likewise.
44200         * lib/lchmod.h: Likewise.
44201         * lib/lchown.c: Likewise.
44202         * lib/ldexpl.c: Likewise.
44203         * lib/linebreak.c: Likewise.
44204         * lib/linebreak.h: Likewise.
44205         * lib/linebuffer.c: Likewise.
44206         * lib/linebuffer.h: Likewise.
44207         * lib/locale.in.h: Likewise.
44208         * lib/logl.c: Likewise.
44209         * lib/long-options.c: Likewise.
44210         * lib/long-options.h: Likewise.
44211         * lib/lstat.c: Likewise.
44212         * lib/lstat.h: Likewise.
44213         * lib/math.in.h: Likewise.
44214         * lib/mbchar.c: Likewise.
44215         * lib/mbchar.h: Likewise.
44216         * lib/mbfile.h: Likewise.
44217         * lib/mbiter.h: Likewise.
44218         * lib/mbscasecmp.c: Likewise.
44219         * lib/mbscasestr.c: Likewise.
44220         * lib/mbschr.c: Likewise.
44221         * lib/mbscspn.c: Likewise.
44222         * lib/mbslen.c: Likewise.
44223         * lib/mbsncasecmp.c: Likewise.
44224         * lib/mbsnlen.c: Likewise.
44225         * lib/mbspbrk.c: Likewise.
44226         * lib/mbspcasecmp.c: Likewise.
44227         * lib/mbsrchr.c: Likewise.
44228         * lib/mbssep.c: Likewise.
44229         * lib/mbsspn.c: Likewise.
44230         * lib/mbsstr.c: Likewise.
44231         * lib/mbstok_r.c: Likewise.
44232         * lib/mbswidth.c: Likewise.
44233         * lib/mbswidth.h: Likewise.
44234         * lib/mbuiter.h: Likewise.
44235         * lib/memcasecmp.c: Likewise.
44236         * lib/memcasecmp.h: Likewise.
44237         * lib/memchr.c: Likewise.
44238         * lib/memcmp.c: Likewise.
44239         * lib/memcoll.c: Likewise.
44240         * lib/memcoll.h: Likewise.
44241         * lib/memcpy.c: Likewise.
44242         * lib/memrchr.c: Likewise.
44243         * lib/mkancesdirs.c: Likewise.
44244         * lib/mkdir-p.c: Likewise.
44245         * lib/mkdir-p.h: Likewise.
44246         * lib/mkdir.c: Likewise.
44247         * lib/mkdirat.c: Likewise.
44248         * lib/mkdtemp.c: Likewise.
44249         * lib/mkstemp-safer.c: Likewise.
44250         * lib/mkstemp.c: Likewise.
44251         * lib/modechange.c: Likewise.
44252         * lib/modechange.h: Likewise.
44253         * lib/mountlist.c: Likewise.
44254         * lib/mountlist.h: Likewise.
44255         * lib/mpsort.c: Likewise.
44256         * lib/nanosleep.c: Likewise.
44257         * lib/obstack.c: Likewise.
44258         * lib/obstack.h: Likewise.
44259         * lib/open-safer.c: Likewise.
44260         * lib/open.c: Likewise.
44261         * lib/openat-die.c: Likewise.
44262         * lib/openat-priv.h: Likewise.
44263         * lib/openat-proc.c: Likewise.
44264         * lib/openat.c: Likewise.
44265         * lib/openat.h: Likewise.
44266         * lib/pagealign_alloc.c: Likewise.
44267         * lib/pagealign_alloc.h: Likewise.
44268         * lib/physmem.c: Likewise.
44269         * lib/physmem.h: Likewise.
44270         * lib/pipe-safer.c: Likewise.
44271         * lib/pipe.c: Likewise.
44272         * lib/pipe.h: Likewise.
44273         * lib/posixtm.c: Likewise.
44274         * lib/posixtm.h: Likewise.
44275         * lib/posixver.c: Likewise.
44276         * lib/printf-frexp.c: Likewise.
44277         * lib/printf-frexp.h: Likewise.
44278         * lib/printf-frexpl.c: Likewise.
44279         * lib/printf-frexpl.h: Likewise.
44280         * lib/printf.c: Likewise.
44281         * lib/progname.c: Likewise.
44282         * lib/progname.h: Likewise.
44283         * lib/progreloc.c: Likewise.
44284         * lib/putenv.c: Likewise.
44285         * lib/quote.c: Likewise.
44286         * lib/quote.h: Likewise.
44287         * lib/quotearg.c: Likewise.
44288         * lib/quotearg.h: Likewise.
44289         * lib/raise.c: Likewise.
44290         * lib/readline.c: Likewise.
44291         * lib/readline.h: Likewise.
44292         * lib/readlink.c: Likewise.
44293         * lib/readtokens.c: Likewise.
44294         * lib/readtokens.h: Likewise.
44295         * lib/readtokens0.c: Likewise.
44296         * lib/readtokens0.h: Likewise.
44297         * lib/readutmp.c: Likewise.
44298         * lib/readutmp.h: Likewise.
44299         * lib/realloc.c: Likewise.
44300         * lib/relocwrapper.c: Likewise.
44301         * lib/rename-dest-slash.c: Likewise.
44302         * lib/rename.c: Likewise.
44303         * lib/rmdir.c: Likewise.
44304         * lib/rpmatch.c: Likewise.
44305         * lib/safe-read.c: Likewise.
44306         * lib/safe-read.h: Likewise.
44307         * lib/safe-write.c: Likewise.
44308         * lib/safe-write.h: Likewise.
44309         * lib/same-inode.h: Likewise.
44310         * lib/same.c: Likewise.
44311         * lib/same.h: Likewise.
44312         * lib/save-cwd.c: Likewise.
44313         * lib/save-cwd.h: Likewise.
44314         * lib/savedir.c: Likewise.
44315         * lib/savedir.h: Likewise.
44316         * lib/savewd.c: Likewise.
44317         * lib/savewd.h: Likewise.
44318         * lib/search.in.h: Likewise.
44319         * lib/setenv.c: Likewise.
44320         * lib/setenv.h: Likewise.
44321         * lib/settime.c: Likewise.
44322         * lib/sh-quote.c: Likewise.
44323         * lib/sh-quote.h: Likewise.
44324         * lib/sig2str.c: Likewise.
44325         * lib/sig2str.h: Likewise.
44326         * lib/signal.in.h: Likewise.
44327         * lib/signbitd.c: Likewise.
44328         * lib/signbitf.c: Likewise.
44329         * lib/signbitl.c: Likewise.
44330         * lib/sigprocmask.c: Likewise.
44331         * lib/sincosl.c: Likewise.
44332         * lib/sleep.c: Likewise.
44333         * lib/sprintf.c: Likewise.
44334         * lib/sqrtl.c: Likewise.
44335         * lib/stat-time.h: Likewise.
44336         * lib/stdio--.h: Likewise.
44337         * lib/stdio-safer.h: Likewise.
44338         * lib/stdlib--.h: Likewise.
44339         * lib/stdlib-safer.h: Likewise.
44340         * lib/stdlib.in.h: Likewise.
44341         * lib/stpcpy.c: Likewise.
44342         * lib/stpncpy.c: Likewise.
44343         * lib/strchrnul.c: Likewise.
44344         * lib/strcspn.c: Likewise.
44345         * lib/strerror.c: Likewise.
44346         * lib/strftime.c: Likewise.
44347         * lib/strftime.h: Likewise.
44348         * lib/striconveh.c: Likewise.
44349         * lib/striconveh.h: Likewise.
44350         * lib/striconveha.c: Likewise.
44351         * lib/striconveha.h: Likewise.
44352         * lib/stripslash.c: Likewise.
44353         * lib/strnlen1.c: Likewise.
44354         * lib/strnlen1.h: Likewise.
44355         * lib/strtod.c: Likewise.
44356         * lib/strtoimax.c: Likewise.
44357         * lib/strtok_r.c: Likewise.
44358         * lib/strtol.c: Likewise.
44359         * lib/strtoll.c: Likewise.
44360         * lib/strtoul.c: Likewise.
44361         * lib/strtoull.c: Likewise.
44362         * lib/sysexits.in.h: Likewise.
44363         * lib/tempname.c: Likewise.
44364         * lib/tempname.h: Likewise.
44365         * lib/timespec.h: Likewise.
44366         * lib/tls.c: Likewise.
44367         * lib/tls.h: Likewise.
44368         * lib/tmpdir.c: Likewise.
44369         * lib/tmpdir.h: Likewise.
44370         * lib/tmpfile-safer.c: Likewise.
44371         * lib/tmpfile.c: Likewise.
44372         * lib/trigl.c: Likewise.
44373         * lib/trigl.h: Likewise.
44374         * lib/trim.c: Likewise.
44375         * lib/trim.h: Likewise.
44376         * lib/trunc.c: Likewise.
44377         * lib/truncf.c: Likewise.
44378         * lib/truncl.c: Likewise.
44379         * lib/tsearch.c: Likewise.
44380         * lib/unicodeio.c: Likewise.
44381         * lib/unicodeio.h: Likewise.
44382         * lib/unistd--.h: Likewise.
44383         * lib/unistd-safer.h: Likewise.
44384         * lib/unistdio/ulc-fprintf.c: Likewise.
44385         * lib/unistdio/ulc-vfprintf.c: Likewise.
44386         * lib/unlinkdir.c: Likewise.
44387         * lib/unlinkdir.h: Likewise.
44388         * lib/unlocked-io.h: Likewise.
44389         * lib/unsetenv.c: Likewise.
44390         * lib/userspec.c: Likewise.
44391         * lib/utime.c: Likewise.
44392         * lib/utimecmp.c: Likewise.
44393         * lib/utimecmp.h: Likewise.
44394         * lib/utimens.c: Likewise.
44395         * lib/verify.h: Likewise.
44396         * lib/verror.c: Likewise.
44397         * lib/verror.h: Likewise.
44398         * lib/version-etc-fsf.c: Likewise.
44399         * lib/version-etc.c: Likewise.
44400         * lib/version-etc.h: Likewise.
44401         * lib/vfprintf.c: Likewise.
44402         * lib/vprintf.c: Likewise.
44403         * lib/vsprintf.c: Likewise.
44404         * lib/w32spawn.h: Likewise.
44405         * lib/wait-process.c: Likewise.
44406         * lib/wait-process.h: Likewise.
44407         * lib/wcwidth.c: Likewise.
44408         * lib/write-any-file.c: Likewise.
44409         * lib/xalloc-die.c: Likewise.
44410         * lib/xalloc.h: Likewise.
44411         * lib/xasprintf.c: Likewise.
44412         * lib/xgetcwd.c: Likewise.
44413         * lib/xgetcwd.h: Likewise.
44414         * lib/xgetdomainname.c: Likewise.
44415         * lib/xgetdomainname.h: Likewise.
44416         * lib/xgethostname.c: Likewise.
44417         * lib/xmalloc.c: Likewise.
44418         * lib/xmalloca.c: Likewise.
44419         * lib/xmalloca.h: Likewise.
44420         * lib/xmemcoll.c: Likewise.
44421         * lib/xnanosleep.c: Likewise.
44422         * lib/xreadlink.c: Likewise.
44423         * lib/xreadlink.h: Likewise.
44424         * lib/xsetenv.c: Likewise.
44425         * lib/xsetenv.h: Likewise.
44426         * lib/xstriconv.c: Likewise.
44427         * lib/xstriconv.h: Likewise.
44428         * lib/xstrndup.c: Likewise.
44429         * lib/xstrndup.h: Likewise.
44430         * lib/xstrtod.c: Likewise.
44431         * lib/xstrtod.h: Likewise.
44432         * lib/xstrtol-error.c: Likewise.
44433         * lib/xstrtol.c: Likewise.
44434         * lib/xstrtol.h: Likewise.
44435         * lib/xtime.h: Likewise.
44436         * lib/xvasprintf.c: Likewise.
44437         * lib/xvasprintf.h: Likewise.
44438         * lib/yesno.c: Likewise.
44439         * lib/yesno.h: Likewise.
44440         * posix-modules: Likewise.
44441         * tests/test-alloca-opt.c: Likewise.
44442         * tests/test-arcfour.c: Likewise.
44443         * tests/test-arctwo.c: Likewise.
44444         * tests/test-argmatch.c: Likewise.
44445         * tests/test-argp-2.sh: Likewise.
44446         * tests/test-argp.c: Likewise.
44447         * tests/test-arpa_inet.c: Likewise.
44448         * tests/test-array_list.c: Likewise.
44449         * tests/test-array_oset.c: Likewise.
44450         * tests/test-atexit.c: Likewise.
44451         * tests/test-avltree_list.c: Likewise.
44452         * tests/test-avltree_oset.c: Likewise.
44453         * tests/test-avltreehash_list.c: Likewise.
44454         * tests/test-base64.c: Likewise.
44455         * tests/test-binary-io.c: Likewise.
44456         * tests/test-byteswap.c: Likewise.
44457         * tests/test-c-ctype.c: Likewise.
44458         * tests/test-c-strcasecmp.c: Likewise.
44459         * tests/test-c-strcasestr.c: Likewise.
44460         * tests/test-c-strncasecmp.c: Likewise.
44461         * tests/test-c-strstr.c: Likewise.
44462         * tests/test-canonicalize-lgpl.c: Likewise.
44463         * tests/test-canonicalize.c: Likewise.
44464         * tests/test-carray_list.c: Likewise.
44465         * tests/test-ceilf.c: Likewise.
44466         * tests/test-ceill.c: Likewise.
44467         * tests/test-count-one-bits.c: Likewise.
44468         * tests/test-crc.c: Likewise.
44469         * tests/test-dirname.c: Likewise.
44470         * tests/test-fbufmode.c: Likewise.
44471         * tests/test-fcntl.c: Likewise.
44472         * tests/test-fflush.c: Likewise.
44473         * tests/test-floorf.c: Likewise.
44474         * tests/test-floorl.c: Likewise.
44475         * tests/test-fopen.c: Likewise.
44476         * tests/test-fprintf-posix.c: Likewise.
44477         * tests/test-fprintf-posix.h: Likewise.
44478         * tests/test-fpurge.c: Likewise.
44479         * tests/test-freadable.c: Likewise.
44480         * tests/test-freadahead.c: Likewise.
44481         * tests/test-freading.c: Likewise.
44482         * tests/test-freopen.c: Likewise.
44483         * tests/test-frexp.c: Likewise.
44484         * tests/test-frexpl.c: Likewise.
44485         * tests/test-fseek.c: Likewise.
44486         * tests/test-fseeko.c: Likewise.
44487         * tests/test-fseterr.c: Likewise.
44488         * tests/test-fstrcmp.c: Likewise.
44489         * tests/test-ftell.c: Likewise.
44490         * tests/test-ftello.c: Likewise.
44491         * tests/test-fwritable.c: Likewise.
44492         * tests/test-fwriting.c: Likewise.
44493         * tests/test-getaddrinfo.c: Likewise.
44494         * tests/test-getpass.c: Likewise.
44495         * tests/test-gettimeofday.c: Likewise.
44496         * tests/test-hmac-md5.c: Likewise.
44497         * tests/test-hmac-sha1.c: Likewise.
44498         * tests/test-iconv.c: Likewise.
44499         * tests/test-iconvme.c: Likewise.
44500         * tests/test-inttypes.c: Likewise.
44501         * tests/test-isnan.c: Likewise.
44502         * tests/test-isnanf.c: Likewise.
44503         * tests/test-isnanl-nolibm.c: Likewise.
44504         * tests/test-isnanl.c: Likewise.
44505         * tests/test-isnanl.h: Likewise.
44506         * tests/test-ldexpl.c: Likewise.
44507         * tests/test-linked_list.c: Likewise.
44508         * tests/test-linkedhash_list.c: Likewise.
44509         * tests/test-locale.c: Likewise.
44510         * tests/test-localename.c: Likewise.
44511         * tests/test-lock.c: Likewise.
44512         * tests/test-lseek.c: Likewise.
44513         * tests/test-malloca.c: Likewise.
44514         * tests/test-math.c: Likewise.
44515         * tests/test-mbscasecmp.c: Likewise.
44516         * tests/test-mbscasestr1.c: Likewise.
44517         * tests/test-mbscasestr2.c: Likewise.
44518         * tests/test-mbscasestr3.c: Likewise.
44519         * tests/test-mbscasestr4.c: Likewise.
44520         * tests/test-mbschr.c: Likewise.
44521         * tests/test-mbscspn.c: Likewise.
44522         * tests/test-mbsncasecmp.c: Likewise.
44523         * tests/test-mbspbrk.c: Likewise.
44524         * tests/test-mbspcasecmp.c: Likewise.
44525         * tests/test-mbsrchr.c: Likewise.
44526         * tests/test-mbsspn.c: Likewise.
44527         * tests/test-mbsstr1.c: Likewise.
44528         * tests/test-mbsstr2.c: Likewise.
44529         * tests/test-mbsstr3.c: Likewise.
44530         * tests/test-md5.c: Likewise.
44531         * tests/test-memmem.c: Likewise.
44532         * tests/test-netinet_in.c: Likewise.
44533         * tests/test-open.c: Likewise.
44534         * tests/test-printf-frexp.c: Likewise.
44535         * tests/test-printf-frexpl.c: Likewise.
44536         * tests/test-printf-posix.c: Likewise.
44537         * tests/test-printf-posix.h: Likewise.
44538         * tests/test-rbtree_list.c: Likewise.
44539         * tests/test-rbtree_oset.c: Likewise.
44540         * tests/test-rbtreehash_list.c: Likewise.
44541         * tests/test-read-file.c: Likewise.
44542         * tests/test-rijndael.c: Likewise.
44543         * tests/test-search.c: Likewise.
44544         * tests/test-signbit.c: Likewise.
44545         * tests/test-sleep.c: Likewise.
44546         * tests/test-snprintf-posix.c: Likewise.
44547         * tests/test-snprintf-posix.h: Likewise.
44548         * tests/test-snprintf.c: Likewise.
44549         * tests/test-sprintf-posix.c: Likewise.
44550         * tests/test-sprintf-posix.h: Likewise.
44551         * tests/test-stat-time.c: Likewise.
44552         * tests/test-stdbool.c: Likewise.
44553         * tests/test-stdint.c: Likewise.
44554         * tests/test-stdio.c: Likewise.
44555         * tests/test-stdlib.c: Likewise.
44556         * tests/test-stpncpy.c: Likewise.
44557         * tests/test-strcasestr.c: Likewise.
44558         * tests/test-striconv.c: Likewise.
44559         * tests/test-striconveh.c: Likewise.
44560         * tests/test-striconveha.c: Likewise.
44561         * tests/test-string.c: Likewise.
44562         * tests/test-sys_select.c: Likewise.
44563         * tests/test-sys_socket.c: Likewise.
44564         * tests/test-sys_stat.c: Likewise.
44565         * tests/test-sys_time.c: Likewise.
44566         * tests/test-sysexits.c: Likewise.
44567         * tests/test-time.c: Likewise.
44568         * tests/test-tls.c: Likewise.
44569         * tests/test-trunc.c: Likewise.
44570         * tests/test-truncf.c: Likewise.
44571         * tests/test-truncl.c: Likewise.
44572         * tests/test-unistd.c: Likewise.
44573         * tests/test-vasnprintf-posix.c: Likewise.
44574         * tests/test-vasnprintf-posix2.c: Likewise.
44575         * tests/test-vasnprintf.c: Likewise.
44576         * tests/test-vasprintf-posix.c: Likewise.
44577         * tests/test-vasprintf.c: Likewise.
44578         * tests/test-verify.c: Likewise.
44579         * tests/test-vfprintf-posix.c: Likewise.
44580         * tests/test-vprintf-posix.c: Likewise.
44581         * tests/test-vsnprintf-posix.c: Likewise.
44582         * tests/test-vsnprintf.c: Likewise.
44583         * tests/test-vsprintf-posix.c: Likewise.
44584         * tests/test-wchar.c: Likewise.
44585         * tests/test-wctype.c: Likewise.
44586         * tests/test-wcwidth.c: Likewise.
44587         * tests/test-xstrtol.c: Likewise.
44588         * tests/test-xvasprintf.c: Likewise.
44589         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
44590         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
44591         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
44592         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
44593         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
44594         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
44595         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
44596         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
44597         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
44598         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
44599         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
44600         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
44601         * tests/uniname/test-uninames.c: Likewise.
44602         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
44603         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
44604         * tests/unistdio/test-u16-printf1.h: Likewise.
44605         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
44606         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
44607         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
44608         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
44609         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
44610         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
44611         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
44612         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
44613         * tests/unistdio/test-u32-printf1.h: Likewise.
44614         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
44615         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
44616         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
44617         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
44618         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
44619         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
44620         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
44621         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
44622         * tests/unistdio/test-u8-printf1.h: Likewise.
44623         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
44624         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
44625         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
44626         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
44627         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
44628         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
44629         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
44630         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
44631         * tests/unistdio/test-ulc-printf1.h: Likewise.
44632         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
44633         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
44634         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
44635         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
44636         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
44637         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
44638         * tests/uniwidth/test-u16-strwidth.c: Likewise.
44639         * tests/uniwidth/test-u16-width.c: Likewise.
44640         * tests/uniwidth/test-u32-strwidth.c: Likewise.
44641         * tests/uniwidth/test-u32-width.c: Likewise.
44642         * tests/uniwidth/test-u8-strwidth.c: Likewise.
44643         * tests/uniwidth/test-u8-width.c: Likewise.
44644         * tests/uniwidth/test-uc_width.c: Likewise.
44645         * config/srclist-update: Likewise.
44646         (fixlicense): Update to GPLv3+.
44647
44648         Change copyright notice from LGPLv2.1+ to LGPLv3+.
44649         * tests/test-tsearch.c: Change copyright notice.
44650
44651         Change copyright notice from LGPLv2.0+ to LGPLv3+.
44652         * lib/c-strcaseeq.h: Change copyright notice.
44653         * lib/streq.h: Likewise.
44654         * lib/uniconv.h: Likewise.
44655         * lib/uniconv/u-conv-from-enc.h: Likewise.
44656         * lib/uniconv/u-conv-to-enc.h: Likewise.
44657         * lib/uniconv/u-strconv-from-enc.h: Likewise.
44658         * lib/uniconv/u-strconv-to-enc.h: Likewise.
44659         * lib/uniconv/u16-conv-from-enc.c: Likewise.
44660         * lib/uniconv/u16-conv-to-enc.c: Likewise.
44661         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
44662         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
44663         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
44664         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
44665         * lib/uniconv/u32-conv-from-enc.c: Likewise.
44666         * lib/uniconv/u32-conv-to-enc.c: Likewise.
44667         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
44668         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
44669         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
44670         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
44671         * lib/uniconv/u8-conv-from-enc.c: Likewise.
44672         * lib/uniconv/u8-conv-to-enc.c: Likewise.
44673         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
44674         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
44675         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
44676         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
44677         * lib/uniname.h: Likewise.
44678         * lib/uniname/uniname.c: Likewise.
44679         * lib/unistdio.h: Likewise.
44680         * lib/unistdio/u-asnprintf.h: Likewise.
44681         * lib/unistdio/u-asprintf.h: Likewise.
44682         * lib/unistdio/u-printf-args.c: Likewise.
44683         * lib/unistdio/u-printf-args.h: Likewise.
44684         * lib/unistdio/u-printf-parse.h: Likewise.
44685         * lib/unistdio/u-snprintf.h: Likewise.
44686         * lib/unistdio/u-sprintf.h: Likewise.
44687         * lib/unistdio/u-vasprintf.h: Likewise.
44688         * lib/unistdio/u-vsnprintf.h: Likewise.
44689         * lib/unistdio/u-vsprintf.h: Likewise.
44690         * lib/unistdio/u16-asnprintf.c: Likewise.
44691         * lib/unistdio/u16-asprintf.c: Likewise.
44692         * lib/unistdio/u16-printf-parse.c: Likewise.
44693         * lib/unistdio/u16-snprintf.c: Likewise.
44694         * lib/unistdio/u16-sprintf.c: Likewise.
44695         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44696         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44697         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44698         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44699         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44700         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44701         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44702         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44703         * lib/unistdio/u16-vasnprintf.c: Likewise.
44704         * lib/unistdio/u16-vasprintf.c: Likewise.
44705         * lib/unistdio/u16-vsnprintf.c: Likewise.
44706         * lib/unistdio/u16-vsprintf.c: Likewise.
44707         * lib/unistdio/u32-asnprintf.c: Likewise.
44708         * lib/unistdio/u32-asprintf.c: Likewise.
44709         * lib/unistdio/u32-printf-parse.c: Likewise.
44710         * lib/unistdio/u32-snprintf.c: Likewise.
44711         * lib/unistdio/u32-sprintf.c: Likewise.
44712         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44713         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44714         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44715         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44716         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44717         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44718         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44719         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44720         * lib/unistdio/u32-vasnprintf.c: Likewise.
44721         * lib/unistdio/u32-vasprintf.c: Likewise.
44722         * lib/unistdio/u32-vsnprintf.c: Likewise.
44723         * lib/unistdio/u32-vsprintf.c: Likewise.
44724         * lib/unistdio/u8-asnprintf.c: Likewise.
44725         * lib/unistdio/u8-asprintf.c: Likewise.
44726         * lib/unistdio/u8-printf-parse.c: Likewise.
44727         * lib/unistdio/u8-snprintf.c: Likewise.
44728         * lib/unistdio/u8-sprintf.c: Likewise.
44729         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44730         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44731         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44732         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44733         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44734         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44735         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44736         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44737         * lib/unistdio/u8-vasnprintf.c: Likewise.
44738         * lib/unistdio/u8-vasprintf.c: Likewise.
44739         * lib/unistdio/u8-vsnprintf.c: Likewise.
44740         * lib/unistdio/u8-vsprintf.c: Likewise.
44741         * lib/unistdio/ulc-asnprintf.c: Likewise.
44742         * lib/unistdio/ulc-asprintf.c: Likewise.
44743         * lib/unistdio/ulc-printf-parse.c: Likewise.
44744         * lib/unistdio/ulc-snprintf.c: Likewise.
44745         * lib/unistdio/ulc-sprintf.c: Likewise.
44746         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44747         * lib/unistdio/ulc-vasprintf.c: Likewise.
44748         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44749         * lib/unistdio/ulc-vsprintf.c: Likewise.
44750         * lib/unistr.h: Likewise.
44751         * lib/unistr/u-cpy-alloc.h: Likewise.
44752         * lib/unistr/u-cpy.h: Likewise.
44753         * lib/unistr/u-endswith.h: Likewise.
44754         * lib/unistr/u-move.h: Likewise.
44755         * lib/unistr/u-set.h: Likewise.
44756         * lib/unistr/u-startswith.h: Likewise.
44757         * lib/unistr/u-stpcpy.h: Likewise.
44758         * lib/unistr/u-stpncpy.h: Likewise.
44759         * lib/unistr/u-strcat.h: Likewise.
44760         * lib/unistr/u-strcpy.h: Likewise.
44761         * lib/unistr/u-strcspn.h: Likewise.
44762         * lib/unistr/u-strdup.h: Likewise.
44763         * lib/unistr/u-strlen.h: Likewise.
44764         * lib/unistr/u-strncat.h: Likewise.
44765         * lib/unistr/u-strncpy.h: Likewise.
44766         * lib/unistr/u-strnlen.h: Likewise.
44767         * lib/unistr/u-strpbrk.h: Likewise.
44768         * lib/unistr/u-strspn.h: Likewise.
44769         * lib/unistr/u-strstr.h: Likewise.
44770         * lib/unistr/u-strtok.h: Likewise.
44771         * lib/unistr/u16-check.c: Likewise.
44772         * lib/unistr/u16-chr.c: Likewise.
44773         * lib/unistr/u16-cmp.c: Likewise.
44774         * lib/unistr/u16-cpy-alloc.c: Likewise.
44775         * lib/unistr/u16-cpy.c: Likewise.
44776         * lib/unistr/u16-endswith.c: Likewise.
44777         * lib/unistr/u16-mblen.c: Likewise.
44778         * lib/unistr/u16-mbsnlen.c: Likewise.
44779         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44780         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44781         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44782         * lib/unistr/u16-mbtouc.c: Likewise.
44783         * lib/unistr/u16-mbtoucr.c: Likewise.
44784         * lib/unistr/u16-move.c: Likewise.
44785         * lib/unistr/u16-next.c: Likewise.
44786         * lib/unistr/u16-prev.c: Likewise.
44787         * lib/unistr/u16-set.c: Likewise.
44788         * lib/unistr/u16-startswith.c: Likewise.
44789         * lib/unistr/u16-stpcpy.c: Likewise.
44790         * lib/unistr/u16-stpncpy.c: Likewise.
44791         * lib/unistr/u16-strcat.c: Likewise.
44792         * lib/unistr/u16-strchr.c: Likewise.
44793         * lib/unistr/u16-strcmp.c: Likewise.
44794         * lib/unistr/u16-strcpy.c: Likewise.
44795         * lib/unistr/u16-strcspn.c: Likewise.
44796         * lib/unistr/u16-strdup.c: Likewise.
44797         * lib/unistr/u16-strlen.c: Likewise.
44798         * lib/unistr/u16-strmblen.c: Likewise.
44799         * lib/unistr/u16-strmbtouc.c: Likewise.
44800         * lib/unistr/u16-strncat.c: Likewise.
44801         * lib/unistr/u16-strncmp.c: Likewise.
44802         * lib/unistr/u16-strncpy.c: Likewise.
44803         * lib/unistr/u16-strnlen.c: Likewise.
44804         * lib/unistr/u16-strpbrk.c: Likewise.
44805         * lib/unistr/u16-strrchr.c: Likewise.
44806         * lib/unistr/u16-strspn.c: Likewise.
44807         * lib/unistr/u16-strstr.c: Likewise.
44808         * lib/unistr/u16-strtok.c: Likewise.
44809         * lib/unistr/u16-to-u32.c: Likewise.
44810         * lib/unistr/u16-to-u8.c: Likewise.
44811         * lib/unistr/u16-uctomb-aux.c: Likewise.
44812         * lib/unistr/u16-uctomb.c: Likewise.
44813         * lib/unistr/u32-check.c: Likewise.
44814         * lib/unistr/u32-chr.c: Likewise.
44815         * lib/unistr/u32-cmp.c: Likewise.
44816         * lib/unistr/u32-cpy-alloc.c: Likewise.
44817         * lib/unistr/u32-cpy.c: Likewise.
44818         * lib/unistr/u32-endswith.c: Likewise.
44819         * lib/unistr/u32-mblen.c: Likewise.
44820         * lib/unistr/u32-mbsnlen.c: Likewise.
44821         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44822         * lib/unistr/u32-mbtouc.c: Likewise.
44823         * lib/unistr/u32-mbtoucr.c: Likewise.
44824         * lib/unistr/u32-move.c: Likewise.
44825         * lib/unistr/u32-next.c: Likewise.
44826         * lib/unistr/u32-prev.c: Likewise.
44827         * lib/unistr/u32-set.c: Likewise.
44828         * lib/unistr/u32-startswith.c: Likewise.
44829         * lib/unistr/u32-stpcpy.c: Likewise.
44830         * lib/unistr/u32-stpncpy.c: Likewise.
44831         * lib/unistr/u32-strcat.c: Likewise.
44832         * lib/unistr/u32-strchr.c: Likewise.
44833         * lib/unistr/u32-strcmp.c: Likewise.
44834         * lib/unistr/u32-strcpy.c: Likewise.
44835         * lib/unistr/u32-strcspn.c: Likewise.
44836         * lib/unistr/u32-strdup.c: Likewise.
44837         * lib/unistr/u32-strlen.c: Likewise.
44838         * lib/unistr/u32-strmblen.c: Likewise.
44839         * lib/unistr/u32-strmbtouc.c: Likewise.
44840         * lib/unistr/u32-strncat.c: Likewise.
44841         * lib/unistr/u32-strncmp.c: Likewise.
44842         * lib/unistr/u32-strncpy.c: Likewise.
44843         * lib/unistr/u32-strnlen.c: Likewise.
44844         * lib/unistr/u32-strpbrk.c: Likewise.
44845         * lib/unistr/u32-strrchr.c: Likewise.
44846         * lib/unistr/u32-strspn.c: Likewise.
44847         * lib/unistr/u32-strstr.c: Likewise.
44848         * lib/unistr/u32-strtok.c: Likewise.
44849         * lib/unistr/u32-to-u16.c: Likewise.
44850         * lib/unistr/u32-to-u8.c: Likewise.
44851         * lib/unistr/u32-uctomb.c: Likewise.
44852         * lib/unistr/u8-check.c: Likewise.
44853         * lib/unistr/u8-chr.c: Likewise.
44854         * lib/unistr/u8-cmp.c: Likewise.
44855         * lib/unistr/u8-cpy-alloc.c: Likewise.
44856         * lib/unistr/u8-cpy.c: Likewise.
44857         * lib/unistr/u8-endswith.c: Likewise.
44858         * lib/unistr/u8-mblen.c: Likewise.
44859         * lib/unistr/u8-mbsnlen.c: Likewise.
44860         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44861         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44862         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44863         * lib/unistr/u8-mbtouc.c: Likewise.
44864         * lib/unistr/u8-mbtoucr.c: Likewise.
44865         * lib/unistr/u8-move.c: Likewise.
44866         * lib/unistr/u8-next.c: Likewise.
44867         * lib/unistr/u8-prev.c: Likewise.
44868         * lib/unistr/u8-set.c: Likewise.
44869         * lib/unistr/u8-startswith.c: Likewise.
44870         * lib/unistr/u8-stpcpy.c: Likewise.
44871         * lib/unistr/u8-stpncpy.c: Likewise.
44872         * lib/unistr/u8-strcat.c: Likewise.
44873         * lib/unistr/u8-strchr.c: Likewise.
44874         * lib/unistr/u8-strcmp.c: Likewise.
44875         * lib/unistr/u8-strcpy.c: Likewise.
44876         * lib/unistr/u8-strcspn.c: Likewise.
44877         * lib/unistr/u8-strdup.c: Likewise.
44878         * lib/unistr/u8-strlen.c: Likewise.
44879         * lib/unistr/u8-strmblen.c: Likewise.
44880         * lib/unistr/u8-strmbtouc.c: Likewise.
44881         * lib/unistr/u8-strncat.c: Likewise.
44882         * lib/unistr/u8-strncmp.c: Likewise.
44883         * lib/unistr/u8-strncpy.c: Likewise.
44884         * lib/unistr/u8-strnlen.c: Likewise.
44885         * lib/unistr/u8-strpbrk.c: Likewise.
44886         * lib/unistr/u8-strrchr.c: Likewise.
44887         * lib/unistr/u8-strspn.c: Likewise.
44888         * lib/unistr/u8-strstr.c: Likewise.
44889         * lib/unistr/u8-strtok.c: Likewise.
44890         * lib/unistr/u8-to-u16.c: Likewise.
44891         * lib/unistr/u8-to-u32.c: Likewise.
44892         * lib/unistr/u8-uctomb-aux.c: Likewise.
44893         * lib/unistr/u8-uctomb.c: Likewise.
44894         * lib/unitypes.h: Likewise.
44895         * lib/uniwidth.h: Likewise.
44896         * lib/uniwidth/cjk.h: Likewise.
44897         * lib/uniwidth/u16-strwidth.c: Likewise.
44898         * lib/uniwidth/u16-width.c: Likewise.
44899         * lib/uniwidth/u32-strwidth.c: Likewise.
44900         * lib/uniwidth/u32-width.c: Likewise.
44901         * lib/uniwidth/u8-strwidth.c: Likewise.
44902         * lib/uniwidth/u8-width.c: Likewise.
44903         * lib/uniwidth/width.c: Likewise.
44904
44905 2007-10-07  Bruno Haible  <bruno@clisp.org>
44906
44907         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44908         The file is still under LGPL (see modules/inttypes).
44909
44910 2007-10-06  Bruno Haible  <bruno@clisp.org>
44911
44912         * modules/trunc (Dependencies): Add 'extensions'.
44913         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44914         Reported by Ben Pfaff <blp@gnu.org>.
44915
44916 2007-10-06  Bruno Haible  <bruno@clisp.org>
44917
44918         * modules/freopen-tests: New file.
44919         * tests/test-freopen.c: New file.
44920
44921         * modules/fopen-tests: New file.
44922         * tests/test-fopen.c: New file.
44923
44924         * modules/fopen: New file.
44925         * lib/fopen.c: New file.
44926         * m4/fopen.m4: New file.
44927         * modules/freopen: New file.
44928         * lib/freopen.c: New file.
44929         * m4/freopen.m4: New file.
44930         * lib/stdio.in.h (fopen, freopen): New declarations.
44931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
44932         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44933         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
44934         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44935         * doc/functions/fopen.texi: Mention the 'fopen' module.
44936         * doc/functions/freopen.texi: Mention the 'freopen' module.
44937
44938 2007-10-06  Bruno Haible  <bruno@clisp.org>
44939
44940         * modules/open-tests: New file.
44941         * tests/test-open.c: New file.
44942
44943         * modules/open: New file.
44944         * lib/open.c: New file.
44945         * m4/open.m4: New file.
44946         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
44947         lib/open.c does.
44948         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
44949         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
44950         macros.
44951         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
44952         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
44953         REPLACE_OPEN.
44954         * doc/functions/open.texi: Mention the 'open' module.
44955
44956 2007-10-04  Bruno Haible  <bruno@clisp.org>
44957
44958         * modules/ceill-tests: New file.
44959         * tests/test-ceill.c: New file.
44960
44961         * modules/ceill: New file.
44962         * lib/ceill.c: Replace entire file.
44963         * m4/ceill.m4: New file.
44964         * lib/math.in.h (ceill): Replace declaration.
44965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
44966         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
44967         * doc/functions/ceill.texi: Mention the 'ceill' module.
44968         * modules/mathl (Files): Remove lib/ceill.c.
44969         (Depends-on): Add ceill.
44970
44971 2007-10-04  Bruno Haible  <bruno@clisp.org>
44972
44973         * modules/ceilf-tests: New file.
44974         * tests/test-ceilf.c: New file.
44975
44976         * modules/ceilf: New file.
44977         * lib/ceil.c: New file.
44978         * lib/ceilf.c: New file.
44979         * m4/ceilf.m4: New file.
44980         * lib/math.in.h (ceilf): New declaration.
44981         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
44982         HAVE_DECL_CEILF.
44983         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
44984         HAVE_DECL_CEILF.
44985         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
44986
44987 2007-10-04  Bruno Haible  <bruno@clisp.org>
44988
44989         * modules/floorl-tests: New file.
44990         * tests/test-floorl.c: New file.
44991
44992         * modules/floorl: New file.
44993         * lib/floorl.c: Replace entire file.
44994         * m4/floorl.m4: New file.
44995         * lib/math.in.h (floorl): Replace declaration.
44996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
44997         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
44998         * doc/functions/floorl.texi: Mention the 'floorl' module.
44999         * modules/mathl (Files): Remove lib/floorl.c.
45000         (Depends-on): Add floorl.
45001
45002 2007-10-04  Bruno Haible  <bruno@clisp.org>
45003
45004         * modules/floorf-tests: New file.
45005         * tests/test-floorf.c: New file.
45006
45007         * modules/floorf: New file.
45008         * lib/floor.c: New file.
45009         * lib/floorf.c: New file.
45010         * m4/floorf.m4: New file.
45011         * lib/math.in.h (floorf): New declaration.
45012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
45013         HAVE_DECL_FLOORF.
45014         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
45015         HAVE_DECL_FLOORF.
45016         * doc/functions/floorf.texi: Mention the 'floorf' module.
45017
45018 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
45019             Bruno Haible  <bruno@clisp.org>
45020
45021         Advertise for the Git server instead of the CVS server.
45022         * doc/gnulib-intro.texi (Steady Development): Mention the Git
45023         repository instead of the CVS one.
45024         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
45025         about all VCS systems generically.
45026         * doc/gnulib.texi (Introduction): Capitalize `Git'.
45027
45028 2007-10-04  Bruno Haible  <bruno@clisp.org>
45029
45030         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
45031         means.
45032         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
45033
45034 2007-10-04  Bruno Haible  <bruno@clisp.org>
45035
45036         * modules/truncl-tests: New file.
45037         * tests/test-truncl.c: New file.
45038
45039         * modules/truncl: New file.
45040         * lib/truncl.c: New file.
45041         * m4/truncl.m4: New file.
45042         * lib/math.in.h (truncl): New declaration.
45043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
45044         HAVE_DECL_TRUNCL.
45045         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
45046         HAVE_DECL_TRUNCL.
45047         * doc/functions/truncl.texi: Mention the 'truncl' module.
45048
45049 2007-10-04  Bruno Haible  <bruno@clisp.org>
45050
45051         * modules/truncf-tests: New file.
45052         * tests/test-truncf.c: New file.
45053
45054         * modules/truncf: New file.
45055         * lib/trunc.c: Make paramerizable through USE_* macros.
45056         * lib/truncf.c: New file.
45057         * m4/truncf.m4: New file.
45058         * lib/math.in.h (truncf): New declaration.
45059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
45060         HAVE_DECL_TRUNCF.
45061         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
45062         HAVE_DECL_TRUNCF.
45063         * doc/functions/truncf.texi: Mention the 'truncf' module.
45064
45065 2007-10-03  Bruno Haible  <bruno@clisp.org>
45066
45067         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45068         augmentation also for tests modules.
45069         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
45070         * modules/atexit-tests (Makefile.am): Likewise.
45071         * modules/binary-io-tests (Makefile.am): Likewise.
45072         * modules/c-strcase-tests (Makefile.am): Likewise.
45073         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
45074         * modules/canonicalize-tests (Makefile.am): Likewise.
45075         * modules/closein-tests (Makefile.am): Likewise.
45076         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45077         * modules/freadahead-tests (Makefile.am): Likewise.
45078         * modules/fseek-tests (Makefile.am): Likewise.
45079         * modules/fseeko-tests (Makefile.am): Likewise.
45080         * modules/ftell-tests (Makefile.am): Likewise.
45081         * modules/ftello-tests (Makefile.am): Likewise.
45082         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
45083         * modules/isnanl-tests (Makefile.am): Likewise.
45084         * modules/lseek-tests (Makefile.am): Likewise.
45085         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45086         * modules/mbscasestr-tests (Makefile.am): Likewise.
45087         * modules/mbschr-tests (Makefile.am): Likewise.
45088         * modules/mbscspn-tests (Makefile.am): Likewise.
45089         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45090         * modules/mbspbrk-tests (Makefile.am): Likewise.
45091         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45092         * modules/mbsrchr-tests (Makefile.am): Likewise.
45093         * modules/mbsspn-tests (Makefile.am): Likewise.
45094         * modules/mbsstr-tests (Makefile.am): Likewise.
45095         * modules/printf-posix-tests (Makefile.am): Likewise.
45096         * modules/snprintf-posix-tests (Makefile.am): Likewise.
45097         * modules/sprintf-posix-tests (Makefile.am): Likewise.
45098         * modules/tsearch-tests (Makefile.am): Likewise.
45099         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45100         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45101         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45102         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45103         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45104         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45105         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45106         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45107         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
45108         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
45109         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45110         * modules/xstrtol-tests (Makefile.am): Likewise.
45111         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45112         * modules/yesno-tests (Makefile.am): Likewise.
45113
45114 2007-10-03  Bruno Haible  <bruno@clisp.org>
45115
45116         * modules/trunc-tests: New file.
45117         * tests/test-trunc.c: New file.
45118
45119         * modules/trunc: New file.
45120         * lib/trunc.c: New file.
45121         * m4/trunc.m4: New file.
45122         * lib/math.in.h (trunc): New declaration.
45123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
45124         HAVE_DECL_TRUNC.
45125         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
45126         HAVE_DECL_TRUNC.
45127         * doc/functions/trunc.texi: Mention the 'trunc' module.
45128
45129 2007-10-03  Bruno Haible  <bruno@clisp.org>
45130
45131         * tests/test-fpending.c: New file, mostly copied
45132         from coreutils/lib/t-fpending.c.
45133         * modules/fpending-tests: New file.
45134
45135 2007-10-03  Bruno Haible  <bruno@clisp.org>
45136
45137         Port the stdio extensions to QNX (untested).
45138         * lib/fseterr.c (fseterr): Add support for QNX.
45139         * lib/fbufmode.c (fbufmode): Likewise.
45140         * lib/freadable.c (freadable): Likewise.
45141         * lib/fwritable.c (fwritable): Likewise.
45142         * lib/freading.c (freading): Likewise.
45143         * lib/fwriting.c (fwriting): Likewise.
45144         * lib/freadahead.c (freadahed): Likewise.
45145         * lib/fpurge.c (fpurge): Likewise.
45146         * lib/fseeko.c (rpl_fseeko): Likewise.
45147
45148 2007-10-03  Bruno Haible  <bruno@clisp.org>
45149             Jim Meyering  <jim@meyering.net>
45150             Eric Blake  <ebb9@byu.net>
45151
45152         * doc/relocatable.texi: Use @command instead of @program.
45153
45154 2007-10-02  Jim Meyering  <jim@meyering.net>
45155
45156         Perform one more "_.h" -> ".in.h" substitution.
45157         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
45158         instead of unistd_.h here, too.
45159
45160 2007-10-01  Bruno Haible  <bruno@clisp.org>
45161
45162         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
45163         Needed for the alloca-opt module.
45164
45165 2007-09-30  Bruno Haible  <bruno@clisp.org>
45166
45167         * lib/alloca.in.h: Renamed from lib/alloca_.h.
45168         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
45169         alloca_.h.
45170         * lib/argz.in.h: Renamed from lib/argz_.h.
45171         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
45172         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
45173         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
45174         byteswap_.h.
45175         * lib/dirent.in.h: Renamed from lib/dirent_.h.
45176         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
45177         dirent_.h.
45178         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
45179         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
45180         fcntl_.h.
45181         * lib/float.in.h: Renamed from lib/float_.h.
45182         * modules/float (Files, Makefile.am): Use float.in.h instead of
45183         float_.h.
45184         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
45185         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
45186         fnmatch_.h.
45187         * lib/getopt.in.h: Renamed from lib/getopt_.h.
45188         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
45189         getopt_.h.
45190         * lib/glob.in.h: Renamed from lib/glob_.h.
45191         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
45192         * lib/iconv.in.h: Renamed from lib/iconv_.h.
45193         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
45194         iconv_.h.
45195         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
45196         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
45197         inttypes_.h.
45198         * lib/locale.in.h: Renamed from lib/locale_.h.
45199         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
45200         locale_.h.
45201         * lib/math.in.h: Renamed from lib/math_.h.
45202         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
45203         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
45204         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
45205         of netinet_in_.h. Add dependency.
45206         * lib/poll.in.h: Renamed from lib/poll_.h.
45207         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
45208         * lib/search.in.h: Renamed from lib/search_.h.
45209         * modules/search (Files, Makefile.am): Use search.in.h instead of
45210         search_.h.
45211         * lib/signal.in.h: Renamed from lib/signal_.h.
45212         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
45213         _signal.h.
45214         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
45215         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
45216         stdbool_.h.
45217         * lib/stdint.in.h: Renamed from lib/stdint_.h.
45218         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
45219         stdint_.h.
45220         * lib/stdio.in.h: Renamed from lib/stdio_.h.
45221         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
45222         stdio_.h.
45223         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
45224         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
45225         stdlib_.h.
45226         * lib/string.in.h: Renamed from lib/string_.h.
45227         * modules/string (Files, Makefile.am): Use string.in.h instead of
45228         string_.h.
45229         * doc/gnulib-tool.texi (Initial import): Update.
45230         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
45231         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
45232         of sys_select_.h. Add dependency.
45233         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
45234         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
45235         of sys_socket_.h.
45236         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
45237         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
45238         sys_stat_.h.
45239         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
45240         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
45241         sys_time_.h.
45242         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
45243         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
45244         sysexits_.h.
45245         * lib/time.in.h: Renamed from lib/time_.h.
45246         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
45247         * lib/unistd.in.h: Renamed from lib/unistd_.h.
45248         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
45249         unistd_.h.
45250         * lib/wchar.in.h: Renamed from lib/wchar_.h.
45251         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
45252         wchar_.h.
45253         * lib/wctype.in.h: Renamed from lib/wctype_.h.
45254         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
45255         wctype_.h.
45256         * build-aux/bootstrap (slurp): Update.
45257         * lib/.cppi-disable: Update.
45258
45259 2007-09-30  Bruno Haible  <bruno@clisp.org>
45260
45261         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
45262         Needed on BeOS.
45263
45264 2007-09-30  Bruno Haible  <bruno@clisp.org>
45265
45266         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
45267
45268 2007-09-29  Bruno Haible  <bruno@clisp.org>
45269
45270         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
45271
45272 2007-09-29  Bruno Haible  <bruno@clisp.org>
45273
45274         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
45275         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
45276         * build-aux/install-reloc: Compile also areadlink.c.
45277         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
45278
45279 2007-09-29  Bruno Haible  <bruno@clisp.org>
45280
45281         * gnulib-tool (func_emit_initmacro_done): Indentation.
45282
45283 2007-09-29  Bruno Haible  <bruno@clisp.org>
45284
45285         * README: Add CVS checkout update instructions.
45286         Info from Bob Proulx <bob@proulx.com>.
45287
45288 2007-09-28  Eric Blake  <ebb9@byu.net>
45289
45290         Provide move-if-change.
45291         * build-aux/move-if-change: New file, based on best practice
45292         rather than any canonical upstream location.
45293
45294 2007-09-28  Jim Meyering  <jim@meyering.net>
45295
45296         Fix canonicalize loop-detection corner case.
45297         Do not attempt to stat the symlink values stored via seen_triple.
45298         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
45299         on linux-2.6.18, (but not 2.6.22).
45300         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
45301         triple_compare.  The former compares dev,ino,filename, while the latter
45302         would actually stat dirname(filename) when dev and ino were equal.
45303         * lib/hash-triple.c: Install <string.h>.
45304         (STREQ): Define.
45305         (triple_compare_ino_str): New function.
45306         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
45307
45308 2007-09-28  Eric Blake  <ebb9@byu.net>
45309
45310         Enforce that AC_REPLACE_FUNCS files exist.
45311         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
45312         override check for typos.
45313
45314         Fix test-closein on Solaris 10.
45315         * tests/test-closein.c (main): Don't assume stdin can be inherited
45316         closed on all systems.
45317         * tests/test-closein.sh: Likewise.
45318         Reported by Piotr Tarnowski.
45319
45320 2007-09-28  Jim Meyering  <jim@meyering.net>
45321
45322         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
45323
45324 2007-09-27  Jim Meyering  <jim@meyering.net>
45325
45326         canonicalize: Avoid a false-positive cycle failure.
45327         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
45328         Sort.  Remove cycle-check.
45329         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
45330         not cycle-check.h.
45331         (seen_triple): New function.
45332         (canonicalize_filename_mode): Use it instead of cycle-check.
45333         * tests/test-canonicalize.c: Add a test for this bug.
45334         * tests/test-canonicalize.sh: Set up and run the test.
45335
45336         New module, file-set, from coreutils.
45337         * modules/file-set: Define it.
45338         * lib/file-set.c, lib/file-set.h: Implement.
45339
45340         New module, hash-triple, from coreutils.
45341         * modules/hash-triple: Define it.
45342         * lib/hash-triple.c, lib/hash-triple.h: Implement.
45343
45344 2007-09-25  Eric Blake  <ebb9@byu.net>
45345
45346         Fix strerror on Interix.
45347         * lib/string_.h (strerror): Declare replacement.
45348         * doc/functions/strerror.texi (strerror): Document the Interix
45349         shortcoming.
45350         * modules/string (Makefile.am): Support new hooks.
45351         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
45352         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
45353         gl_FUNC_STRERROR_SEPARATE.
45354         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
45355         * lib/strerror.c (rpl_strerror): Provide replacement.
45356         * modules/strerror (Depends-on): Add string.
45357         (configure.ac): Detect use of module.
45358         * tests/test-strerror.c: New file.
45359         * modules/strerror-tests: New test module.
45360         * modules/argp (Depends-on): Add strerror.
45361         * modules/error (Depends-on): Likewise.
45362         Reported by Martin Koeppe.
45363
45364 2007-09-24  Bruno Haible  <bruno@clisp.org>
45365
45366         * README: Update git instructions.
45367
45368 2007-09-24  Eric Blake  <ebb9@byu.net>
45369
45370         Revert fpending breakage from 2007-09-08.
45371         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
45372         __fpending.c.
45373
45374 2007-09-24  Jim Meyering  <jim@meyering.net>
45375
45376         filenamecat.c: Add a test.
45377         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
45378         showing how the function works when DIR is the empty string.
45379
45380 2007-09-21  Simon Josefsson  <simon@josefsson.org>
45381
45382         * tests/test-canonicalize.sh: Turn on executable bit.
45383
45384 2007-09-19  Eric Blake  <ebb9@byu.net>
45385
45386         * README: Update CVS instructions.
45387
45388 2007-09-18  Bruno Haible  <bruno@clisp.org>
45389
45390         * modules/areadlink: New file.
45391         * lib/areadlink.h (areadlink): New declaration.
45392         * lib/areadlink.c: New file, based on lib/xreadlink.c.
45393
45394 2007-09-17  Jim Meyering  <jim@meyering.net>
45395
45396         * lib/savewd.c (ESTALE) [!defined]: Define.
45397         Reported to be required on Interix by Martin Koeppe.
45398
45399 2007-09-17  Bruno Haible  <bruno@clisp.org>
45400
45401         * gnulib-tool (func_version): Use $version.
45402
45403 2007-09-16  Bruno Haible  <bruno@clisp.org>
45404
45405         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
45406         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
45407         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
45408         Reported by Greg Schafer <gschafer@zip.com.au>.
45409
45410 2007-09-15  Bruno Haible  <bruno@clisp.org>
45411
45412         * gnulib-tool (sed): Try a little harder to make bash understand the
45413         alias.
45414         Reported by Bruce Korb <bruce.korb@gmail.com>.
45415
45416 2007-09-13  Eric Blake  <ebb9@byu.net>
45417
45418         * ChangeLog: Remove conflict markers.
45419
45420 2007-09-13  Simon Josefsson  <simon@josefsson.org>
45421
45422         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
45423         Reported by Bruno Haible <bruno@clisp.org>.
45424
45425 2007-09-12  Bruno Haible  <bruno@clisp.org>
45426
45427         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
45428         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
45429         is not defined.
45430
45431 2007-09-12  Eric Blake  <ebb9@byu.net>
45432
45433         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
45434         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
45435         Autoconf definition.
45436         * modules/euidaccess (Depends-on): Add extensions, for
45437         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
45438         * modules/fnmatch (Depends-on): Likewise.
45439         * modules/getaddrinfo (Depends-on): Likewise.
45440         * modules/getdelim (Depends-on): Likewise.
45441         * modules/getline (Depends-on): Likewise.
45442         * modules/getsubopt (Depends-on): Likewise.
45443         * modules/gettext (Depends-on): Likewise.
45444         * modules/group-member (Depends-on): Likewise.
45445         * modules/mbchar (Depends-on): Likewise.
45446         * modules/memmem (Depends-on): Likewise.
45447         * modules/mempcpy (Depends-on): Likewise.
45448         * modules/memrchr (Depends-on): Likewise.
45449         * modules/pagealign_alloc (Depends-on): Likewise.
45450         * modules/readutmp (Depends-on): Likewise.
45451         * modules/stpcpy (Depends-on): Likewise.
45452         * modules/stpncpy (Depends-on): Likewise.
45453         * modules/strchrnul (Depends-on): Likewise.
45454         * modules/strndup (Depends-on): Likewise.
45455         * modules/strsep (Depends-on): Likewise.
45456         * modules/strverscmp (Depends-on): Likewise.
45457         * modules/vasprintf (Depends-on): Likewise.
45458         * modules/wcwidth (Depends-on): Likewise.
45459         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
45460         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
45461         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
45462         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
45463         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45464         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45465         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
45466         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45467         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
45468         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
45469         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45470         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45471         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45472         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
45473         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
45474         * m4/readutmp.m4 (gl_READUTMP): Likewise.
45475         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
45476         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45477         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45478         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45479         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45480         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45481         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45482         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
45483         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
45484         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45485         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
45486         so that lock.m4 can be used in gettext without extensions module.
45487
45488 2007-09-11  Bruno Haible  <bruno@clisp.org>
45489
45490         * m4/isc-posix.m4: Remove file.
45491         Suggested by Eric Blake.
45492
45493 2007-09-11  Eric Blake  <ebb9@byu.net>
45494
45495         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
45496
45497 2007-09-10  Bruno Haible  <bruno@clisp.org>
45498
45499         * posix-modules: Fix typo in error message.
45500         Reported by Matt <mkraai@beckman.com>.
45501
45502 2007-09-09  Bruno Haible  <bruno@clisp.org>
45503
45504         * doc/functions/getdelim.texi: Update list of platforms lacking the
45505         function.
45506         * doc/functions/getline.texi: Likewise.
45507
45508 2007-09-09  Jim Meyering  <jim@meyering.net>
45509
45510         * lib/hash.c (hash_initialize): Detect calloc failure.
45511         Reported by Bruno Haible.
45512
45513 2007-09-09  Bruno Haible  <bruno@clisp.org>
45514
45515         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
45516         malloc or realloc fails.
45517
45518 2007-09-09  Bruno Haible  <bruno@clisp.org>
45519
45520         * modules/getcwd (Depends-on): Add malloc-posix.
45521         * modules/glob (Depends-on): Likewise.
45522         * modules/putenv (Depends-on): Likewise.
45523         * modules/strdup (Depends-on): Likewise.
45524         * modules/getdelim (Depends-on): Add realloc-posix.
45525         * modules/read-file (Depends-on): Likewise.
45526
45527 2007-09-09  Bruno Haible  <bruno@clisp.org>
45528
45529         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
45530         (gl_FUNC_MALLOC_POSIX): Require it.
45531         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
45532         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
45533         * modules/realloc (Files): Add m4/malloc.m4.
45534         * modules/calloc (Files): Likewise.
45535
45536 2007-09-09  Bruno Haible  <bruno@clisp.org>
45537
45538         * modules/malloc-posix: New file.
45539         * modules/malloc (Depends-on): Add malloc-posix.
45540         * lib/malloc.c: Include errno.h.
45541         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
45542         and a POSIX-compatible malloc into a single function. Set ENOMEM
45543         when returning NULL.
45544         * m4/malloc.m4: New file.
45545         * doc/functions/malloc.texi: Mention the malloc-posix module.
45546         * lib/stdlib_.h (malloc): New declaration.
45547         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45548         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
45549         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
45550         and HAVE_MALLOC_POSIX.
45551
45552 2007-09-09  Bruno Haible  <bruno@clisp.org>
45553
45554         * modules/realloc-posix: New file.
45555         * modules/realloc (Depends-on): Add realloc-posix.
45556         * lib/realloc.c: Include errno.h.
45557         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
45558         and a POSIX-compatible realloc into a single function. Set ENOMEM
45559         when returning NULL.
45560         * m4/realloc.m4: New file.
45561         * doc/functions/realloc.texi: Mention the realloc-posix module.
45562         * lib/stdlib_.h (realloc): New declaration.
45563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45564         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
45565         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
45566         and HAVE_REALLOC_POSIX.
45567
45568 2007-09-09  Bruno Haible  <bruno@clisp.org>
45569
45570         * modules/calloc-posix: New file.
45571         * modules/calloc (Depends-on): Add calloc-posix.
45572         * lib/calloc.c: Include errno.h.
45573         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
45574         and a POSIX-compatible calloc into a single function. Set ENOMEM
45575         when returning NULL.
45576         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
45577         * doc/functions/calloc.texi: Mention the calloc-posix module.
45578         * lib/stdlib_.h (calloc): New declaration.
45579         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45580         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
45581         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
45582         and HAVE_CALLOC_POSIX.
45583
45584 2007-09-09  Bruno Haible  <bruno@clisp.org>
45585
45586         Allow for modules to show an arbitrary notice.
45587         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
45588         * gnulib-tool: New option --extract-notice.
45589         (func_usage): Document it.
45590         (sed_extract_prog): Update.
45591         (func_get_notice): New function.
45592         (func_modules_notice): New function.
45593         (func_import, func_create_testdir): Invoke it.
45594         Suggested by Jim Meyering.
45595
45596 2007-09-09  Bruno Haible  <bruno@clisp.org>
45597
45598         * gnulib-tool: New options --verbose, --quiet.
45599         (func_usage): Document them.
45600         (verbose): New variable.
45601         (func_execute_command): New function.
45602         (func_import): Don't show the module list and the file list if
45603         $verbose < 0.
45604         (func_create_testdir): Likewise. Use func_execute_command.
45605         (func_create_megatestdir): Use func_execute_command.
45606
45607 2007-09-08  Bruno Haible  <bruno@clisp.org>
45608
45609         * gnulib-tool (func_import): Prefer rsync over wget when available,
45610         for fetching the PO files.
45611
45612 2007-09-08  Bruno Haible  <bruno@clisp.org>
45613
45614         * posix-modules: New file. Portions copied from gnulib-tool.
45615         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
45616
45617 2007-09-08  Jim Meyering  <jim@meyering.net>
45618
45619         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
45620         * lib/fpending.h: Rename from __fpending.h.
45621         * lib/fpending.c: Rename from __fpending.c.
45622         Include "fpending.h", not "__fpending.h".
45623         * lib/__fpending.h, lib/__fpending.c: Remove files.
45624         * modules/fpending (Files): Reflect new file names.
45625         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
45626
45627 2007-09-08  Bruno Haible  <bruno@clisp.org>
45628
45629         * m4/inttypes-h.m4: Remove stub file.
45630
45631 2007-09-07  Simon Josefsson  <simon@josefsson.org>
45632
45633         * doc/headers/stdint.texi: Discuss #include_next issue.
45634
45635 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45636
45637         * build-aux/bootstrap: Remove obsolete comment about wget --help.
45638
45639 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45640
45641         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
45642         in variable name.
45643
45644 2007-09-03  Jim Meyering  <jim@meyering.net>
45645
45646         New module: git-version-gen.
45647         * modules/git-version-gen: New file.
45648
45649         Import changes from coreutils for bootstrap script.
45650
45651         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
45652
45653         bootstrap: uses rsync to download the .po files
45654         * build-aux/bootstrap (po_download_command_format): New global.
45655         (download_po_files): Use rsync.
45656         (update_po_files): Don't remove .po files after download,
45657         so future rsync runs can take advantage of the copies.
45658
45659         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
45660
45661         Solve the unnecessary-.po-file-regeneration problem once and for all.
45662         * build-aux/bootstrap (download_po_files): New function, renamed from
45663         get_translations.  Now, downloads, but doesn't update LINGUAS.
45664         (update_po_files): New function.
45665
45666         bootstrap: Ignore more.
45667         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
45668         uniwidth to e.g., lib/.gitignore.
45669         (slurp): Handle the sys_stat_.h -> sys mapping, too.
45670
45671         * build-aux/bootstrap: New setting: vc_ignore.
45672         (insert_sorted_if_absent): Create $file if absent.
45673         Adapt to new, possibly empty, list: $vc_ignore.
45674
45675         bootstrap: generate more ignorable names
45676         * build-aux/bootstrap (slurp): When generating ignorable names,
45677         also map .sin to .sed, .gperf to .c, and .y to .c.
45678
45679 2007-09-03  Jim Meyering  <jim@meyering.net>
45680
45681         * build-aux/git-version-gen: New file, from coreutils.  For details, see
45682         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
45683
45684 2007-09-02  Bruno Haible  <bruno@clisp.org>
45685
45686         Fix mis-recognition of 'mcs' on QNX 6.
45687         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
45688         output contains the string "Mono".
45689         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
45690         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45691
45692 2007-09-01  Bruno Haible  <bruno@clisp.org>
45693
45694         Fix collision between uniwidth/* and linebreak modules.
45695         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45696         u32_width): Remove declarations.
45697         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45698         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45699         streq3, streq2, streq1, streq0): Remove functions.
45700         (STREQ): Remove macro.
45701         (is_cjk_encoding): Remove function.
45702         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45703         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45704         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45705         * NEWS: Document the change.
45706
45707 2007-09-01  Bruno Haible  <bruno@clisp.org>
45708
45709         * lib/streq.h: Add double-inclusion guard.
45710
45711 2007-09-01  Karl Berry  <karl@gnu.org>
45712
45713         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45714
45715 2007-08-28  Jim Meyering  <jim@meyering.net>
45716
45717         Rename mreadlink_with_size to areadlink_with_size.
45718         * NEWS: Document the change.
45719         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45720         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45721         * lib/mreadlink.h: Rename this to...
45722         * lib/areadlink.h: ...this.
45723         * modules/mreadlink-with-size: Rename this to...
45724         * modules/areadlink-with-size: ...this.
45725         * lib/canonicalize.c: Reflect the renaming.
45726         * modules/canonicalize: Likewise.
45727
45728 2007-08-26  Bruno Haible  <bruno@clisp.org>
45729
45730         * gnulib-tool (func_import): When deciding which files to remove,
45731         consider also dangling symbolic links.
45732         Reported by Eric Blake.
45733
45734 2007-08-26  Bruno Haible  <bruno@clisp.org>
45735
45736         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45737
45738 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45739
45740         * lib/readline.c: Don't include getline.h, the prototype is now
45741         found in stdio.h.
45742
45743 2007-08-23  Jim Meyering  <jim@meyering.net>
45744
45745         Getdelim touchup.
45746         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45747         around the funlockfile call, since funlockfile never sets errno.
45748         Don't set errno upon failed realloc.
45749
45750 2007-08-22  Eric Blake  <ebb9@byu.net>
45751
45752         Getline touchups.
45753         * lib/getdelim.c (getdelim): Revert regression that required *n to
45754         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45755         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45756         getdelim, rather than whether implementation is missing.
45757         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45758         * lib/stdio_.h (getline): Also declare if replacement is
45759         required.
45760         * doc/functions/getdelim.texi: New file.
45761         * doc/functions/getline.texi: Likewise.
45762         * doc/gnulib.texi (Function Substitutes): Add new files.
45763         Reported by Bruno Haible.
45764
45765 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45766
45767         * users.txt: Add Guile.
45768
45769 2007-08-22  Eric Blake  <ebb9@byu.net>
45770
45771         * tests/test-getdelim.c (main): Use remove, not unlink.
45772         * tests/test-getline.c (main): Likewise.
45773
45774         Move getline and getdelim into stdio.h, per POSIX 200x.
45775         * modules/getline (Files): Remove getline.h.
45776         (Depends-on): Add stdio.
45777         (configure.ac): Add module indicator.
45778         * modules/getdelim (Files): Remove getdelim.h.
45779         (Depends-on): Add stdio.
45780         (configure.ac): Add module indicator.
45781         * modules/stdio (Makefile.am): Work with new indicators.
45782         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45783         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45784         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45785         * lib/getdelim.h: Delete.
45786         * lib/getline.h: Delete.
45787         * lib/stdio_.h (getdelim, getline): Declare.
45788         * modules/getdelim-tests: New module.
45789         * modules/getline-tests: Likewise.
45790         * tests/test-getdelim.c: New file.
45791         * tests/test-getline.c: Likewise.
45792         * NEWS: Document the change.
45793         * lib/getline.c: Update choice of header.
45794         * lib/csharpcomp.c: Likewise.
45795         * lib/getpass.c: Likewise.
45796         * lib/javacomp.c: Likewise.
45797         * lib/javaversion.c: Likewise.
45798         * lib/yesno.c: Likewise.
45799         * lib/getdelim.c: Likewise.
45800         (getdelim): Set errno on failure, and avoid memory leak.
45801
45802 2007-08-19  Bruno Haible  <bruno@clisp.org>
45803
45804         * modules/closein (Depends-on): Add freadahead.
45805         * lib/closein.c: Include freadahead.h.
45806         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45807         is zero.
45808
45809 2007-08-19  Bruno Haible  <bruno@clisp.org>
45810
45811         * modules/freadahead-tests: New file.
45812         * tests/test-freadahead.sh: New file.
45813         * tests/test-freadahead.c: New file.
45814
45815         * modules/freadahead: New file.
45816         * lib/freadahead.h: New file.
45817         * lib/freadahead.c: New file.
45818         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45819         fbufmode, fpurge, freadable, fwritable.
45820
45821 2007-08-19  Eric Blake  <ebb9@byu.net>
45822
45823         Test yesno in combination with closein.
45824         * lib/yesno.c (yesno): Document use of stdin.
45825         * modules/yesno-tests (Files): New module.
45826         * tests/test-yesno.c (main): New file.
45827         * tests/test-yesno.sh: Likewise.
45828
45829 2007-08-19  Bruno Haible  <bruno@clisp.org>
45830
45831         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45832         * lib/fseeko.c (rpl_fseeko): Likewise.
45833         * lib/fseterr.c (fseterr): Likewise.
45834
45835 2007-08-19  Bruno Haible  <bruno@clisp.org>
45836
45837         * tests/test-lseek.c (main): Disable a test for BeOS.
45838         * doc/functions/lseek.texi: Document the BeOS bug.
45839
45840 2007-08-19  Bruno Haible  <bruno@clisp.org>
45841             Eric Blake  <ebb9@byu.net>
45842
45843         * lib/lseek.c: Include <sys/stat.h>.
45844         (rpl_lseek): Add workaround code also for Unix platforms.
45845         Needed for BeOS.
45846         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45847         * doc/functions/lseek.texi: Document BeOS definiency.
45848
45849 2007-08-18  Bruno Haible  <bruno@clisp.org>
45850
45851         * modules/fstrcmp-tests: New file.
45852         * tests/test-fstrcmp.c: New file.
45853
45854 2007-08-18  Bruno Haible  <bruno@clisp.org>
45855
45856         * modules/fstrcmp: New file, from GNU gettext with modifications.
45857         * lib/fstrcmp.h: New file, from GNU gettext.
45858         * lib/fstrcmp.c: New file, from GNU gettext.
45859         * MODULES.html.sh (String handling): Add fstrcmp.
45860
45861 2007-08-18  Bruno Haible  <bruno@clisp.org>
45862
45863         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45864         'bool'.
45865         (diag, compareseq): Remove const from the ctxt argument.
45866         (USE_HEURISTIC): Undefine at the end.
45867
45868 2007-08-18  Jim Meyering  <jim@meyering.net>
45869
45870         New file: lib/idcache.h
45871         * NEWS: Mention the addition.
45872         * modules/idcache (Files): Add lib/idcache.h
45873         * lib/idcache.c: Include "idcache.h".
45874         Don't include <sys/types.h>.
45875         Add a FIXME comment.
45876         Move file-scoped "static" declarations to the top.
45877         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45878
45879 2007-08-17  Bruno Haible  <bruno@clisp.org>
45880         and Paul Eggert  <eggert@cs.ucla.edu>
45881
45882         * MODULES.html.sh: Add diffseq.
45883         * modules/diffseq: New file.
45884         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45885         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45886
45887 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45888
45889         Import changes from coreutils for bootstrap script.
45890
45891         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45892
45893         * build-aux/bootstrap (slurp): Work even in environments where
45894         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45895         current code does not slurp files whose names start with ".", and
45896         this looks like it might be a troublesome area.
45897
45898         2007-07-11  Jim Meyering  <jim@meyering.net>
45899
45900         If there's a GPL vN copyright comment, require that N == 3.
45901
45902         2007-07-08  Jim Meyering  <jim@meyering.net>
45903
45904         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45905         * build-aux/bootstrap (mam_template): Move definition out of loop.
45906
45907         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45908
45909         * build-aux/bootstrap (symlink_to_dir): Rename function from
45910         symlink_to_gnulib.  Add a directory parameter.  Update all
45911         callers.
45912         (cp_mark_as_generated): Also check for -- and link to -- files in
45913         gl/.
45914
45915         2007-07-08  Jim Meyering  <jim@meyering.net>
45916
45917         Adapt to deeper hierarchy in gnulib.
45918         * build-aux/bootstrap (symlink_to_dir): If the destination
45919         directory doesn't exist, create it. This is required at least for
45920         "lib/uniwidth/cjk.h".
45921
45922         2007-05-15  Jim Meyering  <jim@meyering.net>
45923
45924         * build-aux/bootstrap: Now that generated Makefile.am files
45925         are no longer under version control, they must be created at
45926         bootstrap time.
45927
45928 2007-08-14  Ben Pfaff  <blp@gnu.org>
45929
45930         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
45931
45932 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45933
45934         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
45935         given the changes below.
45936         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
45937         even on hosts that have padding bits beyond the supported 64.
45938
45939 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45940
45941         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
45942         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
45943         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
45944         depends on it.
45945         (xstrtol_error): Remove.
45946         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
45947         but with a different signature.
45948         (ATTRIBUTE_NORETURN, __attribute__): New macros.
45949         * lib/xstrtol-error.c: Include exitfail.h.
45950         (xstrtol_fatal): New function, with a different signature from the
45951         old xstrtol_error, so that the caller need not worry about passing
45952         in an exit status, or about storage management of the option argument.
45953         (xstrtol_error): Now a static function.  Redo signature to
45954         implement xstrtol_fatal.  Output the correct number of hyphens in
45955         front of the option so that the caller need not worry about
45956         storage management.
45957         (N_): New macro.
45958         (_): Remove; not used now.
45959         * modules/xstrtol: Depend on getopt.
45960         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
45961         of old STRTOL_FATAL_ERROR macro.
45962         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
45963         of test program.
45964         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
45965         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
45966
45967 2007-08-08  Eric Blake  <ebb9@byu.net>
45968
45969         * lib/xstrtol-error.c: Add missing include.
45970
45971         Move xstrtol messages into gnulib domain, when --pobase is used.
45972         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
45973         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
45974         * modules/xstrtol (Files): Distribute new file.
45975         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
45976         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
45977         * tests/test-xstrtol.c: ...into new file.
45978         * tests/test-xstrtoul.c: Also test xstrtoul.
45979         * tests/test-xstrtoimax.c: Also test xstrtoimax.
45980         * tests/test-xstrtoumax.c: Also test xstrtoumax.
45981         * tests/test-xstrtol.sh: Drive the tests.
45982         * tests/test-xstrtoimax.sh: Likewise.
45983         * tests/test-xstrtoumax.sh: Likewise.
45984         * modules/xstrtol-tests: New module.
45985         * modules/xstrtoimax-tests: Likewise.
45986         * modules/xstrtoumax-tests: Likewise.
45987
45988 2007-08-08  Jim Meyering  <jim@meyering.net>
45989
45990         New function: mfile_name_concat.
45991         * lib/filenamecat.c (mfile_name_concat): New function, just like
45992         file_name_concat, but return NULL upon failure rather than exiting
45993         with a diagnostic.
45994         * lib/filenamecat.h: Declare it.
45995
45996 2007-08-07  Bruno Haible  <bruno@clisp.org>
45997
45998         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
45999         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
46000         warning from gcc.
46001         Reported by Eric Blake.
46002
46003 2007-08-07  Simon Josefsson  <simon@josefsson.org>
46004
46005         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
46006         * modules/crypto/arcfour (License): Likewise.
46007         * modules/crypto/des-tests (License): Likewise.
46008         * modules/crypto/gc-arctwo-tests (License): Likewise.
46009         * modules/crypto/gc-des-tests (License): Likewise.
46010         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
46011         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
46012         * modules/crypto/gc-md2-tests (License): Likewise.
46013         * modules/crypto/gc-md4-tests (License): Likewise.
46014         * modules/crypto/gc-md5-tests (License): Likewise.
46015         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
46016         * modules/crypto/gc-rijndael-tests (License): Likewise.
46017         * modules/crypto/gc-sha1-tests (License): Likewise.
46018         * modules/crypto/gc-tests (License): Likewise.
46019         * modules/crypto/hmac-md5 (License): Likewise.
46020         * modules/crypto/hmac-sha1 (License): Likewise.
46021         * modules/crypto/md2-tests (License): Likewise.
46022         * modules/crypto/md4-tests (License): Likewise.
46023         * modules/crypto/md5 (License): Likewise.
46024         * modules/crypto/rijndael (License): Likewise.
46025         * modules/crypto/sha1 (License): Likewise.
46026         * modules/memxor (License): Likewise.
46027
46028 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46029         and Bruno Haible  <bruno@clisp.org>
46030
46031         * NEWS: Describe interface changes to human, xstrtol.
46032         * lib/human.h: Include <xstrtol.h>.
46033         (human_options): Return enum strtol_error, not int.  Remove
46034         bool arg; take int * instead.
46035         * lib/human.c: Don't include "gettext.h".
46036         (_): Remove; no longer used.
46037         Don't include <xstrtol.h>, since human.h does it.
46038         (human_options): Adjust to abovementioned interface changes.
46039         Do not report error to stderr; that's now the caller's
46040         responsibility.
46041         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
46042         interface change.
46043         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
46044         Str, Argument_type_string.  All uses changed.  Put " argument"
46045         in diagnostics to make them clearer.  Change wording of suffix
46046         message for clarity.
46047         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
46048         Argument_type_string.
46049         (STRTOL_FATAL_WARN): Remove; no longer used.
46050         * modules/human (Depends-on): Remove gettext-h.
46051
46052 2007-08-06  Simon Josefsson  <simon@josefsson.org>
46053
46054         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
46055
46056 2007-07-31  Bruno Haible  <bruno@clisp.org>
46057
46058         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
46059         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
46060         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
46061
46062 2007-07-31  Bruno Haible  <bruno@clisp.org>
46063
46064         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
46065         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
46066
46067 2007-07-30  Bruno Haible  <bruno@clisp.org>
46068
46069         * modules/base64 (License): Use the synonymous term "LGPLv2+".
46070         * modules/c-ctype (License): Likewise.
46071         * modules/c-strcase (License): Likewise.
46072         * modules/check-version (License): Likewise.
46073         * modules/iconv (License): Likewise.
46074         * modules/iconv_open (License): Likewise.
46075         * modules/read-file (License): Likewise.
46076         * modules/striconv (License): Likewise.
46077         * modules/strverscmp (License): Likewise.
46078         * modules/vasprintf (License): Likewise.
46079         * modules/crypto/des (License): Likewise.
46080         * modules/crypto/gc (License): Likewise.
46081         * modules/crypto/gc-arcfour (License): Likewise.
46082         * modules/crypto/gc-arctwo (License): Likewise.
46083         * modules/crypto/gc-des (License): Likewise.
46084         * modules/crypto/gc-hmac-md5 (License): Likewise.
46085         * modules/crypto/gc-hmac-sha1 (License): Likewise.
46086         * modules/crypto/gc-md2 (License): Likewise.
46087         * modules/crypto/gc-md4 (License): Likewise.
46088         * modules/crypto/gc-md5 (License): Likewise.
46089         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
46090         * modules/crypto/gc-random (License): Likewise.
46091         * modules/crypto/gc-rijndael (License): Likewise.
46092         * modules/crypto/gc-sha1 (License): Likewise.
46093         * modules/crypto/md2 (License): Likewise.
46094         * modules/crypto/md4 (License): Likewise.
46095
46096 2007-07-30  Jim Meyering  <jim@meyering.net>
46097
46098         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
46099         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
46100         it has valid stat data.  This bug would cause du not to count the
46101         sizes of inaccessible directories.
46102         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
46103         in <http://bugzilla.redhat.com/250077>.
46104
46105 2007-07-25  Peter O'Gorman  <peter@pogma.com>
46106             Bruno Haible  <bruno@clisp.org>
46107
46108         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
46109         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
46110         #include_next, gives a diagnostic about it, but reports no error in
46111         the exit code.
46112         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46113
46114 2007-07-24  Ben Pfaff  <blp@gnu.org>
46115
46116         Improve name: "count-one-bits" is better than "popcount".
46117         * MODULES.html.sh: Update name.
46118         * lib/popcount.h: Renamed lib/count-one-bits.h.
46119         (popcount): Renamed count_one_bits.
46120         (popcountl): Renamed count_one_bits_l.
46121         (popcountll): Renamed count_one_bits_ll.
46122         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
46123         * modules/popcount: Renamed module/count-one-bits.
46124         * modules/popcount-tests: Renamed module/count-one-bits-tests.
46125         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
46126
46127 2007-07-23  Ben Pfaff  <blp@gnu.org>
46128
46129         * lib/popcount.h (popcount32): Reduce size of constants, to allow
46130         better code generation, and add U to large constants to avoid
46131         warnings, in non-GCC case.
46132         Suggested by Bruno Haible.
46133
46134 2007-07-23  Ben Pfaff  <blp@gnu.org>
46135
46136         * lib/popcount.h: Use verify_true instead of if...abort.
46137         * modules/popcount: Depend on verify module.
46138         Suggested by Jim Meyering.
46139
46140 2007-07-23  Bruno Haible  <bruno@clisp.org>
46141
46142         * gnulib-tool (func_import): Create a .cvsignore file also when the
46143         directory is not yet in CVS but the toplevel directory is. When
46144         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
46145         Reported by Karl Berry.
46146
46147 2007-07-22  Ben Pfaff  <blp@gnu.org>
46148
46149         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
46150         case.
46151         Suggested by Eric Blake.
46152
46153 2007-07-22  Ben Pfaff  <blp@gnu.org>
46154
46155         New module: popcount.
46156         * MODULES.html.sh: Add popcount.
46157         * modules/popcount: New file.
46158         * modules/popcount-tests: New file.
46159         * tests/test-popcount.c: New file.
46160         * lib/popcount.h: New file.
46161         * m4/popcount.m4: New file.
46162
46163 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46164
46165         * build-aux/announce-gen: Update to GPLv3.
46166
46167         * build-aux/config.guess: Update from config.
46168
46169 2007-07-21  Bruno Haible  <bruno@clisp.org>
46170
46171         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
46172         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
46173
46174 2007-07-20  Jim Meyering  <jim@meyering.net>
46175
46176         * check-module: Diagnose a self-dependency.
46177
46178 2007-07-19  Bruno Haible  <bruno@clisp.org>
46179
46180         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
46181         empty.
46182         Reported by Eric Blake.
46183
46184 2007-07-18  Bruno Haible  <bruno@clisp.org>
46185
46186         * gnulib-tool: New options --po-base, --po-domain.
46187         (func_usage): Document them.
46188         (pobase, po_domain): New variables.
46189         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
46190         DEFAULT_TEXT_DOMAIN.
46191         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
46192         (func_import): Consider pobase and po_domain. Create a po/ directory.
46193         (func_create_testdir): Set pobase and po_domain to empty.
46194         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
46195         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
46196
46197 2007-07-18  Bruno Haible  <bruno@clisp.org>
46198
46199         * gnulib-tool (func_get_automake_snippet): Synthesize also an
46200         EXTRA_DIST augmentation for files in build-aux/.
46201
46202 2007-07-16  Bruno Haible  <bruno@clisp.org>
46203
46204         * modules/lseek (License): Use the synonymous term "LGPLv2+".
46205         * modules/getdelim (License): Likewise.
46206
46207 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46208
46209         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
46210         * modules/d-type (License): Likewise.
46211         * modules/extensions (License): Likewise.
46212         * modules/fnmatch (License): Likewise.
46213         * modules/fseeko (License): Likewise.
46214         * modules/getaddrinfo (License): Likewise.
46215         * modules/getline (License): Likewise.
46216         * modules/getlogin_r (License): Likewise.
46217         * modules/getpass (License): Likewise.
46218         * modules/gettimeofday (License): Likewise.
46219         * modules/glob (License): Likewise.
46220         * modules/inet_ntop (License): Likewise.
46221         * modules/malloc (License): Likewise.
46222         * modules/malloca (License): Likewise.
46223         * modules/memmem (License): Likewise.
46224         * modules/mempcpy (License): Likewise.
46225         * modules/memset (License): Likewise.
46226         * modules/minmax (License): Likewise.
46227         * modules/mktime (License): Likewise.
46228         * modules/netinet_in (License): Likewise.
46229         * modules/pathmax (License): Likewise.
46230         * modules/poll (License): Likewise.
46231         * modules/regex (License): Likewise.
46232         * modules/snprintf (License): Likewise.
46233         * modules/stdbool (License): Likewise.
46234         * modules/stdint (License): Likewise.
46235         * modules/stdio (License): Likewise.
46236         * modules/strcase (License): Likewise.
46237         * modules/strcasestr (License): Likewise.
46238         * modules/strdup (License): Likewise.
46239         * modules/string (License): Likewise.
46240         * modules/strndup (License): Likewise.
46241         * modules/strnlen (License): Likewise.
46242         * modules/strpbrk (License): Likewise.
46243         * modules/strptime (License): Likewise.
46244         * modules/strsep (License): Likewise.
46245         * modules/sys_select (License): Likewise.
46246         * modules/sys_socket (License): Likewise.
46247         * modules/sys_stat (License): Likewise.
46248         * modules/sys_time (License): Likewise.
46249         * modules/time (License): Likewise.
46250         * modules/time_r (License): Likewise.
46251         * modules/timegm (License): Likewise.
46252         * modules/unistd (License): Likewise.
46253         * modules/vsnprintf (License): Likewise.
46254         * modules/wctype (License): Likewise.
46255
46256 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46257
46258         * modules/argz (License): LGPLv2+.
46259
46260 2007-07-15  Karl Berry  <karl@gnu.org>
46261
46262         * doc/gnulib.texi: revise node structure per new fdl.texi.
46263
46264 2007-07-14  Bruno Haible  <bruno@clisp.org>
46265
46266         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
46267         the output file.
46268         * lib/uniname/uninames.h: Regenerated.
46269
46270 2007-07-14  Karl Berry  <karl@gnu.org>
46271
46272         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
46273         omitting sectioning and index commands.
46274
46275 2007-07-13  Bruno Haible  <bruno@clisp.org>
46276
46277         New gnulib-tool option --more-symlinks.
46278         * gnulib-tool (func_usage): Document --more-symlinks.
46279         (do_copyrights): New variable.
46280         Recognize option --more-symlinks.
46281         (func_import): Don't add a copyright notice transform to
46282         sed_transform_lib_file if do_copyrights is empty.
46283
46284 2007-07-13  Bruno Haible  <bruno@clisp.org>
46285
46286         * lib/vasnprintf.c (decimal_point_char): Define also if
46287         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
46288         && !NEED_PRINTF_DIRECTIVE_A.
46289         Reported by Clemens Koller <clemens.koller@anagramm.de> via
46290         Gary V. Vaughan <gary@gnu.org>.
46291
46292 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46293
46294         * lib/inttypes_.h: Undo previous change, since it was fixed
46295         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
46296
46297 2007-07-13  Bruno Haible  <bruno@clisp.org>
46298
46299         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
46300         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
46301
46302 2007-07-13  Jim Meyering  <jim@meyering.net>
46303
46304         df: Don't fail for Tru64's "file-on-file mount".
46305         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
46306         so we fall through and use statfs instead.  Details here:
46307         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
46308         Reported by Albert Chin.
46309
46310 2007-07-13  Bruno Haible  <bruno@clisp.org>
46311
46312         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
46313         * modules/configmake (License): Likewise.
46314         * modules/gettext (License): Likewise.
46315         * modules/gettext-h (License): Likewise.
46316         * modules/include_next (License): Likewise.
46317         * modules/link-warning (License): Likewise.
46318         * modules/localcharset (License): Likewise.
46319         * modules/localename (License): Likewise.
46320         * modules/lock (License): Likewise.
46321         * modules/relocatable-lib-lgpl (License): Likewise.
46322         * modules/size_max (License): Likewise.
46323         * modules/vasnprintf (License): Likewise.
46324         * modules/wchar (License): Likewise.
46325         * modules/xsize (License): Likewise.
46326
46327 2007-07-13  Bruno Haible  <bruno@clisp.org>
46328
46329         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
46330         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
46331
46332 2007-07-12  Bruno Haible  <bruno@clisp.org>
46333
46334         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
46335         in the modules files.
46336
46337 2007-07-11  Karl Berry  <karl@gnu.org>
46338
46339         * MODULES.html.sh (func_module): use
46340          sed -e '\|^'"${includefile}"'$|d'
46341          instead of /.../d, to avoid errors on $includefile's containing /.
46342
46343 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46344
46345         * gnulib-tool (func_import): Avoid duplication of --avoid
46346         statements
46347         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
46348         names to `_' in variable names.
46349
46350 2007-07-10  Eric Blake  <ebb9@byu.net>
46351
46352         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
46353         * NEWS: Document this change.
46354
46355 2007-07-08  Bruno Haible  <bruno@clisp.org>
46356
46357         Update to Unicode 5.0.
46358         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
46359         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
46360         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
46361         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
46362         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
46363         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
46364         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
46365         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
46366         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
46367         U+10A3F, U+1D242..U+1D244.
46368         (nonspacing_table_ind): Update.
46369         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
46370         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
46371
46372 2007-07-08  Bruno Haible  <bruno@clisp.org>
46373
46374         Update to Unicode 5.0.
46375         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
46376         code transform. Extend the name index field of unicode_name_to_code and
46377         unicode_code_to_name from 16 to 24 bits.
46378         * lib/uniname/uniname.c (unicode_character_name,
46379         unicode_name_character): Add the range 0x12xxx to the code transform.
46380         * lib/uniname/uninames.h: Regenerated.
46381         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
46382
46383 2007-07-07  Bruno Haible  <bruno@clisp.org>
46384
46385         * modules/wcwidth-tests: New file.
46386         * tests/test-wcwidth.c: New file.
46387
46388         Work around MacOS X wcwidth() bug.
46389         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
46390         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
46391         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
46392         original wcwidth in non-UTF-8 locales.
46393         * modules/wcwidth (Depends-on): Add localcharset, streq,
46394         uniwidth/width.
46395         * doc/functions/wcwidth.texi: Update.
46396
46397 2007-07-07  Bruno Haible  <bruno@clisp.org>
46398
46399         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
46400         (wcwidth): New declaration.
46401         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
46402         macros.
46403         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
46404         here. Prepare for creating <wchar.h> unconditionally.
46405         * modules/wchar (Depends-on): Add link-warning.
46406         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
46407         REPLACE_WCWIDTH, and GL_LINK_WARNING.
46408         * lib/wcwidth.h: Remove file.
46409         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
46410         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
46411         * modules/wcwidth (Files): Remove lib/wcwidth.h.
46412         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
46413         (Include): Replace wcwidth.h with <wchar.h>.
46414         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
46415         * lib/mbchar.h: Don't include wcwidth.h.
46416         * lib/mbswidth.c: Likewise.
46417         * NEWS: Mention the change.
46418
46419 2007-07-07  Bruno Haible  <bruno@clisp.org>
46420
46421         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
46422         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
46423         definition with an external declaration.
46424         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
46425         defined as a function. Remove AC_C_INLINE requirement.
46426         * modules/wcwidth (Files): Add lib/wcwidth.c.
46427         (Makefile.am): Remove redundant statement.
46428
46429 2007-07-07  Bruno Haible  <bruno@clisp.org>
46430
46431         * MODULES.html.sh (Unicode string functions): Add the new modules.
46432
46433         * tests/uniwidth/test-u32-strwidth.c: New file.
46434         * modules/uniwidth/u32-strwidth-tests: New file.
46435
46436         * lib/uniwidth/u32-strwidth.c: New file.
46437         * modules/uniwidth/u32-strwidth: New file.
46438
46439         * tests/uniwidth/test-u16-strwidth.c: New file.
46440         * modules/uniwidth/u16-strwidth-tests: New file.
46441
46442         * lib/uniwidth/u16-strwidth.c: New file.
46443         * modules/uniwidth/u16-strwidth: New file.
46444
46445         * tests/uniwidth/test-u8-strwidth.c: New file.
46446         * modules/uniwidth/u8-strwidth-tests: New file.
46447
46448         * lib/uniwidth/u8-strwidth.c: New file.
46449         * modules/uniwidth/u8-strwidth: New file.
46450
46451         * tests/uniwidth/test-u32-width.c: New file.
46452         * modules/uniwidth/u32-width-tests: New file.
46453
46454         * lib/uniwidth/u32-width.c: New file.
46455         * modules/uniwidth/u32-width: New file.
46456
46457         * tests/uniwidth/test-u16-width.c: New file.
46458         * modules/uniwidth/u16-width-tests: New file.
46459
46460         * lib/uniwidth/u16-width.c: New file.
46461         * modules/uniwidth/u16-width: New file.
46462
46463         * tests/uniwidth/test-u8-width.c: New file.
46464         * modules/uniwidth/u8-width-tests: New file.
46465
46466         * lib/uniwidth/u8-width.c: New file.
46467         * modules/uniwidth/u8-width: New file.
46468
46469         * tests/uniwidth/test-uc_width.c: New file.
46470         * modules/uniwidth/width-tests: New file.
46471
46472         * lib/uniwidth/width.c: New file, from GNU libiconv.
46473         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
46474         * modules/uniwidth/width: New file.
46475
46476         * lib/uniwidth.h: New file, from GNU libiconv.
46477         * modules/uniwidth/base: New file.
46478
46479 2007-07-07  Bruno Haible  <bruno@clisp.org>
46480
46481         * lib/uniname.h: New file, from GNU gettext.
46482         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
46483         * lib/uniname/uninames.h: New file, from GNU gettext.
46484         * lib/uniname/uniname.c: New file, from GNU gettext.
46485         * tests/uniname/test-uninames.sh: New file.
46486         * tests/uniname/test-uninames.c: New file, from GNU gettext.
46487         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
46488         * modules/uniname/base: New file.
46489         * modules/uniname/uniname: New file.
46490         * modules/uniname/uniname-tests: New file.
46491         * MODULES.html.sh (Unicode string functions): Add the new modules.
46492
46493 2007-07-06  Bruno Haible  <bruno@clisp.org>
46494
46495         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
46496
46497 2007-07-06  Bruno Haible  <bruno@clisp.org>
46498
46499         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
46500         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
46501         includes <cygwin/sys_time.h> which includes <sys/select.h> which
46502         include <sys/time.h>.
46503         Reported by Eric Blake.
46504
46505 2007-07-06  Eric Blake  <ebb9@byu.net>
46506
46507         Fix testing canonicalize on cygwin.
46508         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46509         Revert patch from 2007-06-19.
46510         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
46511         canonicalize module is also in use.
46512         * tests/test-canonicalize.c: New file.
46513         * tests/test-canonicalize.sh: Likewise.
46514         * modules/canonicalize-tests: Likewise.
46515
46516 2007-07-06  Jim Meyering  <jim@meyering.net>
46517
46518         * lib/getugroups.c (getugroups): Detect getgrent failure.
46519         Adjust comment to reflect reality: this function may return -1.
46520
46521 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
46522
46523         * build-aux/bootstrap (TP_URL,get_translations): Update to use
46524         the new TP address.
46525         (usage): Fix typo
46526         (gnulib_mk): New variable.
46527
46528 2007-07-05  Jim Meyering  <jim@meyering.net>
46529
46530         Don't let endgrent clobber errno, no matter how improbable.
46531         * lib/getugroups.c (getugroups): Save and restore errno around
46532         endgrent call.
46533
46534         Close the group DB even when failing with 2^31 or more members.
46535         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
46536
46537 2007-07-04  Jim Meyering  <jim@meyering.net>
46538
46539         * lib/getugroups.h: New file.
46540         * lib/getugroups.c: Include "getugroups.h".
46541         Remove uses of "register" keyword.
46542         Move local variable, "cp", down into scope where used.
46543         Give "username" parameter the "const" attribute.
46544         * modules/getugroups (Files): Add lib/getugroups.h
46545
46546 2007-07-04  Karl Berry  <karl@gnu.org>
46547
46548         * MODULES.html.sh (func_all_modules): Complete rename of
46549         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
46550
46551 2007-07-02  Bruno Haible  <bruno@clisp.org>
46552
46553         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
46554         mode, when inttypes.h comes from gnulib.
46555         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
46556
46557 2007-07-02  Simon Josefsson  <simon@josefsson.org>
46558
46559         * NEWS: Mention lgpl module name change.
46560
46561         * modules/lgpl-2.1: Renamed from lgpl.
46562
46563         * NEWS: Mention gpl module name change.
46564
46565         * modules/gpl-3.0: New file, based on gpl-2.0.
46566
46567         * modules/gpl-2.0: Renamed from gpl.
46568
46569         * modules/gpl: Fix filename, doc/gpl.texi is now found at
46570         doc/gpl-2.0.texi.
46571
46572 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46573
46574         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
46575         #define __STDC_LIMIT_MACROS temporarily while including
46576         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
46577         Problem reported by Joel E. Denny in
46578         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
46579
46580 2007-07-01  Bruno Haible  <bruno@clisp.org>
46581
46582         * lib/unistdio.h: New file.
46583         * lib/unistdio/u-asnprintf.h: New file.
46584         * lib/unistdio/u-asprintf.h: New file.
46585         * lib/unistdio/u-printf-args.c: New file.
46586         * lib/unistdio/u-printf-args.h: New file.
46587         * lib/unistdio/u-printf-parse.h: New file.
46588         * lib/unistdio/u-snprintf.h: New file.
46589         * lib/unistdio/u-sprintf.h: New file.
46590         * lib/unistdio/u-vasprintf.h: New file.
46591         * lib/unistdio/u-vsnprintf.h: New file.
46592         * lib/unistdio/u-vsprintf.h: New file.
46593         * lib/unistdio/ulc-asnprintf.c: New file.
46594         * lib/unistdio/ulc-asprintf.c: New file.
46595         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
46596         * lib/unistdio/ulc-printf-parse.c: New file.
46597         * lib/unistdio/ulc-snprintf.c: New file.
46598         * lib/unistdio/ulc-sprintf.c: New file.
46599         * lib/unistdio/ulc-vasnprintf.c: New file.
46600         * lib/unistdio/ulc-vasprintf.c: New file.
46601         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
46602         * lib/unistdio/ulc-vsnprintf.c: New file.
46603         * lib/unistdio/ulc-vsprintf.c: New file.
46604         * lib/unistdio/u8-asnprintf.c: New file.
46605         * lib/unistdio/u8-asprintf.c: New file.
46606         * lib/unistdio/u8-printf-parse.c: New file.
46607         * lib/unistdio/u8-snprintf.c: New file.
46608         * lib/unistdio/u8-sprintf.c: New file.
46609         * lib/unistdio/u8-vasnprintf.c: New file.
46610         * lib/unistdio/u8-vasprintf.c: New file.
46611         * lib/unistdio/u8-vsnprintf.c: New file.
46612         * lib/unistdio/u8-vsprintf.c: New file.
46613         * lib/unistdio/u8-u8-asnprintf.c: New file.
46614         * lib/unistdio/u8-u8-asprintf.c: New file.
46615         * lib/unistdio/u8-u8-snprintf.c: New file.
46616         * lib/unistdio/u8-u8-sprintf.c: New file.
46617         * lib/unistdio/u8-u8-vasnprintf.c: New file.
46618         * lib/unistdio/u8-u8-vasprintf.c: New file.
46619         * lib/unistdio/u8-u8-vsnprintf.c: New file.
46620         * lib/unistdio/u8-u8-vsprintf.c: New file.
46621         * lib/unistdio/u16-asnprintf.c: New file.
46622         * lib/unistdio/u16-asprintf.c: New file.
46623         * lib/unistdio/u16-printf-parse.c: New file.
46624         * lib/unistdio/u16-snprintf.c: New file.
46625         * lib/unistdio/u16-sprintf.c: New file.
46626         * lib/unistdio/u16-vasnprintf.c: New file.
46627         * lib/unistdio/u16-vasprintf.c: New file.
46628         * lib/unistdio/u16-vsnprintf.c: New file.
46629         * lib/unistdio/u16-vsprintf.c: New file.
46630         * lib/unistdio/u16-u16-asnprintf.c: New file.
46631         * lib/unistdio/u16-u16-asprintf.c: New file.
46632         * lib/unistdio/u16-u16-snprintf.c: New file.
46633         * lib/unistdio/u16-u16-sprintf.c: New file.
46634         * lib/unistdio/u16-u16-vasnprintf.c: New file.
46635         * lib/unistdio/u16-u16-vasprintf.c: New file.
46636         * lib/unistdio/u16-u16-vsnprintf.c: New file.
46637         * lib/unistdio/u16-u16-vsprintf.c: New file.
46638         * lib/unistdio/u32-asnprintf.c: New file.
46639         * lib/unistdio/u32-asprintf.c: New file.
46640         * lib/unistdio/u32-printf-parse.c: New file.
46641         * lib/unistdio/u32-snprintf.c: New file.
46642         * lib/unistdio/u32-sprintf.c: New file.
46643         * lib/unistdio/u32-vasnprintf.c: New file.
46644         * lib/unistdio/u32-vasprintf.c: New file.
46645         * lib/unistdio/u32-vsnprintf.c: New file.
46646         * lib/unistdio/u32-vsprintf.c: New file.
46647         * lib/unistdio/u32-u32-asnprintf.c: New file.
46648         * lib/unistdio/u32-u32-asprintf.c: New file.
46649         * lib/unistdio/u32-u32-snprintf.c: New file.
46650         * lib/unistdio/u32-u32-sprintf.c: New file.
46651         * lib/unistdio/u32-u32-vasnprintf.c: New file.
46652         * lib/unistdio/u32-u32-vasprintf.c: New file.
46653         * lib/unistdio/u32-u32-vsnprintf.c: New file.
46654         * lib/unistdio/u32-u32-vsprintf.c: New file.
46655         * tests/unistdio/test-ulc-asnprintf1.c: New file.
46656         * tests/unistdio/test-ulc-asnprintf1.h: New file.
46657         * tests/unistdio/test-ulc-printf1.h: New file.
46658         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
46659         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
46660         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
46661         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
46662         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
46663         * tests/unistdio/test-ulc-vasprintf1.c: New file.
46664         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
46665         * tests/unistdio/test-ulc-vsprintf1.c: New file.
46666         * tests/unistdio/test-u8-asnprintf1.c: New file.
46667         * tests/unistdio/test-u8-asnprintf1.h: New file.
46668         * tests/unistdio/test-u8-printf1.h: New file.
46669         * tests/unistdio/test-u8-vasnprintf1.c: New file.
46670         * tests/unistdio/test-u8-vasnprintf2.c: New file.
46671         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
46672         * tests/unistdio/test-u8-vasnprintf3.c: New file.
46673         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
46674         * tests/unistdio/test-u8-vasprintf1.c: New file.
46675         * tests/unistdio/test-u8-vsnprintf1.c: New file.
46676         * tests/unistdio/test-u8-vsprintf1.c: New file.
46677         * tests/unistdio/test-u16-asnprintf1.c: New file.
46678         * tests/unistdio/test-u16-asnprintf1.h: New file.
46679         * tests/unistdio/test-u16-printf1.h: New file.
46680         * tests/unistdio/test-u16-vasnprintf1.c: New file.
46681         * tests/unistdio/test-u16-vasnprintf2.c: New file.
46682         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
46683         * tests/unistdio/test-u16-vasnprintf3.c: New file.
46684         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
46685         * tests/unistdio/test-u16-vasprintf1.c: New file.
46686         * tests/unistdio/test-u16-vsnprintf1.c: New file.
46687         * tests/unistdio/test-u16-vsprintf1.c: New file.
46688         * tests/unistdio/test-u32-asnprintf1.c: New file.
46689         * tests/unistdio/test-u32-asnprintf1.h: New file.
46690         * tests/unistdio/test-u32-printf1.h: New file.
46691         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46692         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46693         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46694         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46695         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46696         * tests/unistdio/test-u32-vasprintf1.c: New file.
46697         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46698         * tests/unistdio/test-u32-vsprintf1.c: New file.
46699         * modules/unistdio/base: New file.
46700         * modules/unistdio/u-printf-args: New file.
46701         * modules/unistdio/ulc-asnprintf: New file.
46702         * modules/unistdio/ulc-asprintf: New file.
46703         * modules/unistdio/ulc-fprintf: New file.
46704         * modules/unistdio/ulc-printf-parse: New file.
46705         * modules/unistdio/ulc-snprintf: New file.
46706         * modules/unistdio/ulc-sprintf: New file.
46707         * modules/unistdio/ulc-vasnprintf: New file.
46708         * modules/unistdio/ulc-vasprintf: New file.
46709         * modules/unistdio/ulc-vfprintf: New file.
46710         * modules/unistdio/ulc-vsnprintf: New file.
46711         * modules/unistdio/ulc-vsprintf: New file.
46712         * modules/unistdio/u8-asnprintf: New file.
46713         * modules/unistdio/u8-asprintf: New file.
46714         * modules/unistdio/u8-printf-parse: New file.
46715         * modules/unistdio/u8-snprintf: New file.
46716         * modules/unistdio/u8-sprintf: New file.
46717         * modules/unistdio/u8-vasnprintf: New file.
46718         * modules/unistdio/u8-vasprintf: New file.
46719         * modules/unistdio/u8-vsnprintf: New file.
46720         * modules/unistdio/u8-vsprintf: New file.
46721         * modules/unistdio/u8-u8-asnprintf: New file.
46722         * modules/unistdio/u8-u8-asprintf: New file.
46723         * modules/unistdio/u8-u8-snprintf: New file.
46724         * modules/unistdio/u8-u8-sprintf: New file.
46725         * modules/unistdio/u8-u8-vasnprintf: New file.
46726         * modules/unistdio/u8-u8-vasprintf: New file.
46727         * modules/unistdio/u8-u8-vsnprintf: New file.
46728         * modules/unistdio/u8-u8-vsprintf: New file.
46729         * modules/unistdio/u16-asnprintf: New file.
46730         * modules/unistdio/u16-asprintf: New file.
46731         * modules/unistdio/u16-printf-parse: New file.
46732         * modules/unistdio/u16-snprintf: New file.
46733         * modules/unistdio/u16-sprintf: New file.
46734         * modules/unistdio/u16-vasnprintf: New file.
46735         * modules/unistdio/u16-vasprintf: New file.
46736         * modules/unistdio/u16-vsnprintf: New file.
46737         * modules/unistdio/u16-vsprintf: New file.
46738         * modules/unistdio/u16-u16-asnprintf: New file.
46739         * modules/unistdio/u16-u16-asprintf: New file.
46740         * modules/unistdio/u16-u16-snprintf: New file.
46741         * modules/unistdio/u16-u16-sprintf: New file.
46742         * modules/unistdio/u16-u16-vasnprintf: New file.
46743         * modules/unistdio/u16-u16-vasprintf: New file.
46744         * modules/unistdio/u16-u16-vsnprintf: New file.
46745         * modules/unistdio/u16-u16-vsprintf: New file.
46746         * modules/unistdio/u32-asnprintf: New file.
46747         * modules/unistdio/u32-asprintf: New file.
46748         * modules/unistdio/u32-printf-parse: New file.
46749         * modules/unistdio/u32-snprintf: New file.
46750         * modules/unistdio/u32-sprintf: New file.
46751         * modules/unistdio/u32-vasnprintf: New file.
46752         * modules/unistdio/u32-vasprintf: New file.
46753         * modules/unistdio/u32-vsnprintf: New file.
46754         * modules/unistdio/u32-vsprintf: New file.
46755         * modules/unistdio/u32-u32-asnprintf: New file.
46756         * modules/unistdio/u32-u32-asprintf: New file.
46757         * modules/unistdio/u32-u32-snprintf: New file.
46758         * modules/unistdio/u32-u32-sprintf: New file.
46759         * modules/unistdio/u32-u32-vasnprintf: New file.
46760         * modules/unistdio/u32-u32-vasprintf: New file.
46761         * modules/unistdio/u32-u32-vsnprintf: New file.
46762         * modules/unistdio/u32-u32-vsprintf: New file.
46763         * modules/unistdio/ulc-asnprintf-tests: New file.
46764         * modules/unistdio/ulc-vasnprintf-tests: New file.
46765         * modules/unistdio/ulc-vasprintf-tests: New file.
46766         * modules/unistdio/ulc-vsnprintf-tests: New file.
46767         * modules/unistdio/ulc-vsprintf-tests: New file.
46768         * modules/unistdio/u8-asnprintf-tests: New file.
46769         * modules/unistdio/u8-vasnprintf-tests: New file.
46770         * modules/unistdio/u8-vasprintf-tests: New file.
46771         * modules/unistdio/u8-vsnprintf-tests: New file.
46772         * modules/unistdio/u8-vsprintf-tests: New file.
46773         * modules/unistdio/u16-asnprintf-tests: New file.
46774         * modules/unistdio/u16-vasnprintf-tests: New file.
46775         * modules/unistdio/u16-vasprintf-tests: New file.
46776         * modules/unistdio/u16-vsnprintf-tests: New file.
46777         * modules/unistdio/u16-vsprintf-tests: New file.
46778         * modules/unistdio/u32-asnprintf-tests: New file.
46779         * modules/unistdio/u32-vasnprintf-tests: New file.
46780         * modules/unistdio/u32-vasprintf-tests: New file.
46781         * modules/unistdio/u32-vsnprintf-tests: New file.
46782         * modules/unistdio/u32-vsprintf-tests: New file.
46783         * MODULES.html.sh (Unicode string functions): Add the new modules.
46784
46785 2007-07-01  Bruno Haible  <bruno@clisp.org>
46786
46787         * lib/sprintf.c (sprintf): Limit the available length estimation,
46788         to avoid address wraparound.
46789         * lib/vsprintf.c (vsprintf): Likewise.
46790         * modules/sprintf-posix (Dependencies): Add stdint.
46791         * modules/vsprintf-posix (Dependencies): Likewise.
46792
46793 2007-07-01  Bruno Haible  <bruno@clisp.org>
46794
46795         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46796         Windows PATH as well. Conservative double-quoting. Comments.
46797
46798 2007-07-01  Bruno Haible  <bruno@clisp.org>
46799             Eric Blake  <ebb9@byu.net>
46800             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46801
46802         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46803         empty components in $PATH, denoting '.'.
46804
46805 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46806
46807         * gnulib-tool: Fix indentation.
46808         (func_create_megatestdir): Likewise.
46809         Report by Bruno Haible.
46810
46811 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46812
46813         Sync from Automake.
46814         * build-aux/gnupload: Fix shell portability issues with for loops.
46815         Report by Karl Berry.
46816
46817 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46818
46819         * build-aux/maint.mk (POURL): Use translationproject.org.
46820
46821 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46822             Bruno Haible  <bruno@clisp.org>
46823
46824         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46825         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46826         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46827         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46828         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46829
46830 2007-06-27  Bruno Haible  <bruno@clisp.org>
46831
46832         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46833         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46834
46835 2007-06-26  Karl Berry  <karl@gnu.org>
46836
46837         * MODULES.html.sh: remove xreadlink-with-size.
46838
46839 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46840
46841         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46842         method that I hope also handles the double-include problem noted
46843         by Bruno Haible in
46844         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46845
46846 2007-06-23  Bruno Haible  <bruno@clisp.org>
46847
46848         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46849         Don't let the 'mostlyclean' target fail if the last subdirectory could
46850         not be removed.
46851         Reported by Karl Berry.
46852
46853 2007-06-23  Bruno Haible  <bruno@clisp.org>
46854
46855         * gnulib-tool (echo): Add a speedier workaround for ksh.
46856         * tests/test-echo.sh: Likewise.
46857
46858 2007-06-23  Bruno Haible  <bruno@clisp.org>
46859
46860         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46861         * tests/test-echo.sh: Likewise.
46862
46863 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46864
46865         * gnulib-tool (IFS): Initialize early, so we don't set it to
46866         empty later.
46867         (self_abspathname): Rewrite algorithm to set it, reindent.
46868         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46869         (func_create_megatestdir): Merge some sed scripts.
46870
46871 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46872
46873         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46874         exposed by Sun Studio 11 cc on Solaris 8.
46875
46876 2007-06-22  Bruno Haible  <bruno@clisp.org>
46877
46878         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46879         backslashes.
46880         * tests/test-echo.sh: New file.
46881
46882 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46883
46884         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46885         simplify `sed_replace_build_aux' scripts, they are portable but
46886         echoing them with `echo' is not.
46887         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46888
46889 2007-06-21  Karl Berry  <karl@gnu.org>
46890
46891         * config/srclist.txt: guess we can't handle the licenses via
46892         srclist at the moment.
46893
46894 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46895
46896         * MODULES.html.sh: Add include_next.
46897         * modules/include_next: New file.
46898
46899 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46900
46901         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46902         INCLUDE_NEXT.
46903         (gl_CHECK_NEXT_HEADERS): New macro.
46904         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46905         the obsolescent gl_ABSOLUTE_HEADER.
46906         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46907         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46908         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46909         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46910         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46911         * m4/math_h.m4 (gl_MATH_H): Likewise.
46912         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46913         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46914         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46915         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46916         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46917         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46918         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46919         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46920         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46921         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46922         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46923         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46924         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46925         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46926         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46927         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46928         * m4/inttypes.m4 (gl_INTTYPES_H): Define
46929         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
46930         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
46931         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
46932         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
46933         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
46934         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
46935         * lib/float_.h: Likewise.
46936         * lib/inttypes_.h: Likewise.
46937         * lib/math_.h: Likewise.
46938         * lib/search_.h: Likewise.
46939         * lib/signal_.h: Likewise.
46940         * lib/stdint_.h: Likewise.
46941         * lib/stdio_.h: Likewise.
46942         * lib/stdlib_.h: Likewise.
46943         * lib/string_.h: Likewise.
46944         * lib/sys_stat_.h: Likewise.
46945         * lib/sys_time_.h: Likewise.
46946         * lib/time_.h: Likewise.
46947         * lib/unistd_.h: Likewise.
46948         * lib/wchar_.h: Likewise.
46949         * lib/wctype_.h: Likewise.
46950         * lib/dirent_.h: Likewise.
46951         * lib/iconv_.h: Likewise.
46952         * lib/locale_.h: Likewise.
46953         * lib/netinet_in_.h: Likewise.
46954         * lib/sys_select_.h: Likewise.
46955         * lib/sys_socket_.h: Likewise.
46956         * lib/sysexits_.h: Likewise.
46957         * modules/fcntl (Depends-on): Depend on include_next, not
46958         absolute_header.
46959         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
46960         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
46961         * modules/fchdir: Likewise.
46962         * modules/float: Likewise.
46963         * modules/iconv_open: Likewise.
46964         * modules/inttypes: Likewise.
46965         * modules/locale: Likewise.
46966         * modules/math: Likewise.
46967         * modules/netinet_in: Likewise.
46968         * modules/search: Likewise.
46969         * modules/signal: Likewise.
46970         * modules/stdint: Likewise.
46971         * modules/stdio: Likewise.
46972         * modules/stdlib: Likewise.
46973         * modules/string: Likewise.
46974         * modules/sys_select: Likewise.
46975         * modules/sys_socket: Likewise.
46976         * modules/sys_stat: Likewise.
46977         * modules/sys_time: Likewise.
46978         * modules/sysexits: Likewise.
46979         * modules/time: Likewise.
46980         * modules/unistd: Likewise.
46981         * modules/wchar: Likewise.
46982         * modules/wctype: Likewise.
46983         * modules/sys_stat: Change maintainer to "all".
46984         * modules/unistd: Likewise.
46985
46986 2007-06-20  Karl Berry  <karl@gnu.org>
46987
46988         * config/srclist.txt: track www changes in license files.
46989
46990 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
46991
46992         * build-aux/bootstrap: Remove stray dot.
46993         Make sure build_aux settings are honored when linking
46994         gnulib_extra_files.
46995
46996 2007-06-19  Eric Blake  <ebb9@byu.net>
46997
46998         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46999         Allow compilation on cygwin.
47000
47001 2007-06-19  Jim Meyering  <jim@meyering.net>
47002
47003         xreadlink-with-size: Remove module.  No longer used.
47004         Ex-callers now use xreadlink or mreadlink-with-size.
47005         * modules/xreadlink-with-size: Remove module.
47006         * lib/xreadlink-with-size.c: Remove file.
47007         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
47008         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
47009         just before the function definition *is* accurate.
47010
47011         Eliminate one way canonicalize_filename_mode could exit.
47012         * lib/canonicalize.c (canonicalize_filename_mode):
47013         Use mreadlink_with_size, not xreadlink_with_size.
47014
47015 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
47016
47017         Detect porting problems to FreeBSD/arm, which has time_t wider than
47018         long int.  Original problem reported for GNU diff by Xin Li in
47019         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
47020         * modules/getdate (Depends-on): Add intprops, verify.
47021         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
47022         is an integer type no wider than long int.
47023
47024 2007-06-18  Jim Meyering  <jim@meyering.net>
47025
47026         New module: mreadlink-with-size.
47027         * MODULES.html.sh: Add mreadlink-with-size.
47028         * modules/mreadlink-with-size: New module
47029         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
47030         not xreadlink-with-size.
47031         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
47032
47033 2007-06-16  Bruno Haible  <bruno@clisp.org>
47034
47035         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
47036         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
47037         Reported by Gary V. Vaughan <gary@gnu.org>.
47038
47039 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
47040
47041         Revamp lchown so that it lives in unistd.h where it belongs.
47042         * lib/lchown.h: Remove.
47043         * lib/dirchownmod.c: Don't include lib/lchown.h.
47044         * lib/fchownat.c: Likewise.
47045         * lib/openat.c: Likewise.
47046         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
47047         does not follow symlinks.
47048         (EOPNOTSUPP): Define if not defined.
47049         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
47050         is defined to 0.
47051         (lchown): New decl.
47052         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
47053         Do not check for lchown decl.
47054         Set REPLACE_LCHOWN.
47055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
47056         REPLACE_LCHOWN.
47057         * modules/chown: Make it clear it follows symlinks.
47058         * modules/lchown: Make it clear it doesn't follow symlinks.
47059         (Files): Remove lib/lchown.h
47060         (Depends-on): Add unistd.
47061         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
47062         (Include): Include <unistd.h>, not "lchown.h".
47063         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
47064         REPLACE_LCHOWN.
47065
47066 2007-06-15  Jim Meyering  <jim@meyering.net>
47067
47068         Change license (GPL to LGPL) of fsusage and dependents.
47069         * modules/fsusage (License): Change to LGPL.
47070         * modules/full-read (License): Likewise.
47071         * modules/full-write (License): Likewise.
47072         * modules/safe-read (License): Likewise.
47073         * modules/safe-write (License): Likewise.
47074
47075 2007-06-14  Ben Pfaff  <blp@gnu.org>
47076
47077         Missing part of allocsa -> malloca transition.
47078         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
47079         gl_MALLOCA.
47080
47081 2007-06-12  Bruno Haible  <bruno@clisp.org>
47082
47083         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
47084         to ia64, x86_64, i386.
47085         Reported by Eric Blake.
47086
47087 2007-06-12  Bruno Haible  <bruno@clisp.org>
47088
47089         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
47090         cross-compiling to x86_64.
47091
47092 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
47093
47094         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
47095         glitch reported by Ralf Wildenhues in
47096         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
47097
47098         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
47099         Vin Shelton.
47100
47101 2007-06-11  Bruno Haible  <bruno@clisp.org>
47102
47103         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
47104         replacement string.
47105         Reported by Eric Blake.
47106
47107 2007-06-10  Bruno Haible  <bruno@clisp.org>
47108
47109         Prepare vasnprintf code for use with Unicode strings.
47110         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
47111         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
47112         TYPE_U32_STRING.
47113         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
47114         a_u32_string variants.
47115         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47116         * lib/printf-args.c: Don't include config.h and the specification
47117         header if PRINTF_FETCHARGS is already defined.
47118         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47119         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
47120         TYPE_U16_STRING, TYPE_U32_STRING.
47121         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
47122         u16_directive, u16_directives, u32_directive, u32_directives): New
47123         types.
47124         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
47125         New declarations.
47126         * lib/printf-parse.c: Don't include config.h and the specification
47127         header if PRINTF_PARSE is already defined. Eliminate the set of
47128         parameters for WIDE_CHAR_VERSION; the user of this file must provide
47129         them now. Include c-ctype.h.
47130         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
47131         directive and CHAR_T_ONLY_ASCII.
47132         * lib/vasnprintf.c: Don't include config.h and the specification header
47133         if VASNPRINTF is already defined.
47134         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
47135         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
47136         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
47137         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
47138         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
47139         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
47140         code accordingly.
47141         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
47142         pad_ourselves also in this case, with the 'c' and 's' directives, and
47143         with a different notion of "width".
47144         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
47145
47146 2007-06-10  Bruno Haible  <bruno@clisp.org>
47147
47148         * modules/unistr/u32-mbsnlen: New file.
47149         * lib/unistr/u32-mbsnlen.c: New file.
47150
47151         * modules/unistr/u16-mbsnlen: New file.
47152         * lib/unistr/u16-mbsnlen.c: New file.
47153
47154         * modules/unistr/u8-mbsnlen: New file.
47155         * lib/unistr/u8-mbsnlen.c: New file.
47156
47157         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
47158         declarations.
47159
47160 2007-06-10  Bruno Haible  <bruno@clisp.org>
47161
47162         * lib/string_.h (mbsnlen): New declaration.
47163         * lib/mbsnlen.c: New file.
47164         * m4/mbsnlen.m4: New file.
47165         * modules/mbsnlen: New file.
47166         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
47167         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
47168         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
47169
47170 2007-06-10  Bruno Haible  <bruno@clisp.org>
47171
47172         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
47173
47174 2007-06-10  Bruno Haible  <bruno@clisp.org>
47175
47176         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
47177         * lib/mbuiter.h: Likewise.
47178
47179 2007-06-10  Bruno Haible  <bruno@clisp.org>
47180
47181         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
47182         declaration.
47183
47184 2007-06-10  Karl Berry  <karl@gnu.org>
47185
47186         * config/srclist.txt: remove gettext entries, Bruno prefers
47187         to update individually.
47188
47189 2007-06-10  Bruno Haible  <bruno@clisp.org>
47190
47191         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
47192         'maxlen'. Ensure only length + width bytes are allocated, not
47193         length + 1 + width.
47194
47195 2007-06-09  Bruno Haible  <bruno@clisp.org>
47196
47197         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
47198         (CHAR_T): Remove macro.
47199         (VASNPRINTF): Update.
47200
47201 2007-06-09  Bruno Haible  <bruno@clisp.org>
47202
47203         * MODULES.html.sh (Unicode string functions): Add the new modules.
47204
47205         * modules/uniconv/u32-conv-to-enc: New file.
47206         * lib/uniconv/u32-conv-to-enc.c: New file.
47207         * modules/uniconv/u32-conv-to-enc-tests: New file.
47208         * tests/uniconv/test-u32-conv-to-enc.c: New file.
47209
47210         * modules/uniconv/u16-conv-to-enc: New file.
47211         * lib/uniconv/u16-conv-to-enc.c: New file.
47212         * lib/uniconv/u-conv-to-enc.h: New file.
47213         * modules/uniconv/u16-conv-to-enc-tests: New file.
47214         * tests/uniconv/test-u16-conv-to-enc.c: New file.
47215
47216         * modules/uniconv/u8-conv-to-enc: New file.
47217         * lib/uniconv/u8-conv-to-enc.c: New file.
47218         * modules/uniconv/u8-conv-to-enc-tests: New file.
47219         * tests/uniconv/test-u8-conv-to-enc.c: New file.
47220
47221         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47222         u32_conv_to_encoding): New declarations.
47223
47224 2007-06-09  Bruno Haible  <bruno@clisp.org>
47225
47226         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
47227
47228 2007-06-09  Bruno Haible  <bruno@clisp.org>
47229
47230         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
47231         * modules/malloca: Renamed from modules/allocsa, updated.
47232         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
47233         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
47234         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
47235         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
47236         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
47237         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
47238         * modules/xmalloca: Renamed from modules/xallocsa, updated.
47239         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
47240         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
47241         * modules/c-strcasestr (Depends-on): Update.
47242         * lib/c-strcasestr.c: Update.
47243         * modules/c-strstr (Depends-on): Update.
47244         * lib/c-strstr.c: Update.
47245         * modules/canonicalize-lgpl (Depends-on): Update.
47246         * lib/canonicalize-lgpl.c: Update.
47247         * modules/clean-temp (Depends-on): Update.
47248         * lib/clean-temp.c: Update.
47249         * modules/csharpcomp (Depends-on): Update.
47250         * lib/csharpcomp.c: Update.
47251         * modules/csharpexec (Depends-on): Update.
47252         * lib/csharpexec.c: Update.
47253         * modules/javacomp (Depends-on): Update.
47254         * lib/javacomp.c: Update.
47255         * modules/javaexec (Depends-on): Update.
47256         * lib/javaexec.c: Update.
47257         * modules/mbscasestr (Depends-on): Update.
47258         * lib/mbscasestr.c: Update.
47259         * modules/mbsstr (Depends-on): Update.
47260         * lib/mbsstr.c: Update.
47261         * modules/setenv (Depends-on): Update.
47262         * lib/setenv.c: Update.
47263         * modules/strcasestr (Depends-on): Update.
47264         * lib/strcasestr.c: Update.
47265         * modules/striconveha (Depends-on): Update.
47266         * lib/striconveha.c: Update.
47267         * modules/relocatable-prog-wrapper (Files): Update.
47268         * lib/relocwrapper.c: Update.
47269         * build-aux/install-reloc: Update.
47270         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
47271
47272 2007-06-08  Bruno Haible  <bruno@clisp.org>
47273
47274         Port to uClibc.
47275         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
47276         * lib/fpurge.c (fpurge): Likewise.
47277         * lib/freading.c (freading): Likewise.
47278         * lib/fseeko.c (rpl_fseeko): Likewise.
47279         * lib/fseterr.c (fseterr): Likewise.
47280         * lib/fwriting.c (fwriting): Likewise.
47281         * tests/test-fflush.c (main): Avoid a failure on uClibc.
47282
47283 2007-06-08  Bruno Haible  <bruno@clisp.org>
47284
47285         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
47286         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
47287         * modules/gettext (Files): Add m4/intlmacosx.m4.
47288
47289 2007-06-07  Bruno Haible  <bruno@clisp.org>
47290
47291         * modules/localename-tests: New file.
47292         * tests/test-localename.c: New file.
47293
47294         New module 'localename'.
47295         * lib/localename.h: New file.
47296         * lib/localename.c: New file, from GNU gettext.
47297         * m4/localename.m4: New file.
47298         * modules/localename: New file.
47299
47300 2007-06-07  Bruno Haible  <bruno@clisp.org>
47301
47302         Work around the lack of <wchar.h> on some builds of uClibc.
47303         * doc/headers/wchar.texi: Update.
47304         * lib/wchar_.h: Include <wchar.h> only if it exists.
47305         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
47306         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
47307         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
47308         doesn't exist.
47309         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
47310         * modules/mbfile (Depends-on): Add wchar.
47311         * modules/mbiter (Depends-on): Likewise.
47312         * modules/mbuiter (Depends-on): Likewise.
47313         Reported by Simon Josefsson.
47314
47315 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47316
47317         Work around problem reported by Steven M. Schweda in
47318         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
47319         Tru64 5.1B with the Compaq compiler environment installed declares
47320         an 'isblank' function but does not define it in the C library.
47321         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
47322         * lib/regex_internal.h (isblank): Likewise.
47323         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
47324         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47325
47326 2007-06-05  Bruno Haible  <bruno@clisp.org>
47327
47328         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
47329         ia64.
47330         * modules/printf-safe: New file.
47331         * modules/fprintf-posix (Depends-on): Add printf-safe.
47332         * modules/printf-posix (Depends-on): Likewise.
47333         * modules/snprintf-posix (Depends-on): Likewise.
47334         * modules/sprintf-posix (Depends-on): Likewise.
47335         * modules/vasnprintf-posix (Depends-on): Likewise.
47336         * modules/vasprintf-posix (Depends-on): Likewise.
47337         * modules/vfprintf-posix (Depends-on): Likewise.
47338         * modules/vprintf-posix (Depends-on): Likewise.
47339         * modules/vsnprintf-posix (Depends-on): Likewise.
47340         * modules/vsprintf-posix (Depends-on): Likewise.
47341         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47342         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
47343         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
47344         "no" on i386, x86_64, ia64.
47345         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
47346         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47347         on i386, x86_64, ia64.
47348         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
47349         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47350         on i386, x86_64, ia64.
47351         * tests/test-vasnprintf-posix.c: Include float.h.
47352         (LDBL80_WORDS): New macro.
47353         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47354         on i386, x86_64, ia64.
47355         * tests/test-vasprintf-posix.c: Include float.h.
47356         (LDBL80_WORDS): New macro.
47357         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47358         on i386, x86_64, ia64.
47359         * tests/test-snprintf-posix.c: Include float.h.
47360         * tests/test-sprintf-posix.c: Likewise.
47361         * tests/test-vsnprintf-posix.c: Likewise.
47362         * tests/test-vsprintf-posix.c: Likewise.
47363
47364 2007-06-05  Bruno Haible  <bruno@clisp.org>
47365
47366         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
47367         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
47368         non-IEEE numbers on i386, x86_64, ia64.
47369         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
47370         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
47371         * tests/test-isnanl.h: Include float.h.
47372         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
47373
47374 2007-06-05  Bruno Haible  <bruno@clisp.org>
47375
47376         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
47377         also the %a / %A. Handle the %a / %A code before this extra handling.
47378
47379 2007-06-05  Bruno Haible  <bruno@clisp.org>
47380
47381         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
47382         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
47383
47384 2007-06-05  Bruno Haible  <bruno@clisp.org>
47385
47386         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
47387         typo in variable name.
47388
47389 2007-06-05  Eric Blake  <ebb9@byu.net>
47390
47391         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
47392         Reported by Simon Josefsson.
47393
47394 2007-06-04  Bruno Haible  <bruno@clisp.org>
47395
47396         Avoid test failures on some PowerPC platforms.
47397         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
47398         Define differently for PowerPC.
47399         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
47400         Reported by Gary V. Vaughan <gary@gnu.org>.
47401
47402 2007-06-02  Bruno Haible  <bruno@clisp.org>
47403
47404         Fix test-stdint failure on FreeBSD/ia64.
47405         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
47406         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
47407         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
47408         * doc/headers/stdint.texi: Update.
47409
47410 2007-06-01  Bruno Haible  <bruno@clisp.org>
47411
47412         * tests/test-binary-io.c (main): Pass a third argument to open().
47413         Reported by Gary V. Vaughan <gary@gnu.org>.
47414
47415 2007-06-01  Bruno Haible  <bruno@clisp.org>
47416
47417         * doc/functions/frexpl.texi: Update for mingw.
47418
47419 2007-06-01  Bruno Haible  <bruno@clisp.org>
47420
47421         * tests/test-lseek.c (main): Disable test of errno for invalid third
47422         argument.
47423         * doc/functions/lseek.texi: Update.
47424         Reported by Gary V. Vaughan <gary@gnu.org>.
47425
47426 2007-05-28  Bruno Haible  <bruno@clisp.org>
47427
47428         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
47429
47430 2007-05-31  Eric Blake  <ebb9@byu.net>
47431
47432         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
47433         cross compiling.
47434
47435 2007-05-30  Eric Blake  <ebb9@byu.net>
47436         and Bruno Haible  <bruno@clisp.org>
47437
47438         Work around mingw test failures exposed by m4-1.4.9b.
47439         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
47440         * tests/test-unistd.c: Disable uid_t and git_t tests for the
47441         moment.
47442
47443 2007-05-30  Bruno Haible  <bruno@clisp.org>
47444
47445         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
47446         assuming that they are closed. Needed on HP-UX 11.
47447
47448 2007-05-29  Bruno Haible  <bruno@clisp.org>
47449
47450         Fix a problem with #include_next.
47451         * lib/dirent_.h: Split the double-inclusion guard.
47452         * lib/fcntl_.h: Likewise.
47453         * lib/float_.h: Likewise.
47454         * lib/iconv_.h: Likewise.
47455         * lib/inttypes_.h: Likewise.
47456         * lib/locale_.h: Likewise.
47457         * lib/math_.h: Likewise.
47458         * lib/netinet_in_.h: Likewise.
47459         * lib/search_.h: Likewise.
47460         * lib/signal_.h: Likewise.
47461         * lib/stdint_.h: Likewise.
47462         * lib/stdio_.h: Likewise.
47463         * lib/stdlib_.h: Likewise.
47464         * lib/string_.h: Likewise.
47465         * lib/sys_select_.h: Likewise.
47466         * lib/sys_socket_.h: Likewise.
47467         * lib/sys_stat_.h: Likewise.
47468         * lib/sys_time_.h: Likewise.
47469         * lib/sysexits_.h: Likewise.
47470         * lib/time_.h: Likewise.
47471         * lib/unistd_.h: Likewise.
47472         * lib/wchar_.h: Likewise.
47473         * lib/wctype_.h: Likewise.
47474
47475 2007-05-29  Bruno Haible  <bruno@clisp.org>
47476
47477         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
47478         for the moment.
47479
47480 2007-05-29  Bruno Haible  <bruno@clisp.org>
47481
47482         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
47483         invocation.
47484         Reported by Eric Blake.
47485
47486 2007-05-29  Bruno Haible  <bruno@clisp.org>
47487
47488         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
47489         compiling case.
47490
47491 2007-05-29  Eric Blake  <ebb9@byu.net>
47492             Bruno Haible  <bruno@clisp.org>
47493
47494         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
47495         cross compiles.
47496
47497 2007-05-28  Eric Blake  <ebb9@byu.net>
47498
47499         * modules/closein-tests (test_closein_LDADD): Support test on
47500         cygwin with libtool.
47501
47502 2007-05-28  Bruno Haible  <bruno@clisp.org>
47503
47504         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
47505         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47506         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47507         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47508         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47509         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47510         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47511         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47512         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47513
47514 2007-05-28  Eric Blake  <ebb9@byu.net>
47515
47516         Unconditionally include <config.h> in unit tests.
47517         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
47518         * tests/test-allocsa.c, tests/test-arcfour.c,
47519         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
47520         tests/test-array_list.c, tests/test-array_oset.c,
47521         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
47522         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
47523         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
47524         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
47525         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
47526         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
47527         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
47528         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
47529         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
47530         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
47531         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
47532         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
47533         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
47534         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
47535         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
47536         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
47537         test-md5.c, test-memmem.c, test-printf-posix.c,
47538         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
47539         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
47540         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
47541         test-strcasestr.c, test-striconv.c, test-striconveh.c,
47542         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
47543         test-vasnprintf-posix2.c, test-vasnprintf.c,
47544         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
47545         test-vfprintf-posix.c, test-vprintf-posix.c,
47546         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
47547         test-xvasprintf.c: Likewise.
47548
47549 2007-05-28  Bruno Haible  <bruno@clisp.org>
47550
47551         * gnulib-tool (func_import): Remember the --with-tests command-line
47552         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
47553         Reported by Eric Blake.
47554
47555 2007-05-28  Bruno Haible  <bruno@clisp.org>
47556
47557         * modules/ftell-tests: New file.
47558         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
47559         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
47560
47561         * lib/ftell.c: New file.
47562         * modules/ftell: New file.
47563         * m4/ftell.m4: New file.
47564         * doc/functions/ftell.texi: Update.
47565         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
47566         REPLACE_FTELL.
47567         * lib/stdio_.h (rpl_ftell): New declaration.
47568         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
47569         REPLACE_FTELL.
47570
47571 2007-05-28  Eric Blake  <ebb9@byu.net>
47572
47573         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
47574
47575 2007-05-28  Bruno Haible  <bruno@clisp.org>
47576
47577         * modules/fseek-tests: New file.
47578         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
47579         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
47580
47581         * lib/fseek.c: New file.
47582         * modules/fseek: New file.
47583         * m4/fseek.m4: New file.
47584         * doc/functions/fseek.texi: Update.
47585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
47586         REPLACE_FSEEK.
47587         * lib/stdio_.h (rpl_fseek): New declaration.
47588         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
47589         REPLACE_FSEEK.
47590
47591 2007-05-28  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/stdio_.h (fflush): More comments.
47594
47595 2007-05-28  Bruno Haible  <bruno@clisp.org>
47596
47597         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
47598         runtime test.
47599
47600 2007-05-28  Eric Blake  <ebb9@byu.net>
47601
47602         Improve lseek module.
47603         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
47604         * lib/unistd_.h (lseek): Scale back link warning message.
47605         * tests/test-lseek.c: Beef up test.
47606         * tests/test-lseek.sh: Exercise more facets of lseek.
47607         Reported by Bruno Haible.
47608
47609 2007-05-28  Bruno Haible  <bruno@clisp.org>
47610
47611         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
47612         to define.
47613
47614 2007-05-27  Bruno Haible  <bruno@clisp.org>
47615
47616         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
47617
47618 2007-05-27  Bruno Haible  <bruno@clisp.org>
47619
47620         * modules/openmp: New file.
47621         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
47622         Noah Misch.
47623
47624 2007-05-26  Bruno Haible  <bruno@clisp.org>
47625
47626         * modules/chdir-long (Depends-on): Add fchdir.
47627         * modules/chdir-safer (Depends-on): Likewise.
47628         * modules/fts (Depends-on): Likewise.
47629         * modules/fts-lgpl (Depends-on): Likewise.
47630         * modules/openat (Depends-on): Likewise.
47631         * modules/savewd (Depends-on): Likewise.
47632
47633 2007-05-24  Eric Blake  <ebb9@byu.net>
47634
47635         Fix lseek on mingw.
47636         * modules/lseek: New module.
47637         * m4/lseek.m4: New file.
47638         * lib/lseek.c: New file.
47639         * modules/lseek-tests: New file.
47640         * tests/test-lseek.c: New file.
47641         * tests/test-lseek.sh: New file.
47642         * MODULES.html.sh: Document lseek module.
47643         * modules/fflush (Depends-on): Add lseek, fseeko.
47644         * modules/fseeko (Depends-on): Likewise.
47645         * modules/ftello (Depends-on): Likewise.
47646         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
47647         broken.
47648         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
47649         broken.
47650         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
47651         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
47652         * lib/ftello.c (rpl_ftello): Likewise.
47653         * tests/test-fseeko.c (main): Test this.
47654         * tests/test-fseeko.sh: Likewise.
47655         * tests/test-ftello.c (main): Likewise.
47656         * tests/test-ftello.sh: Likewise.
47657         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
47658         implies replacing fseek.
47659         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
47660         HAVE_FTELLO.
47661         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
47662         * modules/unistd (Makefile.am): Likewise.
47663         * lib/unistd_.h (lseek): Declare a replacement.
47664         * doc/functions/lseek.texi (lseek): Document this fix.
47665         * doc/functions/fseek.texi (fseek): Likewise.
47666         * doc/functions/ftell.texi (ftell): Likewise.
47667
47668 2007-05-24  Bruno Haible  <bruno@clisp.org>
47669
47670         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
47671         in the printed representation of a NaN.
47672         * tests/test-vasprintf-posix.c (test_function): Likewise.
47673         * tests/test-snprintf-posix.h (test_function): Likewise.
47674         * tests/test-sprintf-posix.h (test_function): Likewise.
47675         Reported by Eric Blake.
47676
47677 2007-05-23  Eric Blake  <ebb9@byu.net>
47678
47679         Fix fseeko/ftello on cygwin 1.5.24.
47680         * doc/functions/fseeko.texi (fseeko): Document the fix.
47681         * doc/functions/ftello.texi (ftello): Document the fix.
47682         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
47683         * doc/functions/stdout.text (stdout): New file.
47684         * doc/functions/stderr.text (stderr): New file.
47685         * doc/gnulib.texi (Function Substitutes): Use new files.
47686         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
47687         prior to 1.7.0.
47688         * tests/test-ftello.c (main): Likewise for ftello.
47689         * tests/test-fseeko.sh: New file.
47690         * tests/test-ftello.sh: New file.
47691         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47692         with seekable stdin.
47693         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47694         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47695         (gl_REPLACE_FSEEKO): New macro.
47696         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47697         * modules/fseeko (Files): Distribute fseeko.c.
47698         * modules/ftello (Files): Distribute ftello.c.
47699         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47700         mode.
47701         * lib/ftello.c (rpl_ftello): New file.
47702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47703         fseeko, ftello.
47704         (gl_STDIN_LARGE_OFFSET): New macro.
47705         * modules/stdio (Makefile.am): Perform the replacement.
47706         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47707
47708 2007-05-23  Bruno Haible  <bruno@clisp.org>
47709
47710         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47711         GNULIB_POSIXCHECK is defined.
47712
47713 2007-05-21  Bruno Haible  <bruno@clisp.org>
47714
47715         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47716         Check also the output for NaN arguments. When cross-compiling, guess
47717         no on IRIX.
47718         * lib/vasnprintf.c: Update comments.
47719         * tests/test-vasnprintf-posix.c (strisnan): New function.
47720         (test_function): Use it.
47721         * tests/test-vasprintf-posix.c (strisnan): New function.
47722         (test_function): Use it.
47723         * tests/test-snprintf-posix.h (strisnan): New function.
47724         (test_function): Use it.
47725         * tests/test-sprintf-posix.h (strisnan): New function.
47726         (test_function): Use it.
47727         Reported by Eric Blake.
47728
47729 2007-05-20  Bruno Haible  <bruno@clisp.org>
47730
47731         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47732         numbers that fails on BeOS.
47733         * doc/functions/frexpl.texi: Update.
47734
47735 2007-05-20  Jim Meyering  <jim@meyering.net>
47736
47737         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47738         forced upon us by glibc-2.6.
47739
47740 2007-05-20  Bruno Haible  <bruno@clisp.org>
47741
47742         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47743         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47744         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47745         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47746         NEED_PRINTF_INFINITE.
47747         (is_infinitel): New function.
47748         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47749         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47750         gl_PREREQ_VASNPRINTF_INFINITE.
47751         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47752         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47753         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47754         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47755         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47756         gl_PREREQ_VASNPRINTF_INFINITE.
47757         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47758         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47759         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47760         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47761         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47762         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47763         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47764         * doc/functions/fprintf.texi: Update.
47765         * doc/functions/printf.texi: Update.
47766         * doc/functions/snprintf.texi: Update.
47767         * doc/functions/sprintf.texi: Update.
47768         * doc/functions/vfprintf.texi: Update.
47769         * doc/functions/vprintf.texi: Update.
47770         * doc/functions/vsnprintf.texi: Update.
47771         * doc/functions/vsprintf.texi: Update.
47772
47773 2007-05-20  Bruno Haible  <bruno@clisp.org>
47774
47775         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47776         was not found in libc.
47777         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47778
47779 2007-05-20  Bruno Haible  <bruno@clisp.org>
47780
47781         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47782         printed as "-nan" instead of "nan".
47783         * tests/test-vasprintf-posix.c (test_function): Likewise.
47784         * tests/test-snprintf-posix.h (test_function): Likewise.
47785         * tests/test-sprintf-posix.h (test_function): Likewise.
47786         Needed for HP-UX 11.
47787
47788 2007-05-20  Jim Meyering  <jim@meyering.net>
47789
47790         Fix buggy test for the fchownat-deref bug.
47791         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47792         symlink required for the run-test.  Without it, this test would
47793         always declare that fchownat doesn't work, and client code would
47794         unnecessarily use the replacement function with fixed libc.
47795         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47796         Reported by Greg Schafer.
47797
47798 2007-05-19  Bruno Haible  <bruno@clisp.org>
47799
47800         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47801         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47802         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47803         Needed for IRIX 6.5 and Solaris 2.5.1.
47804
47805 2007-05-19  Bruno Haible  <bruno@clisp.org>
47806
47807         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47808         (test_function): Skip tests involving -0.0 on platforms where
47809         -0.0 = 0.0.
47810         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47811         (test_function): Skip tests involving -0.0 on platforms where
47812         -0.0 = 0.0.
47813         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47814         (test_function): Skip tests involving -0.0 on platforms where
47815         -0.0 = 0.0.
47816         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47817         (test_function): Skip tests involving -0.0 on platforms where
47818         -0.0 = 0.0.
47819         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47820         tests.
47821         * tests/test-printf-posix.h (test_function): Likewise.
47822         * tests/test-printf-posix.output: Remove all -0.0 related results.
47823         Needed for IRIX 6.5.
47824
47825 2007-05-19  Bruno Haible  <bruno@clisp.org>
47826
47827         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47828         printed as "nan0x7fffffff" instead of "nan".
47829         * tests/test-vasprintf-posix.c (test_function): Likewise.
47830         * tests/test-snprintf-posix.h (test_function): Likewise.
47831         * tests/test-sprintf-posix.h (test_function): Likewise.
47832         * tests/test-fprintf-posix.h (NaN): Remove macro.
47833         (test_function): Remove all NaN related tests.
47834         * tests/test-printf-posix.h (NaN): Remove macro.
47835         (test_function): Remove all NaN related tests.
47836         * tests/test-printf-posix.output: Remove all NaN related results.
47837         Needed for IRIX 6.5.
47838
47839 2007-05-19  Bruno Haible  <bruno@clisp.org>
47840
47841         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47842         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47843
47844 2007-05-19  Bruno Haible  <bruno@clisp.org>
47845
47846         * lib/float_.h: New file.
47847         * m4/float_h.m4: New file.
47848         * modules/float: New file.
47849         * modules/isnanl (Dependencies): Add float.
47850         * modules/isnanl-nolibm (Dependencies): Likewise.
47851         * modules/mathl (Dependencies): Likewise.
47852         * modules/printf-frexpl (Dependencies): Likewise.
47853         * modules/signbit (Dependencies): Likewise.
47854         * modules/vasnprintf (Dependencies): Likewise.
47855         * doc/headers/float.texi: Update.
47856
47857 2007-05-19  Jim Meyering  <jim@meyering.net>
47858
47859         * lib/utimens.c (gl_futimens): Rename from futimens,
47860         now that glibc-2.6 declares futimens.
47861         * lib/utimens.h: Likewise.
47862
47863 2007-05-19  Bruno Haible  <bruno@clisp.org>
47864
47865         Avoid test failures on mingw.
47866         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47867         * tests/test-printf-posix.sh: Likewise.
47868         * tests/test-vfprintf-posix.sh: Likewise.
47869         * tests/test-vprintf-posix.sh: Likewise.
47870
47871 2007-05-19  Bruno Haible  <bruno@clisp.org>
47872
47873         Fix *printf result for NaN, Inf, -0.0 on mingw.
47874         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47875         * lib/vasnprintf.c: Include math.h and isnan.h.
47876         (is_infinite_or_zero): New function.
47877         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47878         values in the %f, %F, %e, %E, %g, %G directives.
47879         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47880         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47881         gl_PRINTF_INFINITE and test its result. Invoke
47882         gl_PREREQ_VASNPRINTF_INFINITE.
47883         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47884         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47885         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47886         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47887         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47888         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47889         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47890         * doc/functions/fprintf.texi: Update.
47891         * doc/functions/printf.texi: Update.
47892         * doc/functions/snprintf.texi: Update.
47893         * doc/functions/sprintf.texi: Update.
47894         * doc/functions/vfprintf.texi: Update.
47895         * doc/functions/vprintf.texi: Update.
47896         * doc/functions/vsnprintf.texi: Update.
47897         * doc/functions/vsprintf.texi: Update.
47898
47899 2007-05-19  Bruno Haible  <bruno@clisp.org>
47900
47901         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47902         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47903         Instead of multiplying with 10^k, set extra_zeroes to k.
47904         (scale10_round_long_double): Remove function.
47905
47906 2007-05-18  Bruno Haible  <bruno@clisp.org>
47907
47908         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47909         introduced on 2007-05-06.
47910
47911 2007-05-18  Bruno Haible  <bruno@clisp.org>
47912
47913         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47914         %g directives.
47915         * tests/test-vasprintf-posix.c (test_function): Likewise.
47916         * tests/test-snprintf-posix.h (test_function): Likewise.
47917         * tests/test-sprintf-posix.h (test_function): Likewise.
47918
47919 2007-05-18  Bruno Haible  <bruno@clisp.org>
47920
47921         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47922         (strmatch): New function.
47923         (test_function): Test the %f directive on numbers of various exponents.
47924         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47925         (strmatch): New function.
47926         (test_function): Test the %f directive on numbers of various exponents.
47927         * tests/test-snprintf-posix.h (strmatch): New function.
47928         (test_function): Test the %f directive on numbers of various exponents.
47929         * tests/test-sprintf-posix.h (strmatch): New function.
47930         (test_function): Test the %f directive on numbers of various exponents.
47931         * tests/test-snprintf-posix.c (SIZEOF): New macro.
47932         * tests/test-sprintf-posix.c (SIZEOF): New macro.
47933         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
47934         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
47935
47936 2007-05-18  Bruno Haible  <bruno@clisp.org>
47937
47938         Add support for 'long double' number output.
47939         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
47940         * lib/vasnprintf.c: Include math.h and float+.h.
47941         (mp_limb_t): New type.
47942         (GMP_LIMB_BITS): New macro.
47943         (mp_twolimb_t): New type.
47944         (GMP_TWOLIMB_BITS): New macro.
47945         (mpn_t): New type.
47946         (multiply, divide, convert_to_decimal, decode_long_double,
47947         scale10_round_long_double, scale10_round_decimal_long_double,
47948         floorlog10l): New functions.
47949         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
47950         for the %f, %F, %e, %E, %g, %G directives.
47951         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
47952         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47953         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
47954         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
47955         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47956         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47957         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47958         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47959         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47960         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47961         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47962         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
47963         * modules/snprintf-posix (Depends-on): Likewise.
47964         * modules/sprintf-posix (Depends-on): Likewise.
47965         * modules/vasnprintf-posix (Depends-on): Likewise.
47966         * modules/vasprintf-posix (Depends-on): Likewise.
47967         * modules/vfprintf-posix (Depends-on): Likewise.
47968         * modules/vsnprintf-posix (Depends-on): Likewise.
47969         * modules/vsprintf-posix (Depends-on): Likewise.
47970         * modules/vasnprintf (Files): Add lib/float+.h.
47971         * doc/functions/fprintf.texi: Update.
47972         * doc/functions/printf.texi: Update.
47973         * doc/functions/snprintf.texi: Update.
47974         * doc/functions/sprintf.texi: Update.
47975         * doc/functions/vfprintf.texi: Update.
47976         * doc/functions/vprintf.texi: Update.
47977         * doc/functions/vsnprintf.texi: Update.
47978         * doc/functions/vsprintf.texi: Update.
47979
47980 2007-05-18  Bruno Haible  <bruno@clisp.org>
47981
47982         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
47983
47984 2007-05-18  Bruno Haible  <bruno@clisp.org>
47985
47986         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
47987         for printing 64-bit integers. Needed for mingw.
47988
47989 2007-05-18  Bruno Haible  <bruno@clisp.org>
47990
47991         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
47992         gl_FUNC_FREXPL_WORKS.
47993         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
47994
47995 2007-05-18  Bruno Haible  <bruno@clisp.org>
47996
47997         * modules/frexpl-nolibm-tests: New file.
47998
47999         * modules/frexpl-nolibm: New file.
48000         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
48001
48002 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
48003
48004         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
48005         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48006         GCC 4.2, which otherwise issues a lot of warnings.
48007         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
48008         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
48009         Likewise.
48010         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
48011         * modules/iconv_open (iconv.h): Likewise.
48012         * modules/locale (locale.h): Likewise.
48013         * modules/netinet_in (netinet/in.h): Likewise.
48014         * modules/sys_select (sys_select.h): Likewise.
48015         * modules/sys_socket (sys/socket.h): Likewise.
48016         * modules/sys_stat (sys/stat.h): Likewise.
48017         * modules/sysexits (sysexits.h): Likewise.
48018         * modules/unistd (unistd.h): Likewise.
48019
48020 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48021
48022         * modules/closein-tests (Makefile.am): Distribute
48023         `test-closein.sh'.
48024
48025 2007-05-17  Bruno Haible  <bruno@clisp.org>
48026
48027         * tests/test-printf-posix.output: Renamed from
48028         tests/test-fprintf-posix.out.
48029         * modules/fprintf-posix-tests: Update.
48030         * modules/printf-posix-tests: Update.
48031         * modules/vfprintf-posix-tests: Update.
48032         * modules/vprintf-posix-tests: Update.
48033         * tests/test-fprintf-posix.sh: Update.
48034         * tests/test-printf-posix.sh: Update.
48035         * tests/test-vfprintf-posix.sh: Update.
48036         * tests/test-vprintf-posix.sh: Update.
48037         Reported by Ralf Wildenhues.
48038
48039 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
48040
48041         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
48042         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48043         GCC 4.2, which otherwise issues a lot of warnings.
48044         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
48045         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
48046         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
48047         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
48048         it should no longer be needed.
48049         * lib/string_.h: Likewise.
48050         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
48051         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
48052         * modules/inttypes (inttypes.h): Likewise.
48053         * modules/math (math.h): Likewise.
48054         * modules/search (search.h): Likewise.
48055         * modules/signal (signal.h): Likewise.
48056         * modules/stdint (stdint.h): Likewise.
48057         * modules/stdio (stdio.h): Likewise.
48058         * modules/stdlib (stdlib.h): Likewise.
48059         * modules/string (string.h): Likewise.
48060         * modules/sys_time (sys/time.h): Likewise.
48061         * modules/time (time.h): Likewise.
48062         * modules/wchar (wchar.h): Likewise.
48063         * modules/wctype (wtype.h): Likewise.
48064
48065 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48066
48067         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
48068
48069 2007-05-13  Bruno Haible  <bruno@clisp.org>
48070
48071         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
48072         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48073         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
48074         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48075         (gl_PREREQ_STRTOK_R): Don't require it here.
48076
48077 2007-05-13  Bruno Haible  <bruno@clisp.org>
48078
48079         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
48080         when used in C++ mode.
48081
48082 2007-05-12  Bruno Haible  <bruno@clisp.org>
48083
48084         * lib/linebuffer.h: Tweak doc.
48085         * lib/linebuffer.c: Likewise.
48086
48087 2007-05-12  James Youngman  <jay@gnu.org>
48088
48089         * lib/linebuffer.c (readlinebuffer_delim): New function,
48090         like readlinebuffer, but use a caller-specified delimiter.
48091         (readlinebuffer): Just call readlinebuffer_delim with '\n'
48092         as the delimiter.
48093         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
48094
48095 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48096
48097         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
48098         * modules/openat (Files): Remove openat-die.c.
48099         (Depends-on): Add openat-die.
48100         * modules/openat-die: New module.
48101
48102 2007-05-06  Bruno Haible  <bruno@clisp.org>
48103
48104         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
48105         Update with info about Cygwin.
48106         * doc/functions/fprintf.texi: Update.
48107         * doc/functions/printf.texi: Update.
48108         * doc/functions/snprintf.texi: Update.
48109         * doc/functions/sprintf.texi: Update.
48110         * doc/functions/vfprintf.texi: Update.
48111         * doc/functions/vprintf.texi: Update.
48112         * doc/functions/vsnprintf.texi: Update.
48113         * doc/functions/vsprintf.texi: Update.
48114         Reported by Eric Blake.
48115
48116 2007-05-06  Bruno Haible  <bruno@clisp.org>
48117
48118         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
48119         padding ourselves for the floating-point directives.
48120         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
48121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
48122         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48123         gl_PRINTF_FLAG_ZERO and test its result. Invoke
48124         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
48125         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48126         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48127         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48128         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48129         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48130         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48131         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48132         * tests/test-snprintf-posix.h (test_function): Also check the width
48133         and some flags in the %f directive.
48134         * tests/test-sprintf-posix.h (test_function): Likewise.
48135         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48136         * tests/test-vasprintf-posix.c (test_function): Likewise.
48137         * doc/functions/fprintf.texi: Update.
48138         * doc/functions/printf.texi: Update.
48139         * doc/functions/snprintf.texi: Update.
48140         * doc/functions/sprintf.texi: Update.
48141         * doc/functions/vfprintf.texi: Update.
48142         * doc/functions/vprintf.texi: Update.
48143         * doc/functions/vsnprintf.texi: Update.
48144         * doc/functions/vsprintf.texi: Update.
48145
48146 2007-05-06  Bruno Haible  <bruno@clisp.org>
48147
48148         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
48149         pass the ' flag character to sprintf or snprintf.
48150         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
48151         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
48152         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48153         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
48154         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
48155         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48156         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48157         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48158         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48159         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48160         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48161         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48162         * tests/test-snprintf-posix.h (test_function): Also check the grouping
48163         flag.
48164         * tests/test-sprintf-posix.h (test_function): Likewise.
48165         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48166         * tests/test-vasprintf-posix.c (test_function): Likewise.
48167         * doc/functions/fprintf.texi: Update.
48168         * doc/functions/printf.texi: Update.
48169         * doc/functions/snprintf.texi: Update.
48170         * doc/functions/sprintf.texi: Update.
48171         * doc/functions/vfprintf.texi: Update.
48172         * doc/functions/vprintf.texi: Update.
48173         * doc/functions/vsnprintf.texi: Update.
48174         * doc/functions/vsprintf.texi: Update.
48175
48176 2007-05-01  Bruno Haible  <bruno@clisp.org>
48177
48178         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
48179
48180 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
48181
48182         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
48183         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
48184
48185 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48186
48187         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
48188         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
48189         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
48190
48191 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
48192
48193         * lib/argp-help.c (struct hol_entry): New member `ord'.
48194         (HOL_ENTRY_PTRCMP): Use ord for comparison
48195         (hol_sort): Initialize ord.
48196
48197 2007-05-01  Bruno Haible  <bruno@clisp.org>
48198
48199         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
48200         Reported by Eric Blake.
48201         * doc/gnulib.texi (Function Substitutes): Update.
48202
48203 2007-05-01  Bruno Haible  <bruno@clisp.org>
48204
48205         * doc/functions.texi: Remove file, now redundant through
48206         doc/functions/*.texi.
48207
48208 2007-05-01  Bruno Haible  <bruno@clisp.org>
48209
48210         * modules/argp (Depends-on): Add sleep.
48211
48212 2007-05-01  Bruno Haible  <bruno@clisp.org>
48213
48214         * modules/sleep-tests: New file.
48215         * tests/test-sleep.c: New file.
48216
48217         * modules/sleep: New file.
48218         * lib/sleep.c: New file.
48219         * m4/sleep.m4: New file.
48220         * lib/unistd_.h (sleep): New declaration.
48221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
48222         HAVE_SLEEP.
48223         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
48224         * doc/functions/sleep.texi: Document the sleep module.
48225
48226 2007-05-01  Bruno Haible  <bruno@clisp.org>
48227
48228         * lib/sigprocmask.h: Remove file.
48229         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
48230         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
48231         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
48232         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
48233         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
48234         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
48235         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
48236         HAVE_SIGSET_T as a shell variable.
48237         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
48238         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
48239         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
48240         (Depends-on): Add signal. Remove verify.
48241         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
48242         (Include): Mention <signal.h> instead of sigprocmask.h.
48243         * NEWS: Mention the change.
48244         * lib/fatal-signal.c: Don't include sigprocmask.h.
48245
48246 2007-05-01  Bruno Haible  <bruno@clisp.org>
48247
48248         * modules/signal: New file.
48249         * lib/signal_.h: New file.
48250         * m4/signal_h.m4: New file.
48251
48252 2007-05-01  Bruno Haible  <bruno@clisp.org>
48253
48254         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
48255         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
48256         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
48257         HAVE_WCTYPE_CTMP_BUG into wctype.h.
48258
48259 2007-05-01  Bruno Haible  <bruno@clisp.org>
48260
48261         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
48262         configure time.
48263         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
48264         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
48265         * modules/sys_stat (Makefile.am): Substitute their values into
48266         sys/stat.h.
48267
48268 2007-05-01  Bruno Haible  <bruno@clisp.org>
48269
48270         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
48271         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
48272         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
48273
48274 2007-05-01  Bruno Haible  <bruno@clisp.org>
48275
48276         * doc/header/assert.texi: Undo last change: don't mention the gnulib
48277         'assert' module here.
48278
48279 2007-05-01  Bruno Haible  <bruno@clisp.org>
48280
48281         * doc/functions/*.texi: New files.
48282         * doc/functions/google-ranking.txt: New file.
48283         * doc/gnulib.texi (Function Substitutes): New chapter.
48284         (ctime, inet_ntoa): Remove sections.
48285         * doc/ctime.texi: Remove file.
48286         * doc/inet_ntoa.texi: Remove file.
48287         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
48288         dependencies.
48289         (%.info): New rule, specifying a --reference-limit.
48290
48291 2007-05-01  Bruno Haible  <bruno@clisp.org>
48292
48293         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
48294
48295 2007-05-01  Bruno Haible  <bruno@clisp.org>
48296
48297         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
48298         the portability of 'mkdir' to mingw systems.
48299
48300 2007-05-01  Bruno Haible  <bruno@clisp.org>
48301
48302         * doc/headers/google-ranking.txt: New file.
48303
48304 2007-04-30  Eric Blake  <ebb9@byu.net>
48305
48306         Prefer fseeko to fseek.
48307         * modules/getpass (Depends-on): Add fseeko.
48308         * lib/getpass.c (getpass): Use fseeko, not fseek.
48309
48310 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
48311
48312         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
48313         assumes the sorting is stable, while most qsort implementations
48314         are not.  Use argument addresses to ensure they never compare as
48315         equal.
48316
48317         * tests/test-argp-2.sh (usage-indent test): Fix output
48318         (func_compare): Restore diff options
48319         * tests/test-argp.c: Restore #include "progname.h"
48320
48321 2007-04-29  Bruno Haible  <bruno@clisp.org>
48322
48323         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
48324         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48325         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
48326         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48327         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
48328         (configure.ac): Define CHECK_SNPRINTF_POSIX.
48329         (TESTS, check_PROGRAMS): Add test-snprintf.
48330         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
48331         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
48332         (TESTS, check_PROGRAMS): Add test-vsnprintf.
48333         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
48334         assertions that fail on HP-UX, OSF/1, or IRIX.
48335         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
48336
48337 2007-04-29  Bruno Haible  <bruno@clisp.org>
48338
48339         * MODULES.html.sh (posix_functions): Remove 'contents'.
48340
48341 2007-04-29  Karl Berry  <karl@gnu.org>
48342
48343         * config/srclist.txt (gendocs_template_min): new entry.
48344
48345 2007-04-29  Bruno Haible  <bruno@clisp.org>
48346
48347         Work around fpurge bug on BSD systems.
48348         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
48349         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
48350         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
48351         fpurge to rpl_fpurge if the system already has this function.
48352         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
48353         the case where the system already has this function. Correct invariants
48354         on BSD systems.
48355         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
48356         BSD systems.
48357
48358 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
48359
48360         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
48361         proposed by Sven Verdoolaege.
48362
48363         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
48364         options.
48365         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
48366         (usage and help tests): Update
48367
48368 2007-04-29  Bruno Haible  <bruno@clisp.org>
48369
48370         * tests/test-fflush.c (main): Use a file of size 17, not 10.
48371         Print more information in case of failure. Disable a test on BeOS.
48372
48373 2007-04-29  Bruno Haible  <bruno@clisp.org>
48374
48375         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
48376         This helps debugging on systems on which no gdb is available.
48377
48378 2007-04-29  Bruno Haible  <bruno@clisp.org>
48379
48380         * lib/freading.h: Improve comments.
48381         * lib/fwriting.h: Likewise.
48382         * tests/test-freading.c (main): Don't check freading immediately after
48383         repositioning. Needed for glibc.
48384
48385 2007-04-29  Bruno Haible  <bruno@clisp.org>
48386
48387         * lib/freading.c (freading): Trivial simplification.
48388
48389 2007-04-28  Bruno Haible  <bruno@clisp.org>
48390
48391         * tests/test-fwriting.c (main): Also test the interaction between
48392         fflush and fwriting.
48393         * modules/fwriting-tests (Depends-on): Add fflush.
48394
48395         * tests/test-freading.c (main): Also test the interaction between
48396         fflush and freading.
48397         * modules/freading-tests (Depends-on): Add fflush.
48398
48399 2007-04-28  Bruno Haible  <bruno@clisp.org>
48400
48401         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
48402         fseeko and ftello.
48403         Suggested by Eric Blake.
48404
48405 2007-04-28  Jim Meyering  <jim@meyering.net>
48406
48407         Avoid false-negative in gl_STDINT_H's C99 conformance test.
48408         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
48409         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
48410
48411 2007-04-27  Eric Blake  <ebb9@byu.net>
48412
48413         * doc/headers/assert.texi (assert.h): Document assert module use.
48414
48415 2007-04-27  Bruno Haible  <bruno@clisp.org>
48416
48417         * doc/headers/*.texi: New files.
48418         * doc/gnulib.texi (Header File Substitutes): New chapter.
48419         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
48420         dependencies.
48421         (standards.info ,standards.html, standards.dvi): Update dependencies.
48422         (mostlyclean, clean): New targets.
48423
48424 2007-04-27  Bruno Haible  <bruno@clisp.org>
48425
48426         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
48427         * modules/sysexits (Files, Makefile.am): Update.
48428
48429         * lib/sys_socket_.h: Renamed from lib/socket_.h.
48430         * modules/sys_socket (Files, Makefile.am): Update.
48431
48432         * lib/sys_stat_.h: Renamed from lib/stat_.h.
48433         * modules/sys_stat (Files, Makefile.am): Update.
48434
48435 2007-04-27  Eric Blake  <ebb9@byu.net>
48436
48437         * lib/freading.h: Improve comments.
48438         * lib/fwriting.h: Likewise.
48439         * lib/fflush.c: Likewise.
48440
48441         Fix closein for mingw.
48442         * modules/closein-tests: Add tests for closein.
48443         * tests/test-closein.c: New file.
48444         * tests/test-closein.sh: Likewise.
48445         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
48446         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
48447
48448 2007-04-27  Bruno Haible  <bruno@clisp.org>
48449
48450         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
48451         version is < 6.
48452         * lib/math_.h [__DECC]: Likewise.
48453         * lib/stdio_.h [__DECC]: Likewise.
48454         * lib/stdlib_.h [__DECC]: Likewise.
48455         * lib/string_.h [__DECC]: Likewise.
48456         * lib/time_.h [__DECC]: Likewise.
48457         * lib/wchar_.h [__DECC]: Likewise.
48458         * lib/wctype_.h [__DECC]: Likewise.
48459
48460 2007-04-27  Bruno Haible  <bruno@clisp.org>
48461
48462         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
48463
48464 2007-04-27  Bruno Haible  <bruno@clisp.org>
48465
48466         * lib/fflush.c: Add comments.
48467         * modules/fpurge-tests (Depends-on): Add fflush.
48468         * modules/freadable-tests (Depends-on): Likewise.
48469         * modules/fwritable-tests (Depends-on): Likewise.
48470
48471 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
48472
48473         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
48474         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
48475         Report by Bruno Haible <bruno@clisp.org>.
48476
48477 2007-04-26  Eric Blake  <ebb9@byu.net>
48478
48479         Fix fflush on mingw.
48480         * modules/fflush (Depends-on): Add freading.
48481         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
48482         but unread data.
48483
48484 2007-04-26  Eric Blake  <ebb9@byu.net>
48485         and Bruno Haible  <bruno@clisp.org>
48486
48487         Implement freading and fwriting.
48488         * lib/freading.c: New file.
48489         * lib/freading.h: Likewise.
48490         * m4/freading.m4: Likewise.
48491         * modules/freading: Likewise.
48492         * modules/freading-tests: Likewise.
48493         * tests/test-freading.c: Likewise.
48494         * lib/fwriting.c: New file.
48495         * lib/fwriting.h: Likewise.
48496         * m4/fwriting.m4: Likewise.
48497         * modules/fwriting: Likewise.
48498         * modules/fwriting-tests: Likewise.
48499         * tests/test-fwriting.c: Likewise.
48500         * MODULES.html.sh (File stream based Input/Output): Mention them.
48501
48502 2007-04-26  Bruno Haible  <bruno@clisp.org>
48503
48504         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
48505         'long' when we assume it.
48506         Suggested by Eric Blake.
48507
48508 2007-04-26  Bruno Haible  <bruno@clisp.org>
48509
48510         Ensure fseeko, ftello are declared on glibc systems.
48511         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
48512         * modules/fseeko (configure.ac-early): Likewise.
48513         * modules/ftello (configure.ac-early): Likewise.
48514         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
48515         AC_FUNC_FSEEKO for this.
48516         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
48517         (gl_CHECK_FSEEKO): Remove macro.
48518
48519 2007-04-26  Bruno Haible  <bruno@clisp.org>
48520
48521         * tests/test-fflush.c (main): Also check the ftell result after
48522         fflush and fseek/fseeko.
48523         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
48524         file descriptor position cache in the stream.
48525         * lib/fseeko.c (rpl_fseeko): Likewise.
48526
48527 2007-04-26  Bruno Haible  <bruno@clisp.org>
48528
48529         * modules/fflush-tests (Depends-on): Add fseeko.
48530
48531 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
48532             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48533
48534         * lib/argz_.h: ensure error_t definition is obtained in same
48535         mechanism system argz.h would have.
48536         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
48537         argz facilities are known bad.  Err on the side of caution if
48538         cross-compiling.
48539
48540 2007-04-25  Eric Blake  <ebb9@byu.net>
48541
48542         * lib/fpurge.c (includes): Use stdlib.h for free.
48543         * tests/test-fflush.c (main): Also test fflush-fseeko.
48544
48545 2007-04-25  Bruno Haible  <bruno@clisp.org>
48546
48547         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
48548         * lib/fseeko.c: New file.
48549         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
48550         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
48551         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
48552         gl_FUNC_FSEEKO.
48553         (gl_FUNC_FSEEKO): Invoke it.
48554         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
48555         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
48556         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
48557
48558 2007-04-25  Bruno Haible  <bruno@clisp.org>
48559
48560         * modules/fflush (Depends-on): Add ftello.
48561
48562 2007-04-25  Bruno Haible  <bruno@clisp.org>
48563
48564         * modules/ftello-tests: New file.
48565         * tests/test-ftello.c: New file.
48566
48567         * modules/ftello: New file.
48568         * m4/ftello.m4: New file.
48569         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
48570         HAVE_FTELLO.
48571         * lib/stdio_.h (ftello): New declaration.
48572         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
48573         HAVE_FTELLO.
48574
48575 2007-04-25  Bruno Haible  <bruno@clisp.org>
48576
48577         * modules/fseeko-tests: New file.
48578         * tests/test-fseeko.c: New file.
48579
48580         * modules/fseeko: New file.
48581         * m4/fseeko.m4: New file.
48582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
48583         HAVE_FSEEKO.
48584         * lib/stdio_.h (fseeko): New declaration.
48585         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
48586         HAVE_FSEEKO.
48587
48588 2007-04-25  Bruno Haible  <bruno@clisp.org>
48589
48590         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
48591
48592 2007-04-25  Bruno Haible  <bruno@clisp.org>
48593
48594         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
48595         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
48596         * tests/test-unistd.c: Likewise.
48597         * tests/test-fcntl.c: Likewise.
48598
48599 2007-04-23  Eric Blake  <ebb9@byu.net>
48600
48601         * lib/fflush.c: Fix missing include.
48602         Reported by Bruno Haible.
48603
48604 2007-04-23  Bruno Haible  <bruno@clisp.org>
48605
48606         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
48607         Reported by Eric Blake.
48608
48609 2007-04-23  Bruno Haible  <bruno@clisp.org>
48610
48611         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
48612
48613 2007-04-23  Bruno Haible  <bruno@clisp.org>
48614
48615         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
48616
48617 2007-04-23  Bruno Haible  <bruno@clisp.org>
48618
48619         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
48620         Needed on HP-UX 11.
48621
48622 2007-04-16  Eric Blake  <ebb9@byu.net>
48623
48624         Make fflush rely on fpurge.
48625         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
48626         open coding all variants.
48627         * modules/fflush (Depends-on): Add fpurge and unistd.
48628         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
48629         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
48630
48631         Fix --with-tests compilation on cygwin.
48632         * modules/argmatch-tests (Makefile.am): List gnulib library first
48633         in LDADD.
48634         * modules/argp-tests (Makefile.am): Likewise.
48635         * modules/array-list-tests (Makefile.am): Likewise.
48636         * modules/array-oset-tests (Makefile.am): Likewise.
48637         * modules/avltree-list-tests (Makefile.am): Likewise.
48638         * modules/avltree-oset-tests (Makefile.am): Likewise.
48639         * modules/avltreehash-list-tests (Makefile.am): Likewise.
48640         * modules/carray-list-tests (Makefile.am): Likewise.
48641         * modules/dirname-tests (Makefile.am): Likewise.
48642         * modules/frexp-tests (Makefile.am): Likewise.
48643         * modules/isnanl-tests (Makefile.am): Likewise.
48644         * modules/linked-list-tests (Makefile.am): Likewise.
48645         * modules/linkedhash-list-tests (Makefile.am): Likewise.
48646         * modules/lock-tests (Makefile.am): Likewise.
48647         * modules/rbtree-list-tests (Makefile.am): Likewise.
48648         * modules/rbtree-oset-tests (Makefile.am): Likewise.
48649         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
48650         * modules/tls-tests (Makefile.am): Likewise.
48651         * modules/tsearch-tests (Makefile.am): Likewise.
48652         * modules/xvasprintf-tests (Makefile.am): Likewise.
48653
48654         Fix fpurge for cygwin.
48655         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
48656         value.
48657         * modules/fpurge-tests (Depends-on): Clean up trash.
48658
48659 2007-04-16  Simon Josefsson  <simon@josefsson.org>
48660
48661         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
48662
48663         * m4/autobuild.m4: Re-indent.
48664
48665 2007-04-13  Bruno Haible  <bruno@clisp.org>
48666
48667         * modules/fpurge-tests: New file.
48668         * tests/test-fpurge.c: New file.
48669
48670         * modules/fpurge: New file.
48671         * lib/fpurge.h: New file.
48672         * lib/fpurge.c: New file.
48673         * m4/fpurge.m4: New file.
48674
48675 2007-04-13  Bruno Haible  <bruno@clisp.org>
48676
48677         * modules/fbufmode-tests: New file.
48678         * tests/test-fbufmode.c: New file.
48679
48680         * modules/fbufmode: New file.
48681         * lib/fbufmode.h: New file.
48682         * lib/fbufmode.c: New file.
48683         * m4/fbufmode.m4: New file.
48684
48685 2007-04-13  Bruno Haible  <bruno@clisp.org>
48686
48687         * modules/fwritable-tests: New file.
48688         * tests/test-fwritable.c: New file.
48689
48690         * modules/fwritable: New file.
48691         * lib/fwritable.h: New file.
48692         * lib/fwritable.c: New file.
48693         * m4/fwritable.m4: New file.
48694
48695 2007-04-13  Bruno Haible  <bruno@clisp.org>
48696
48697         * modules/freadable-tests: New file.
48698         * tests/test-freadable.c: New file.
48699
48700         * modules/freadable: New file.
48701         * lib/freadable.h: New file.
48702         * lib/freadable.c: New file.
48703         * m4/freadable.m4: New file.
48704
48705 2007-04-13  Bruno Haible  <bruno@clisp.org>
48706
48707         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48708         MOSTLYCLEANFILES.
48709
48710 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48711
48712         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48713         gzip bootstrap.conf to avoid dragging in i18n machinery.
48714         (gnulib_tool_option): Use it.
48715
48716 2007-04-13  Bruno Haible  <bruno@clisp.org>
48717
48718         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48719         %F directives.
48720         * tests/test-vasprintf-posix.c (test_function): Likewise.
48721         * tests/test-snprintf-posix.h (test_function): Likewise.
48722         * tests/test-sprintf-posix.h (test_function): Likewise.
48723         * tests/test-fprintf-posix.h (test_function): Likewise.
48724         * tests/test-printf-posix.h (test_function): Likewise.
48725         * tests/test-fprintf-posix.out: Likewise.
48726
48727 2007-04-13  Bruno Haible  <bruno@clisp.org>
48728
48729         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48730         * modules/tls-tests (configure.ac): Likewise.
48731         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48732
48733 2007-04-13  Bruno Haible  <bruno@clisp.org>
48734
48735         * lib/tls.c (glthread_tls_get): Fix return type.
48736         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48737
48738 2007-04-12  Eric Blake  <ebb9@byu.net>
48739
48740         * modules/gettime (Depends-on): Remove gettime.
48741         Reported by Dmitry V. Levin.
48742
48743 2007-04-12  Bruno Haible  <bruno@clisp.org>
48744
48745         * modules/fflush (Include): Mention <stdio.h>.
48746         * modules/strtoimax (Include): Mention <inttypes.h>.
48747         * modules/strtoumax (Include): Likewise.
48748
48749 2007-04-12  Eric Blake  <ebb9@byu.net>
48750
48751         * .cvsignore: New file.
48752         * .gitignore: Likewise.
48753
48754 2007-04-12  Bruno Haible  <bruno@clisp.org>
48755
48756         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48757         not before, since $(LDADD) often contains libgnu.a.
48758         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48759         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48760         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48761         Needed on Cygwin.
48762
48763 2007-04-12  Eric Blake  <ebb9@byu.net>
48764
48765         Work around glibc's failure to flush stdin on fclose.
48766         * lib/closein.c (close_stdin): Flush stdin before closing.
48767
48768         Work around glibc's failure to reset seekable stdin on exit.
48769         * modules/closein: New module.
48770         * lib/closein.c: New file.
48771         * lib/closein.h: Likewise.
48772         * m4/closein.m4: Likewise.
48773         * MODULES.html.sh (File stream based Input/Output): Document it.
48774
48775 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48776
48777         * gnulib-tool: Rename generated 'autobuild' script to
48778         'do-autobuild' in --create-megatestdir output.
48779
48780         * doc/gnulib.texi (Build robot for gnulib): Fix.
48781
48782 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48783
48784         * modules/sysexits (Depends-on): Add absolute-header.
48785
48786 2007-04-12  Eric Blake  <ebb9@byu.net>
48787
48788         No need to preserve errno on success.
48789         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48790         Reported by Bruno Haible.
48791
48792 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48793
48794         * MODULES.html.sh (Support for maintaining and releasing
48795         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48796
48797 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48798
48799         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48800
48801 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48802
48803         * modules/autobuild: New module.
48804
48805         * m4/autobuild.m4: New file.
48806
48807 2007-04-11  Bruno Haible  <bruno@clisp.org>
48808
48809         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48810         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48811         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48812         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48813         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48814         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48815         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48816         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48817         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48818         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48819         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48820         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48821         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48822         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48823         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48824         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48826         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48827         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48828         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48829         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48830         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48831         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48832         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48833         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48834         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48835         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48836         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48837         Reported by Eric Blake.
48838
48839 2007-04-11  Bruno Haible  <bruno@clisp.org>
48840
48841         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48842
48843 2007-04-10  Bruno Haible  <bruno@clisp.org>
48844
48845         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48846         for NaN and Infinity. Needed on FreeBSD 6.1.
48847         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48848         regarding results for "%010a" of Infinity and NaN.
48849         * tests/test-vasprintf-posix.c (test_function): Likewise.
48850         * tests/test-snprintf-posix.h (test_function): Likewise.
48851         * tests/test-sprintf-posix.h (test_function): Likewise.
48852         * tests/test-fprintf-posix.h (test_function): Likewise.
48853         * tests/test-printf-posix.h (test_function): Likewise.
48854         * tests/test-fprintf-posix.out: Likewise.
48855
48856 2007-04-10  Bruno Haible  <bruno@clisp.org>
48857
48858         * modules/locale-tests: New file.
48859         * tests/test-locale.c: New file.
48860
48861         * modules/locale: New file.
48862         * lib/locale_.h: New file.
48863         * m4/locale_h.m4: New file.
48864
48865 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48866             Bruno Haible  <bruno@clisp.org>
48867
48868         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48869         be determined, test for availability of the copysignf, copysign,
48870         copysignl functions.
48871         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48872         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48873         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48874
48875 2007-04-09  Eric Blake  <ebb9@byu.net>
48876
48877         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48878         * modules/stdio (Makefile.am): Support fflush.
48879         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48880         * modules/fflush: New file.
48881         * lib/fflush.c: Likewise.
48882         * m4/fflush.m4: Likewise.
48883         * modules/fflush-tests: New test.
48884         * tests/test-fflush.c: Likewise.
48885         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48886
48887 2007-04-06  Bruno Haible  <bruno@clisp.org>
48888
48889         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48890         (VASNPRINTF): Use signbit for faster determination whether to print a
48891         minus sign.
48892         * modules/vasnprintf (Files): Remove lib/float+.h.
48893         * modules/fprintf-posix (Depends-on): Add signbit.
48894         * modules/snprintf-posix (Depends-on): Likewise.
48895         * modules/sprintf-posix (Depends-on): Likewise.
48896         * modules/vasnprintf-posix (Depends-on): Likewise.
48897         * modules/vasprintf-posix (Depends-on): Likewise.
48898         * modules/vfprintf-posix (Depends-on): Likewise.
48899         * modules/vsnprintf-posix (Depends-on): Likewise.
48900         * modules/vsprintf-posix (Depends-on): Likewise.
48901
48902 2007-04-06  Bruno Haible  <bruno@clisp.org>
48903
48904         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48905         * tests/test-frexpl.c (main): Likewise.
48906         * tests/test-ldexpl.c (main): Likewise.
48907         * modules/frexp-tests (Depends-on): Add signbit.
48908         * modules/frexpl-tests (Depdends-on): Likewise.
48909         * modules/ldexpl-tests (Depdends-on): Likewise.
48910
48911 2007-04-06  Bruno Haible  <bruno@clisp.org>
48912
48913         * modules/signbit-tests: New file.
48914         * tests/test-signbit.c: New file.
48915
48916         * modules/signbit: New file.
48917         * lib/signbitf.c: New file.
48918         * lib/signbitd.c: New file.
48919         * lib/signbitl.c: New file.
48920         * m4/signbit.m4: New file.
48921         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48922         (signbit): New macro.
48923         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48924         REPLACE_SIGNBIT.
48925         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
48926         REPLACE_FREXPL into math.h.
48927
48928 2007-04-06  Bruno Haible  <bruno@clisp.org>
48929
48930         * modules/isnanf-nolibm-tests: New file.
48931         * tests/test-isnanf.c: New file.
48932
48933         * modules/isnanf-nolibm: New file.
48934         * lib/isnanf.h: New file.
48935         * lib/isnanf.c: New file.
48936         * lib/isnan.c: Consider the USE_FLOAT macro.
48937         * m4/isnanf.m4: New file.
48938
48939 2007-04-06  Bruno Haible  <bruno@clisp.org>
48940
48941         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
48942         (Link): New section.
48943
48944         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
48945
48946 2007-04-06  Bruno Haible  <bruno@clisp.org>
48947
48948         Assume the 'long double' type.
48949         * m4/longdouble.m4: Remove file.
48950         * config/srclist.txt: Don't mention longdouble.m4.
48951         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
48952         * lib/float+.h: Likewise.
48953         * lib/frexp.c: Likewise.
48954         * lib/printf-args.h: Likewise.
48955         * lib/printf-args.c: Likewise.
48956         * lib/printf-frexp.c: Likewise.
48957         * lib/printf-parse.c: Likewise.
48958         * lib/vasnprintf.c: Likewise.
48959         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
48960         * m4/intl.m4: Likewise.
48961         * m4/isnanl.m4: Likewise.
48962         * m4/printf.m4: Likewise.
48963         * m4/printf-frexpl.m4: Likewise.
48964         * m4/vasnprintf.m4: Likewise.
48965         * modules/allocsa (Files): Remove m4/longdouble.m4.
48966         * modules/gettext (Files): Likewise.
48967         * modules/relocatable-prog-wrapper (Files): Likewise.
48968         * modules/vasnprintf (Files): Likewise.
48969         * modules/isnanl (Files): Likewise.
48970         (Include): Simplify.
48971         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
48972         (Include): Simplify.
48973         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
48974         (Include): Simplify.
48975         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
48976         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48977         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
48978         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48979         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48980         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48981         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
48982         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48983         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48984         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48985         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
48986         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48987         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
48988         * tests/test-isnanl.c: Likewise.
48989         * tests/test-snprintf-posix.h: Likewise.
48990         * tests/test-sprintf-posix.h: Likewise.
48991         * tests/test-vasnprintf-posix.c: Likewise.
48992         * tests/test-vasnprintf-posix2.c: Likewise.
48993         * tests/test-vasprintf-posix.c: Likewise.
48994
48995 2007-04-06  Bruno Haible  <bruno@clisp.org>
48996
48997         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
48998         * lib/math_.h [__DECC]: Include the overridden include file through
48999         #include_next, outside the double-inclusion guard.
49000         * lib/stdio_.h [__DECC]: Likewise.
49001         * lib/stdlib_.h [__DECC]: Likewise.
49002         * lib/string_.h [__DECC]: Likewise.
49003         * lib/time_.h [__DECC]: Likewise.
49004         * lib/wchar_.h [__DECC]: Likewise.
49005         * lib/wctype_.h [__DECC]: Likewise.
49006         * lib/inttypes_.h [__DECC]: Likewise.
49007         Reported by Albert Chin <china@thewrittenword.com> in
49008         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
49009
49010 2007-04-04  Eric Blake  <ebb9@byu.net>
49011
49012         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
49013         1.5.x.
49014
49015 2007-04-04  Bruno Haible  <bruno@clisp.org>
49016
49017         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
49018         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
49019
49020 2007-04-04  Bruno Haible  <bruno@clisp.org>
49021
49022         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
49023         results for "%010a" of Infinity and NaN.
49024         * tests/test-vasprintf-posix.c (test_function): Likewise.
49025         * tests/test-snprintf-posix.h (test_function): Likewise.
49026         * tests/test-sprintf-posix.h (test_function): Likewise.
49027         * tests/test-fprintf-posix.h (test_function): Remove these tests.
49028         * tests/test-printf-posix.h (test_function): Likewise.
49029         * tests/test-fprintf-posix.out: Update.
49030         Needed for FreeBSD 6.1.
49031
49032 2007-04-04  Bruno Haible  <bruno@clisp.org>
49033
49034         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
49035         directly used by the gnulib modules nor by gnulib-tool.
49036
49037 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49038
49039         * DEPENDENCIES: Give overall description of version dependency
49040         desirability.  Use more-typical names for apps.
49041         Add shell, coreutils, diffutils, grep, tar, gzip.
49042
49043 2007-04-04  Simon Josefsson  <simon@josefsson.org>
49044
49045         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
49046
49047 2007-04-04  Karl Berry  <karl@gnu.org>
49048
49049         * MODULES.html.sh (func_module): missing '.
49050
49051 2007-04-03  Bruno Haible  <bruno@clisp.org>
49052
49053         * modules/argmatch-tests (Makefile.am): New variable
49054         test_argmatch_LDADD.
49055         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
49056         * modules/array-list-tests (Makefile.am): New variable
49057         test_array_list_LDADD.
49058         * modules/array-oset-tests (Makefile.am): New variable
49059         test_array_oset_LDADD.
49060         * modules/avltree-list-tests (Makefile.am): New variable
49061         test_avltree_list_LDADD.
49062         * modules/avltree-oset-tests (Makefile.am): New variable
49063         test_avltree_oset_LDADD.
49064         * modules/avltreehash-list-tests (Makefile.am): New variable
49065         test_avltreehash_list_LDADD.
49066         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
49067         test_canonicalize_lgpl_LDADD.
49068         * modules/carray-list-tests (Makefile.am): New variable
49069         test_carray_list_LDADD.
49070         * modules/dirname-tests (Makefile.am): New variable
49071         test_dirname_LDADD.
49072         * modules/linked-list-tests (Makefile.am): New variable
49073         test_linked_list_LDADD.
49074         * modules/linkedhash-list-tests (Makefile.am): New variable
49075         test_linkedhash_list_LDADD.
49076         * modules/rbtree-list-tests (Makefile.am): New variable
49077         test_rbtree_list_LDADD.
49078         * modules/rbtree-oset-tests (Makefile.am): New variable
49079         test_rbtree_oset_LDADD.
49080         * modules/rbtreehash-list-tests (Makefile.am): New variable
49081         test_rbtreehash_list_LDADD.
49082         * modules/xvasprintf-tests (Makefile.am): New variable
49083         test_xvasprintf_LDADD.
49084         Reported by Eric Blake.
49085
49086 2007-04-03  Eric Blake  <ebb9@byu.net>
49087
49088         * DEPENDENCIES: Weaken m4 requirements.
49089
49090 2007-04-03  Bruno Haible  <bruno@clisp.org>
49091
49092         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
49093         * modules/isnanl-tests (configure.ac): Likewise.
49094
49095 2007-04-03  Ben Pfaff  <blp@gnu.org>
49096
49097         * modules/iconv_open: Add $(srcdir)/ to source directory
49098         references in Makefile fragments that call gperf, to fix VPATH
49099         builds.
49100
49101 2007-04-03  Bruno Haible  <bruno@clisp.org>
49102
49103         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
49104         * lib/ldexpl.c: Undo last change.
49105
49106 2007-04-03  Bruno Haible  <bruno@clisp.org>
49107
49108         * modules/printf-frexpl (Depends-on): Undo last change.
49109         (Files): Add m4/ldexpl.m4.
49110
49111 2007-04-03  Bruno Haible  <bruno@clisp.org>
49112
49113         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
49114         * modules/isnanl (Link): New section.
49115
49116         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
49117         * modules/frexp (Link): New section.
49118
49119         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
49120         * modules/frexpl (Link): New section.
49121
49122         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
49123         * modules/ldexpl (Link): New section.
49124
49125 2007-04-03  Bruno Haible  <bruno@clisp.org>
49126
49127         * modules/TEMPLATE-EXTENDED: New file.
49128         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
49129
49130 2007-04-03  Bruno Haible  <bruno@clisp.org>
49131
49132         * DEPENDENCIES: New file.
49133         Suggested by Simon Josefsson.
49134
49135 2007-04-03  Bruno Haible  <bruno@clisp.org>
49136
49137         * doc/gnulib.texi: Escape @.
49138
49139 2007-04-03  James Youngman  <jay@gnu.org>
49140         and Paul Eggert  <eggert@cs.ucla.edu>
49141
49142         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
49143         birthtime on all systems that have birthtime, not just those which
49144         use st_birthtimensec rather than st_birthtim.  Putting zero in
49145         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
49146         that the birth time is not available for files on an NFS mount.
49147
49148 2007-04-03  Simon Josefsson  <simon@josefsson.org>
49149
49150         * modules/memxor: Move back from crypto/, suggested by Bruno.
49151         * modules/crypto/hmac-sha1: Fix memxor dependency.
49152
49153         * modules/crypto/gc: Moved from ../.
49154
49155 2007-04-02  Eric Blake  <ebb9@byu.net>
49156
49157         * lib/ldexpl.c (includes): Avoid libm.
49158
49159         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
49160
49161 2007-04-02  Bruno Haible  <bruno@clisp.org>
49162
49163         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
49164         on IRIX.
49165
49166 2007-04-02  Bruno Haible  <bruno@clisp.org>
49167
49168         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
49169         x86 or x86_64 platforms running MacOS X.
49170         Reported by Ryan Schmidt <@ryandesign.com>.
49171
49172 2007-04-02  Bruno Haible  <bruno@clisp.org>
49173
49174         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
49175         i386.
49176
49177 2007-04-01  Simon Josefsson  <simon@josefsson.org>
49178
49179         * modules/crypto/arcfour: Moved from ../.
49180         * modules/crypto/arcfour-tests: Moved from ../.
49181         * modules/crypto/arctwo: Moved from ../.
49182         * modules/crypto/arctwo-tests: Moved from ../.
49183         * modules/crypto/des: Moved from ../.
49184         * modules/crypto/des-tests: Moved from ../.
49185         * modules/crypto/gc-arcfour: Moved from ../.
49186         * modules/crypto/gc-arcfour-tests: Moved from ../.
49187         * modules/crypto/gc-arctwo: Moved from ../.
49188         * modules/crypto/gc-arctwo-tests: Moved from ../.
49189         * modules/crypto/gc-des: Moved from ../.
49190         * modules/crypto/gc-des-tests: Moved from ../.
49191         * modules/crypto/gc-hmac-md5: Moved from ../.
49192         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
49193         * modules/crypto/gc-hmac-sha1: Moved from ../.
49194         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
49195         * modules/crypto/gc-md2: Moved from ../.
49196         * modules/crypto/gc-md2-tests: Moved from ../.
49197         * modules/crypto/gc-md4: Moved from ../.
49198         * modules/crypto/gc-md4-tests: Moved from ../.
49199         * modules/crypto/gc-md5: Moved from ../.
49200         * modules/crypto/gc-md5-tests: Moved from ../.
49201         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
49202         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
49203         * modules/crypto/gc-random: Moved from ../.
49204         * modules/crypto/gc-rijndael: Moved from ../.
49205         * modules/crypto/gc-rijndael-tests: Moved from ../.
49206         * modules/crypto/gc-sha1: Moved from ../.
49207         * modules/crypto/gc-sha1-tests: Moved from ../.
49208         * modules/crypto/gc-tests: Moved from ../.
49209         * modules/crypto/hmac-md5: Moved from ../.
49210         * modules/crypto/hmac-md5-tests: Moved from ../.
49211         * modules/crypto/hmac-sha1: Moved from ../.
49212         * modules/crypto/hmac-sha1-tests: Moved from ../.
49213         * modules/crypto/md2: Moved from ../.
49214         * modules/crypto/md2-tests: Moved from ../.
49215         * modules/crypto/md4: Moved from ../.
49216         * modules/crypto/md4-tests: Moved from ../.
49217         * modules/crypto/md5: Moved from ../.
49218         * modules/crypto/md5-tests: Moved from ../.
49219         * modules/crypto/memxor: Moved from ../.
49220         * modules/crypto/rijndael: Moved from ../.
49221         * modules/crypto/rijndael-tests: Moved from ../.
49222         * modules/crypto/sha1: Moved from ../.
49223
49224 2007-03-30  James Youngman  <jay@gnu.org>
49225
49226         * tests/test-stat-time.c (prepare_test): use chmod() rather than
49227         rename() to change the ctime of a file (because ctime is unaffected
49228         by rename on jfs2 on AIX 5.1).
49229         (main): Start by doing cleanup, in case a previous run failed leaving
49230         test files behind.
49231
49232 2007-03-31  Bruno Haible  <bruno@clisp.org>
49233
49234         Support old proprietary implementations of iconv.
49235         * modules/iconv_open: New file.
49236         * lib/iconv_.h: New file.
49237         * m4/iconv_h.m4: New file.
49238         * lib/iconv_open.c: New file.
49239         * lib/iconv_open-aix.gperf: New file.
49240         * lib/iconv_open-hpux.gperf: New file.
49241         * lib/iconv_open-irix.gperf: New file.
49242         * lib/iconv_open-osf.gperf: New file.
49243         * m4/iconv_open.m4: New file.
49244         * modules/linebreak (Depends-on): Add iconv_open.
49245         * modules/striconv (Depends-on): Likewise.
49246         * modules/striconveh (Depends-on): Likewise.
49247         * modules/unicodeio (Depends-on): Likewise.
49248         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
49249         (iconv_t)(-1).
49250         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
49251         conversion if cd is (iconv_t)(-1).
49252         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
49253         is not possible.
49254
49255 2007-03-31  Bruno Haible  <bruno@clisp.org>
49256
49257         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49258         work on Solaris either. Protect also second use of "autodetect_jp".
49259
49260 2007-03-31  Bruno Haible  <bruno@clisp.org>
49261
49262         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
49263         the function is not present.
49264
49265 2007-03-31  Bruno Haible  <bruno@clisp.org>
49266
49267         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
49268         the function is not present.
49269
49270 2007-03-31  Bruno Haible  <bruno@clisp.org>
49271
49272         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
49273         a bug in HP-UX iconv_open().
49274
49275 2007-03-31  Bruno Haible  <bruno@clisp.org>
49276
49277         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
49278         (Mathematics <math.h>): New section, add fpieee.
49279         (Input/output <stdio.h>): Add fseterr.
49280         (Mathematics <math.h>): New section, add printf-frexp.
49281         (Container data structures): Add sublist.
49282         (Core language properties): Add fpucw, inline.
49283         (Functions for greatest-width integer types <inttypes.h>): Add
49284         imaxabs, imaxdiv, inttypes.
49285         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
49286         isnanl-nolibm, ldexp.
49287         (Mathematics <math.h>): New section, add printf-frexpl.
49288         (Support for systems lacking POSIX:2001): Add fprintf-posix,
49289         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
49290         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
49291         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
49292         (Unicode string functions): Add unistr/u*-mbtoucr.
49293         (Java): Add javacomp-script, javaexec-script.
49294         (C#): Add csharpcomp-script, csharpexec-script.
49295         (Support for building libraries and executables): Add havelib,
49296         relocatable-*.
49297         (Support for maintaining and releasing projects): Renamed from
49298         'Support for maintaining and release projects'. Add announce-gen.
49299
49300 2007-03-31  Bruno Haible  <bruno@clisp.org>
49301
49302         * README: Talk primarily about git.
49303         (git and CVS): Renamed from CVS.
49304         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
49305         gnulib is available through git.
49306         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
49307
49308 2007-03-30  Bruno Haible  <bruno@clisp.org>
49309
49310         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
49311         * lib/poll_.h: Likewise.
49312         * lib/stat_.h: Likewise.
49313         * lib/sys_time_.h: Likewise.
49314         * lib/sysexit_.h: Likewise.
49315         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
49316         * lib/stdbool_.h: Likewise.
49317         * lib/byteswap_.h: Add double-inclusion guard.
49318
49319 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
49320
49321         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
49322
49323 2007-03-30  Karl Berry  <karl@gnu.org>
49324
49325         * config/srclist-update: double space after USA in the license
49326         substitution, since that's how it's usually (?) written.
49327
49328 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
49329
49330         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
49331         reported by Bruno Haible.
49332
49333 2007-03-29  Bruno Haible  <bruno@clisp.org>
49334
49335         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
49336         a bug in AIX iconv().
49337
49338 2007-03-29  Bruno Haible  <bruno@clisp.org>
49339
49340         * modules/ldexpl-tests: New file.
49341         * tests/test-ldexpl.c: New file.
49342
49343 2007-03-29  Bruno Haible  <bruno@clisp.org>
49344
49345         * lib/ldexpl.c: Include fpucw.h.
49346         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
49347         multiplication.
49348         * modules/ldexpl (Depends-on): Add fpucw.
49349
49350 2007-03-29  Bruno Haible  <bruno@clisp.org>
49351
49352         * modules/ldexpl: New file.
49353         * m4/ldexpl.m4: New file.
49354         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
49355         set.
49356         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
49357         REPLACE_LDEXPL.
49358         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
49359         REPLACE_LDEXPL.
49360         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49361         gl_FUNC_LDEXPL_WORKS.
49362         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
49363         * modules/mathl (Files): Remove lib/ldexpl.c.
49364         (Depends-on): Add ldexpl.
49365
49366 2007-03-29  Bruno Haible  <bruno@clisp.org>
49367
49368         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
49369
49370 2007-03-29  Bruno Haible  <bruno@clisp.org>
49371
49372         * tests/test-striconveh.c (main): Don't assume that a direct conversion
49373         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
49374         and possibly also HP-UX.
49375         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49376         work on AIX, IRIX, HP-UX, OSF/1.
49377         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
49378         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
49379         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
49380         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
49381         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
49382         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
49383
49384 2007-03-29  Bruno Haible  <bruno@clisp.org>
49385
49386         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
49387
49388 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49389
49390         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
49391         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
49392
49393 2007-03-29  Eric Blake  <ebb9@byu.net>
49394
49395         * lib/acl-internal.h: Remove redundant include.
49396         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
49397         Cygwin when a file is locked.
49398
49399 2007-03-29  Bruno Haible  <bruno@clisp.org>
49400
49401         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
49402         file.
49403         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
49404
49405 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49406
49407         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
49408         try to remove a parent directory if the child couldn't be removed
49409         (except for the first rmdir, which could fail because the child
49410         doesn't exist).  Problem reported by Jeff Blaine in
49411         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
49412
49413 2007-03-28  Bruno Haible  <bruno@clisp.org>
49414
49415         * lib/striconveh.c (utf8conv_carefully): New function.
49416         (mem_cd_iconveh_internal): Invoke it.
49417
49418 2007-03-28  Bruno Haible  <bruno@clisp.org>
49419
49420         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
49421         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
49422         input.
49423         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
49424         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
49425         unistr/u8-uctomb.
49426
49427 2007-03-28  Bruno Haible  <bruno@clisp.org>
49428
49429         * modules/unistr/u8-mbtoucr: New file.
49430         * lib/unistr/u8-mbtoucr.c: New file.
49431         * modules/unistr/u16-mbtoucr: New file.
49432         * lib/unistr/u16-mbtoucr.c: New file.
49433         * modules/unistr/u16-mbtoucr: New file.
49434         * lib/unistr/u16-mbtoucr.c: New file.
49435         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
49436
49437 2007-03-27  Simon Josefsson  <simon@josefsson.org>
49438             Bruno Haible  <bruno@clisp.org>
49439
49440         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
49441         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
49442         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
49443
49444         * m4/stdio_h.m4: Add stubs for vasprintf too.
49445
49446         * modules/stdio: Support vasprintf in sed command.
49447
49448         * modules/vasprintf: Depend on stdio for prototypes.  Remove
49449         vasprintf.h.  Add stdio module indicator.
49450
49451         * lib/stdio_.h: Declare asprintf and vasprintf, based on
49452         vasprintf.h.
49453
49454         * lib/vasprintf.h: File removed.
49455
49456         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
49457         * lib/vasprintf.c: Ditto.
49458         * lib/xvasprintf.c: Ditto.
49459         * tests/test-vasprintf-posix.c: Ditto.
49460         * tests/test-vasprintf.c: Ditto.
49461
49462 2007-03-27  Bruno Haible  <bruno@clisp.org>
49463
49464         Make vasnprintf multithread-safe.
49465         * lib/vasnprintf.c (decimal_point_char): New function.
49466         (VASNPRINTF): Use it.
49467         Suggested by Simon Josefsson.
49468
49469 2007-03-27  Eric Blake  <ebb9@byu.net>
49470
49471         Support sub-second birthtime on cygwin.
49472         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
49473         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
49474         (get_stat_birthtime): Also work with st_birthtim.
49475
49476 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
49477
49478         * lib/stat-time.h (USE_BIRTHTIME): Remove.
49479         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
49480         (get_stat_birthtime_ns): Do not try to use "spare" fields.
49481         (get_stat_birthtime_ns): Simplify compile-time tests.
49482         (get_stat_birthtime): Change the API to look like
49483         get_stat_mtime etc., except return a negative tv_nsec on error.
49484         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
49485         Don't check for "spare" fields.
49486         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
49487         or for struct stat.st_birthtime, as these tests aren't used.
49488         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
49489
49490 2007-03-27  Bruno Haible  <bruno@clisp.org>
49491
49492         * lib/stat-time.h: Include <sys/stat.h>.
49493
49494 2007-03-27  James Youngman  <jay@gnu.org>
49495
49496         * lib/stat-time.h (get_stat_birthtime): New function for
49497           retrieving st_birthtime as provided by UFS2 (hence *BSD).
49498         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
49499           and its variants.
49500         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
49501         * modules/stat-time-test: New file.
49502         * tests/test-stat-time.c: New test, devised by Bruno Haible.
49503
49504 2007-03-26  Bruno Haible  <bruno@clisp.org>
49505
49506         Better support of signalling NaNs.
49507         * lib/atanl.c: Include isnanl.h.
49508         (atanl): Perform test for NaN at the beginning of the function and
49509         through a call to isnanl.
49510         * lib/cosl.c: Include isnanl.h.
49511         (cosl): Perform test for NaN at the beginning of the function and
49512         through a call to isnanl.
49513         * lib/ldexpl.c: Include isnanl.h.
49514         (ldexpl): Perform test for NaN through a call to isnanl.
49515         * lib/logl.c: Include isnanl.h.
49516         (logl): Perform test for NaN at the beginning of the function and
49517         through a call to isnanl.
49518         * lib/sinl.c: Include isnanl.h.
49519         (sinl): Perform test for NaN at the beginning of the function and
49520         through a call to isnanl.
49521         * lib/sqrtl.c: Include isnanl.h.
49522         (sqrtl): Perform test for NaN at the beginning of the function and
49523         through a call to isnanl.
49524         * lib/tanl.c: Include isnanl.h.
49525         (tanl): Perform test for NaN at the beginning of the function and
49526         through a call to isnanl.
49527         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
49528         * modules/mathl (Depends-on): Add isnanl.
49529
49530 2007-03-26  Eric Blake  <ebb9@byu.net>
49531
49532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
49533         regression in logic sense of previous patch.
49534
49535 2007-03-26  Bruno Haible  <bruno@clisp.org>
49536
49537         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
49538         unportable shell command "if ! ...".
49539         Reported by Ralf Wildenhues.
49540
49541 2007-03-25  Bruno Haible  <bruno@clisp.org>
49542
49543         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
49544         <sysexits.h> file, and only add EX_CONFIG.
49545         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
49546         absolute file name and whether it is sufficient. Substitute also
49547         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
49548         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
49549         ABSOLUTE_SYSEXITS_H into sysexits.h.
49550
49551 2007-03-25  Bruno Haible  <bruno@clisp.org>
49552
49553         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
49554         hints is NULL.
49555
49556 2007-03-25  Bruno Haible  <bruno@clisp.org>
49557
49558         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
49559         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
49560
49561 2007-03-25  Bruno Haible  <bruno@clisp.org>
49562
49563         * lib/vasnprintf.c: Include langinfo.h.
49564         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
49565         multithread-safe.
49566         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
49567         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
49568         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49569         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49570         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49571         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49572         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49573         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
49574         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49575         Reported by Simon Josefsson.
49576
49577 2007-03-25  Bruno Haible  <bruno@clisp.org>
49578
49579         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
49580         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
49581         * modules/vasnprintf (Depends-on): Add stdint.
49582
49583 2007-03-25  Bruno Haible  <bruno@clisp.org>
49584
49585         * modules/fpieee: New file.
49586         * m4/fpieee.m4: New file.
49587         * modules/isnan-nolibm (Depends-on): Add fpieee.
49588         * modules/isnanl-nolibm (Depends-on): Add fpieee.
49589         * modules/isnanl (Depends-on): Add fpieee.
49590
49591 2007-03-25  Bruno Haible  <bruno@clisp.org>
49592
49593         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
49594
49595 2007-03-25  Bruno Haible  <bruno@clisp.org>
49596
49597         Avoid test failures on IRIX 6.5.
49598         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
49599         (main): Use it.
49600         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
49601         macros.
49602         (main): Use them.
49603
49604 2007-03-25  Bruno Haible  <bruno@clisp.org>
49605
49606         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
49607         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
49608         exists but doesn't work.
49609         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
49610         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
49611         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
49612         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
49613
49614 2007-03-25  Bruno Haible  <bruno@clisp.org>
49615
49616         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
49617         returns inf. Needed on IRIX 6.5.
49618
49619 2007-03-25  Bruno Haible  <bruno@clisp.org>
49620
49621         * tests/test-frexpl.c: Include isnanl-nolibm.h.
49622         (main): Use isnanl instead of x != x idiom.
49623         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
49624
49625         * tests/test-frexp.c: Include isnan.h.
49626         (main): Use isnan instead of x != x idiom.
49627         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
49628
49629 2007-03-25  Bruno Haible  <bruno@clisp.org>
49630
49631         * tests/test-frexp.c (NaN): New function/macro.
49632         (main): Use it instead of 0.0 / 0.0.
49633         * tests/test-isnan.c (NaN): New function/macro.
49634         (main): Use it instead of 0.0 / 0.0.
49635         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
49636         (test_function): Use it instead of 0.0 / 0.0.
49637         * tests/test-vasprintf-posix.c (NaN): New function/macro.
49638         (test_function): Use it instead of 0.0 / 0.0.
49639         * tests/test-snprintf-posix.h (NaN): New function/macro.
49640         (test_function): Use it instead of 0.0 / 0.0.
49641         * tests/test-sprintf-posix.h (NaN): New function/macro.
49642         (test_function): Use it instead of 0.0 / 0.0.
49643         * tests/test-fprintf-posix.h (NaN): New function/macro.
49644         (test_function): Use it instead of 0.0 / 0.0.
49645         * tests/test-printf-posix.h (NaN): New function/macro.
49646         (test_function): Use it instead of 0.0 / 0.0.
49647
49648         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
49649
49650 2007-03-25  Bruno Haible  <bruno@clisp.org>
49651
49652         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
49653
49654 2007-03-25  Bruno Haible  <bruno@clisp.org>
49655
49656         * lib/regexec.c (merge_state_with_log): Make static.
49657
49658 2007-03-25  Bruno Haible  <bruno@clisp.org>
49659
49660         * lib/trigl.c (kernel_rem_pio2): Make static.
49661
49662 2007-03-25  Bruno Haible  <bruno@clisp.org>
49663
49664         * lib/sincosl.c (sincosl_table): Make static.
49665
49666 2007-03-25  Bruno Haible  <bruno@clisp.org>
49667
49668         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
49669         if the compiler does not support C99.
49670
49671 2007-03-25  Bruno Haible  <bruno@clisp.org>
49672
49673         * modules/time (Makefile.am): Ensure all rule action lines start with a
49674         tab.
49675
49676 2007-03-24  Bruno Haible  <bruno@clisp.org>
49677
49678         * modules/tsearch-tests: New file.
49679         * tests/test-tsearch.sh: New file.
49680         * tests/test-tsearch.c: New file, mostly copied from glibc.
49681
49682         * modules/search-tests: New file.
49683         * tests/test-search.c: New file.
49684
49685         * modules/search: New file.
49686         * lib/search_.h: New file, incorporating lib/tsearch.h.
49687         * m4/search_h.m4: New file.
49688         * lib/tsearch.h: Remove file.
49689         * lib/tsearch.c: Include search.h instead of tsearch.h.
49690         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49691         HAVE_TSEARCH.
49692         * modules/tsearch (Files): Remove lib/tsearch.h.
49693         (Depends-on): Add search.
49694         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49695         (Include): Change tsearch.h into search.h.
49696
49697 2007-03-24  Bruno Haible  <bruno@clisp.org>
49698
49699         * modules/fpucw: New file.
49700         * lib/fpucw.h: New file.
49701         * lib/frexp.c: Include fpucw.h.
49702         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49703         (FUNC): Use them.
49704         * lib/printf-frexp.c: Include fpucw.h.
49705         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49706         (FUNC): Use them.
49707         * lib/vasnprintf.c: Include fpucw.h.
49708         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49709         'long double' calculations.
49710         * tests/test-frexpl.c: Include fpucw.h.
49711         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49712         * tests/test-printf-frexpl.c: Include fpucw.h.
49713         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49714         * modules/frexpl (Depends-on): Add fpucw.
49715         * modules/printf-frexpl (Depends-on): Likewise.
49716         * modules/fprintf-posix (Depends-on): Likewise.
49717         * modules/snprintf-posix (Depends-on): Likewise.
49718         * modules/sprintf-posix (Depends-on): Likewise.
49719         * modules/vasnprintf-posix (Depends-on): Likewise.
49720         * modules/vasprintf-posix (Depends-on): Likewise.
49721         * modules/vfprintf-posix (Depends-on): Likewise.
49722         * modules/vsnprintf-posix (Depends-on): Likewise.
49723         * modules/vsprintf-posix (Depends-on): Likewise.
49724         * modules/frexpl-tests (Depends-on): Likewise.
49725         * modules/printf-frexpl-tests (Depends-on): Likewise.
49726
49727 2007-03-24  Bruno Haible  <bruno@clisp.org>
49728
49729         * lib/float+.h: New file.
49730         * lib/isnan.c: Include float+.h.
49731         (SIZE): New macro.
49732         (FUNC): Compare only SIZE bytes of the value.
49733         * lib/vasnprintf.c: Include float+.h.
49734         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49735         SIZEOF_LDBL or SIZEOF_DBL bytes.
49736         * modules/isnan-nolibm (Files): Add lib/float+.h.
49737         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49738         * modules/isnanl (Files): Add lib/float+.h.
49739         * modules/vasnprintf (Files): Add lib/float+.h.
49740
49741 2007-03-24  Bruno Haible  <bruno@clisp.org>
49742
49743         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49744         include isnanl-nolibm.h.
49745
49746 2007-03-24  Bruno Haible  <bruno@clisp.org>
49747
49748         * tests/test-read-file.c (main): Don't produce spurious output for
49749         expected situations. Make the test fail if it encountered unexpected
49750         results.
49751
49752 2007-03-24  Bruno Haible  <bruno@clisp.org>
49753
49754         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49755         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49756
49757 2007-03-24  Bruno Haible  <bruno@clisp.org>
49758
49759         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49760
49761 2007-03-24  Bruno Haible  <bruno@clisp.org>
49762
49763         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49764         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49765
49766         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49767         * modules/utf8-ucs4: Turn into a symbolic link to module
49768         unistr/u8-mbtouc.
49769
49770         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49771         utf8-ucs4-unsafe.
49772         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49773         unistr/u8-mbtouc-unsafe.
49774
49775         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49776         * modules/utf16-ucs4: Turn into a symbolic link to module
49777         unistr/u16-mbtouc.
49778
49779         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49780         utf16-ucs4-unsafe.
49781         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49782         unistr/u16-mbtouc-unsafe.
49783
49784         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49785         * modules/ucs4-utf8: Turn into a symbolic link to module
49786         unistr/u8-ubtomb.
49787
49788         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49789         * modules/ucs4-utf16: Turn into a symbolic link to module
49790         unistr/u16-ubtomb.
49791
49792 2007-03-24  Bruno Haible  <bruno@clisp.org>
49793
49794         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49795         Enable the function only if HAVE_INLINE.
49796         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49797         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49798         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49799         Enable the function only if HAVE_INLINE.
49800         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49801         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49802         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49803         Enable the function only if HAVE_INLINE.
49804         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49805         Enable the function only if HAVE_INLINE.
49806         * modules/utf8-ucs4: Update.
49807         * modules/utf8-ucs4-unsafe: Update.
49808         * modules/utf16-ucs4: Update.
49809         * modules/utf16-ucs4-unsafe: Update.
49810         * modules/ucs4-utf8: Update.
49811         * modules/ucs4-utf16: Update.
49812
49813 2007-03-24  Bruno Haible  <bruno@clisp.org>
49814
49815         * lib/utf8-ucs4.h: Remove file.
49816         * lib/utf8-ucs4-unsafe.h: Remove file.
49817         * lib/utf16-ucs4.h: Remove file.
49818         * lib/utf16-ucs4-unsafe.h: Remove file.
49819         * lib/ucs4-utf8.h: Remove file.
49820         * lib/ucs4-utf16.h: Remove file.
49821         * lib/unistr.h: Include their previous contents.
49822         * m4/utf-ucs4.m4: Remove file.
49823         * m4/ucs4-utf.m4: Remove file.
49824         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.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/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.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 (Files): Remove lib/utf16-ucs4.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/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49840         (Depends-on): Add unistr/base.
49841         (configure.ac): Remove gl_UTF_UCS4.
49842         (Makefile.am): Update.
49843         (Include): Change to unistr.h.
49844         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.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         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49850         (Depends-on): Add unistr/base.
49851         (configure.ac): Remove gl_UCS4_UTF.
49852         (Makefile.am): Update.
49853         (Include): Change to unistr.h.
49854         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49855         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49856         utf8-ucs4-unsafe.h.
49857         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49858         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49859         utf16-ucs4-unsafe.h.
49860         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49861         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49862         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49863         * lib/unistr/u8-strchr.c: Likewise.
49864         * lib/unistr/u8-strrchr.c: Likewise.
49865         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49866         * lib/unistr/u16-strchr.c: Likewise.
49867         * lib/unistr/u16-strrchr.c: Likewise.
49868         * lib/striconveh.c: Update.
49869         * lib/linebreak.c: Update.
49870
49871 2007-03-24  Bruno Haible  <bruno@clisp.org>
49872
49873         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49874         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49875
49876 2007-03-22  Bruno Haible  <bruno@clisp.org>
49877
49878         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49879
49880 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49881
49882         * MODULES.html.sh (File system functions): New module write-any-file.
49883         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49884         * m4/write-any-file.m4: New files.
49885
49886 2007-03-23  Eric Blake  <ebb9@byu.net>
49887
49888         * gnulib-tool: Rearrange space-tab sequences, since some editors
49889         like to eat them.
49890
49891 2007-03-23  Eric Blake  <ebb9@byu.net>
49892
49893         * lib/version-etc.c (version_etc_va): Update license wording to
49894         be more concise.  Recommended by Richard Stallman.
49895
49896 2007-03-22  Bruno Haible  <bruno@clisp.org>
49897
49898         * lib/poll.c (MSG_PEEK): New fallback definition.
49899
49900 2007-03-22  Bruno Haible  <bruno@clisp.org>
49901
49902         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49903         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49904         (main): Update.
49905         Fixes a compilation error on BeOS.
49906
49907 2007-03-22  Bruno Haible  <bruno@clisp.org>
49908
49909         * modules/frexpl-tests: New file.
49910         * tests/test-frexpl.c: New file.
49911
49912         * modules/frexpl: New file.
49913         * m4/frexpl.m4: New file.
49914         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49915         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49917         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49918         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49919         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49920
49921 2007-03-22  Bruno Haible  <bruno@clisp.org>
49922
49923         * lib/frexpl.c: Share code with lib/frexp.c.
49924         * modules/mathl (Files): Add lib/frexp.c.
49925         (Depends-on): Add isnanl-nolibm.
49926
49927 2007-03-22  Bruno Haible  <bruno@clisp.org>
49928
49929         * modules/printf-frexp (Files): Add m4/frexp.m4.
49930         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
49931         only if the found frexp function actually works.
49932
49933 2007-03-22  Bruno Haible  <bruno@clisp.org>
49934
49935         * lib/frexp.c: Remove older implementation that uses divisions.
49936
49937 2007-03-21  Bruno Haible  <bruno@clisp.org>
49938
49939         * modules/frexp-tests: New file.
49940         * tests/test-frexp.c: New file.
49941
49942         * modules/frexp: New file.
49943         * lib/frexp.c: New file.
49944         * m4/frexp.m4: New file.
49945         * lib/math_.h (frexp): New declaration.
49946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
49947         REPLACE_FREXP.
49948         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
49949
49950 2007-03-21  Bruno Haible  <bruno@clisp.org>
49951
49952         * modules/isnanl-tests: New file.
49953         * tests/test-isnanl.c: New file.
49954
49955         * modules/isnanl: New file.
49956         * lib/isnanl.h: New file.
49957         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
49958         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
49959         gl_FUNC_ISNANL_WORKS.
49960         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
49961         New macros.
49962
49963 2007-03-21  Bruno Haible  <bruno@clisp.org>
49964
49965         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
49966         lib/isnanl.h.
49967         (Include): Update.
49968         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
49969         * lib/vasnprintf.c: Update.
49970         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
49971         tests/test-isnanl.h, remove tests/test-isnanl.c.
49972         (Makefile.am): Update.
49973         * tests/test-isnanl-nolibm.c: New file.
49974         * tests/test-isnanl.h: New file.
49975         * tests/test-isnanl.c: Remove file.
49976
49977 2007-03-21  Jim Meyering  <jim@meyering.net>
49978
49979         When trying to open ".", treat ESTALE like EACCES.
49980         * lib/savewd.c (savewd_save): Resort to forking not just upon
49981         failure with EACCES, but also when errno is ESTALE.
49982
49983 2007-03-20  Bruno Haible  <bruno@clisp.org>
49984
49985         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
49986         Needed on AIX 5.1. Reported by Matthew Woehlke.
49987
49988 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49989
49990         Suggestions by Bruno Haible:
49991         * lib/acl-internal.h: Include "gettext.h" rather than rolling
49992         our own.
49993         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
49994         * modules/acl (Depends-on): Add gettext.
49995
49996 2007-03-19  Bruno Haible  <bruno@clisp.org>
49997
49998         * modules/iconvme: Remove file.
49999         * lib/iconvme.h: Remove file.
50000         * lib/iconvme.c: Remove file.
50001         * m4/iconvme.m4: Remove file.
50002
50003 2007-03-19  Bruno Haible  <bruno@clisp.org>
50004
50005         * doc/relocatable-maint.texi: Break long shell script line.
50006         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50007
50008 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50009
50010         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
50011         handle file_has_acl.
50012         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
50013         * lib/acl.c: Move header inclusions and related macro defns into
50014         lib/acl-internal.h.
50015         (S_ISLNK): Remove defn, since that's now done for us.
50016         (file_has_acl): Move to lib/file-has-acl.c.
50017         Call acl_trivial if available.  This is the crucial part of the fix.
50018         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
50019         shared within the library.  Rewrite a bit, partly to make it compatible
50020         with the GNU coding style.
50021         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
50022         Remove unnecessary double-quotes.
50023         Don't test for acl_to_text; the build will catch that.
50024         Replace acl_entries if it doesn't exist and it is needed.
50025         Check for -lsec and acl_trivial (as used on Solaris 10).
50026         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
50027         lib/file-has-acl.c.
50028         (Depends-on): Add sys_stat, for S_ISLNK.
50029
50030 2007-03-19  Ben Pfaff  <blp@gnu.org>
50031
50032         * doc/gnulib.texi: Fix typos.
50033         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50034
50035 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50036
50037         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
50038         If size is zero here, buf must be zero.
50039
50040 2007-03-19  Simon Josefsson  <simon@josefsson.org>
50041
50042         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
50043         <bruno@clisp.org>.
50044
50045 2007-03-18  Bruno Haible  <bruno@clisp.org>
50046
50047         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
50048         Suggested by Eric Blake.
50049
50050 2007-03-18  Ben Pfaff  <blp@gnu.org>
50051
50052         * doc/relocatable.texi: Recommend using as prefix a directory
50053         that does not exist and will never be created.  Based on
50054         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
50055         and others.
50056
50057 2007-03-17  Bruno Haible  <bruno@clisp.org>
50058
50059         * lib/fchownat.c: Include lchown.h.
50060
50061 2007-03-17  Bruno Haible  <bruno@clisp.org>
50062
50063         Fix endless loop when the given allocated size was > INT_MAX.
50064         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
50065         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
50066         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
50067         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
50068         * lib/sprintf.c (sprintf): Likewise.
50069
50070 2007-03-17  Bruno Haible  <bruno@clisp.org>
50071
50072         * tests/test-argp-2.sh (func_compare): Output a context diff.
50073
50074 2007-03-17  Bruno Haible  <bruno@clisp.org>
50075
50076         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
50077         locale's decimal-point character.
50078
50079 2007-03-17  Bruno Haible  <bruno@clisp.org>
50080
50081         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
50082         before comparing it. Needed because on some platforms (e.g. x86) a
50083         'long double' occupies less bytes than sizeof (long double).
50084
50085 2007-03-17  Bruno Haible  <bruno@clisp.org>
50086
50087         * tests/test-crc.c (main): Make printf statements 64-bit clean.
50088         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
50089         * tests/test-getaddrinfo.c (simple): Likewise.
50090         * tests/test-read-file.c (main): Likewise.
50091
50092 2007-03-17  Bruno Haible  <bruno@clisp.org>
50093
50094         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
50095
50096 2007-03-17  Bruno Haible  <bruno@clisp.org>
50097
50098         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
50099         unused variable.
50100
50101 2007-03-17  Bruno Haible  <bruno@clisp.org>
50102
50103         * tests/test-c-strcasecmp.c: Include c-strcase.h.
50104         * tests/test-c-strncasecmp.c: Likewise.
50105
50106 2007-03-17  Bruno Haible  <bruno@clisp.org>
50107
50108         * modules/stdlib (Depends-on): Add unistd.
50109         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
50110         Needed for MacOS X 10.3.
50111
50112 2007-03-17  Bruno Haible  <bruno@clisp.org>
50113
50114         * lib/unistr/u-strdup.h: Include <stdlib.h>.
50115
50116 2007-03-17  Bruno Haible  <bruno@clisp.org>
50117
50118         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
50119
50120 2007-03-17  Bruno Haible  <bruno@clisp.org>
50121
50122         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
50123         to reflect files copied from gnulib (with or without modifications).
50124         Suggested by Jim Meyering.
50125
50126 2007-03-17  Eric Blake  <ebb9@byu.net>
50127
50128         * NEWS: Document stdlib change from 2007-02-18.
50129
50130 2007-03-17  Jim Meyering  <jim@meyering.net>
50131
50132         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
50133         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
50134         someone uses a name containing shell meta-characters.
50135         Reported by Alfred M. Szmidt.
50136
50137         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
50138
50139 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50140
50141         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
50142         and copy gettext configuration files only if configure.ac contains
50143         a use of AM_GNU_GETTEXT_VERSION.
50144
50145 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50146
50147         * build-aux/bootstrap (gnulib_name): New variable.
50148         (gnulib_tool_options): Use it.
50149
50150 2007-03-13  Simon Josefsson  <simon@josefsson.org>
50151
50152         * tests/test-des.c: Use new namespace.
50153
50154 2007-03-15  Bruno Haible  <bruno@clisp.org>
50155
50156         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
50157         Reported by James Youngman <jay@gnu.org>.
50158
50159 2007-03-15  Bruno Haible  <bruno@clisp.org>
50160
50161         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
50162         declared prototype. Needed with cc on OSF/1 5.1.
50163
50164 2007-03-15  Bruno Haible  <bruno@clisp.org>
50165
50166         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
50167         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
50168         (struct gl_list_implementation): Add dispose_fn argument to the
50169         'create_empty', 'create' methods.
50170         (struct gl_list_impl_base): Add field 'dispose_fn'.
50171         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
50172         argument.
50173         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
50174         dispose_fn argument.
50175         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
50176         dispose_fn on the dropped values.
50177         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
50178         dispose_fn argument.
50179         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
50180         dropped values.
50181         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
50182         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50183         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
50184         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50185         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
50186         argument.
50187         (gl_tree_list_free): Call dispose_fn on the dropped values.
50188         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
50189         the dropped values.
50190         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50191         Add dispose_fn argument.
50192         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
50193         Call dispose_fn on the dropped values.
50194         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
50195         Add dispose_fn argument.
50196         (gl_sublist_create): Initialize the 'dispose_fn' field.
50197         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
50198         * tests/test-array_list.c (main): Update.
50199         * tests/test-carray_list.c (main): Update.
50200         * tests/test-avltree_list.c (main): Update.
50201         * tests/test-rbtree_list.c (main): Update.
50202         * tests/test-avltreehash_list.c (main): Update.
50203         * tests/test-rbtreehash_list.c (main): Update.
50204         * tests/test-linked_list.c (main): Update.
50205         * tests/test-linkedhash_list.c (main): Update.
50206         * tests/test-array_oset.c (main): Update.
50207
50208 2007-03-15  Bruno Haible  <bruno@clisp.org>
50209
50210         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
50211         (gl_oset_create_empty): Add dispose_fn argument.
50212         (struct gl_oset_implementation): Add dispose_fn argument to
50213         'create_empty' method.
50214         (struct gl_oset_impl_base): Add dispose_fn field.
50215         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
50216         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
50217         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
50218         values.
50219         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
50220         (gl_tree_oset_free): Call dispose_fn on the dropped values.
50221         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50222         dropped value.
50223         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50224         dropped value.
50225         * tests/test-array_oset.c (main): Update.
50226         * tests/test-avltree_oset.c (main): Update.
50227         * tests/test-rbtree_oset.c (main): Update.
50228         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
50229
50230 2007-03-13  Bruno Haible  <bruno@clisp.org>
50231
50232         * tests/test-stdbool.c (i): Update after last patch.
50233
50234 2007-03-12  Bruno Haible  <bruno@clisp.org>
50235
50236         * lib/quotearg.c: Include <wctype.h> early, before the definition of
50237         the iswprint macro. Needed on Solaris 2.5.1.
50238
50239 2007-03-12  Bruno Haible  <bruno@clisp.org>
50240
50241         * tests/test-printf-frexp.c (main): Declare x as volatile.
50242
50243 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50244
50245         * doc/gnulib.texi (Build robot for gnulib): New section.
50246
50247 2007-03-12  Jim Meyering  <jim@meyering.net>
50248
50249         * build-aux/bootstrap: New file.
50250         * build-aux/bootstrap.conf: New file, from coreutils.
50251
50252 2007-03-11  Bruno Haible  <bruno@clisp.org>
50253
50254         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
50255
50256 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50257
50258         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
50259         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
50260         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
50261
50262 2007-03-11  Bruno Haible  <bruno@clisp.org>
50263
50264         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
50265         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
50266
50267 2007-03-11  Bruno Haible  <bruno@clisp.org>
50268
50269         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
50270         formula. Needed for SunPRO C 5.0.
50271
50272 2007-03-11  Bruno Haible  <bruno@clisp.org>
50273
50274         * modules/long-options (Depends-on): Add getopt.
50275
50276 2007-03-11  Bruno Haible  <bruno@clisp.org>
50277
50278         * modules/modechange (Depends-on): Add stdbool.
50279
50280 2007-03-11  Bruno Haible  <bruno@clisp.org>
50281
50282         * modules/i-ring (Depends-on): Add stdbool.
50283
50284 2007-03-11  Bruno Haible  <bruno@clisp.org>
50285
50286         * modules/gc-des (Depends-on): Add stdbool.
50287
50288 2007-03-11  Bruno Haible  <bruno@clisp.org>
50289
50290         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
50291
50292 2007-03-11  Bruno Haible  <bruno@clisp.org>
50293
50294         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
50295
50296 2007-03-11  Bruno Haible  <bruno@clisp.org>
50297
50298         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
50299
50300 2007-03-11  Bruno Haible  <bruno@clisp.org>
50301
50302         * lib/vasnprintf.c (sprintf): Undefine.
50303
50304 2007-03-11  Bruno Haible  <bruno@clisp.org>
50305
50306         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
50307         initializers in SunPRO C and Compaq C compilers.
50308
50309 2007-03-11  Bruno Haible  <bruno@clisp.org>
50310
50311         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
50312         decrementing code ANSI C compliant.
50313
50314 2007-03-11  Bruno Haible  <bruno@clisp.org>
50315
50316         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
50317         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
50318
50319 2007-03-11  Bruno Haible  <bruno@clisp.org>
50320
50321         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
50322         <stdbool.h> substitute doesn't pass.
50323
50324 2007-03-11  Bruno Haible  <bruno@clisp.org>
50325
50326         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
50327
50328 2007-03-11  Bruno Haible  <bruno@clisp.org>
50329
50330         * gnulib-tool (func_create_megatestdir): Create also an autobuild
50331         script, for submission to autobuild.josefsson.org.
50332
50333 2007-03-10  Bruno Haible  <bruno@clisp.org>
50334
50335         * modules/canonicalize-lgpl-tests: New file.
50336         * tests/test-canonicalize-lgpl.sh: New file.
50337         * tests/test-canonicalize-lgpl.c: New file.
50338
50339         * modules/c-strcase-tests: New file.
50340         * tests/test-c-strcase.sh: New file.
50341         * tests/test-c-strcasecmp.c: New file.
50342         * tests/test-c-strncasecmp.c: New file.
50343
50344         * modules/atexit-tests: New file.
50345         * tests/test-atexit.sh: New file.
50346         * tests/test-atexit.c: New file.
50347
50348 2007-03-10  Bruno Haible  <bruno@clisp.org>
50349
50350         * tests/test-binary-io.sh: Use temporary filenames that are not so
50351         likely to clash with those of other tests (in a parallel make).
50352         * tests/test-binary-io.c: Likewise.
50353
50354 2007-03-10  Bruno Haible  <bruno@clisp.org>
50355
50356         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
50357         fallback; use #error instead.
50358         Suggested by Simon Josefsson.
50359
50360 2007-03-10  Bruno Haible  <bruno@clisp.org>
50361
50362         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
50363         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
50364         first and the last.
50365
50366 2007-03-10  Bruno Haible  <bruno@clisp.org>
50367
50368         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
50369
50370 2007-03-10  Bruno Haible  <bruno@clisp.org>
50371
50372         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
50373         "make distcheck".
50374         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
50375         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
50376         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
50377
50378 2007-03-10  Bruno Haible  <bruno@clisp.org>
50379
50380         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
50381         variable.
50382         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
50383         variable.
50384
50385 2007-03-09  Eric Blake  <ebb9@byu.net>
50386         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
50387
50388         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
50389         types are not being provided by gnulib.
50390         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
50391         types are supported.
50392
50393 2007-03-10  Bruno Haible  <bruno@clisp.org>
50394
50395         * lib/stdio_.h (__attribute__): New macro.
50396         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
50397         vsprintf): Specify __attribute__ __format__ for GCC.
50398         Suggested by Eric Blake.
50399
50400 2007-03-09  Bruno Haible  <bruno@clisp.org>
50401
50402         * modules/printf-posix-tests: New file.
50403         * tests/test-printf-posix.sh: New file.
50404         * tests/test-printf-posix.c: New file.
50405
50406         * modules/printf-posix: New file.
50407         * lib/printf.c: New file.
50408         * m4/printf-posix-rpl.m4: New file.
50409         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
50410         REPLACE_PRINTF.
50411         * lib/stdio_.h (printf): New declaration.
50412         (format, __format__, ____printf____, ____scanf____, ____strftime____,
50413         ____strfmon____): New macros.
50414         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
50415         REPLACE_PRINTF.
50416
50417 2007-03-09  Bruno Haible  <bruno@clisp.org>
50418
50419         * tests/test-vasnprintf-posix2.sh: New file.
50420         * tests/test-vasnprintf-posix2.c: New file.
50421         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
50422         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50423         (Makefile.am): Activate test-vasnprintf-posix2.sh.
50424
50425         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
50426         a locale dependent decimal point, rather than always '.'.
50427
50428 2007-03-09  Eric Blake  <ebb9@byu.net>
50429
50430         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
50431         spite of platforms like Tandem/NSK that define it to -1.
50432
50433 2007-03-08  Bruno Haible  <bruno@clisp.org>
50434
50435         * modules/vprintf-posix-tests: New file.
50436         * tests/test-vprintf-posix.sh: New file.
50437         * tests/test-vprintf-posix.c: New file.
50438         * tests/test-printf-posix.h: New file.
50439
50440         * modules/vprintf-posix: New file.
50441         * lib/vprintf.c: New file.
50442         * m4/vprintf-posix.m4: New file.
50443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
50444         REPLACE_VPRINTF.
50445         * lib/stdio_.h (vprintf): New declaration.
50446         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
50447         REPLACE_VPRINTF.
50448
50449 2007-03-08  Bruno Haible  <bruno@clisp.org>
50450
50451         * modules/fprintf-posix-tests: New file.
50452         * tests/test-fprintf-posix.sh: New file.
50453         * tests/test-fprintf-posix.c: New file.
50454
50455         * modules/fprintf-posix: New file.
50456         * lib/fprintf.c: New file.
50457         * m4/fprintf-posix.m4: New file.
50458         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
50459         REPLACE_FPRINTF.
50460         * lib/stdio_.h (fprintf): New declaration.
50461         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
50462         REPLACE_FPRINTF.
50463
50464 2007-03-08  Bruno Haible  <bruno@clisp.org>
50465
50466         * modules/vfprintf-posix-tests: New file.
50467         * tests/test-vfprintf-posix.sh: New file.
50468         * tests/test-vfprintf-posix.c: New file.
50469         * tests/test-fprintf-posix.h: New file.
50470         * tests/test-fprintf-posix.out: New file.
50471
50472         * modules/vfprintf-posix: New file.
50473         * lib/vfprintf.c: New file.
50474         * m4/vfprintf-posix.m4: New file.
50475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
50476         REPLACE_VFPRINTF.
50477         * lib/stdio_.h (vfprintf): New declaration.
50478         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
50479         REPLACE_VFPRINTF.
50480
50481 2007-03-08  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
50484
50485 2007-03-08  Bruno Haible  <bruno@clisp.org>
50486
50487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
50488         instead of 'expr' invocations.
50489         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50490         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50491         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50493         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50494         Suggested by Paul Eggert.
50495
50496 2007-03-08  Bruno Haible  <bruno@clisp.org>
50497
50498         * modules/fseterr-tests: New file.
50499         * tests/test-fseterr.c: New file.
50500
50501         * modules/fseterr: New file.
50502         * lib/fseterr.h: New file.
50503         * lib/fseterr.c: New file.
50504
50505 2007-03-08  Bruno Haible  <bruno@clisp.org>
50506
50507         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
50508         * lib/getopt_.h: Likewise.
50509         * lib/mbswidth.h: Likewise.
50510         * lib/setenv.h: Likewise.
50511         * lib/vasnprintf.h: Likewise.
50512         * lib/vasprintf.h: Likewise.
50513         * lib/verror.h: Likewise.
50514         * lib/xsetenv.h: Likewise.
50515         * lib/xvasprintf.h: Likewise.
50516
50517 2007-03-08  Jim Meyering  <jim@meyering.net>
50518
50519         * users.txt: Add parted.
50520
50521         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
50522
50523 2007-03-07  Bruno Haible  <bruno@clisp.org>
50524
50525         * m4/printf.m4: Make the shell script snippets copy&pastable.
50526
50527 2007-03-02  Bruno Haible  <bruno@clisp.org>
50528
50529         * lib/netinet_in_.h: New file.
50530         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
50531         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
50532         * modules/netinet_in (Files): Add lib/netinet_in_.h.
50533         (Depends-on): Add absolute-header.
50534         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
50535         into netinet/in.h.
50536
50537 2007-03-03  Bruno Haible  <bruno@clisp.org>
50538
50539         * lib/sys_select_.h: New file.
50540         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
50541         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
50542         * modules/sys_select (Files): Add lib/sys_select_.h.
50543         (Depends-on): Add absolute-header.
50544         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
50545         into sys/select.h.
50546
50547 2007-03-02  Bruno Haible  <bruno@clisp.org>
50548
50549         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
50550         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
50551         values.
50552         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
50553         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
50554         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
50555         * modules/sys_socket (Depends-on): Add absolute-header.
50556         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
50557         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
50558         (Include): Remove requirement of inclusion of <sys/types.h>.
50559
50560 2007-03-02  Bruno Haible  <bruno@clisp.org>
50561
50562         * lib/byteswap_.h (bswap_32): Fix formula.
50563
50564 2007-03-06  Bruno Haible  <bruno@clisp.org>
50565
50566         * modules/sprintf-posix-tests: New file.
50567         * tests/test-sprintf-posix.c: New file.
50568
50569         * modules/sprintf-posix: New file.
50570         * lib/sprintf.c: New file.
50571         * m4/sprintf-posix.m4: New file.
50572         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
50573         REPLACE_SPRINTF.
50574         * lib/stdio_.h (sprintf): New declaration.
50575         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
50576         REPLACE_SPRINTF.
50577
50578 2007-03-06  Bruno Haible  <bruno@clisp.org>
50579
50580         * modules/vsprintf-posix-tests: New file.
50581         * tests/test-vsprintf-posix.c: New file.
50582         * tests/test-sprintf-posix.h: New file.
50583
50584         * modules/vsprintf-posix: New file.
50585         * lib/vsprintf.c: New file.
50586         * m4/vsprintf-posix.m4: New file.
50587         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
50588         REPLACE_VSPRINTF.
50589         * lib/stdio_.h (vsprintf): New declaration.
50590         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
50591         REPLACE_VSPRINTF.
50592
50593 2007-03-06  Bruno Haible  <bruno@clisp.org>
50594
50595         * modules/vsnprintf (Depend-on): Remove minmax.
50596
50597 2007-03-06  Bruno Haible  <bruno@clisp.org>
50598
50599         * modules/snprintf-posix-tests: New file.
50600         * tests/test-snprintf-posix.c: New file.
50601
50602         * modules/snprintf-posix: New file.
50603         * m4/snprintf-posix.m4: New file.
50604         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
50605         gl_FUNC_SNPRINTF.
50606         (gl_FUNC_SNPRINTF): Invoke it.
50607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
50608         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
50609         is set.
50610         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
50611
50612 2007-03-06  Bruno Haible  <bruno@clisp.org>
50613
50614         * modules/vsnprintf-posix-tests: New file.
50615         * tests/test-vsnprintf-posix.c: New file.
50616         * tests/test-snprintf-posix.h: New file.
50617
50618         * modules/vsnprintf-posix: New file.
50619         * m4/vsnprintf-posix.m4: New file.
50620         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
50621         gl_FUNC_VSNPRINTF.
50622         (gl_FUNC_VSNPRINTF): Invoke it.
50623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
50624         * lib/stdio_.h (vsnprintf): Define as a replacement if
50625         REPLACE_VSNPRINTF is set.
50626         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
50627
50628 2007-03-06  Bruno Haible  <bruno@clisp.org>
50629
50630         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
50631         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
50632
50633 2007-03-06  Bruno Haible  <bruno@clisp.org>
50634
50635         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
50636         (asinl): Declare also if HAVE_DECL_ASINL is set.
50637         (atanl): Declare also if HAVE_DECL_ATANL is set.
50638         (ceill): Declare also if HAVE_DECL_CEILL is set.
50639         (cosl): Declare also if HAVE_DECL_COSL is set.
50640         (expl): Declare also if HAVE_DECL_EXPL is set.
50641         (floorl): Declare also if HAVE_DECL_FLOORL is set.
50642         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
50643         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
50644         (logl): Declare also if HAVE_DECL_LOGL is set.
50645         (sinl): Declare also if HAVE_DECL_SINL is set.
50646         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
50647         (tanl): Declare also if HAVE_DECL_TANL is set.
50648         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
50649         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
50650         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
50651         declaration of frexpl, ldexpl.
50652         * modules/printf-frexpl (Depends-on): Add math.
50653         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
50654
50655 2007-03-05  Bruno Haible  <bruno@clisp.org>
50656
50657         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
50658         frexpl and ldexpl are declared.
50659         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
50660
50661 2007-03-05  Bruno Haible  <bruno@clisp.org>
50662
50663         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
50664         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
50665
50666 2007-03-05  Bruno Haible  <bruno@clisp.org>
50667
50668         * lib/stdio_.h: Include <stddef.h>.
50669
50670 2007-03-05  Bruno Haible  <bruno@clisp.org>
50671
50672         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
50673
50674 2007-03-05  Bruno Haible  <bruno@clisp.org>
50675
50676         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
50677         NetBSD 4, from Ralf Wildenhues.
50678
50679 2007-03-04  Bruno Haible  <bruno@clisp.org>
50680
50681         * lib/vasprintf.h: Update #if logic for the case when the functions
50682         exist but are overridden.
50683
50684 2007-03-04  Bruno Haible  <bruno@clisp.org>
50685
50686         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
50687         implementations: glibc-2.4 and MacOS X 10.3.
50688         * tests/test-vasnprintf-posix.c (test_function): Test also the case
50689         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
50690         * tests/test-vasprintf-posix.c (test_function): Likewise.
50691
50692 2007-03-04  Bruno Haible  <bruno@clisp.org>
50693
50694         * modules/vasprintf-posix-tests: New file.
50695         * tests/test-vasprintf-posix.c: New file.
50696
50697         * modules/vasprintf-posix: New file.
50698         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50699         defined.
50700         * m4/vasprintf-posix.m4: New file.
50701         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50702         gl_FUNC_VASPRINTF.
50703         (gl_FUNC_VASPRINTF): Invoke it.
50704         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50705         here.
50706         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50707
50708 2007-03-04  Bruno Haible  <bruno@clisp.org>
50709
50710         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50711         REPLACE_GETTIMEOFDAY.
50712         * modules/sys_time (Makefile.am): Likewise.
50713         * m4/sys_time_h.m4: Likewise.
50714         * m4/gettimeofday.m4: Likewise.
50715
50716 2007-03-04  Bruno Haible  <bruno@clisp.org>
50717
50718         * modules/vasnprintf-posix-tests: New file.
50719         * tests/test-vasnprintf-posix.c: New file.
50720
50721         * modules/vasnprintf-posix: New file.
50722         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50723         printf-frexpl.h.
50724         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50725         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50726         REPLACE_VASNPRINTF is defined.
50727         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50728         gl_FUNC_VASNPRINTF.
50729         (gl_FUNC_VASNPRINTF): Invoke it.
50730         * m4/vasnprintf-posix.m4: New file.
50731         * m4/printf.m4: New file.
50732
50733 2007-03-04  Bruno Haible  <bruno@clisp.org>
50734
50735         Compile progreloc.c only if --enable-relocatable is specified.
50736         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50737         if --enable-relocatable was specified.
50738         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50739         lib_SOURCES.
50740
50741 2007-03-04  Jim Meyering  <jim@meyering.net>
50742
50743         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50744         Use it consistently, rather than enumerating errno constants.
50745
50746 2007-03-04  Bruno Haible  <bruno@clisp.org>
50747
50748         * modules/xvasprintf-tests: New file.
50749         * tests/test-xvasprintf.c: New file.
50750
50751         * modules/vasprintf-tests: New file.
50752         * tests/test-vasprintf.c: New file.
50753
50754         * modules/vasnprintf-tests: New file.
50755         * tests/test-vasnprintf.c: New file.
50756
50757         * modules/vsnprintf-tests: New file.
50758         * tests/test-vsnprintf.c: New file.
50759
50760         * modules/snprintf-tests: New file.
50761         * tests/test-snprintf.c: New file.
50762
50763 2007-03-04  Bruno Haible  <bruno@clisp.org>
50764
50765         Compile relocatable.c only if --enable-relocatable is specified.
50766         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50767         gl_RELOCATABLE_LIBRARY.
50768         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50769         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50770         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50771         gl_RELOCATABLE_LIBRARY.
50772         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50773         (Makefile.am): Remove lib_SOURCES.
50774         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50775         gl_RELOCATABLE_LIBRARY.
50776         (Makefile.am): Remove lib_SOURCES.
50777         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50778         always.
50779         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50780         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50781
50782 2007-03-04  Bruno Haible  <bruno@clisp.org>
50783
50784         * modules/argmatch-tests: New file.
50785         * tests/test-argmatch.c: New file.
50786
50787         * tests/test-allocsa.c (main): Halve the number of loop runs.
50788
50789         * modules/alloca-opt-tests: New file.
50790         * tests/test-alloca-opt.c: New file.
50791
50792 2007-03-04  Jim Meyering  <jim@meyering.net>
50793
50794         Work around difference between Linux ACLs and Solaris 10 ZFS.
50795         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50796         for EINVAL.
50797
50798 2007-03-03  Bruno Haible  <bruno@clisp.org>
50799
50800         * modules/relocatable-prog (Depends-on): Add back progreloc's
50801         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50802
50803 2007-03-03  Bruno Haible  <bruno@clisp.org>
50804
50805         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50806         * modules/relocatable-lib: New file.
50807
50808 2007-03-03  Bruno Haible  <bruno@clisp.org>
50809
50810         * modules/relocatable-prog: Renamed from modules/relocatable.
50811         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50812
50813 2007-03-03  Bruno Haible  <bruno@clisp.org>
50814
50815         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50816         m4/relocatable-lib.m4.
50817         (Depends-on): Remove 'relocatable'.
50818         (configure.ac): Add gl_RELOCATABLE_NOP.
50819
50820 2007-03-03  Bruno Haible  <bruno@clisp.org>
50821
50822         * modules/relocatable-prog-wrapper: New file.
50823         * modules/relocatable (Depends-on): Add it. Remove all other
50824         dependencies except progname.
50825         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50826
50827         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50828         (gl_FUNC_STRERROR): Nop.
50829         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50830
50831         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50832         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50833
50834         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50835         (gl_FUNC_READLINK): Update.
50836
50837         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50838
50839 2007-03-03  Bruno Haible  <bruno@clisp.org>
50840
50841         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50842         * modules/xreadlink (Depends-on): Add unistd.
50843         * modules/xreadlink-with-size (Depends-on): Likewise.
50844
50845 2007-03-03  Bruno Haible  <bruno@clisp.org>
50846
50847         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50848         extracted from gt_FUNC_SETENV.
50849         (gt_FUNC_SETENV): Remove macro.
50850         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50851         remove gt_FUNC_SETENV.
50852
50853 2007-03-03  Bruno Haible  <bruno@clisp.org>
50854
50855         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50856         ENABLE_RELOCATABLE here.
50857         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50858
50859 2007-03-03  Bruno Haible  <bruno@clisp.org>
50860
50861         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50862         * tests/test-rbtreehash_list.c: Include progname.h.
50863         (main): Call set_program_name.
50864
50865         * modules/rbtree-oset-tests (Depends-on): Add progname.
50866         * tests/test-rbtree_oset.c: Include progname.h.
50867         (main): Call set_program_name.
50868
50869         * modules/rbtree-list-tests (Depends-on): Add progname.
50870         * tests/test-rbtree_list.c: Include progname.h.
50871         (main): Call set_program_name.
50872
50873         * modules/linked-list-tests (Depends-on): Add progname.
50874         * tests/test-linked_list.c: Include progname.h.
50875         (main): Call set_program_name.
50876
50877 2007-03-03  Bruno Haible  <bruno@clisp.org>
50878
50879         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50880         All uses of __restrict changed to _Restrict_.
50881         * lib/glob_.h (__restrict): Remove macro.
50882
50883 2007-03-02  Bruno Haible  <bruno@clisp.org>
50884
50885         * modules/gettext (configure.ac): Require gettext infrastructure
50886         from version 0.16.1.
50887
50888 2007-03-02  Bruno Haible  <bruno@clisp.org>
50889
50890         * modules/linkedhash-list-tests (Depends-on): Add progname.
50891         * tests/test-linkedhash_list.c: Include progname.h.
50892         (main): Call set_program_name.
50893
50894         * modules/carray-list-tests (Depends-on): Add progname.
50895         * tests/test-carray_list.c: Include progname.h.
50896         (main): Call set_program_name.
50897
50898         * modules/avltreehash-list-tests (Depends-on): Add progname.
50899         * tests/test-avltreehash_list.c: Include progname.h.
50900         (main): Call set_program_name.
50901
50902         * modules/avltree-oset-tests (Depends-on): Add progname.
50903         * tests/test-avltree_oset.c: Include progname.h.
50904         (main): Call set_program_name.
50905
50906         * modules/avltree-list-tests (Depends-on): Add progname.
50907         * tests/test-avltree_list.c: Include progname.h.
50908         (main): Call set_program_name.
50909
50910         * modules/array-oset-tests (Depends-on): Add progname.
50911         * tests/test-array_oset.c: Include progname.h.
50912         (main): Call set_program_name.
50913
50914         * modules/array-list-tests (Depends-on): Add progname.
50915         * tests/test-array_list.c: Include progname.h.
50916         (main): Call set_program_name.
50917
50918         * modules/argp-tests (Depends-on): Add progname.
50919         * tests/test-argp.c: Include argp.h first. Include progname.h.
50920         (main): Call set_program_name.
50921
50922 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50923
50924         * doc/gnulib-tool.texi (Initial import): Reword description of
50925         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
50926         limited effect even if defined after the first system include.
50927
50928 2007-03-01  Bruno Haible  <bruno@clisp.org>
50929
50930         * build-aux/config.libpath: Update to libtool-1.5.22.
50931         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50932
50933 2007-03-01  Bruno Haible  <bruno@clisp.org>
50934
50935         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
50936         foo_CFLAGS.
50937         Reported by Ralf Wildenhues.
50938
50939 2007-03-01  Bruno Haible  <bruno@clisp.org>
50940
50941         * build-aux/install-reloc: Remove object files left over by some
50942         compilers.
50943         Reported by Ralf Wildenhues.
50944
50945 2007-03-01  Bruno Haible  <bruno@clisp.org>
50946
50947         * build-aux/install-reloc: Break long lines.
50948
50949 2007-03-01  Bruno Haible  <bruno@clisp.org>
50950
50951         * doc/relocatable.texi: Document that it may not work on OpenBSD.
50952         Reported by Ralf Wildenhues.
50953
50954 2007-03-01  Bruno Haible  <bruno@clisp.org>
50955
50956         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
50957         include ordering constraints.
50958
50959 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50960
50961         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
50962         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
50963         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
50964         as another example.
50965         * lib/time_.h: Fix misspelling.
50966         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50967         Require gl_HEADER_TIME_H_DEFAULTS.
50968         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
50969         * m4/time_r.m4 (gl_TIME_R): Likewise.
50970         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
50971
50972 2007-03-01  Bruno Haible  <bruno@clisp.org>
50973
50974         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
50975         * m4/utimens.m4 (gl_UTIMENS): Likewise.
50976
50977 2007-03-01  Jim Meyering  <jim@meyering.net>
50978
50979         * modules/xreadlink (Maintainer): Add my name.
50980         * modules/xreadlink-with-size (Depends-on): Alphabetize.
50981
50982 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
50983             Bruno Haible  <bruno@clisp.org>
50984
50985         * build-aux/install-reloc: Compile also c-ctype.c.
50986         * build-aux/relocatable.sh.in: New file.
50987         * doc/relocatable.texi: New file.
50988         * doc/relocatable-maint.texi: New file.
50989         * doc/gnulib.texi: Include relocatable-maint.texi.
50990         * lib/progreloc.c: Include unistd.h unconditionally.
50991         * lib/relocwrapper.c: Include unistd.h unconditionally.
50992         Include c-ctype.h.
50993         (add_dotbin): Use c_tolower.
50994         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
50995         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
50996         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
50997         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
50998         to m4/relocatable-lib.m4.
50999         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
51000         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
51001         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
51002         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
51003         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
51004         * modules/relocatable: New file.
51005         * modules/relocatable-lib: New file.
51006         * modules/relocatable-script: New file.
51007
51008 2007-02-28  Bruno Haible  <bruno@clisp.org>
51009
51010         Import --enable-relocatable infrastructure.
51011         * build-aux/config.libpath: New file, from GNU gettext.
51012         * build-aux/install-reloc: New file, from GNU gettext.
51013         * build-aux/reloc-ldflags: New file, from GNU gettext.
51014         * lib/relocatable.h: New file, from GNU gettext.
51015         * lib/relocatable.c: New file, from GNU gettext.
51016         * lib/relocwrapper.c: New file, from GNU gettext.
51017         * m4/relocatable.m4: New file, from GNU gettext.
51018
51019 2007-02-28  Bruno Haible  <bruno@clisp.org>
51020
51021         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
51022
51023         * modules/xreadlink: New file, from GNU gettext with modifications.
51024         * lib/xreadlink.c: New file, from GNU gettext.
51025         * lib/xreadlink.h: Add comments.
51026         (xreadlink): New declaration.
51027
51028         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
51029         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
51030         lib/xreadlink-with-size.c.
51031         (configure.ac): Remove gl_XREADLINK invocation.
51032         (Makefile.am): Augment lib_SOURCES.
51033         * m4/xreadlink.m4: Remove file.
51034         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
51035         (xreadlink_with_size): Renamed from xreadink.
51036         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
51037         * modules/canonicalize (Depends-on): Replace xreadlink with
51038         xreadlink-with-size.
51039         * lib/canonicalize.c (canonicalize_filename_mode): Update.
51040
51041 2007-02-25  Jim Meyering  <jim@meyering.net>
51042
51043         * build-aux/announce-gen: When complaining about excess arguments,
51044         list them.
51045
51046 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51047
51048         * README: Document signed integer overflow situation more
51049         accurately.
51050
51051 2007-02-25  Bruno Haible  <bruno@clisp.org>
51052
51053         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
51054         'a' or 'A' conversion.
51055
51056 2007-02-25  Bruno Haible  <bruno@clisp.org>
51057
51058         * modules/filename: Renamed from modules/pathname.
51059         (Files): Replace lib/pathname.h with lib/filename.h. Replace
51060         lib/concatpath.c with lib/concat-filename.c.
51061         (Makefile.am): Update.
51062         (Include): Replace pathname.h with filename.h.
51063         * lib/filename.h: Renamed from lib/pathname.h.
51064         (concatenated_filename): Renamed from concatenated_pathname.
51065         * lib/concat-filename.c: Renamed from lib/concatpath.c.
51066         (concatenated_filename): Renamed from concatenated_pathname.
51067         * lib/findprog.c: Include filename.h instead of pathname.h.
51068         (find_in_path): Update.
51069         * lib/javacomp.c: Include filename.h instead of pathname.h.
51070         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51071         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51072         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51073         is_oldgcj_14_13_usable, is_javac_usable): Update.
51074         * lib/javaexec.c: Include filename.h instead of pathname.h.
51075         (execute_java_class): Update.
51076         * modules/findprog: Update.
51077         * modules/javacomp: Update.
51078         * modules/javaexec: Update.
51079         * MODULES.html.sh (File system functions): Add 'filename', remove
51080         'pathname'.
51081
51082 2007-02-25  Bruno Haible  <bruno@clisp.org>
51083
51084         * modules/printf-frexpl-tests: New file.
51085         * tests/test-printf-frexpl.c: New file.
51086
51087         * modules/printf-frexpl: New file.
51088         * lib/printf-frexpl.h: New file.
51089         * lib/printf-frexpl.c: New file.
51090         * m4/printf-frexpl.m4: New file.
51091
51092 2007-02-25  Bruno Haible  <bruno@clisp.org>
51093
51094         * modules/printf-frexp-tests: New file.
51095         * tests/test-printf-frexp.c: New file.
51096
51097         * modules/printf-frexp: New file.
51098         * lib/printf-frexp.h: New file.
51099         * lib/printf-frexp.c: New file.
51100         * m4/printf-frexp.m4: New file.
51101
51102 2007-02-25  Bruno Haible  <bruno@clisp.org>
51103
51104         Assume automake >= 1.10 for the tests.
51105         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
51106         * modules/arctwo-tests: Likewise.
51107         * modules/argp-tests: Likewise.
51108         * modules/avltree-list-tests: Likewise.
51109         * modules/avltree-oset-tests: Likewise.
51110         * modules/avltreehash-list-tests: Likewise.
51111         * modules/carray-list-tests: Likewise.
51112         * modules/crc-tests: Likewise.
51113         * modules/des-tests: Likewise.
51114         * modules/gc-arcfour-tests: Likewise.
51115         * modules/gc-arctwo-tests: Likewise.
51116         * modules/gc-des-tests: Likewise.
51117         * modules/gc-hmac-md5-tests: Likewise.
51118         * modules/gc-hmac-sha1-tests: Likewise.
51119         * modules/gc-md2-tests: Likewise.
51120         * modules/gc-md4-tests: Likewise.
51121         * modules/gc-md5-tests: Likewise.
51122         * modules/gc-pbkdf2-sha1-tests: Likewise.
51123         * modules/gc-rijndael-tests: Likewise.
51124         * modules/gc-sha1-tests: Likewise.
51125         * modules/gc-tests: Likewise.
51126         * modules/getaddrinfo-tests: Likewise.
51127         * modules/hmac-md5-tests: Likewise.
51128         * modules/hmac-sha1-tests: Likewise.
51129         * modules/linked-list-tests: Likewise.
51130         * modules/linkedhash-list-tests: Likewise.
51131         * modules/lock-tests: Likewise.
51132         * modules/md2-tests: Likewise.
51133         * modules/md4-tests: Likewise.
51134         * modules/md5-tests: Likewise.
51135         * modules/rbtree-list-tests: Likewise.
51136         * modules/rbtree-oset-tests: Likewise.
51137         * modules/rbtreehash-list-tests: Likewise.
51138         * modules/read-file-tests: Likewise.
51139         * modules/rijndael-tests: Likewise.
51140         * modules/stdint-tests: Likewise.
51141         * modules/tls-tests: Likewise.
51142
51143 2007-02-24  Bruno Haible  <bruno@clisp.org>
51144
51145         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
51146         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
51147         function; instead check whether isnan with a double argument links.
51148         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
51149         function; instead check whether isnan with a 'long double' argument
51150         links.
51151         Reported by Eric Blake <ebb9@byu.net>.
51152
51153 2007-02-24  Bruno Haible  <bruno@clisp.org>
51154
51155         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
51156         defined.
51157         * lib/isnanl.c: Remove all code. Just include isnan.c.
51158         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
51159
51160 2007-02-25  Jim Meyering  <jim@meyering.net>
51161
51162         Avoid conflicting types for 'unsetenv' on FreeBSD.
51163         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
51164         conflicting with FreeBSD's (5.0 and 6.1) function declaration
51165         in stdlib.h.
51166
51167 2007-02-24  Bruno Haible  <bruno@clisp.org>
51168
51169         * modules/isnanl-nolibm-tests: New file.
51170         * tests/test-isnanl.c: New file.
51171
51172         * modules/isnanl-nolibm: New file.
51173         * lib/isnanl.h: New file.
51174         * lib/isnanl.c: New file.
51175         * m4/isnanl.m4: New file.
51176
51177 2007-02-24  Bruno Haible  <bruno@clisp.org>
51178
51179         * modules/isnan-nolibm-tests: New file.
51180         * tests/test-isnan.c: New file.
51181
51182         * modules/isnan-nolibm: New file.
51183         * lib/isnan.h: New file.
51184         * lib/isnan.c: New file.
51185         * m4/isnan.m4: New file.
51186
51187 2007-02-24  Bruno Haible  <bruno@clisp.org>
51188
51189         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
51190         assume that an exponent fits in 20 bits.
51191
51192 2007-02-24  Jim Meyering  <jim@meyering.net>
51193
51194         * m4/regex.m4: Update the description of the configure-time option,
51195         --without-included-regex, to state accurately what the defaults are,
51196         and perhaps to give people an idea why using this option is risky.
51197
51198 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51199
51200         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
51201         loops on small arguments.  This attempts to avoid the problem
51202         Bruno Haible reported for AIX 4.3.2 in
51203         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
51204
51205 2007-02-23  Bruno Haible  <bruno@clisp.org>
51206
51207         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
51208         Needed for help2man.
51209
51210 2007-02-23  Karl Berry  <karl@gnu.org>
51211
51212         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
51213         exists, foo.h should be cvs-ignored, not committed.
51214
51215 2007-02-23  Eric Blake  <ebb9@byu.net>
51216
51217         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
51218         * lib/stat-time.h (includes): Likewise.
51219         * lib/utimecmp.c (includes): Likewise.
51220         * lib/utimens.h (includes): Likewise.
51221         * lib/getdate.y (includes): Also include "timespec.h" for use
51222         internal to the module.
51223         * modules/utimens (Depends-on): Revert yesterday's patch.
51224         * modules/nanosleep (Depends-on): Add missing dependency.
51225
51226 2007-02-22  Bruno Haible  <bruno@clisp.org>
51227
51228         * lib/glob.c: Don't include getlogin_r.h.
51229
51230 2007-02-22  Jim Meyering  <jim@meyering.net>
51231
51232         * modules/utimens (Depends-on): Add timespec, required for
51233         utimens.h's inclusion of timespec.h.
51234
51235 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
51236
51237         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
51238         long unreadable paths in GNU/Linux.  Problem reported by Andreas
51239         Schwab in
51240         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
51241         I'll try to think of a better way to fix the Solaris problem.
51242
51243         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
51244         like glibc; on Solaris 10, it fails with errno == EINVAL.
51245         POSIX says the behavior is unspecified if the first argument is NULL,
51246         so play it safe and never pass NULL to the system getcwd.
51247
51248 2007-02-21  Jim Meyering  <jim@meyering.net>
51249
51250         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
51251         of gettimeofday.  It would conflict with the one now always
51252         provided via sys_time_.h.  Reported by Matthew Woehlke, as
51253         an IRIX 6.5 build failure.
51254
51255 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51256
51257         Minor fixups to port to Solaris 10 with Sun C 5.8.
51258         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
51259         * modules/getcwd (Depends-on): Add dirfd.
51260         * lib/putenv.c (putenv): #undef it.
51261         (rpl_putenv): New decl.
51262         (malloc, free): Include <stdlib.h> rather than prototyping separately.
51263
51264 2007-02-20  Bruno Haible  <bruno@clisp.org>
51265
51266         * modules/stdio-tests: New file.
51267         * tests/test-stdio.c: New file.
51268
51269         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
51270         (Depends-on): Add stdio.
51271         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51272         (Include): Use <stdio.h> instead of vsnprintf.h.
51273         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51274         HAVE_DECL_VSNPRINTF.
51275         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
51276
51277         * modules/snprintf (Files): Remove lib/snprintf.h.
51278         (Depends-on): Add stdio.
51279         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51280         (Include): Use <stdio.h> instead of snprintf.h.
51281         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51282         HAVE_DECL_SNPRINTF.
51283         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
51284         * lib/getaddrinfo.c: Likewise.
51285
51286         * modules/stdio: New file.
51287         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
51288         * lib/snprintf.h: Remove file.
51289         * lib/vsnprintf.h: Remove file.
51290         * lib/.cppi-disable: Remove snprintf.h.
51291         * m4/stdio_h.m4: New file.
51292         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
51293
51294 2007-02-20  Jim Meyering  <jim@meyering.net>
51295
51296         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
51297         used by e.g., mingw.  From Bruno Haible.
51298
51299 2007-02-19  Bruno Haible  <bruno@clisp.org>
51300
51301         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
51302         warnings.
51303         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51304
51305 2007-02-19  Bruno Haible  <bruno@clisp.org>
51306
51307         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
51308         from mingw users.
51309
51310 2007-02-19  Bruno Haible  <bruno@clisp.org>
51311
51312         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
51313         warnings.
51314         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
51315
51316 2007-02-19  Jim Meyering  <jim@meyering.net>
51317
51318         Don't use FD after a successful "fdopendir (fd)".
51319         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
51320         Reset it by calling dirfd on the just-obtained DIR*.
51321
51322         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
51323         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
51324
51325 2007-02-18  Bruno Haible  <bruno@clisp.org>
51326
51327         * lib/readlink.c: Include <unistd.h>.
51328         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
51329         HAVE_READLINK.
51330         * modules/readlink (Depends-on): Add unistd.
51331         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51332         (Include): Add <unistd.h>.
51333
51334         * lib/getlogin_r.h: Remove file.
51335         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
51336         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
51337         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
51338         HAVE_DECL_GETLOGIN_R.
51339         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
51340         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51341         (Include): Use <unistd.h> instead of getlogin_r.h.
51342
51343         * lib/getcwd.h: Remove file.
51344         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
51345         * lib/xgetcwd.c: Likewise.
51346         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
51347         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
51348         * modules/getcwd (Files): Remove lib/getcwd.h.
51349         (Depends-on): Add unistd.
51350         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51351         (Include): Use <unistd.h> instad of getcwd.h.
51352
51353         * lib/ftruncate.c: Include <unistd.h> first.
51354         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
51355         Set HAVE_FTRUNCATE.
51356         * modules/ftruncate (Depends-on): Add unistd.
51357         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51358
51359         * lib/fchdir.c: Include <unistd.h> first.
51360         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
51361         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
51362         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
51363         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51364         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
51365
51366         * lib/dup2.c: Include <unistd.h> first.
51367         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
51368         HAVE_DUP2.
51369         * modules/dup2 (Depends-on): Add unistd.
51370         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51371
51372         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
51373         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
51374         REPLACE_CHOWN. Don't define chown as a macro here.
51375         * modules/chown (Depends-on): Add unistd.
51376         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51377
51378         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
51379         Add definition for GL_LINK_WARNING.
51380         (chown, dup2): New declarations.
51381         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
51382         link warning.
51383         (ftruncate): New declaration.
51384         (getcwd): New declaration, taken from old getcwd.h.
51385         (getlogin_r): New declaration, taken from old getlogin_r.h.
51386         (readlink): New declaration.
51387         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
51388         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
51389         (gl_PREREQ_UNISTD): Remove macro.
51390         (gl_UNISTD_MODULE_INDICATOR): New macro.
51391         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
51392         many new variables. Don't set UNISTD_H.
51393         * modules/unistd (Description): Change.
51394         (Depends-on): Add link-warning.
51395         (configure.ac): Update.
51396         (Makefile.am): Create unistd.h always. Substitute many new variables
51397         into it.
51398
51399 2007-02-18  Bruno Haible  <bruno@clisp.org>
51400
51401         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
51402         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
51403         HAVE_GETSUBOPT.
51404         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
51405         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
51406         * lib/getsubopt.h: Remove file.
51407         * modules/getsubopt (Files): Remove lib/getsubopt.h.
51408         (Depends-on): Add stdlib.
51409         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51410         (Includes): Use <stdlib.h> instead of getsubopt.h.
51411         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
51412         Set HAVE_GETSUBOPT.
51413         * lib/getsubopt.c: Don't include getsubopt.h.
51414
51415 2007-02-18  Bruno Haible  <bruno@clisp.org>
51416
51417         * modules/fchdir (Depends-on): Add dup2.
51418
51419 2007-02-18  Bruno Haible  <bruno@clisp.org>
51420
51421         * lib/stdlib_.h: Handle glibc's special invocation convention
51422         specially.
51423
51424 2007-02-18  Bruno Haible  <bruno@clisp.org>
51425
51426         * modules/stdlib-tests: New file.
51427         * tests/test-stdlib.c: New file.
51428
51429         * modules/mkstemp (Files): Remove lib/mkstemp.h.
51430         (Depends-on): Add stdlib.
51431         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51432         (Includes): Use <stdlib.h> instead of mkstemp.h.
51433         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51434         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
51435         * lib/mkstemp.c: Don't include mkstemp.h.
51436         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
51437         * lib/stdlib--.h: Don't include mkstemp.h.
51438
51439         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
51440         (Depends-on): Add stdlib.
51441         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51442         (Includes): Use <stdlib.h> instead of mkdtemp.h.
51443         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51444         HAVE_MKDTEMP.
51445         * lib/mkdtemp.c: Don't include mkdtemp.h.
51446         * lib/clean-temp.c: Don't include mkdtemp.h.
51447
51448         * modules/exit (Files): Remove lib/exit.h.
51449         (Depends-on): Add stdlib.
51450         (Makefile.am): Remove lib_SOURCES.
51451         (Include): Use <stdlib.h> instead of exit.h.
51452         * lib/argmatch.c: Don't include exit.h.
51453         * lib/execute.c: Likewise.
51454         * lib/pagealign_alloc.c: Likewise.
51455         * lib/pipe.c: Likewise.
51456         * lib/wait-process.c: Likewise.
51457         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
51458         * lib/exitfail.c: Likewise.
51459         * lib/savewd.c: Likewise.
51460         * lib/xsetenv.c: Likewise.
51461
51462         * modules/stdlib: New file.
51463         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
51464         and extra comments about mkstemp().
51465         * lib/exit.h: Remove file.
51466         * lib/mkdtemp.h: Remove file.
51467         * lib/mkstemp.h: Remove file.
51468         * m4/stdlib_h.m4: New file.
51469         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
51470
51471 2007-02-18  Bruno Haible  <bruno@clisp.org>
51472
51473         * modules/math-tests: New file.
51474         * tests/test-math.c: New file.
51475
51476         * modules/math: New file.
51477         * modules/mathl (Files): Remove lib/mathl.h.
51478         (Depends-on): Add math.
51479         (Makefile.am): Don't mention mathl.h.
51480         (Include): Use <math.h> instead of mathl.h.
51481         * lib/math_.h: New file.
51482         * lib/mathl.h: Remove file.
51483         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
51484         mathl.h.
51485         * lib/asinl.c: Likewise.
51486         * lib/atanl.c: Likewise.
51487         * lib/ceill.c: Likewise.
51488         * lib/cosl.c: Likewise.
51489         * lib/expl.c: Likewise.
51490         * lib/floorl.c: Likewise.
51491         * lib/frexpl.c: Likewise.
51492         * lib/ldexpl.c: Likewise.
51493         * lib/logl.c: Likewise.
51494         * lib/sincosl.c: Likewise.
51495         * lib/sinl.c: Likewise.
51496         * lib/sqrtl.c: Likewise.
51497         * lib/tanl.c: Likewise.
51498         * lib/trigl.c: Likewise.
51499         * m4/math_h.m4: New file.
51500         * MODULES.html.sh (Mathematics): Add math.
51501
51502 2007-02-17  Bruno Haible  <bruno@clisp.org>
51503
51504         * modules/wctype-tests: New file.
51505         * tests/test-wctype.c: New file.
51506
51507         * modules/wchar-tests: New file.
51508         * tests/test-wchar.c: New file.
51509
51510         * modules/unistd-tests: New file.
51511         * tests/test-unistd.c: New file.
51512
51513         * modules/time-tests: New file.
51514         * tests/test-time.c: New file.
51515
51516         * modules/sysexits-tests: New file.
51517         * tests/test-sysexits.c: New file.
51518
51519         * modules/sys_time-tests: New file.
51520         * tests/test-sys_time.c: New file.
51521
51522         * modules/sys_stat-tests: New file.
51523         * tests/test-sys_stat.c: New file.
51524
51525         * modules/sys_socket-tests: New file.
51526         * tests/test-sys_socket.c: New file.
51527
51528         * modules/sys_select-tests: New file.
51529         * tests/test-sys_select.c: New file.
51530
51531         * modules/string-tests: New file.
51532         * tests/test-string.c: New file.
51533
51534         * modules/stdbool-tests: New file.
51535         * tests/test-stdbool.c: New file.
51536
51537         * modules/netinet_in-tests: New file.
51538         * tests/test-netinet_in.c: New file.
51539
51540         * modules/inttypes-tests: New file.
51541         * tests/test-inttypes.c: New file.
51542
51543         * modules/fcntl-tests: New file.
51544         * tests/test-fcntl.c: New file.
51545
51546         * modules/byteswap-tests: New file.
51547         * tests/test-byteswap.c: New file.
51548
51549         * modules/arpa_inet-tests: New file.
51550         * tests/test-arpa_inet.c: New file.
51551
51552 2007-02-17  Bruno Haible  <bruno@clisp.org>
51553
51554         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
51555         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
51556         if the corresponding module is not enabled. Emit link warnings if
51557         the function is used nevertheless.
51558         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
51559         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
51560         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
51561         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
51562         * modules/inttypes (Depends-on): Add link-warning.
51563         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51564         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
51565         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
51566         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
51567         * modules/imaxdiv (configure.ac): Likewise.
51568         * modules/strtoimax (configure.ac): Likewise.
51569         * modules/strtoumax (configure.ac): Likewise.
51570
51571 2007-02-17  Bruno Haible  <bruno@clisp.org>
51572
51573         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
51574         gl_STRING_MODULE_INDICATOR_DEFAULTS.
51575         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
51576         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
51577
51578 2007-02-17  Bruno Haible  <bruno@clisp.org>
51579
51580         * modules/link-warning: New file.
51581         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
51582         * lib/string_.h (GL_LINK_WARNING): Remove definition.
51583         * modules/string (Depends-on): Add link-warning.
51584         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51585         string.h.
51586         * MODULES.html.sh (Support for building libraries and executables): Add
51587         link-warning.
51588
51589 2007-02-17  Bruno Haible  <bruno@clisp.org>
51590
51591         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
51592         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
51593         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
51594         long lines.
51595
51596 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
51597             Bruno Haible  <bruno@clisp.org>
51598
51599         * modules/tmpfile: New file.
51600         * lib/tmpfile.c: New file.
51601         * m4/tmpfile.m4: New file.
51602         * MODULES.html.sh (func_all_modules): New section "Input/output".
51603
51604 2007-02-15  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
51607         (supports_delete_on_close): New function.
51608         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
51609
51610 2007-02-14  Bruno Haible  <bruno@clisp.org>
51611
51612         * modules/mbspcasecmp-tests: New file.
51613         * tests/test-mbspcasecmp.sh: New file.
51614         * tests/test-mbspcasecmp.c: New file.
51615
51616         New module mbspcasecmp.
51617         * modules/mbspcasecmp: New file.
51618         * lib/mbspcasecmp.c: New file.
51619         * lib/string_.h (strncasecmp): Change warning message.
51620         (mbspcasecmp): New declaration.
51621         * m4/mbspcasecmp.m4: New file.
51622         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51623         GNULIB_MBSPCASECMP.
51624         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
51625         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
51626
51627 2007-02-14  Bruno Haible  <bruno@clisp.org>
51628
51629         * modules/mbsncasecmp-tests: New file.
51630         * tests/test-mbsncasecmp.sh: New file.
51631         * tests/test-mbsncasecmp.c: New file.
51632
51633         New module mbsncasecmp.
51634         * modules/mbsncasecmp: New file.
51635         * lib/mbsncasecmp.c: New file.
51636         * lib/string_.h (mbsncasecmp): New declaration.
51637         * m4/mbsncasecmp.m4: New file.
51638         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51639         GNULIB_MBSNCASECMP.
51640         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
51641         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
51642
51643 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51644
51645         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
51646         Verify that it doesn't overlap with our flags.
51647         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
51648         do not have the desired effect in multibyte locales; instead, use
51649         mbscasecmp.
51650         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
51651         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
51652         we don't require GNU fnmatch ourselves (if our users require it, they
51653         should do so explicitly).
51654
51655         Fix regex code so it doesn't rely on strcasecmp.
51656         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
51657         Otherwise, include gnulib's langinfo.h.
51658         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
51659         undesirable behavior in non-C locales.  Instead, rely on localecharset.
51660         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
51661         * modules/regex (FILES): Remove m4/codeset.m4.
51662         (Depends-on): Add localcharset.  Remove strcase.
51663
51664 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51665
51666         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
51667         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
51668
51669 2007-02-13  Bruno Haible  <bruno@clisp.org>
51670
51671         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
51672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51673
51674 2007-02-12  Bruno Haible  <bruno@clisp.org>
51675
51676         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51677         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
51678         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
51679         time warning rather than a link error.
51680
51681 2007-02-12  Bruno Haible  <bruno@clisp.org>
51682
51683         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
51684         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51685         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51686
51687 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51688
51689         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
51690         args, not 2.
51691
51692 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51693
51694         New module 'time', so that apps can include <time.h> as per
51695         POSIX and GNU instead of separate include files like time_r.h
51696         and timegm.h.  This implementation tries out a simpler approach
51697         for replacing decls in standard include files (as compared to
51698         the string module), somewhat as an experiment.
51699
51700         * config/srclist.txt: Comment out mktime.c for now.
51701         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51702         since it doesn't apply any more.  Use generic wording instead.
51703         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51704         'time'.
51705         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51706         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51707         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51708         Don't include <sys/types.h>; no longer needed since we assume C89.
51709         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51710         * lib/strftime.c: Likewise.
51711         * lib/time_r.c: Likewise.
51712         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51713         * lib/nanosleep.c: Include <time.h> first, to check interface.
51714         * lib/strptime.c: Likewise.
51715         * lib/time_r.c: Likewise.
51716         * lib/timegm.c: Likewise.
51717         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51718         needed.
51719         * lib/timegm.c: Don't include timegm.h; no longer needed.
51720         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51721         time.h now handles any problems in that area.
51722         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51723         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51724         that time.h defines struct timespec.
51725         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51726         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51727         handles that.
51728         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51729         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51730         needed.  Set REPLACE_LOCALTIME.
51731         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51732         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51733         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51734         nanosleep; time_h.m4 now does that.  Don't require
51735         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51736         module handles this now.
51737         * modules/getdate (Depends-on): Remove timespec.  Add time.
51738         * modules/nanosleep (Depends-on): Likewise.
51739         * modules/stat-time (Depends-on): Likewise.
51740         * modules/nanosleep (Include): Include time.h, not timespec.h.
51741         * modules/strptime (Files): Remove lib/strptime.h.
51742         (Depends-on): Add extensions, time.
51743         (Include): Include time.h, not strptime.h.
51744         * modules/time_r (Files): Remove lib/time_r.h.
51745         (Depends-on): Add time.
51746         (Include): Include time.h, not time_r.h.
51747         * modules/timegm: Likewise.
51748         * modules/timespec (Description): Now does timespec-related decls
51749         of our own, instead of struct timespec itself.
51750         (Depends-on): Add time; remove extensions.
51751         (Maintainer): Add self.
51752         * modules/utimecmp (Depends-on): Add time; remove timespec.
51753         * modules/utimens (Depends-on): Likewise.
51754         * modules/xnanosleep (Depends-on): Likewise.
51755
51756 2007-02-11  Bruno Haible  <bruno@clisp.org>
51757
51758         * lib/c-strstr.c: Include allocsa.h.
51759         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51760         * lib/c-strcasestr.c: Include allocsa.h.
51761         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51762         * lib/strcasestr.c: Include allocsa.h.
51763         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51764         * lib/mbsstr.c: Include allocsa.h.
51765         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51766         allocsa/freesa instead of malloc/free.
51767         * lib/mbscasestr.c: Include allocsa.h.
51768         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51769         allocsa/freesa instead of malloc/free.
51770         * modules/c-strstr (Depends-on): Add allocsa.
51771         * modules/c-strcasestr (Depends-on): Likewise.
51772         * modules/strcasestr (Depends-on): Likewise.
51773         * modules/mbsstr (Depends-on): Likewise.
51774         * modules/mbscasestr (Depends-on): Likewise.
51775
51776 2007-02-11  Bruno Haible  <bruno@clisp.org>
51777
51778         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51779
51780         * modules/mbsspn-tests: New file.
51781         * tests/test-mbsspn.sh: New file.
51782         * tests/test-mbsspn.c: New file.
51783
51784 2007-02-11  Bruno Haible  <bruno@clisp.org>
51785
51786         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51787
51788         * modules/mbspbrk-tests: New file.
51789         * tests/test-mbspbrk.sh: New file.
51790         * tests/test-mbspbrk.c: New file.
51791
51792 2007-02-11  Bruno Haible  <bruno@clisp.org>
51793
51794         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51795         unneeded cast.
51796
51797         * modules/mbscspn-tests: New file.
51798         * tests/test-mbscspn.sh: New file.
51799         * tests/test-mbscspn.c: New file.
51800
51801 2007-02-11  Bruno Haible  <bruno@clisp.org>
51802
51803         * modules/mbscasecmp-tests: New file.
51804         * tests/test-mbscasecmp.sh: New file.
51805         * tests/test-mbscasecmp.c: New file.
51806
51807 2007-02-11  Bruno Haible  <bruno@clisp.org>
51808
51809         Ensure O(n) worst-case complexity of mbscasestr.
51810         * lib/mbscasestr.c: Include stdbool.h.
51811         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51812         functions.
51813         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51814         the bookkeeping indicates that it's worth it.
51815         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51816
51817         * modules/mbscasestr-tests: New file.
51818         * tests/test-mbscasestr1.c: New file.
51819         * tests/test-mbscasestr2.sh: New file.
51820         * tests/test-mbscasestr2.c: New file.
51821         * tests/test-mbscasestr3.sh: New file.
51822         * tests/test-mbscasestr3.c: New file.
51823         * tests/test-mbscasestr4.sh: New file.
51824         * tests/test-mbscasestr4.c: New file.
51825         * m4/locale-tr.m4: New file.
51826
51827 2007-02-11  Bruno Haible  <bruno@clisp.org>
51828
51829         Ensure O(n) worst-case complexity of mbsstr.
51830         * lib/mbsstr.c: Include stdbool.h.
51831         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51832         functions.
51833         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51834         bookkeeping indicates that it's worth it.
51835         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51836
51837         * modules/mbsstr-tests: New file.
51838         * tests/test-mbsstr1.c: New file.
51839         * tests/test-mbsstr2.sh: New file.
51840         * tests/test-mbsstr2.c: New file.
51841         * tests/test-mbsstr3.sh: New file.
51842         * tests/test-mbsstr3.c: New file.
51843         * m4/locale-fr.m4: New file.
51844
51845 2007-02-11  Bruno Haible  <bruno@clisp.org>
51846
51847         * lib/mbsrchr.c (mbsrchr): Fix bug.
51848
51849         * modules/mbsrchr-tests: New file.
51850         * tests/test-mbsrchr.sh: New file.
51851         * tests/test-mbsrchr.c: New file.
51852
51853 2007-02-11  Bruno Haible  <bruno@clisp.org>
51854
51855         * lib/mbschr.c (mbschr): Fix bug.
51856
51857         * modules/mbschr-tests: New file.
51858         * tests/test-mbschr.sh: New file.
51859         * tests/test-mbschr.c: New file.
51860         * m4/locale-zh.m4: New file.
51861
51862 2007-02-11  Bruno Haible  <bruno@clisp.org>
51863
51864         Support for copying multibyte string iterators.
51865         * lib/mbiter.h: Include <string.h>.
51866         (mbiter_multi_copy): New function.
51867         (mbi_copy): New macro.
51868         * lib/mbuiter.h: Include <string.h>.
51869         (mbuiter_multi_copy): New function.
51870         (mbui_copy): New macro.
51871
51872 2007-02-11  Bruno Haible  <bruno@clisp.org>
51873
51874         New module mbslen.
51875         * modules/mbslen: New file.
51876         * lib/mbslen.c: New file.
51877         * lib/string_.h (mbslen): New declaration.
51878         * m4/mbslen.m4: New file.
51879         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51880         GNULIB_MBSLEN.
51881         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51882         * MODULES.html.sh (Internationalization functions): Add mbslen.
51883
51884 2007-02-11  Bruno Haible  <bruno@clisp.org>
51885
51886         Ensure O(n) worst-case complexity of strcasestr substitute.
51887         * lib/strcasestr.c: Include stdbool.h.
51888         (knuth_morris_pratt): New function.
51889         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51890         bookkeeping indicates that it's worth it.
51891         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51892
51893         * modules/strcasestr-tests: New file.
51894         * tests/test-strcasestr.c: New file.
51895
51896 2007-02-11  Bruno Haible  <bruno@clisp.org>
51897
51898         Ensure O(n) worst-case complexity of c_strcasestr.
51899         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51900         (knuth_morris_pratt): New function.
51901         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51902         the bookkeeping indicates that it's worth it.
51903         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51904
51905         * modules/c-strcasestr-tests: New file.
51906         * tests/test-c-strcasestr.c: New file.
51907
51908 2007-02-11  Bruno Haible  <bruno@clisp.org>
51909
51910         Ensure O(n) worst-case complexity of c_strstr.
51911         * lib/c-strstr.c: Include stdbool.h, string.h.
51912         (knuth_morris_pratt): New function.
51913         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51914         bookkeeping indicates that it's worth it.
51915         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51916
51917         * lib/c-strstr.c: Complete rewrite for maintainability.
51918
51919         * modules/c-strstr-tests: New file.
51920         * tests/test-c-strstr.c: New file.
51921
51922 2007-02-11  Bruno Haible  <bruno@clisp.org>
51923
51924         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51925         5.2.1 and earlier, whereby \055 was treated just like the range
51926         delimiter '-'.
51927         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51928
51929 2007-02-08  Bruno Haible  <bruno@clisp.org>
51930
51931         * modules/regex (Depends-on): Add stdbool.
51932         Reported by Dalibor Topic <robilad@kaffe.org>.
51933
51934 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51935
51936         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
51937         Prefer returning from main to exiting from it.
51938         Remove unnecessary parens after sizeof.
51939
51940 2007-02-05  Bruno Haible  <bruno@clisp.org>
51941
51942         New module mbssep.
51943         * modules/mbssep: New file.
51944         * lib/mbssep.c: New file.
51945         * lib/string_.h (strsep): Add a conditional link warning.
51946         (mbssep): New declaration.
51947         * m4/mbssep.m4: New file.
51948         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51949         GNULIB_MBSSEP.
51950         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
51951         * MODULES.html.sh (Internationalization functions): Add mbssep.
51952
51953 2007-02-05  Bruno Haible  <bruno@clisp.org>
51954
51955         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
51956         Optimize search in case of 1 delimiter.
51957
51958 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51959
51960         * lib/acl.h: Include sys/types.h before sys/acl.h.
51961
51962 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51963
51964         Merge upstream fix for glibc bugzilla #3957:
51965
51966         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
51967
51968         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
51969         bit for RE_HAT_LISTS_NOT_NEWLINE.
51970         (build_charclass_op): Remove bogus comment.
51971
51972 2007-02-05  Simon Josefsson  <simon@josefsson.org>
51973
51974         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
51975
51976 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51977
51978         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
51979         * lib/memmem.c [!defined _LIBC]: Include config.h.
51980
51981 2007-02-04  Bruno Haible  <bruno@clisp.org>
51982
51983         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
51984         warning message.
51985
51986 2007-02-04  Bruno Haible  <bruno@clisp.org>
51987
51988         New module mbstok_r.
51989         * modules/mbstok_r: New file.
51990         * lib/mbstok_r.c: New file.
51991         * lib/string_.h (strtok_r): Change argument names to match the
51992         comments. Add a conditional link warning.
51993         (mbstok_r): New declaration.
51994         * m4/mbstok_r.m4: New file.
51995         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51996         GNULIB_MBSTOK_R.
51997         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
51998         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
51999
52000 2007-02-04  Bruno Haible  <bruno@clisp.org>
52001
52002         New module mbsspn.
52003         * modules/mbsspn: New file.
52004         * lib/mbsspn.c: New file.
52005         * lib/string_.h (strspn): Add a conditional link warning.
52006         (mbsspn): New declaration.
52007         * m4/mbsspn.m4: New file.
52008         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52009         GNULIB_MBSSPN.
52010         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
52011         * MODULES.html.sh (Internationalization functions): Add mbsspn.
52012
52013 2007-02-04  Bruno Haible  <bruno@clisp.org>
52014
52015         New module mbspbrk.
52016         * modules/mbspbrk: New file.
52017         * lib/mbspbrk.c: New file.
52018         * lib/string_.h (strpbrk): Add a conditional link warning.
52019         (mbspbrk): New declaration.
52020         * m4/mbspbrk.m4: New file.
52021         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52022         GNULIB_MBSPBRK.
52023         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
52024         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
52025
52026 2007-02-04  Bruno Haible  <bruno@clisp.org>
52027
52028         New module mbscspn.
52029         * modules/mbscspn: New file.
52030         * lib/mbscspn.c: New file.
52031         * lib/string_.h (strcspn): Add a conditional link warning.
52032         (mbscspn): New declaration.
52033         * m4/mbscspn.m4: New file.
52034         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52035         GNULIB_MBSCSPN.
52036         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
52037         * MODULES.html.sh (Internationalization functions): Add mbscspn.
52038
52039 2007-02-04  Bruno Haible  <bruno@clisp.org>
52040
52041         New module mbscasestr, reduced goal of strcasestr.
52042         * modules/mbscasestr: New file.
52043         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
52044         (mbscasestr): Renamed from strcasestr.
52045         * lib/strcasestr.c: Don't include mbuiter.h.
52046         (strcasestr): Remove support for multibyte locales.
52047         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
52048         Change the conditional link warning.
52049         (mbscasestr): New declaration.
52050         * m4/mbscasestr.m4: New file.
52051         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
52052         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
52053         REPLACE_STRCASESTR.
52054         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
52055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52056         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52057         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
52058         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
52059         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52060         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
52061         (Depends-on): Remove mbuiter.
52062         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
52063
52064 2007-02-04  Bruno Haible  <bruno@clisp.org>
52065
52066         Simplify handling of strncasecmp.
52067         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
52068         the conditional link warning.
52069         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52070         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
52071         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
52072         * modules/strcase (configure.ac): Don't invoke
52073         gl_STRING_MODULE_INDICATOR.
52074         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
52075
52076 2007-02-04  Bruno Haible  <bruno@clisp.org>
52077
52078         New module mbscasecmp, reduced goal of strcasecmp.
52079         * modules/mbscasecmp: New file.
52080         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
52081         (mbscasecmp): Renamed from strcasecmp.
52082         * lib/strcasecmp.c: Don't include mbuiter.h.
52083         (strcasecmp): Remove support for multibyte locales.
52084         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
52085         Change the conditional link warning.
52086         (mbscasecmp): New declaration.
52087         * m4/mbscasecmp.m4: New file.
52088         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
52089         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
52090         REPLACE_STRCASECMP.
52091         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
52092         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52093         GNULIB_MBSCASECMP.
52094         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
52095         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
52096         * modules/strcase (Files): Remove m4/mbrtowc.m4.
52097         (Depends-on): Remove mbuiter.
52098         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
52099
52100 2007-02-04  Bruno Haible  <bruno@clisp.org>
52101
52102         New module mbsstr. Remove module strstr.
52103         * modules/mbsstr: New file.
52104         * modules/strstr: Remove file.
52105         * lib/mbsstr.c: Renamed from lib/strstr.c.
52106         (mbsstr): Renamed from strstr.
52107         * lib/string_.h (strstr): Remove declaration. Change the conditional
52108         link warning.
52109         (mbsstr): New declaration.
52110         * m4/mbsstr.m4: New file.
52111         * m4/strstr.m4: Remove file.
52112         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52113         REPLACE_STRSTR.
52114         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
52115         Don't initialize GNULIB_STRSTR.
52116         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
52117         substitute GNULIB_STRSTR and REPLACE_STRSTR.
52118         * MODULES.html.sh (Internationalization functions): Add mbsstr.
52119         (Support for systems lacking ANSI C 89): Remove strstr.
52120
52121 2007-02-04  Bruno Haible  <bruno@clisp.org>
52122
52123         New module mbsrchr.
52124         * modules/mbsrchr: New file.
52125         * lib/mbsrchr.c: New file.
52126         * lib/string_.h (strrchr): Add a conditional link warning.
52127         (mbsrchr): New declaration.
52128         * m4/mbsrchr.m4: New file.
52129         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52130         GNULIB_MBSRCHR.
52131         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
52132         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
52133
52134 2007-02-04  Bruno Haible  <bruno@clisp.org>
52135
52136         New module mbschr.
52137         * modules/mbschr: New file.
52138         * lib/mbschr.c: New file.
52139         * lib/string_.h (strchr): Add a conditional link warning.
52140         (mbschr): New declaration.
52141         * m4/mbschr.m4: New file.
52142         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52143         GNULIB_MBSCHR.
52144         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
52145         * MODULES.html.sh (Internationalization functions): Add mbschr.
52146
52147 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52148
52149         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
52150
52151         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
52152
52153 2007-02-04  Bruno Haible  <bruno@clisp.org>
52154
52155         New module description section 'configure.ac-early'.
52156         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
52157         (func_get_autoconf_early_snippet): New function.
52158         (func_import, func_create_testdir): Use it. Remove special cases for
52159         modules 'extensions' and 'lock'.
52160         * modules/extensions (configure.ac-early): Require
52161         gl_USE_SYSTEM_EXTENSIONS.
52162         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
52163
52164 2007-02-04  Bruno Haible  <bruno@clisp.org>
52165
52166         Make use of gcj-4.3's -fsource and -ftarget option.
52167         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
52168         and if so try the options -fsource and -ftarget.
52169         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
52170         source_version, ftarget_option, target_version arguments.
52171         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
52172         (is_envjavac_oldgcj_14_14_usable): Renamed from
52173         is_envjavac_gcj_14_14_usable.
52174         (is_envjavac_oldgcj_14_13_usable): Renamed from
52175         is_envjavac_gcj_14_13_usable.
52176         (is_gcj_present): Update.
52177         (is_gcj_43, is_gcj43_usable): New functions.
52178         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
52179         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
52180         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
52181         try the options -fsource and -ftarget.
52182
52183 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52184
52185         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
52186         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
52187         larger value.
52188
52189 2007-02-03  Jim Meyering  <jim@meyering.net>
52190
52191         Give tools a better chance to allocate space for very large buffers.
52192         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
52193
52194         Make pwd and readlink work also when run with an unreadable parent dir
52195         on systems with openat support.
52196         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
52197         provided getcwd function, even when we have openat support.
52198         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
52199
52200 2007-02-02  Bruno Haible  <bruno@clisp.org>
52201
52202         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52203         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
52204         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
52205         portability problems if one of these functions is only used on specific
52206         platforms.
52207         Reported by Paul Eggert.
52208
52209 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52210
52211         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
52212         is causing more trouble than it's curing.
52213         * lib/regex_internal.h (__mempcpy): Remove.
52214         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
52215         (and make the code a tad smaller to boot).
52216         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
52217
52218 2007-02-02  Jim Meyering  <jim@meyering.net>
52219
52220         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
52221         section, not in the Makefile.am: one.
52222
52223 2007-02-02  Eric Blake  <ebb9@byu.net>
52224
52225         * lib/strchrnul.c: Always include config.h first.
52226
52227         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
52228         gnulib strstr is not necessary here.
52229
52230 2007-02-02  Simon Josefsson  <simon@josefsson.org>
52231
52232         * m4/socklen.m4: Fix typo.
52233
52234 2007-02-02  Eric Blake  <ebb9@byu.net>
52235
52236         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
52237         * modules/netinet_in (Makefile.am): Likewise.
52238
52239 2007-02-01  Bruno Haible  <bruno@clisp.org>
52240
52241         * lib/string_.h (GL_LINK_WARNING): New macro.
52242         (strcasecmp, strstr, strcasestr): If provided by the system,
52243         conditionally define as a macro that leads to a warning instead of to
52244         an error.
52245         (strncasecmp): Conditionally define as a macro that leads to a warning.
52246
52247 2007-02-01  Karl Berry  <karl@gnu.org>
52248
52249         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
52250
52251 2007-02-01  Bruno Haible  <bruno@clisp.org>
52252
52253         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
52254         renamings.
52255
52256 2007-02-01  Eric Blake  <ebb9@byu.net>
52257
52258         * modules/regex (Depends-on): Revert dependence on mempcpy.
52259         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
52260         module's definition of mempcpy.
52261         Reported by Paul Eggert.
52262
52263 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52264
52265         * lib/string_.h: If the gnulib module XYZ is not present, undefine
52266         the symbol XYZ before redefining it.  This fixes a problem with
52267         programs that don't use XYZ, when compiled on systems that define
52268         XYZ to something else.
52269
52270 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52271
52272         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
52273         occurs when "mkdir -m foo" creates a setgid directory that is (1)
52274         writeable to group or other and (2) is intended to have a special
52275         mode bit that is set or cleared.  In such a case, the directory
52276         should be neither group- nor other-writeable until the special
52277         mode bits are right.
52278
52279 2007-01-31  Eric Blake  <ebb9@byu.net>
52280
52281         * modules/mountlist (Depends-on): Add strstr.
52282
52283         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
52284         bug.
52285         * modules/string (Makefile.am): Remove redundant replacement.
52286         * modules/regex (Depends-on): Add mempcpy.
52287
52288 2007-01-31  Bruno Haible  <bruno@clisp.org>
52289
52290         New module description field 'Link'.
52291         * gnulib-tool (func_usage): Document --extract-link-directive.
52292         (sed_extract_prog): Recognize 'Link' directive.
52293         (func_get_link_directive): New function.
52294         (func_import): Show summary of link directives.
52295         Handle --extract-link-directive option.
52296         * modules/acl (Link): New section.
52297         * modules/clock-time (Link): New section.
52298         * modules/euidaccess (Link): New section.
52299         * modules/gettext (Link): New section.
52300         * modules/iconv (Link): New section.
52301         * modules/lock (Link): New section.
52302         * modules/nanosleep (Link): New section.
52303         * modules/readline (Link): New section.
52304
52305 2007-01-27  Bruno Haible  <bruno@clisp.org>
52306
52307         Enforce the use of gnulib modules for unportable <string.h> functions.
52308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
52309         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
52310         (gl_HEADER_STRING_H_BODY): Require it.
52311         * lib/string_.h: If the gnulib module XYZ is not present, redefine
52312         the symbol XYZ to one that gives a link error.
52313         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
52314         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
52315         * modules/mempcpy (configure.ac): Likewise.
52316         * modules/memrchr (configure.ac): Likewise.
52317         * modules/stpcpy (configure.ac): Likewise.
52318         * modules/stpncpy (configure.ac): Likewise.
52319         * modules/strcase (configure.ac): Likewise.
52320         * modules/strcasestr (configure.ac): Likewise.
52321         * modules/strchrnul (configure.ac): Likewise.
52322         * modules/strdup (configure.ac): Likewise.
52323         * modules/strndup (configure.ac): Likewise.
52324         * modules/strnlen (configure.ac): Likewise.
52325         * modules/strpbrk (configure.ac): Likewise.
52326         * modules/strsep (configure.ac): Likewise.
52327         * modules/strstr (configure.ac): Likewise.
52328         * modules/strtok_r (configure.ac): Likewise.
52329
52330 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
52331
52332         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
52333
52334 2007-01-30  Jim Meyering  <jim@meyering.net>
52335
52336         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
52337
52338 2007-01-29  Bruno Haible  <bruno@clisp.org>
52339
52340         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
52341         * lib/execute.c: Likewise.
52342         * lib/pipe.c: Likewise.
52343         * lib/printf-args.h: Likewise.
52344         * lib/printf-args.c: Likewise.
52345         * lib/printf-parse.c: Likewise.
52346         * lib/vasnprintf.c: Likewise.
52347
52348 2007-01-29  Eric Blake  <ebb9@byu.net>
52349
52350         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
52351         declaration.
52352
52353 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
52354
52355         * lib/strptime.h (strptime): Use 'restrict' for args where
52356         POSIX requires this.
52357         * lib/strptime.c (strptime): Likewise.
52358         Change license notice from LGPL to GPL, since gnulib-tool will
52359         change this as needed.
52360         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
52361         defined.
52362         Include "strptime.h" first, to check interface.
52363         Do not #undef _LIBC and _NL_CURRENT.
52364         Do not include <stdlib.h>; no longer needed.
52365         Include "time_r.h" and declare ptime_locale_status
52366         only if _LIBC is not defined.
52367         (__P): Remove unused macro.
52368         (match_string): Bring back glibc version, but use it only if _LIBC
52369         is defined.
52370         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
52371         Remove unnecessary assertion and abort() call.
52372         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
52373         * m4/strptime.m4: Fix serial number comment.
52374         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
52375         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
52376         (Depends-on): Add time_r.
52377
52378 2007-01-29  Bruno Haible  <bruno@clisp.org>
52379
52380         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52381         strptime.
52382         * modules/strptime (Depends-on): Add stdbool.
52383         * lib/strptime.h: Include <time.h> always. Add comments.
52384
52385 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52386
52387         * modules/strptime: New file.
52388         * lib/strptime.h: New file.
52389         * lib/strptime.c: New file.
52390         * m4/strptime.m4: New file.
52391
52392 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
52393
52394         * MODULES.html.sh: New module mpsort.
52395         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
52396
52397         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
52398         a circularity problem with HP-UX ia64 reported by Bob Proulx in
52399         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
52400         All uses changed.
52401         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
52402         All uses changed.
52403         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
52404         to _Restrict_.
52405         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
52406         the parameter matches the prototype.
52407
52408 2007-01-28  Jim Meyering  <jim@meyering.net>
52409
52410         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
52411         sys/time.h here, reverting that part of the previous patch:
52412         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
52413
52414 2007-01-28  Bruno Haible  <bruno@clisp.org>
52415
52416         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
52417         value of $(SYS_TIME_H).
52418         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
52419         remove it conditionally, too. [added by Jim Meyering]
52420         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
52421         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52422         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
52423         GETTIMEOFDAY_REPLACEMENT to 1.
52424
52425 2007-01-28  Bruno Haible  <bruno@clisp.org>
52426
52427         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
52428         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
52429         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
52430         Set UNISTD_H instead of UNISTD_H2.
52431         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
52432
52433 2007-01-28  Bruno Haible  <bruno@clisp.org>
52434
52435         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
52436         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
52437
52438 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52439
52440         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
52441         (func_create_testdir): Ensure C locale for `grep' and `tr'
52442         character ranges.
52443         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
52444         ACLOCAL_AMFLAGS parsing state machine.
52445
52446 2007-01-27  Bruno Haible  <bruno@clisp.org>
52447
52448         * modules/unistr/base: Update.
52449
52450 2007-01-27  Bruno Haible  <bruno@clisp.org>
52451
52452         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
52453         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
52454         * modules/unistr/u32-mbtouc-unsafe: Renamed from
52455         modules/unistr/u32-mbtouc.
52456         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
52457         * lib/unistr.h: Update.
52458         * lib/linebreak.c: Update.
52459         * modules/unistr/u32-mbtouc: Renamed from
52460         modules/unistr/u32-mbtouc-safe.
52461         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
52462         * lib/unistr.h: Update.
52463         * lib/unistr/u32-to-u8.c: Update.
52464         * lib/unistr/u32-to-u16.c: Update.
52465
52466 2007-01-27  Bruno Haible  <bruno@clisp.org>
52467
52468         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
52469         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
52470         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
52471         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
52472         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
52473         * modules/unistr/u16-mbtouc-unsafe: Renamed from
52474         modules/unistr/u16-mbtouc.
52475         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
52476         * lib/unistr.h: Update.
52477         * lib/linebreak.c: Update.
52478         * modules/linebreak: Update.
52479         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
52480         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
52481         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
52482         * modules/unistr/u16-mbtouc: Renamed from
52483         modules/unistr/u16-mbtouc-safe.
52484         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
52485         * lib/unistr.h: Update.
52486         * lib/unistr/u16-to-u8.c: Update.
52487         * modules/unistr/u16-to-u8: Update.
52488         * lib/unistr/u16-to-u32.c: Update.
52489         * modules/unistr/u16-to-u32: Update.
52490
52491 2007-01-27  Bruno Haible  <bruno@clisp.org>
52492
52493         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
52494         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
52495         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
52496         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
52497         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
52498         * modules/unistr/u8-mbtouc-unsafe: Renamed from
52499         modules/unistr/u8-mbtouc.
52500         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
52501         * lib/unistr.h: Update.
52502         * lib/striconveh.c: Update.
52503         * modules/striconveh: Update.
52504         * lib/linebreak.c: Update.
52505         * modules/linebreak: Update.
52506         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
52507         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
52508         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
52509         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
52510         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
52511         * lib/unistr.h: Update.
52512         * lib/striconveh.c: Update.
52513         * modules/striconveh: Update.
52514         * lib/unistr/u8-to-u16.c: Update.
52515         * modules/unistr/u8-to-u16: Update.
52516         * lib/unistr/u8-to-u32.c: Update.
52517         * modules/unistr/u8-to-u32: Update.
52518
52519 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52520
52521         Sync from Libtool.
52522         * lib/argz.c: Do not include strings.h nor memory.h, include
52523         string.h unconditionally.  Patch by Simon Josefsson.
52524
52525 2007-01-27  Bruno Haible  <bruno@clisp.org>
52526
52527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
52528         from gl_HEADER_STRING_H_BODY.
52529         (gl_HEADER_STRING_H_BODY): Require it.
52530         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
52531         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52532         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52533         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52534         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52535         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
52536         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52537         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52538         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
52539         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52540         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52541         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
52542         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52543         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52544         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52545
52546 2007-01-27  Bruno Haible  <bruno@clisp.org>
52547
52548         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
52549         check_PROGRAMS into noinst_PROGRAMS.
52550         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
52551         check_PROGRAMS in this case.
52552         (func_import): Set for_test to false.
52553         (func_create_testdir): Set for_test to true.
52554
52555 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
52556             Bruno Haible  <bruno@clisp.org>
52557
52558         * modules/strcasestr (Files): Remove lib/strcasestr.h.
52559         (Depends-on): Add string.
52560         (Includes): Use <string.h> instead of strcasestr.h.
52561         * modules/string (Makefile.am): Also substitute the value of
52562         REPLACE_STRCASESTR.
52563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
52564         assume strcasestr is declared in <string.h> not <strings.h>. Also
52565         set REPLACE_STRCASESTR.
52566         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
52567         REPLACE_STRCASESTR.
52568         * lib/strcasestr.h: Remove file.
52569         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
52570         * lib/string_.h (strcasestr): New declaration.
52571
52572 2007-01-27  Bruno Haible  <bruno@clisp.org>
52573
52574         * lib/string_.h: Use 'extern'.
52575
52576 2007-01-27  Jim Meyering  <jim@meyering.net>
52577
52578         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
52579         of set-but-not-used local, "q".
52580
52581         * lib/mempcpy.c: Include <config.h> before <string.h>.
52582         This fixes a compilation error on HP-UX, due to the system's
52583         "restrict"-using mempcpy prototype.
52584
52585 2007-01-26  Bruno Haible  <bruno@clisp.org>
52586
52587         Small optimization.
52588         * lib/javacomp.c: Include c-strstr.h.
52589          (is_envjavac_gcj): Use c_strstr instead of strstr.
52590         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
52591
52592 2007-01-26  Bruno Haible  <bruno@clisp.org>
52593
52594         * MODULES.html.sh (Unicode string functions): Add the new modules.
52595
52596         * modules/uniconv/u32-strconv-to-locale: New file.
52597         * lib/uniconv/u32-strconv-to-locale.c: New file.
52598
52599         * modules/uniconv/u16-strconv-to-locale: New file.
52600         * lib/uniconv/u16-strconv-to-locale.c: New file.
52601
52602         * modules/uniconv/u8-strconv-to-locale: New file.
52603         * lib/uniconv/u8-strconv-to-locale.c: New file.
52604
52605         * modules/uniconv/u32-strconv-from-locale: New file.
52606         * lib/uniconv/u32-strconv-from-locale.c: New file.
52607
52608         * modules/uniconv/u16-strconv-from-locale: New file.
52609         * lib/uniconv/u16-strconv-from-locale.c: New file.
52610
52611         * modules/uniconv/u8-strconv-from-locale: New file.
52612         * lib/uniconv/u8-strconv-from-locale.c: New file.
52613
52614         * modules/uniconv/u32-strconv-to-enc: New file.
52615         * lib/uniconv/u32-strconv-to-enc.c: New file.
52616         * modules/uniconv/u32-strconv-to-enc-tests: New file.
52617         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
52618
52619         * modules/uniconv/u16-strconv-to-enc: New file.
52620         * lib/uniconv/u16-strconv-to-enc.c: New file.
52621         * lib/uniconv/u-strconv-to-enc.h: New file.
52622         * modules/uniconv/u16-strconv-to-enc-tests: New file.
52623         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
52624
52625         * modules/uniconv/u8-strconv-to-enc: New file.
52626         * lib/uniconv/u8-strconv-to-enc.c: New file.
52627         * modules/uniconv/u8-strconv-to-enc-tests: New file.
52628         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
52629
52630         * modules/uniconv/u32-strconv-from-enc: New file.
52631         * lib/uniconv/u32-strconv-from-enc.c: New file.
52632         * modules/uniconv/u32-strconv-from-enc-tests: New file.
52633         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
52634
52635         * modules/uniconv/u16-strconv-from-enc: New file.
52636         * lib/uniconv/u16-strconv-from-enc.c: New file.
52637         * modules/uniconv/u16-strconv-from-enc-tests: New file.
52638         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
52639
52640         * modules/uniconv/u8-strconv-from-enc: New file.
52641         * lib/uniconv/u8-strconv-from-enc.c: New file.
52642         * lib/uniconv/u-strconv-from-enc.h: New file.
52643         * modules/uniconv/u8-strconv-from-enc-tests: New file.
52644         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
52645
52646         * modules/uniconv/u32-conv-from-enc: New file.
52647         * lib/uniconv/u32-conv-from-enc.c: New file.
52648         * modules/uniconv/u32-conv-from-enc-tests: New file.
52649         * tests/uniconv/test-u32-conv-from-enc.c: New file.
52650
52651         * modules/uniconv/u16-conv-from-enc: New file.
52652         * lib/uniconv/u16-conv-from-enc.c: New file.
52653         * lib/uniconv/u-conv-from-enc.h: New file.
52654         * modules/uniconv/u16-conv-from-enc-tests: New file.
52655         * tests/uniconv/test-u16-conv-from-enc.c: New file.
52656
52657         * modules/uniconv/u8-conv-from-enc: New file.
52658         * lib/uniconv/u8-conv-from-enc.c: New file.
52659         * modules/uniconv/u8-conv-from-enc-tests: New file.
52660         * tests/uniconv/test-u8-conv-from-enc.c: New file.
52661
52662         * modules/uniconv/base: New file.
52663         * lib/uniconv.h: New file.
52664
52665 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52666
52667         * doc/gnulib-tool.texi (Initial import): Update to match current
52668         behavior with strdup module.
52669         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
52670         * lib/memmem.h: Remove; all uses removed.  This is now done
52671         by <string.h>.
52672         * lib/mempcpy.h: Likewise.
52673         * lib/memrchr.h: Likewise.
52674         * lib/stpcpy.h: Likewise.
52675         * lib/stpncpy.h: Likewise.
52676         * lib/strcase.h: Likewise.
52677         * lib/strchrnul.h: Likewise.
52678         * lib/strdup.h: Likewise.
52679         * lib/strndup.h: Likewise.
52680         * lib/strnlen.h: Likewise.
52681         * lib/strpbrk.h: Likewise.
52682         * lib/strsep.h: Likewise.
52683         * lib/strstr.h: Likewise.
52684         * lib/strtok_r.h: Likewise.
52685         * lib/string_.h: New file.
52686         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
52687         Rely on <string.h> instead.
52688         * lib/canon-host.c: Likewise.
52689         * lib/chdir-long.c: Likewise.
52690         * lib/concatpath.c: Likewise.
52691         * lib/exclude.c: Likewise.
52692         * lib/fchdir.c: Likewise.
52693         * lib/getaddrinfo.c: Likewise.
52694         * lib/getcwd.c: Likewise.
52695         * lib/getsubopt.c: Likewise.
52696         * lib/glob.c: Likewise.
52697         * lib/hard-locale.c: Likewise.
52698         * lib/iconvme.c: Likewise.
52699         * lib/javacomp.c: Likewise.
52700         * lib/mempcpy.c: Likewise.
52701         * lib/memrchr.c: Likewise.
52702         * lib/regex_internal.h: Likewise.
52703         * lib/stpncpy.c: Likewise.
52704         * lib/strcasecmp.c: Likewise.
52705         * lib/strchrnul.c: Likewise.
52706         * lib/strdup.c: Likewise.
52707         * lib/striconv.c: Likewise.
52708         * lib/striconveh.c: Likewise.
52709         * lib/striconveha.c: Likewise.
52710         * lib/strncasecmp.c: Likewise.
52711         * lib/strndup.c: Likewise.
52712         * lib/strnlen.c: Likewise.
52713         * lib/strsep.c: Likewise.
52714         * lib/strstr.c: Likewise.
52715         * lib/strtok_r.c: Likewise.
52716         * lib/userspec.c: Likewise.
52717         * lib/w32spawn.h: Likewise.
52718         * lib/xstrndup.c: Likewise.
52719         * lib/mountlist.c (strstr): Remove decl.
52720         * m4/string_h.m4: New file.
52721         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52722         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52723         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52724         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52725         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52726         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52727         Set REPLACE_STRCASECMP if necessary.
52728         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52729         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52730         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52731         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52732         HAVE_DECL_STRDUP if necessary.
52733         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52734         since gl_FUNC_STRNDUP does that now.
52735         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52736         Check for decl here...
52737         (gl_PREREQ_STRNLEN): ... not here.
52738         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52739         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52740         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52741         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52742         necessary.
52743         * modules/string: New file.
52744         * modules/memmem (Files): Remove special-purpose include file.
52745         (Depends-on): Add string.
52746         (Include): Include <string.h>, not the removed file.
52747         * modules/mempcpy: Likewise.
52748         * modules/memrchr: Likewise.
52749         * modules/stpcpy: Likewise.
52750         * modules/stpncpy: Likewise.
52751         * modules/strcase: Likewise.
52752         * modules/strchrnul: Likewise.
52753         * modules/strdup: Likewise.
52754         * modules/strndup: Likewise.
52755         * modules/strnlen: Likewise.
52756         * modules/strpbrk: Likewise.
52757         * modules/strsep: Likewise.
52758         * modules/strstr: Likewise.
52759         * modules/strtok_r: Likewise.
52760         * tests/test-dirname.c: Don't include "strdup.h", since
52761         <string.h> now suffices.
52762         * tests/test-memmem.c: Don't include "memmem.h", since
52763         <string.h> now suffices.
52764
52765 2007-01-25  Bruno Haible  <bruno@clisp.org>
52766
52767         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52768         *resultp is 0.
52769
52770         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52771         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52772         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52773         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52774
52775         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52776         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52777         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52778         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52779         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52780         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52781
52782 2007-01-24  Bruno Haible  <bruno@clisp.org>
52783
52784         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52785         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52786         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52787         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52788         gl_FUNC_FTS_CORE.
52789         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52790         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52791         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52792         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52793         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52794         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52795         gl_FUNC_FCHOWNAT.
52796         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52797         gl_FUNC_STRFTIME.
52798         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52799         Reported by Ralf Wildenhues.
52800
52801 2007-01-24  Bruno Haible  <bruno@clisp.org>
52802
52803         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52804         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52805         gl_GETADDRINFO.
52806         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52807         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52808         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52809
52810 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52811
52812         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52813         Don't use 'exit'; just return from 'main'.
52814         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52815
52816         * lib/fnmatch_.h: Readjust white space and comments to match
52817         glibc, to avoid spurious diffs.
52818
52819 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52820
52821         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52822         2004-12-01 change by Jakub Jelinek, since this code won't compile
52823         if !LIBC.  Problem reported by Bob Proulx.
52824
52825 2007-01-23  Bruno Haible  <bruno@clisp.org>
52826
52827         * lib/striconveh.c: Include c-strcaseeq.h.
52828         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52829         * modules/striconveh (Depends-on): Add c-strcaseeq.
52830
52831 2007-01-23  Bruno Haible  <bruno@clisp.org>
52832
52833         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52834
52835         * modules/c-strcaseeq: New file.
52836         * lib/c-strcaseeq.h: New file.
52837
52838         * modules/streq: New file.
52839         * lib/streq.h: New file.
52840
52841 2007-01-23  Bruno Haible  <bruno@clisp.org>
52842
52843         * modules/striconveha-tests: New file.
52844         * tests/test-striconveha.c: New file.
52845
52846         * lib/striconveha.h: Include <stdbool.h>.
52847         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52848         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52849         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52850         (mem_iconveha): New function.
52851         (str_iconveha_notranslit): Renamed from str_iconveha.
52852         (str_iconveha): New function.
52853         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52854         c-strcase.
52855
52856 2007-01-23  Bruno Haible  <bruno@clisp.org>
52857
52858         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52859         encodings without forgiving before trying any encoding with handler.
52860         (str_iconveha): Try all encodings without forgiving before trying any
52861         encoding with handler.
52862
52863 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52864
52865         Import the following changes from libc.
52866
52867         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52868
52869         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52870
52871         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52872
52873         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52874         normal_bracket label.
52875
52876         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52877
52878         [BZ #361]
52879         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52880         to normal_bracket after fetching the next character.
52881
52882 2007-01-22  Bruno Haible  <bruno@clisp.org>
52883
52884         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52885         argument.
52886         * lib/striconveh.c (iconv_carefully_1): New function.
52887         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52888         argument.
52889         (str_cd_iconveh): Update.
52890         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52891         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52892         * tests/test-striconveh.c (MAGIC): New macro.
52893         (new_offsets): New function.
52894         (main): Test call with and without offsets.
52895
52896 2007-01-22  Bruno Haible  <bruno@clisp.org>
52897
52898         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52899         * modules/sys_select (Makefile.am): Likewise.
52900         * modules/sys_socket (Makefile.am): Likewise.
52901         * modules/sys_time (Makefile.am): Likewise.
52902
52903 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52904
52905         * modules/gettimeofday (License): Change from GPL to LGPL, since
52906         gettimeofday is a library function.
52907
52908 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52909
52910         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52911
52912 2007-01-21  Bruno Haible  <bruno@clisp.org>
52913
52914         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52915
52916 2007-01-21  Bruno Haible  <bruno@clisp.org>
52917
52918         * modules/striconveha: New file.
52919         * lib/striconveha.h: New file.
52920         * lib/striconveha.c: New file.
52921         * MODULES.html.sh (Internationalization functions): Add striconveha.
52922         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52923         string.
52924         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52925
52926 2007-01-21  Bruno Haible  <bruno@clisp.org>
52927
52928         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
52929         * lib/striconveh.c (str_iconveh): Likewise.
52930
52931 2007-01-21  Bruno Haible  <bruno@clisp.org>
52932
52933         * lib/striconveh.h (mem_iconveh): New declaration.
52934         * lib/striconveh.c (mem_iconveh): New function.
52935         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
52936
52937 2007-01-21  Bruno Haible  <bruno@clisp.org>
52938
52939         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
52940
52941         * lib/striconveh.h (mem_cd_iconveh): Change specification.
52942         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
52943         original result buffer.
52944         (str_cd_iconveh): Update.
52945         * tests/test-striconveh.c (main): Update.
52946
52947         * lib/striconv.h (mem_cd_iconv): Change specification.
52948         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
52949         result buffer.
52950         (str_cd_iconv): Update.
52951         * tests/test-striconv.c (main): Update.
52952
52953 2007-01-21  Bruno Haible  <bruno@clisp.org>
52954
52955         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
52956
52957 2007-01-20  Jim Meyering  <jim@meyering.net>
52958
52959         * lib/userspec.c (parse_with_separator): If a user or group string
52960         starts with "+", skip the corresponding name-to-ID look-up, since
52961         such a look-up must fail: user and group names may not include "+".
52962
52963 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
52964
52965         * lib/poll.c: Include sys/time.h and time.h unconditionally,
52966         since we now assume the sys_time module.
52967         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
52968         check for sys/time.h; no longer needed.
52969         * modules/poll (Depends-on): Depend on sys_time.
52970
52971 2007-01-18  Bruno Haible  <bruno@clisp.org>
52972
52973         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
52974         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52975
52976         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
52977         gettimeofday.
52978
52979         * tests/test-gettimeofday.c: Include <time.h>.
52980         (dummy): Remove variable.
52981
52982         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
52983         gl_HEADER_SYS_TIME_H.
52984         (gl_HEADER_SYS_TIME_H): New macro.
52985
52986         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
52987         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52988         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52989         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
52990         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52991         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
52992         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
52993         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52994         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
52995         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
52996         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52997
52998         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
52999         last change; it caused a compilation error when cross-compiling to
53000         Cygwin.
53001
53002 2007-01-18  Jim Meyering  <jim@meyering.net>
53003
53004         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
53005         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
53006         than the race-prone "test -d sys || mkdir sys".
53007         (configure.ac): Use AC_PROG_MKDIR_P.
53008         * modules/sys_select: Likewise.
53009         * modules/sys_socket: Likewise.
53010         * modules/sys_time: Likewise.
53011
53012 2007-01-18  Eric Blake  <ebb9@byu.net>
53013
53014         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
53015         replace gettimeofday.
53016         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
53017         name, to avoid infinite recursion.
53018
53019 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
53020
53021         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
53022         module sys_time.
53023         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
53024         assume timespec.h defines struct timeval.
53025         * lib/settime.c: Likewise.
53026         * lib/utimens.c: Likewise.
53027         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
53028         since we now assume the gettimeofday module.
53029         * lib/tempname.c (__gen_tempname): Likewise.
53030         * lib/gettimeofday.h: Remove.
53031         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
53032         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
53033         Include <time.h>, for 'time()'.
53034         (localtime_buffer_addr): Also use this workaround if
53035         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
53036         to simplify the uses.  All uses changed.
53037         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
53038         that #undef is inside {}, and 'const' follows type name consistently.
53039         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
53040         (gettimeofday): Do not use the maximum possible value for
53041         tv->tv_usec, since that might break usages other than ls.c.
53042         Instead, we'll leave ls.c alone.  This undoes today's patch
53043         by Bruno.  Add a compile-time warning for 1s-clock resolution;
53044         we've never observed the problem but might as well keep the
53045         canary.
53046         * lib/nanosleep.c: Include timespec.h first, for interface check.
53047         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
53048         now assume the sys_time module.
53049         * lib/tempname.c: Likewise.
53050         * lib/timespec.h: Likewise.
53051         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
53052         needed.
53053         * lib/strftime.c: Likewise.
53054         * lib/timespec.h: Likewise.
53055         * lib/posixtm.c: Include posixtm.h first, for interface check.
53056         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
53057         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
53058         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
53059         * lib/sys_time_.h: New file.
53060         * lib/timespec.h (struct timespec): Use long int, not long.
53061         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53062         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
53063         Remove obsolescent call to AC_HEADER_TIME.
53064         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53066         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53067         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
53068         Likewise.
53069         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
53070         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
53071         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
53072         into the sys_time module.  Check for gettimeofday just once.
53073         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
53074         for gettimeofday signature to just check the signature.  Merely
53075         compile it, since linking doesn't test signature.  Improve test for
53076         whether gettimeofday.o is actually needed.
53077         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
53078         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
53079         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
53080         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53081         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
53082         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
53083         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
53084         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
53085         than worrying about sys/time.h.
53086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53087         Don't bother worrying about TIME_WITH_SYS_TIME.
53088         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53089         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
53090         * m4/sys_time_h.m4: New file.
53091         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
53092         Don't include sys/time.h.  Return from main rather than exiting.
53093         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
53094         all uses changed.
53095         * modules/gethrxtime (Depends-on): Add sys_time.
53096         * modules/gettime (Depends-on): Likewise.
53097         * modules/gettimeofday (Depends-on): Likewise.
53098         * modules/nanosleep (Depends-on): Likewise.
53099         * modules/settime (Depends-on): Likewise.
53100         * modules/tempname (Depends-on): Likewise.
53101         * modules/utimens (Depends-on): Likewise.
53102         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
53103         (Include:) Change back to <sys/time.h>.
53104         (Maintainer:) Add self.
53105         * modules/sys_time: New file.
53106         * modules/tempname (Depends-on): Add gettimeofday.
53107         * tests/test-gettimeofday.c: Include <sys/time.h>
53108         rather than gettimeofday.h.
53109
53110 2007-01-17  Bruno Haible  <bruno@clisp.org>
53111
53112         * gnulib-tool (func_get_license): Revert last patch. Instead, let
53113         the license default to GPL.
53114         (func_create_testdir): Don't complain if a module is LGPL and its
53115         tests module depends on GPLed modules.
53116
53117 2007-01-17  Bruno Haible  <bruno@clisp.org>
53118
53119         * lib/gettimeofday.c (gettimeofday): Add code for the case
53120         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
53121         maximum possible value for tv->tv_usec, rather than the minimum one.
53122
53123 2005-10-08  Martin Lambers  <marlam@marlam.de>
53124 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53125 2007-01-16  Bruno Haible  <bruno@clisp.org>
53126
53127         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
53128         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
53129         gl_FUNC_GETTIMEOFDAY.
53130         (Include): Add gettimeofday.h.
53131         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
53132         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
53133         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
53134         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
53135         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
53136         * lib/gettimeofday.h: New file.
53137         * lib/gettimeofday.c: Include <sys/timeb.h>.
53138         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
53139         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53140         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
53141         fall back on time().
53142
53143         * tests/test-gettimeofday.c: New file.
53144         * modules/gettimeofday-tests: New file.
53145
53146 2007-01-16  Eric Blake  <ebb9@byu.net>
53147
53148         * modules/fnmatch (Depends-on): Depend on wchar.
53149         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
53150         * m4/fnmatch.m4: Likewise.
53151         * modules/mbchar (Makefile.am): Assume <wchar.h>.
53152         * m4/mbchar.m4: Likewise.
53153         * modules/mbswidth (Depends-on): Depend on wchar.
53154         * lib/mbswidth.c: Assume <wchar.h>.
53155         * m4/mbswidth.m4: Likewise.
53156         * modules/quotearg (Depends-on): Depend on wchar.
53157         * lib/quotearg.c: Assume <wchar.h>.
53158         * m4/quotearg.m4: Likewise.
53159         * modules/regex (Depends-on): Depend on wchar.
53160         * lib/regex_internal.h: Assume <wchar.h>.
53161         * m4/regex.m4: Likewise.
53162         * modules/stdint (Depends-on): Depend on wchar.
53163         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
53164         * m4/stdint.m4: Likewise.
53165         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
53166         * modules/strftime (Depends-on): Depend on wchar.
53167         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
53168         * modules/strtol (Depends-on): Depend on wchar.
53169         * lib/strtol.c: Assume <wchar.h>.
53170         * modules/wcwidth (Depends-on): Depend on wchar.
53171         * lib/wcwidth.h: Assume <wchar.h>.
53172         * m4/wcwidth.m4: Likewise.
53173
53174 2007-01-16  Bruno Haible  <bruno@clisp.org>
53175
53176         * modules/csharpexec-script: New, created from...
53177         * modules/csharpexec: ... this.
53178
53179 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53180
53181         * modules/javaexec-script: New, created from...
53182         * modules/javaexec: ... this.
53183
53184 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53185
53186         * modules/poll (Dependencies): Add sys_select.
53187
53188 2007-01-15  Jim Meyering  <jim@meyering.net>
53189
53190         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
53191         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
53192         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
53193         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
53194
53195 2007-01-15  Bruno Haible  <bruno@clisp.org>
53196
53197         * modules/striconveh: New file.
53198         * lib/striconveh.h: New file.
53199         * lib/striconveh.c: New file.
53200         * MODULES.html.sh (Internationalization functions): Add striconveh.
53201
53202         * modules/striconveh-tests: New file.
53203         * tests/test-striconveh.c: New file.
53204
53205 2007-01-15  Bruno Haible  <bruno@clisp.org>
53206
53207         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
53208         not from GNU libiconv or GNU libc.
53209
53210 2007-01-15  Bruno Haible  <bruno@clisp.org>
53211
53212         * doc/gnulib-intro.texi (Copyright): Explain the different license
53213         terms for module descriptions, autoconf macros, tests, documentation.
53214
53215 2007-01-14  Bruno Haible  <bruno@clisp.org>
53216
53217         * modules/striconv-tests: New file.
53218         * tests/test-striconv.c: New file.
53219
53220 2007-01-14  Bruno Haible  <bruno@clisp.org>
53221
53222         * modules/iconv-tests: New file.
53223         * tests/test-iconv.c: New file.
53224
53225 2007-01-14  Bruno Haible  <bruno@clisp.org>
53226
53227         * gnulib-tool (func_get_license): For test modules, use the license of
53228         the main module.
53229
53230 2007-01-14  Bruno Haible  <bruno@clisp.org>
53231
53232         * modules/iconv (Include): Clarify that <iconv.h> can only be included
53233         if iconv is found to exist.
53234
53235 2007-01-14  Bruno Haible  <bruno@clisp.org>
53236
53237         * modules/c-ctype-tests: New file.
53238         * tests/test-c-ctype.c: New file.
53239
53240 2007-01-14  Bruno Haible  <bruno@clisp.org>
53241
53242         * modules/binary-io-tests: New file.
53243         * tests/test-binary-io.sh: New file.
53244         * tests/test-binary-io.c: New file.
53245
53246 2007-01-14  Bruno Haible  <bruno@clisp.org>
53247
53248         * modules/array-oset-tests: New file.
53249         * tests/test-array_oset.c: New file.
53250
53251 2007-01-14  Bruno Haible  <bruno@clisp.org>
53252
53253         * modules/array-list-tests: New file.
53254         * tests/test-array_list.c: New file.
53255
53256 2007-01-14  Bruno Haible  <bruno@clisp.org>
53257
53258         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
53259         and make.
53260         Reported by Simon Josefsson in
53261         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
53262
53263 2007-01-14  Bruno Haible  <bruno@clisp.org>
53264
53265         * modules/allocsa-tests: New file.
53266         * tests/test-allocsa.c: New file.
53267
53268 2007-01-14  Bruno Haible  <bruno@clisp.org>
53269
53270         * modules/fchdir (Depends-on): Add absolute-header.
53271         * modules/unistd (Depends-on): Likewise.
53272
53273 2006-12-30  Bruno Haible  <bruno@clisp.org>
53274
53275         * modules/fchdir: New file.
53276         * modules/unistd (Files): Add lib/unistd_.h.
53277         (Makefile.am): Generate unistd.h from unistd_.h.
53278         * lib/fchdir.c: New file.
53279         * lib/dirent_.h: New file.
53280         * lib/unistd_.h: New file.
53281         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
53282         * m4/fchdir.m4: New file.
53283         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
53284         (gl_HEADER_UNISTD): Invoke it.
53285         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
53286         function.
53287         * lib/backupfile.c (opendir, closedir): Undefine.
53288         * lib/chown.c (open, close): Undefine.
53289         * lib/clean-temp.c (open, close): Undefine.
53290         * lib/copy-file.c (open, close): Undefine.
53291         * lib/execute.c (open, close): Undefine.
53292         * lib/fsusage.c (open, close): Undefine.
53293         * lib/gc-gnulib.c (open, close): Undefine.
53294         * lib/getcwd.c (opendir, closedir): Undefine.
53295         * lib/glob.c (opendir, closedir): Undefine.
53296         * lib/javacomp.c (open, close): Undefine.
53297         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
53298         * lib/openat-proc.c (open, close): Undefine.
53299         * lib/pagealign_alloc.c (open, close): Undefine.
53300         * lib/pipe.c (open, close): Undefine.
53301         * lib/progreloc.c (open, close): Undefine.
53302         * lib/savedir.c (opendir, closedir): Undefine.
53303         * lib/utime.c (open, close): Undefine.
53304         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
53305
53306 2007-01-10  Bruno Haible  <bruno@clisp.org>
53307
53308         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
53309
53310 2007-01-12  Eric Blake  <ebb9@byu.net>
53311
53312         Provide a robust <wchar.h>.  Further simplifications are now
53313         possible in other modules, but not included here.
53314         * modules/wchar: New module.
53315         * m4/wchar.m4: New file.
53316         * lib/wchar_.h: Likewise.
53317         * modules/mbchar (Depends-on): Depend on wchar, as the first use
53318         of the new module.
53319         * MODULES.html.sh (Extended multibyte and wide character utilities):
53320         New section.
53321
53322 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
53323
53324         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
53325         to a reasonable default for memory allocation.
53326         (xreadlink): Don't allocate a huge buffer, to work around a buggy
53327         file system that reports garbage st_size values for symlinks.
53328         Problem reported by Liyang Hu.
53329
53330 2007-01-11  Simon Josefsson  <simon@josefsson.org>
53331
53332         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
53333         Emacs .#* auto-save files).
53334
53335 2007-01-11  Bruno Haible  <bruno@clisp.org>
53336
53337         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
53338         directory.
53339
53340 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
53341
53342         Use @...@ consistently in lib/wctype_.h.
53343         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
53344         on it being set to 1 or 0.
53345         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
53346         go back to AC_SUBSTing it.
53347         * modules/wctype (Makefile.am): Undo previous change.
53348
53349 2007-01-10  Eric Blake  <ebb9@byu.net>
53350
53351         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
53352         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
53353         * modules/wctype (Makefile.am): Likewise.
53354         Reported by Chris McGuire.
53355
53356 2007-01-10  Jim Meyering  <jim@meyering.net>
53357
53358         fts.c: a small readability/maintainability improvement
53359         * lib/fts.c (fts_read): Make this code slightly more readable and
53360         maintainable by hoisting the "sp->fts_cur = p" assignments to
53361         immediately follow the statements that set P.  Derived from
53362         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
53363
53364 2007-01-10  Eric Blake  <ebb9@byu.net>
53365
53366         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
53367         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
53368         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53369         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53370         Reported by Chris McGuire.
53371
53372 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53373
53374         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
53375         in sed script.
53376
53377 2007-01-09  Bruno Haible  <bruno@clisp.org>
53378
53379         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
53380         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
53381         variables.
53382         (func_module): Use them.
53383
53384 2007-01-09  Bruno Haible  <bruno@clisp.org>
53385
53386         * modules/unistr/base: New file.
53387         * lib/unistr.h: New file.
53388
53389         * modules/unistr/u8-to-u16: New file.
53390         * lib/unistr/u8-to-u16.c: New file.
53391
53392         * modules/unistr/u8-to-u32: New file.
53393         * lib/unistr/u8-to-u32.c: New file.
53394
53395         * modules/unistr/u16-to-u8: New file.
53396         * lib/unistr/u16-to-u8.c: New file.
53397
53398         * modules/unistr/u16-to-u32: New file.
53399         * lib/unistr/u16-to-u32.c: New file.
53400
53401         * modules/unistr/u32-to-u8: New file.
53402         * lib/unistr/u32-to-u8.c: New file.
53403
53404         * modules/unistr/u32-to-u16: New file.
53405         * lib/unistr/u32-to-u16.c: New file.
53406
53407         * modules/unistr/u8-check: New file.
53408         * modules/unistr/u16-check: New file.
53409         * modules/unistr/u32-check: New file.
53410         * lib/unistr/u8-check.c: New file.
53411         * lib/unistr/u16-check.c: New file.
53412         * lib/unistr/u32-check.c: New file.
53413
53414         * modules/unistr/u8-chr: New file.
53415         * modules/unistr/u16-chr: New file.
53416         * modules/unistr/u32-chr: New file.
53417         * lib/unistr/u8-chr.c: New file.
53418         * lib/unistr/u16-chr.c: New file.
53419         * lib/unistr/u32-chr.c: New file.
53420
53421         * modules/unistr/u8-cmp: New file.
53422         * modules/unistr/u16-cmp: New file.
53423         * modules/unistr/u32-cmp: New file.
53424         * lib/unistr/u8-cmp.c: New file.
53425         * lib/unistr/u16-cmp.c: New file.
53426         * lib/unistr/u32-cmp.c: New file.
53427
53428         * modules/unistr/u8-cpy: New file.
53429         * modules/unistr/u16-cpy: New file.
53430         * modules/unistr/u32-cpy: New file.
53431         * lib/unistr/u8-cpy.c: New file.
53432         * lib/unistr/u16-cpy.c: New file.
53433         * lib/unistr/u32-cpy.c: New file.
53434         * lib/unistr/u-cpy.h: New file.
53435
53436         * modules/unistr/u8-cpy-alloc: New file.
53437         * modules/unistr/u16-cpy-alloc: New file.
53438         * modules/unistr/u32-cpy-alloc: New file.
53439         * lib/unistr/u8-cpy-alloc.c: New file.
53440         * lib/unistr/u16-cpy-alloc.c: New file.
53441         * lib/unistr/u32-cpy-alloc.c: New file.
53442         * lib/unistr/u-cpy-alloc.h: New file.
53443
53444         * modules/unistr/u8-endswith: New file.
53445         * modules/unistr/u16-endswith: New file.
53446         * modules/unistr/u32-endswith: New file.
53447         * lib/unistr/u8-endswith.c: New file.
53448         * lib/unistr/u16-endswith.c: New file.
53449         * lib/unistr/u32-endswith.c: New file.
53450         * lib/unistr/u-endswith.h: New file.
53451
53452         * modules/unistr/u8-mblen: New file.
53453         * modules/unistr/u16-mblen: New file.
53454         * modules/unistr/u32-mblen: New file.
53455         * lib/unistr/u8-mblen.c: New file.
53456         * lib/unistr/u16-mblen.c: New file.
53457         * lib/unistr/u32-mblen.c: New file.
53458
53459         * modules/unistr/u8-mbtouc: New file.
53460         * modules/unistr/u16-mbtouc: New file.
53461         * modules/unistr/u32-mbtouc: New file.
53462         * lib/unistr/u8-mbtouc.c: New file.
53463         * lib/unistr/u16-mbtouc.c: New file.
53464         * lib/unistr/u32-mbtouc.c: New file.
53465
53466         * modules/unistr/u8-mbtouc-safe: New file.
53467         * modules/unistr/u16-mbtouc-safe: New file.
53468         * modules/unistr/u32-mbtouc-safe: New file.
53469         * lib/unistr/u8-mbtouc-safe.c: New file.
53470         * lib/unistr/u16-mbtouc-safe.c: New file.
53471         * lib/unistr/u32-mbtouc-safe.c: New file.
53472
53473         * modules/unistr/u8-move: New file.
53474         * modules/unistr/u16-move: New file.
53475         * modules/unistr/u32-move: New file.
53476         * lib/unistr/u8-move.c: New file.
53477         * lib/unistr/u16-move.c: New file.
53478         * lib/unistr/u32-move.c: New file.
53479         * lib/unistr/u-move.h: New file.
53480
53481         * modules/unistr/u8-next: New file.
53482         * modules/unistr/u16-next: New file.
53483         * modules/unistr/u32-next: New file.
53484         * lib/unistr/u8-next.c: New file.
53485         * lib/unistr/u16-next.c: New file.
53486         * lib/unistr/u32-next.c: New file.
53487
53488         * modules/unistr/u8-prev: New file.
53489         * modules/unistr/u16-prev: New file.
53490         * modules/unistr/u32-prev: New file.
53491         * lib/unistr/u8-prev.c: New file.
53492         * lib/unistr/u16-prev.c: New file.
53493         * lib/unistr/u32-prev.c: New file.
53494
53495         * modules/unistr/u8-set: New file.
53496         * modules/unistr/u16-set: New file.
53497         * modules/unistr/u32-set: New file.
53498         * lib/unistr/u8-set.c: New file.
53499         * lib/unistr/u16-set.c: New file.
53500         * lib/unistr/u32-set.c: New file.
53501         * lib/unistr/u-set.h: New file.
53502
53503         * modules/unistr/u8-startswith: New file.
53504         * modules/unistr/u16-startswith: New file.
53505         * modules/unistr/u32-startswith: New file.
53506         * lib/unistr/u8-startswith.c: New file.
53507         * lib/unistr/u16-startswith.c: New file.
53508         * lib/unistr/u32-startswith.c: New file.
53509         * lib/unistr/u-startswith.h: New file.
53510
53511         * modules/unistr/u8-stpcpy: New file.
53512         * modules/unistr/u16-stpcpy: New file.
53513         * modules/unistr/u32-stpcpy: New file.
53514         * lib/unistr/u8-stpcpy.c: New file.
53515         * lib/unistr/u16-stpcpy.c: New file.
53516         * lib/unistr/u32-stpcpy.c: New file.
53517         * lib/unistr/u-stpcpy.h: New file.
53518
53519         * modules/unistr/u8-stpncpy: New file.
53520         * modules/unistr/u16-stpncpy: New file.
53521         * modules/unistr/u32-stpncpy: New file.
53522         * lib/unistr/u8-stpncpy.c: New file.
53523         * lib/unistr/u16-stpncpy.c: New file.
53524         * lib/unistr/u32-stpncpy.c: New file.
53525         * lib/unistr/u-stpncpy.h: New file.
53526
53527         * modules/unistr/u8-strcat: New file.
53528         * modules/unistr/u16-strcat: New file.
53529         * modules/unistr/u32-strcat: New file.
53530         * lib/unistr/u8-strcat.c: New file.
53531         * lib/unistr/u16-strcat.c: New file.
53532         * lib/unistr/u32-strcat.c: New file.
53533         * lib/unistr/u-strcat.h: New file.
53534
53535         * modules/unistr/u8-strchr: New file.
53536         * modules/unistr/u16-strchr: New file.
53537         * modules/unistr/u32-strchr: New file.
53538         * lib/unistr/u8-strchr.c: New file.
53539         * lib/unistr/u16-strchr.c: New file.
53540         * lib/unistr/u32-strchr.c: New file.
53541
53542         * modules/unistr/u8-strcmp: New file.
53543         * modules/unistr/u16-strcmp: New file.
53544         * modules/unistr/u32-strcmp: New file.
53545         * lib/unistr/u8-strcmp.c: New file.
53546         * lib/unistr/u16-strcmp.c: New file.
53547         * lib/unistr/u32-strcmp.c: New file.
53548
53549         * modules/unistr/u8-strcpy: New file.
53550         * modules/unistr/u16-strcpy: New file.
53551         * modules/unistr/u32-strcpy: New file.
53552         * lib/unistr/u8-strcpy.c: New file.
53553         * lib/unistr/u16-strcpy.c: New file.
53554         * lib/unistr/u32-strcpy.c: New file.
53555         * lib/unistr/u-strcpy.h: New file.
53556
53557         * modules/unistr/u8-strcspn: New file.
53558         * modules/unistr/u16-strcspn: New file.
53559         * modules/unistr/u32-strcspn: New file.
53560         * lib/unistr/u8-strcspn.c: New file.
53561         * lib/unistr/u16-strcspn.c: New file.
53562         * lib/unistr/u32-strcspn.c: New file.
53563         * lib/unistr/u-strcspn.h: New file.
53564
53565         * modules/unistr/u8-strdup: New file.
53566         * modules/unistr/u16-strdup: New file.
53567         * modules/unistr/u32-strdup: New file.
53568         * lib/unistr/u8-strdup.c: New file.
53569         * lib/unistr/u16-strdup.c: New file.
53570         * lib/unistr/u32-strdup.c: New file.
53571         * lib/unistr/u-strdup.h: New file.
53572
53573         * modules/unistr/u8-strlen: New file.
53574         * modules/unistr/u16-strlen: New file.
53575         * modules/unistr/u32-strlen: New file.
53576         * lib/unistr/u8-strlen.c: New file.
53577         * lib/unistr/u16-strlen.c: New file.
53578         * lib/unistr/u32-strlen.c: New file.
53579         * lib/unistr/u-strlen.h: New file.
53580
53581         * modules/unistr/u8-strmblen: New file.
53582         * modules/unistr/u16-strmblen: New file.
53583         * modules/unistr/u32-strmblen: New file.
53584         * lib/unistr/u8-strmblen.c: New file.
53585         * lib/unistr/u16-strmblen.c: New file.
53586         * lib/unistr/u32-strmblen.c: New file.
53587
53588         * modules/unistr/u8-strmbtouc: New file.
53589         * modules/unistr/u16-strmbtouc: New file.
53590         * modules/unistr/u32-strmbtouc: New file.
53591         * lib/unistr/u8-strmbtouc.c: New file.
53592         * lib/unistr/u16-strmbtouc.c: New file.
53593         * lib/unistr/u32-strmbtouc.c: New file.
53594
53595         * modules/unistr/u8-strncat: New file.
53596         * modules/unistr/u16-strncat: New file.
53597         * modules/unistr/u32-strncat: New file.
53598         * lib/unistr/u8-strncat.c: New file.
53599         * lib/unistr/u16-strncat.c: New file.
53600         * lib/unistr/u32-strncat.c: New file.
53601         * lib/unistr/u-strncat.h: New file.
53602
53603         * modules/unistr/u8-strncmp: New file.
53604         * modules/unistr/u16-strncmp: New file.
53605         * modules/unistr/u32-strncmp: New file.
53606         * lib/unistr/u8-strncmp.c: New file.
53607         * lib/unistr/u16-strncmp.c: New file.
53608         * lib/unistr/u32-strncmp.c: New file.
53609
53610         * modules/unistr/u8-strncpy: New file.
53611         * modules/unistr/u16-strncpy: New file.
53612         * modules/unistr/u32-strncpy: New file.
53613         * lib/unistr/u8-strncpy.c: New file.
53614         * lib/unistr/u16-strncpy.c: New file.
53615         * lib/unistr/u32-strncpy.c: New file.
53616         * lib/unistr/u-strncpy.h: New file.
53617
53618         * modules/unistr/u8-strnlen: New file.
53619         * modules/unistr/u16-strnlen: New file.
53620         * modules/unistr/u32-strnlen: New file.
53621         * lib/unistr/u8-strnlen.c: New file.
53622         * lib/unistr/u16-strnlen.c: New file.
53623         * lib/unistr/u32-strnlen.c: New file.
53624         * lib/unistr/u-strnlen.h: New file.
53625
53626         * modules/unistr/u8-strpbrk: New file.
53627         * modules/unistr/u16-strpbrk: New file.
53628         * modules/unistr/u32-strpbrk: New file.
53629         * lib/unistr/u8-strpbrk.c: New file.
53630         * lib/unistr/u16-strpbrk.c: New file.
53631         * lib/unistr/u32-strpbrk.c: New file.
53632         * lib/unistr/u-strpbrk.h: New file.
53633
53634         * modules/unistr/u8-strrchr: New file.
53635         * modules/unistr/u16-strrchr: New file.
53636         * modules/unistr/u32-strrchr: New file.
53637         * lib/unistr/u8-strrchr.c: New file.
53638         * lib/unistr/u16-strrchr.c: New file.
53639         * lib/unistr/u32-strrchr.c: New file.
53640
53641         * modules/unistr/u8-strspn: New file.
53642         * modules/unistr/u16-strspn: New file.
53643         * modules/unistr/u32-strspn: New file.
53644         * lib/unistr/u8-strspn.c: New file.
53645         * lib/unistr/u16-strspn.c: New file.
53646         * lib/unistr/u32-strspn.c: New file.
53647         * lib/unistr/u-strspn.h: New file.
53648
53649         * modules/unistr/u8-strstr: New file.
53650         * modules/unistr/u16-strstr: New file.
53651         * modules/unistr/u32-strstr: New file.
53652         * lib/unistr/u8-strstr.c: New file.
53653         * lib/unistr/u16-strstr.c: New file.
53654         * lib/unistr/u32-strstr.c: New file.
53655         * lib/unistr/u-strstr.h: New file.
53656
53657         * modules/unistr/u8-strtok: New file.
53658         * modules/unistr/u16-strtok: New file.
53659         * modules/unistr/u32-strtok: New file.
53660         * lib/unistr/u8-strtok.c: New file.
53661         * lib/unistr/u16-strtok.c: New file.
53662         * lib/unistr/u32-strtok.c: New file.
53663         * lib/unistr/u-strtok.h: New file.
53664
53665         * modules/unistr/u8-uctomb: New file.
53666         * modules/unistr/u16-uctomb: New file.
53667         * modules/unistr/u32-uctomb: New file.
53668         * lib/unistr/u8-uctomb.c: New file.
53669         * lib/unistr/u16-uctomb.c: New file.
53670         * lib/unistr/u32-uctomb.c: New file.
53671
53672         * MODULES.html.sh (Unicode string functions): Add the new modules.
53673
53674 2007-01-08  Bruno Haible  <bruno@clisp.org>
53675
53676         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
53677         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
53678         subdirectories.
53679
53680 2007-01-08  Karl Berry  <karl@gnu.org>
53681
53682         * doc/error.texi: mention that main() fns must set program_name
53683         when progname is used.
53684
53685 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
53686
53687         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
53688         WCTYPE_H is empty, for the benefit of builds from non-distclean
53689         directories.  Problem reported by Eric Blake in
53690         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53691
53692 2007-01-08  Bruno Haible  <bruno@clisp.org>
53693
53694         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53695         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53696         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53697         PROVIDE_CANONICALIZE_FILENAME_MODE.
53698         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53699
53700 2007-01-08  Bruno Haible  <bruno@clisp.org>
53701
53702         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53703         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53704         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53705         * lib/fts.c: Likewise.
53706         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53707
53708 2006-12-25  Bruno Haible  <bruno@clisp.org>
53709
53710         * modules/utf8-ucs4-safe: New file.
53711         * lib/utf8-ucs4-safe.h: New file.
53712         * lib/unistr/utf8-ucs4-safe.c: New file.
53713
53714         * modules/utf16-ucs4-safe: New file.
53715         * lib/utf16-ucs4-safe.h: New file.
53716         * lib/unistr/utf16-ucs4-safe.c: New file.
53717
53718         * MODULES.html.sh (Unicode string functions): Add the new modules.
53719
53720 2007-01-08  Bruno Haible  <bruno@clisp.org>
53721
53722         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53723         (Depends-on): Add unitypes.
53724         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53725         (u8_mbtouc_aux): Move out to separate file.
53726         (u8_mbtouc): Use ucs4_t, uint8_t types.
53727         * lib/unistr/utf8-ucs4.c: New file.
53728
53729         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53730         (Depends-on): Add unitypes.
53731         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53732         (u16_mbtouc_aux): Move out to separate file.
53733         (u16_mbtouc): Use ucs4_t, uint16_t types.
53734         * lib/unistr/utf16-ucs4.c: New file.
53735
53736         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53737         (Depends-on): Add unitypes.
53738         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53739         (u8_uctomb_aux): Move out to separate file.
53740         (u8_uctomb): Use ucs4_t, uint8_t types.
53741         * lib/unistr/ucs4-utf8.c: New file.
53742
53743         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53744         (Depends-on): Add unitypes.
53745         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53746         (u16_uctomb_aux): Move out to separate file.
53747         (u16_uctomb): Use ucs4_t, uint16_t types.
53748         * lib/unistr/ucs4-utf16.c: New file.
53749
53750 2006-12-25  Bruno Haible  <bruno@clisp.org>
53751
53752         * modules/unitypes: New file.
53753         * lib/unitypes.h: New file.
53754         * MODULES.html.sh (func_all_modules): New section "Unicode string
53755         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53756         this section. Add unitypes.
53757
53758 2007-01-08  Bruno Haible  <bruno@clisp.org>
53759
53760         Avoid variable names that conflict with those from libtool.
53761         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53762         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53763         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53764         library_names_spec to acl_library_names_spec, hardcode_* to
53765         acl_hardcode_*.
53766         Reported by Ralf Wildenhues.
53767
53768 2007-01-08  Bruno Haible  <bruno@clisp.org>
53769
53770         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53771         definition.
53772         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53773         definition.
53774         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53775         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53776         definition.
53777         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53778         definition.
53779         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53780         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53781         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53782         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53783         definition.
53784         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53785         definition.
53786         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53787         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53788         GC_USE_<algorithm>.
53789         * lib/gc-libgcrypt.c: Likewise.
53790         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53791         * modules/gc-arctwo (configure.ac): Likewise.
53792         * modules/gc-des (configure.ac): Likewise.
53793         * modules/gc-hmac-md5 (configure.ac): Likewise.
53794         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53795         * modules/gc-md2 (configure.ac): Likewise.
53796         * modules/gc-md4 (configure.ac): Likewise.
53797         * modules/gc-md5 (configure.ac): Likewise.
53798         * modules/gc-random (configure.ac): Likewise.
53799         * modules/gc-rijndael (configure.ac): Likewise.
53800         * modules/gc-sha1 (configure.ac): Likewise.
53801
53802 2007-01-08  Bruno Haible  <bruno@clisp.org>
53803
53804         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53805         macro definition.
53806         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53807         definition.
53808         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53809         definition.
53810         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53811         * modules/fcntl-safer (configure.ac): Likewise.
53812         * modules/fopen-safer (configure.ac): Likewise.
53813         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53814         GNULIB_FWRITEERROR macro definition.
53815
53816 2007-01-08  Bruno Haible  <bruno@clisp.org>
53817
53818         * m4/gnulib-common.m4: New file.
53819         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53820         (func_get_filelist): Add m4/gnulib-common.m4.
53821
53822 2007-01-08  Bruno Haible  <bruno@clisp.org>
53823
53824         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53825         command.
53826
53827 2007-01-08  Jim Meyering  <jim@meyering.net>
53828
53829         Use a more robust test for a "can't happen" condition.
53830         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53831         narrowed the st_size value.  Presuming the "can't happen" condition
53832         is true, that narrowing could conceivably convert an invalid st_size
53833         value into a valid one.  Instead, use a change based on Matthew
53834         Woehlke's original patch.
53835
53836         Slight readability improvement: use an assert-like macro
53837         in place of literal "abort ()" uses.
53838         * lib/fts.c (fts_assert): Define.
53839         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53840         Use this macro instead of a bare 'abort'.
53841
53842 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53843
53844         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53845         simply work around them.
53846         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53847         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53848         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53849         declaring.
53850         Don't bother to define as macros, since the standard doesn't require it.
53851         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53852         longer worry about IRIX 5.3.
53853         (HAVE_WCTYPE_CTMP_BUG): Remove.
53854
53855 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53856
53857         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53858         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53859         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53860         Problems reported by Georg Schwarz for IRIX 5.3.
53861
53862         * gnulib-tool (autoconf_minversion): Take the maximum version number
53863         found, not the minimum.  Problem reported by James Youngman.
53864
53865 2007-01-03  Karl Berry  <karl@gnu.org>
53866
53867         * doc/error.texi: new file, explaining interaction with progname.
53868         * doc/gnulib.texi: include it.  Update copyright.
53869
53870 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53871
53872         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53873         AC_CANONICAL_HOST, to improve autobuild outputs.
53874
53875 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53876             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53877
53878         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53879         sockets, server sockets, and other file descriptors.  Count errors
53880         to compute the return value.  Reorder the code a bit to be easier
53881         to follow.  Don't set event bits that were not requested (except
53882         POLLERR and POLLHUP).
53883
53884 2007-01-01  Bruno Haible  <bruno@clisp.org>
53885
53886         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53887
53888 2007-01-03  Jim Meyering  <jim@meyering.net>
53889
53890         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53891
53892 2007-01-02  Bruno Haible  <bruno@clisp.org>
53893
53894         * modules/settime (Include): Require timespec.h.
53895         * modules/nanosleep (Include): Likewise.
53896
53897 2007-01-01  Bruno Haible  <bruno@clisp.org>
53898
53899         * gnulib-tool (func_emit_copyright_notice): Bump year.
53900         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53901
53902 2007-01-01  Bruno Haible  <bruno@clisp.org>
53903
53904         Improve support for OpenBSD.
53905         * build-aux/config.rpath (libname_spec): Export.
53906         (library_names_spec): New variable. Export.
53907         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53908         library_names_spec from the config.rpath output. Locate shared library
53909         through the name pattern in library_names_spec.
53910
53911 2007-01-01  Eric Blake  <ebb9@byu.net>
53912
53913         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53914
53915 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53916
53917         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53918         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53919         assume the C locale, and avoid an "eval" that could cause trouble.
53920         Problem with SORT reported by Bob Proulx.
53921
53922         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53923         Define.  Trivial patch from Henning Nielsen Lund, originally
53924         sent to bug-grep@gnu.org today.
53925
53926 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53927
53928         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
53929         struct stat.  Problem reported by Henning Nielsen Lund.
53930         * lib/acl.c: Include acl.h first, to check interface.  Don't
53931         bother to include sys/types.h and sys/stat.h again.
53932
53933 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
53934
53935         Import the following change from libc; problem reported by
53936         Sven Verdoolaege.
53937
53938         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
53939
53940         [BZ #1373]
53941         * lib/argp.h: Remove __NTH for __argp_usage inline function.
53942
53943 2006-12-28  Jim Meyering  <jim@meyering.net>
53944
53945         * build-aux/announce-gen: Do not assume that the package
53946         builds any of tar.gz, tar.bz2, and .xdelta files.
53947         Suggestion from Simon Josefsson.
53948
53949 2006-12-28  Simon Josefsson  <simon@josefsson.org>
53950
53951         * modules/announce-gen: New file.
53952
53953 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
53954
53955         * lib/mbchar.h: Just include <wctype.h>; the wctype module
53956         handles its gotchas now.
53957         * lib/mbswidth.c: Likewise.
53958         * lib/wcwidth.h: Likewise.
53959         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
53960         and iswcntrl; the wctype module does this stuff now.
53961         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53962         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53963         * modules/mbchar (Depends-on): Add wctype.
53964         * modules/mbswidth (Depends-on): Likewise.
53965         * modules/wcwidth (Depends-on): Likewise.
53966
53967 2006-12-27  Eric Blake  <ebb9@byu.net>
53968
53969         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
53970         module uses more than what <wctype.h> is required to provide.
53971
53972 2006-12-26  Eric Blake  <ebb9@byu.net>
53973
53974         * gnulib-tool (sed_extract_prog): Avoid space-tab.
53975
53976 2006-12-26  Eric Blake  <ebb9@byu.net>
53977
53978         * modules/absolute-header: New module.
53979         * modules/fcntl (Depends-on): Depend on it.
53980         * modules/inttypes (Depends-on): Likewise.
53981         * modules/stdint (Depends-on): Likewise.
53982         * modules/sys_stat (Depends-on): Likewise.
53983         * modules/wctype (Depends-on): Likewise.
53984         * MODULES.html.sh (Support for building libraries and
53985         executables): Document it.
53986
53987 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53988
53989         * gnulib-tool (SED): Remove, undoing previous change.
53990         The problem was that it broke coreutils on Solaris, because
53991         "sed --posix" leaked into a makefile.
53992         (sed): New alias, if 'alias' and GNU sed.
53993
53994 2006-12-24  Jim Meyering  <jim@meyering.net>
53995
53996         Work around an fchownat bug in glibc-2.4:
53997         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
53998         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
53999         in spite of the -P option.
54000         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
54001         New macros.
54002         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
54003         * modules/openat (Files): Add lib/fchownat.c.
54004         * lib/openat.c (fchownat): Don't define here.  Move to...
54005         * lib/fchownat.c: ...this new file.
54006
54007 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54008
54009         Fix bug reported by Bruno Haible in
54010         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
54011         where quotearg.c didn't compile on Mac OS X 10.2 because it
54012         lacks <wchar.h> and wint_t.
54013         * lib/wctype_.h (__wctype_wint_t): New type.
54014         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
54015         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
54016         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
54017         Arg is now of type __wctype_wint_t, not wint_t.
54018         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
54019         substitute HAVE_WINT_T.
54020         * modules/wctype (Files): Add m4/wint_t.m4.
54021         (wctype.h): Substitute HAVE_WINT_T.
54022
54023 2006-12-23  Bruno Haible  <bruno@clisp.org>
54024
54025         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
54026
54027 2006-12-23  Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
54030         S_ISLNK.
54031         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
54032         mingw.
54033
54034 2006-12-22  Bruno Haible  <bruno@clisp.org>
54035
54036         * lib/copy-file.c: Include acl.h.
54037         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
54038         Close the file descriptors only after being done with copy_acl.
54039         * modules/copy-file (Depends-on): Add acl.
54040
54041 2006-12-22  Bruno Haible  <bruno@clisp.org>
54042
54043         * gnulib-tool (SED): New variable.
54044         Use $SED instead of sed everywhere.
54045
54046 2006-12-22  Bruno Haible  <bruno@clisp.org>
54047
54048         * modules/no-c++: New file.
54049         * m4/no-c++.m4: New file.
54050         * MODULES.html.sh (Support for building libraries and executables):
54051         Add no-c++.
54052
54053 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
54054
54055         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54056         Include <limits.h>, and use its INT_MAX to rewrite the
54057         j loop so that it does not overflow 'int'.  Problem reported by
54058         Ralf Wildenhues in
54059         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54060         Play it safe by shifting left by 1 rather than multiplying by 2,
54061         as GCC is less likely to optimize this away when the value
54062         is signed (when it assumes overflow leads to undefined behavior).
54063         Also, don't assume time_t uses two's complement.
54064
54065 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
54066
54067         * MODULES.html.sh: New module wctype.
54068         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
54069         * lib/fnmatch.c: Don't bother to include <wchar.h> before
54070         <wctype.h>, since the new wctype module should fix this.
54071         * lib/quotearg.c: Include <wctype.h> unconditionally, since
54072         the wctype module should arrange for it.
54073         * lib/regex_internal.h: Likewise.
54074         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
54075         since the wctype module should handle this now.
54076         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
54077         * modules/fnmatch (Depends-on): Add wctype.
54078         * modules/quotearg (Depends-on): Likewise.
54079         * modules/regex (Depends-on): Likewise.
54080
54081 2006-12-19  Bruno Haible  <bruno@clisp.org>
54082
54083         * lib/strdup.h [C++]: Wrap definitions in extern "C".
54084         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
54085
54086 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54087
54088         * modules/savewd (Depends-on): Fix dependency on fcntl.
54089
54090 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54091
54092         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
54093         conforms to C99, rather than relying on the user's environment
54094         setting of STDINT_H.
54095
54096 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54097         and Eric Blake  <ebb9@byu.net>
54098
54099         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
54100         This is more consistent with the other defines here.
54101         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
54102         Port to z/OS.  Problem reported by Paul Gilmartin.
54103         Change local vars to use gl_ prefix rather than ac_.
54104         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
54105         with other defines.
54106         * modules/double-slash-root: New module.
54107         * modules/dirname (Files): Remove m4/double-slash-root.m4.
54108         (Depends-on): Add double-slash-root.
54109         * MODULES.html.sh (File system functions): Mention new module.
54110
54111 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
54112
54113         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
54114         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
54115         This is for the benefit of gzip, which doesn't do i18n.
54116
54117 2006-12-12  Jim Meyering  <jim@meyering.net>
54118
54119         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
54120         Reported by Andreas Schwab <schwab@suse.de>.
54121
54122 2006-12-12  Bruno Haible  <bruno@clisp.org>
54123
54124         Merge these changes.
54125         2006-09-05  Bruno Haible  <bruno@clisp.org>
54126         * lib/iconvme.c (iconv_string): No need to save and restore errno when
54127         iconv_alloc succeeded.
54128         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
54129         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
54130         test for " && dest " at the end - dest is always != NULL there. Call
54131         iconv with 4xNULL arguments initially, to reset the state. Call iconv
54132         with 2xNULL arguments, also to flush the state storage. Handle the
54133         IRIX iconv behaviour. Realloc the final result, to throw away unused
54134         memory.
54135
54136 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
54137
54138         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
54139         and fchmodat unconditionally, since glibc 2.4 has them.
54140         Problem reported by Arkadiusz Miskiewicz.
54141
54142 2006-12-10  Bruno Haible  <bruno@clisp.org>
54143
54144         * gnulib-tool (func_import): Show the include files only for those
54145         modules that are copied and specified.
54146         Reported by Karl Berry.
54147
54148 2006-12-08  Jim Meyering  <jim@meyering.net>
54149
54150         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
54151         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
54152
54153         * build-aux/announce-gen: Add two new options, both optional:
54154         --bootstrap-tools=TOOL_LIST
54155               a comma-separated list of tools, e.g.,
54156               autoconf,automake,bison,gnulib
54157         --gnulib-snapshot-date=DATE
54158               if gnulib is in the bootstrap tool list,
54159               then report this as the snapshot date.
54160               If not specified, use the current date/time.
54161               If you specify a date here, be sure it's UTC.
54162
54163 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54164
54165         * tests/test-argp-2.sh: Fix test to match actual output.
54166         (func_compare): Fix sed script to be portable.
54167
54168 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
54169
54170         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
54171         workaround for this case.  It is not autoconfigured now; offhand
54172         it's hard to see how to autoconfigure it.
54173
54174 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54175
54176         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
54177         a directory that is about to be chowned.  Such a directory's
54178         initial file permissions should permit the owner only and this
54179         should not be changed until after the chown, since the group and
54180         other bits would be incorrect if they granted permission before
54181         the chown.
54182
54183         Fix porting problem for iswctype reported by Georg Schwarz in:
54184         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
54185         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
54186         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
54187         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
54188         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54189
54190 2006-12-03  Jim Meyering  <jim@meyering.net>
54191
54192         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
54193         p->fts_statp may not yet be defined.
54194         (fts_read): Instead, set it in the caller, once p->fts_statp is
54195         sure to be defined, and corresponds to a top-level directory.
54196         This bug made du -x fail.  Here's the coreutils test case:
54197         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
54198         Reported by Mike Frysinger.
54199
54200 2006-12-01  Jim Meyering  <jim@meyering.net>
54201
54202         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
54203         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
54204         Reported by Simon Josefsson.
54205
54206 2006-11-30  Jim Meyering  <jim@meyering.net>
54207
54208         * m4/warning.m4: Use the all-permissive copyright notice
54209         recommended by RMS (rather than LGPL).
54210         * m4/vararrays.m4: Likewise.
54211         * m4/flexmember.m4: Likewise.
54212
54213 2006-11-29  Bruno Haible  <bruno@clisp.org>
54214
54215         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54216         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
54217         using +=.
54218         Reported by Simon Josefsson <simon@josefsson.org>.
54219
54220 2006-11-28  James Youngman <jay@gnu.org>
54221
54222         * README: Advise users that they might find the bug-gnulib@gnu.org
54223         and autotools-announce@gnu.org mailing lists useful.
54224
54225 2006-11-28  Bruno Haible  <bruno@clisp.org>
54226
54227         * m4/ptrdiff_max.m4: Remove file.
54228
54229 2006-11-21  Bruno Haible  <bruno@clisp.org>
54230
54231         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
54232         _AC_COMPUTE_INT.
54233         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54234         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
54235         _AC_COMPUTE_INT.
54236         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54237         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
54238         _AC_COMPUTE_INT.
54239         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54240
54241 2006-11-28  Jim Meyering  <jim@meyering.net>
54242
54243         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
54244         warning from "gcc -Wshadow" about shadowing the builtin.
54245
54246 2006-11-27  Bruno Haible  <bruno@clisp.org>
54247
54248         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
54249         _AC_COMPUTE_INT.
54250         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54251
54252 2006-11-27  Bruno Haible  <bruno@clisp.org>
54253             Paul Eggert  <eggert@cs.ucla.edu>
54254
54255         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
54256
54257 2006-11-26  Bruno Haible  <bruno@clisp.org>
54258
54259         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54260         noinst_LTLIBRARIES.
54261
54262 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54263             Bruno Haible  <bruno@clisp.org>
54264
54265         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
54266         if compiling with "gcc -ansi".
54267
54268 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54269
54270         Fix some incompatibilities with gcc -ansi -pedantic.
54271         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
54272         if compiling pedantically with GCC, unless it's C99 or later.
54273         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
54274         it mishandles gcc -ansi -pedantic as well.
54275         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
54276         if gcc -pedantic.
54277         * lib/regexec.c (check_node_accept_bytes): Don't use auto
54278         initializers for struct if -pedantic, unless it's C99 or later.
54279
54280 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
54281
54282         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
54283         Don't close an fd more than once. Identical atimes indicate
54284         success, not failure.
54285
54286 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
54287
54288         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
54289
54290 2006-11-23  Jim Meyering  <jim@meyering.net>
54291
54292         * build-aux/announce-gen: New file.  From coreutils.
54293
54294 2006-11-22  Jim Meyering  <jim@meyering.net>
54295
54296         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
54297         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
54298         (fts_read): Use a temporary to narrow the overused st_size member
54299         before using it in a switch statement.  Reported by Matthew Woehlke.
54300
54301         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
54302         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
54303
54304 2006-11-20  Bruno Haible  <bruno@clisp.org>
54305
54306         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
54307         changequote instead of pairs of brackets.
54308         Reported by Andreas Schwab <schwab@suse.de>.
54309
54310 2006-11-21  Jim Meyering  <jim@meyering.net>
54311
54312         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
54313         so as to remain compatible with older compilers.
54314         Patch from Michael Deutschmann.
54315
54316 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54317
54318         * MODULES.html.sh (File system functions): Add openat.
54319
54320         * lib/openat.h (rpl_fstatat): New macro, if
54321         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
54322         (fstatat): Define to rpl_fstatat under the same conditions,
54323         unless COMPILING_FSTATAT.
54324         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
54325         seems to have the bug.
54326         * lib/fstatat.c: New file.
54327         * modules/openat (Files): Add it.
54328
54329 2006-11-20  Bruno Haible  <bruno@clisp.org>
54330
54331         * Makefile: New file.
54332
54333 2006-11-20  Jim Meyering  <jim@meyering.net>
54334
54335         The beginnings of syntax-related checks for gnulib.
54336         * lib/Makefile: New file.
54337         * lib/t-idcache: New script.  Ensure that the two halves of
54338         idcache.c stay in sync.
54339
54340         * lib/idcache.c: Adjust comments in user- and group- portions to
54341         be more accurate, and to be consistent with one another.
54342
54343 2006-11-20  Jim Meyering  <jim@meyering.net>
54344
54345         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
54346         continue using the flexible array member (thus, this module performs
54347         half as many malloc calls), with the addition that...
54348         (getgroup, getuser): Consistently record a non-match via an empty
54349         "name" string, and map an empty string match to a NULL return value.
54350         * modules/idcache (Depends-on): Re-add flexmember.
54351
54352         * lib/idcache.c (getuser): Remove all uses of the register keyword.
54353         (getuidbyname, getgroup, getgidbyname): Likewise.
54354
54355         Use cleaner syntax: NULL rather than 0.
54356         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
54357
54358 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54359
54360         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
54361         It mishandled the case where the group was missing.
54362         Problem reported by Greg Schafer.
54363         * modules/idcache: Likewise.
54364
54365 2006-11-18  Jim Meyering  <jim@meyering.net>
54366
54367         * check-module (%exempt_header): Add exception for some
54368         conditionally-included headers.
54369
54370         * modules/i-ring (Depends-on): Add verify.
54371         (License): Change to LGPL.
54372
54373 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54374
54375         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
54376         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
54377         and inttostr.h.  Use snprintf rather than uinttostr, so that
54378         LGPLed code doesn't depend on GPLed.
54379
54380 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54381
54382         * modules/inline (License): Change from GPL to LGPL.
54383
54384 2006-11-17  Jim Meyering  <jim@meyering.net>
54385
54386         * modules/d-type (License): Switch to LGPL.
54387
54388 2006-11-15  Bruno Haible  <bruno@clisp.org>
54389
54390         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
54391
54392 2006-11-15  Eric Blake  <ebb9@byu.net>
54393
54394         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
54395         the module dependency.
54396
54397 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54398             Bruno Haible  <bruno@clisp.org>
54399
54400         * gnulib-tool (func_create_testdir): Add license consistency check.
54401
54402 2006-11-15  Eric Blake  <ebb9@byu.net>
54403
54404         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
54405         random "(cached)" in configure output.
54406
54407 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54408
54409         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
54410         test for conforming inttypes.h is both announced and cached.
54411
54412         * MODULES.html.sh (seen_modules, seen_files): New variables.
54413         (func_module): Rewrite to use a few less gnulib-tool and sed
54414         invocations.  Avoid a couple of quadratic algorithms for ...
54415         (missed_modules, missed_files): ... these, with ...
54416         (func_append, func_tmpdir): ... these new functions, from
54417         gnulib-tool.  Analogously, install traps for cleanup.
54418
54419         * tests/test-gc.c (main): Remove unused variables.
54420         * tests/test-read-file.c: Include stdlib.h, for 'free'.
54421
54422 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
54423
54424         * modules/inttostr (License): Change to LGPL.
54425
54426 2006-11-14  Eric Blake  <ebb9@byu.net>
54427
54428         * modules/tempname (License): Change to LGPL.
54429
54430 2006-11-14  Eric Blake  <ebb9@byu.net>
54431
54432         * doc/functions.texi (Function Portability): *printf functions on
54433         Cygwin now understand all POSIX size specifiers.
54434
54435 2006-11-14  Bruno Haible  <bruno@clisp.org>
54436
54437         * modules/c-ctype (License): Change to LGPL.
54438
54439 2006-11-12  Bruno Haible  <bruno@clisp.org>
54440
54441         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54442         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
54443         for GNOME libraries, for which the include files are installed in
54444         subdirectories of $prefix/include.
54445
54446 2006-11-12  Bruno Haible  <bruno@clisp.org>
54447
54448         * m4/lib-link.m4: Require at least autoconf-2.54.
54449         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
54450         name to underscores for the --with option.
54451
54452 2006-11-13  Bruno Haible  <bruno@clisp.org>
54453
54454         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
54455         the tests directory.
54456         Reported by Ralf Wildenhues.
54457
54458 2006-11-13  Bruno Haible  <bruno@clisp.org>
54459
54460         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
54461         (func_emit_initmacro_end): Undo the override here.
54462         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
54463         Works around the famous automake error in coreutils.
54464
54465 2006-11-13  Eric Blake  <ebb9@byu.net>
54466
54467         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
54468         element, not its node.
54469
54470 2006-11-12  Bruno Haible  <bruno@clisp.org>
54471
54472         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
54473         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
54474
54475 2006-11-12  Bruno Haible  <bruno@clisp.org>
54476
54477         * gnulib-tool: New option --local-symlink.
54478         (func_usage): Document it.
54479         (lsymbolic): New variable.
54480         (func_import, func_create_testdir): If --symlink was not specified,
54481         test whether --local-symlink was specified and the file comes from
54482         the local_gnulib_dir.
54483
54484 2006-11-12  Bruno Haible  <bruno@clisp.org>
54485
54486         * gnulib-tool (func_ln): New function.
54487         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
54488
54489 2006-11-12  Bruno Haible  <bruno@clisp.org>
54490
54491         Finish support for source files in subdirectories.
54492         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
54493         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
54494         AUTOMAKE_OPTIONS.
54495         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
54496
54497 2006-11-12  Bruno Haible  <bruno@clisp.org>
54498
54499         * gnulib-tool (func_get_automake_snippet): Synthesize also an
54500         EXTRA_lib_SOURCES augmentation.
54501         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
54502
54503 2006-11-12  Jim Meyering  <jim@meyering.net>
54504
54505         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
54506         file descriptors.  This also averts a failure on systems with
54507         native openat support when a traversed directory lacks "x" access.
54508         * lib/fts_.h: Include "i-ring.h"
54509         (struct FTS) [fts_fd_ring]: New member.
54510         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
54511         (FCHDIR): Add parentheses.
54512         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
54513         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
54514         When descending, rather than simply closing the previous
54515         fts_cwd_fd value, push that file descriptor onto the ring.
54516         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
54517         (fts_open): Initialize the new fd_ring member.
54518         (fts_close): Clear the ring.
54519         (fts_safe_changedir): When possible, use our new fd_ring to skip
54520         the diropen and fstat and dev/ino comparison that would normally
54521         accompany a virtual `chdir ("..")'.
54522
54523         * modules/fts (Depends-on): Add i-ring.
54524         * modules/i-ring: New module.
54525         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
54526         * m4/i-ring.m4: New file.
54527
54528 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54529
54530         * gnulib-tool (func_create_testdir): Fix replacement of
54531         `build-aux' in configure.ac.  Run autotools in gltests
54532         subdirectory.
54533         (func_create_testdir, func_create_megatestdir, test): There is
54534         no need for '--force' in most autotool invocations in a new
54535         tree.  Actually fail the whole test if any of the tools, or the
54536         configure or make stages fail.
54537
54538         Sync from Automake.
54539         * build-aux/gnupload: Revert last change.  Add pointer to upload
54540         instructions of the GNU Maintenance Instructions.
54541         Suggestion by Karl Berry.
54542
54543 2006-11-10  Jim Meyering  <jim@meyering.net>
54544
54545         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
54546
54547 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54548
54549         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
54550         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
54551         (bind_textdomain_codeset) [! ENABLE_NLS]:
54552         Evaluate all the arguments.  That way, callers get compatible behavior
54553         if the arguments have side effects.  Also, it avoids some GCC
54554         diagnostics in some cases; Joel E. Denny reported problems when Bison
54555         was configured with --enable-gcc-warnigs.
54556
54557 2006-11-10  Jim Meyering  <jim@meyering.net>
54558
54559         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
54560         relevant options in CFLAGS (like -O, -fno-inline) are taken into
54561         account.
54562
54563 2006-11-10  Jim Meyering  <jim@meyering.net>
54564
54565         * modules/inline: New file/module.
54566         * modules/xalloc (Files): Remove m4/inline.m4.
54567         (Depends-on): Add inline, instead.
54568         * modules/oset: Likewise.
54569         * modules/list: Likewise.
54570
54571 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54572
54573         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
54574         Problem reported by Matthew Woehlke.
54575
54576 2006-11-09  Bruno Haible  <bruno@clisp.org>
54577
54578         * lib/tempname.c (gen_tempname): Remove variant that invokes
54579         __gen_tempname.
54580         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
54581         __gen_tempname.
54582
54583 2006-11-08  Bruno Haible  <bruno@clisp.org>
54584
54585         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
54586         to 'yes' instead of 'cross-compiling'.
54587
54588 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
54589
54590         * lib/quotearg.h (quotearg_free): New decl.
54591         * lib/quotearg.c (quotearg_free): New function.
54592         (slot0, nslots, slotvec0, slotvec):
54593         Now file-scope so that quotearg_free can get at them.
54594
54595 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54596
54597         Sync from Automake.
54598         * build-aux/gnupload: Add missing 'gnu' to example URL.
54599         Report by Karl Berry.
54600
54601 2006-11-08  Bruno Haible  <bruno@clisp.org>
54602
54603         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
54604         Suggested by Paul Eggert.
54605
54606 2006-11-08  Jim Meyering  <jim@meyering.net>
54607
54608         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
54609         It's already included if !_LIBC.
54610         (fts_safe_changedir): Add a comment.
54611
54612 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54613
54614         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
54615         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
54616         Matthew Woehlke.
54617
54618         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
54619         definitions up, to avoid colliding with change below.
54620         (static_inline) [HAVE_INLINE]: New macro.
54621         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
54622         Provide extern decls when !HAVE_INLINE.  Do not define unless
54623         static_inline is defined, either by us or by xmalloc.c.  Use
54624         static_inline rather than static inline.
54625         (XCALLOC): Optimize sizeof(T) = 1 case.
54626         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
54627
54628 2006-11-07  Bruno Haible  <bruno@clisp.org>
54629
54630         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
54631         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
54632         AC_C_INLINE.
54633         * modules/xalloc (Files): Add m4/inline.m4.
54634
54635 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54636
54637         * README: Fix typo.
54638         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
54639         (Miscellanous Notes): ...from this.
54640
54641 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54642
54643         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
54644         Mention that offsetof should be used instead of sizeof.
54645         From Bruno Haible.
54646
54647 2006-11-07  Bruno Haible  <bruno@clisp.org>
54648
54649         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
54650
54651 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54652
54653         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54654         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
54655         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54656         (gl_tree_add_before, gl_tree_add_after):
54657         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
54658         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
54659         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54660         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
54661         (gl_linked_add_after, gl_linked_add_at): Likewise.
54662         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
54663         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54664         (gl_tree_add_before, gl_tree_add_after): Likewise.
54665         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
54666         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
54667         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
54668
54669 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54670
54671         * lib/gl_oset.h: Use C comment style, not C++ comment style.
54672
54673 2006-11-06  Bruno Haible  <bruno@clisp.org>
54674
54675         * m4/inline.m4: New file.
54676         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
54677         * modules/list (Files): Add m4/inline.m4.
54678         * modules/oset (Files): Likewise.
54679
54680 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54681
54682         * lib/idcache.c: Include <stddef.h>, for offsetof.
54683         (struct userid.name): Change from char * to a flexible array member.
54684         All uses changed.
54685         * modules/idcache (Depends-on): Add flexmember.
54686
54687         * MODULES.html.sh (Core language properties): New module flexmember.
54688         * modules/flexmember, m4/flexmember.m4: New files.
54689
54690         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54691         inline functions that are identical with the old xnmalloc_inline,
54692         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54693         that we can avoid some unnecessary integer multiplications and
54694         divisions in the common case where the element size is known at
54695         compile time.
54696         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54697         needed.
54698         (xnboundedmalloc): Remove.
54699         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54700         arguments, for consistency with rest of this header.
54701         (xcharalloc): Rewrite using XNMALLOC.
54702         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54703         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54704         versions have been moved to lib/xalloc.h and renamed to be the
54705         non-*_inline versions.
54706         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54707         and xnrealloc functions, since those functions are now inline and
54708         now call us.
54709         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54710         renaming described above.
54711         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54712         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54713         captures the dependency in AC_C_INLINE.
54714
54715         New module canonicalize-lgpl, proposed by Charles Wilson in
54716         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54717         with a few small changes afterwards.
54718         * MODULES.html.sh (File system functions): New module
54719         canonicalize-lgpl.
54720         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54721         and canonicalize_file_name.
54722         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54723         * modules/canonicalize-lgpl: New files.
54724
54725 2006-11-05  Bruno Haible  <bruno@clisp.org>
54726
54727         * gnulib-tool (func_import, func_create_testdir): Create directories
54728         also for files in subdirectories of lib/.
54729
54730 2006-11-05  Bruno Haible  <bruno@clisp.org>
54731
54732         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54733         ANSI C compliant.
54734
54735 2006-11-03  Bruno Haible  <bruno@clisp.org>
54736
54737         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54738         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54739         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54740         (xnboundedmalloc): New inline function.
54741         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54742         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54743         xmalloc.
54744         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54745         xmalloc.
54746         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54747         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54748         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54749         xmalloc.
54750         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54751         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54752         xmalloc.
54753         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54754         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54755         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54756         xmalloc.
54757         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54758         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54759         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54760         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54761         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54762         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54763         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54764
54765 2006-11-03  Bruno Haible  <bruno@clisp.org>
54766
54767         * lib/c-ctype.h [C++]: Define functions without name mangling.
54768         * lib/fwriteerror.h [C++]: Likewise.
54769         * lib/gcd.h [C++]: Likewise.
54770         * lib/linebreak.h [C++]: Likewise.
54771
54772 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54773
54774         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54775         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54776         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54777         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54778         Check for functions and headers just once.
54779         Check for declaration of canonicalize_file_name.
54780         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54781
54782 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54783
54784         * gnulib-tool (func_import): Fix typo in actioncmd.
54785
54786 2006-11-02  Bruno Haible  <bruno@clisp.org>
54787
54788         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54789         newline sequence in the Makefile.am snippet as a space, like "make"
54790         does.
54791         Reported by Roger Persson <perrog@gmail.com>.
54792
54793 2006-11-01  Bruno Haible  <bruno@clisp.org>
54794
54795         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54796         already declared in <string.h>.
54797         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54798
54799 2006-11-01  Bruno Haible  <bruno@clisp.org>
54800
54801         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54802         * lib/strcase.h: Include <string.h>.
54803         (strcasecmp): Define to rpl_strcasecmp here.
54804
54805 2006-11-01  Bruno Haible  <bruno@clisp.org>
54806
54807         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54808
54809 2006-11-01  Eric Blake  <ebb9@byu.net>
54810
54811         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54812
54813         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54814
54815 2006-10-29  Bruno Haible  <bruno@clisp.org>
54816
54817         Make it compile in C++ mode.
54818         * lib/full-write.c (full_rw): Add a cast.
54819
54820 2006-11-01  Bruno Haible  <bruno@clisp.org>
54821
54822         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54823         be POSIX compliant.
54824         Reported by Roger Persson <perrog@gmail.com>.
54825
54826 2006-11-01  Eric Blake  <ebb9@byu.net>
54827
54828         * lib/getopt_.h: Fix comments.
54829
54830 2006-10-31  Eric Blake  <ebb9@byu.net>
54831
54832         * modules/tmpdir (Depends-on): Add sys_stat.
54833         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54834         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54835         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54836         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54837         tempname.
54838
54839 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54840
54841         Avoid some C++ diagnostics reported by Bruno Haible.
54842         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54843         xmalloc.
54844         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54845         (struct slotvec): Move to top level.
54846         (quotearg_n_options): Rewrite to avoid xmalloc.
54847         * lib/xalloc.h (xcharalloc): New function.
54848         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54849         [defined __cplusplus]: Add function template that provides result
54850         type propagation.  This part of the change is from Bruno Haible.
54851
54852 2006-10-29  Bruno Haible  <bruno@clisp.org>
54853
54854         Make it compile in C++ mode.
54855         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54856         * lib/strnlen1.c (strnlen1): Cast memchr result.
54857         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54858         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54859         (create_temp_dir): Rename local variable 'template'.
54860         (compile_csharp_using_sscli): Add cast.
54861         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54862         * lib/findprog.c (find_in_path): Likewise.
54863         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54864         * lib/wait-process.c (register_slave_subprocess): Likewise.
54865
54866 2006-10-22  Bruno Haible  <bruno@clisp.org>
54867
54868         * modules/tsearch: New file.
54869         * lib/tsearch.h: New file.
54870         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54871         * m4/tsearch.m4: New file.
54872         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54873
54874 2006-10-29  Eric Blake  <ebb9@byu.net>
54875
54876         * lib/arcfour.c: Assume config.h.
54877         * lib/arctwo.c: Likewise.
54878         * lib/base64.c: Likewise.
54879         * lib/check-version.c: Likewise.
54880         * lib/crc.c: Likewise.
54881         * lib/des.c: Likewise.
54882         * lib/gc-gnulib.c: Likewise.
54883         * lib/gc-libgcrypt.c: Likewise.
54884         * lib/gc-pbkdf2-sha1.c: Likewise.
54885         * lib/getaddrinfo.c: Likewise.
54886         * lib/getdelim.c: Likewise.
54887         * lib/getline.c: Likewise.
54888         * lib/hmac-md5.c: Likewise.
54889         * lib/hmac-sha1.c: Likewise.
54890         * lib/iconvme.c: Likewise.
54891         * lib/md2.c: Likewise.
54892         * lib/md4.c: Likewise.
54893         * lib/memxor.c: Likewise.
54894         * lib/read-file.c: Likewise.
54895         * lib/readline.c: Likewise.
54896         * lib/rijndael-alg-fst.c: Likewise.
54897         * lib/rijndael-api-fst.c: Likewise.
54898         * lib/xgetdomainname.c: Likewise.
54899
54900 2006-10-28  Eric Blake  <ebb9@byu.net>
54901
54902         * lib/xstrndup.c: Assume config.h.
54903
54904 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54905
54906         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54907         stat-macros.h is now for our own macros, whereas stat_h is for
54908         macros in the <sys/stat.h> name space.
54909         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54910         (STAT_MACROS_H): Remove.
54911         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54912         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54913         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54914         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54915         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54916         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54917         Move these macros to ...
54918         * lib/stat_.h: here.  Don't include stat-macros.h.
54919         * lib/canonicalize.c: Don't include stat-macros.h.
54920         * lib/chown.c: Likewise.
54921         * lib/euidaccess.c: Likewise.
54922         * lib/file-type.c: Likewise.
54923         * lib/filemode.c: Likewise.
54924         * lib/glob.c: Likewise.
54925         * lib/isapipe.c: Likewise.
54926         * lib/lchown.c: Likewise.
54927         * lib/lstat.c: Likewise.
54928         * lib/mkdir-p.c: Likewise.
54929         * lib/rmdir.c: Likewise.
54930         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
54931         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
54932         unless mkdir isn't declared, to speed up 'configure'.
54933         Always create sys/stat.h, since it's unlikely any real sys/stat.h
54934         would define all the S_* symbols.
54935         * modules/canonicalize (Depends-on):
54936         Depend on sys_stat, not stat-macros.
54937         * modules/chown: Likewise.
54938         * modules/euidaccess: Likewise.
54939         * modules/filemode: Likewise.
54940         * modules/file-type: Likewise.
54941         * modules/glob: Likewise.
54942         * modules/isapipe: Likewise.
54943         * modules/lchown: Likewise.
54944         * modules/lstat: Likewise.
54945         * modules/mkancesdirs: Likewise.
54946         * modules/rmdir: Likewise.
54947         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
54948         * modules/modechange: Likewise.
54949         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
54950         (configure.ac): Remove gl_STAT_MACROS.
54951         * modules/sys_stat (Depends-on): Remove stat-macros.
54952
54953 2006-10-27  Bruno Haible  <bruno@clisp.org>
54954
54955         * m4/signed.m4: Remove file.
54956         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
54957         invocation.
54958         * modules/vasnprintf (Files): Remove m4/signed.m4.
54959
54960 2006-10-27  Bruno Haible  <bruno@clisp.org>
54961
54962         Update to GNU gettext 0.16.
54963         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
54964         m4/inttypes-h.m4, m4/signed.m4.
54965         * m4/gettext.m4: Update to GNU gettext 0.16.
54966         * m4/intl.m4: New file, from GNU gettext.
54967         * m4/intldir.m4: New file, from GNU gettext.
54968         * config/srclist.txt: Update
54969
54970 2006-10-27  Eric Blake  <ebb9@byu.net>
54971
54972         * MODULES.html.sh: Document tempname.
54973         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
54974         dependencies.
54975         (Files): Move lib/tempname.c...
54976         * modules/tempname: ...to this new module.
54977         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
54978         (gl_PREREQ_TEMPNAME): Move...
54979         * m4/tempname.m4: ...to this new file.
54980         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
54981         * modules/sys_stat (Depends-on): Add stat-macros.
54982         * lib/stat_.h (includes): Pick up stat macros.
54983         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
54984         if stat macros are broken.
54985         * lib/tempname.c (includes): No need to include "stat-macros.h".
54986         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
54987         (direxists, __path_search) [!_LIBC]: Don't compile these in
54988         gnulib; the tmpdir module covers that.
54989         * lib/tempname.h: New file.
54990
54991 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54992
54993         * COPYING: Explain how gnulib-tool converts licence headers.
54994         Almost all wording by Eric Blake.
54995
54996 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
54997
54998         * lib/mbchar.h (is_basic_table): Make read-only.
54999         * lib/mbchar.c (is_basic_table): Likewise.
55000         Reported by John Darrington.
55001
55002 2006-10-25  Bruno Haible  <bruno@clisp.org>
55003
55004         * lib/progname.h (set_program_name): Undefine before defining.
55005
55006 2006-10-25  Bruno Haible  <bruno@clisp.org>
55007
55008         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
55009         false for non-gcc C++ compilers.
55010         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55011
55012 2006-10-24  Bruno Haible  <bruno@clisp.org>
55013
55014         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
55015         iconv implementations like Irix iconv.
55016
55017 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55018
55019         * modules/vararrays: New file.
55020         * m4/vararrays.m4: New file, taken from diffutils.
55021         * MODULES.html.sh: New module vararrays.
55022
55023 2006-10-24  Karl Berry  <karl@gnu.org>
55024
55025         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
55026         Don't call GNU Unix.
55027
55028 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55029
55030         * users.txt: Add Libtool.
55031
55032         Sync from Libtool:
55033
55034         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55035
55036         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
55037         to gnulib's policy of including config.h unconditionally.
55038
55039 2006-10-24  Bruno Haible  <bruno@clisp.org>
55040
55041         * modules/wcwidth (Files): Add m4/wint_t.m4.
55042         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
55043         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
55044
55045 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55046
55047         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
55048         to pacify GCC with some -W flags enabled.  Problem reported by
55049         Bruno Haible.
55050
55051 2006-10-24  Jim Meyering  <jim@meyering.net>
55052
55053         * MODULES.html.sh: Remove uinttostr.  It's not a module.
55054         Reported by Karl Berry.
55055
55056 2006-10-23  Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
55059
55060 2006-10-24  Bruno Haible  <bruno@clisp.org>
55061
55062         * lib/gl_list.h: Use C comment style, not C++ comment style.
55063
55064 2006-10-23  Eric Blake  <ebb9@byu.net>
55065
55066         * lib/getaddrinfo.c (includes): Add missing include.
55067
55068 2006-10-23  Bruno Haible  <bruno@clisp.org>
55069             Paul Eggert  <eggert@cs.ucla.edu>
55070
55071         Ability to rename obstack_free.
55072         * lib/obstack.h (__obstack_free): New macro. Declare instead of
55073         obstack_free.
55074         (obstack_free): Invoke the __obstack_free macro.
55075         * lib/obstack.c (obstack_free): Use __obstack_free macro.
55076
55077 2006-10-23  Bruno Haible  <bruno@clisp.org>
55078             Paul Eggert  <eggert@cs.ucla.edu>
55079
55080         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
55081         __argc, __argv from the declaration. (They are defined as macros on
55082         mingw.)
55083
55084 2006-10-22  Bruno Haible  <bruno@clisp.org>
55085
55086         * doc/gnulib-intro.texi: New file.
55087         * doc/gnulib.texi: Include it.
55088
55089 2006-10-21  Bruno Haible  <bruno@clisp.org>
55090
55091         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
55092         "Introduction", "Miscellanous Notes", "Particular Modules".
55093
55094 2006-10-21  Bruno Haible  <bruno@clisp.org>
55095
55096         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55097         Change mostlyclean-local rule to avoid sh syntax error from bash
55098         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
55099
55100 2006-10-23  Jim Meyering  <jim@meyering.net>
55101
55102         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
55103         in place of snprintf.
55104
55105         * modules/inttostr (Files): Add lib/uinttostr.c.
55106         * lib/uinttostr.c (inttostr): New file/function.
55107         * lib/inttostr.h (uinttostr): Declare.
55108         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
55109         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55110         Add uinttostr.
55111         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
55112
55113 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55114
55115         * lib/canonicalize.c (ELOOP): Define if not already defined.
55116         Problem reported by Bruno Haible in
55117         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
55118
55119 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55120
55121         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
55122         Problem reported by Perry Smith and Ville Laurikari.
55123
55124         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
55125         uses.
55126
55127 2006-10-19  Bruno Haible  <bruno@clisp.org>
55128
55129         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
55130         for mingw.
55131
55132 2006-10-19  Bruno Haible  <bruno@clisp.org>
55133
55134         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
55135         Needed for mingw.
55136
55137 2006-10-19  Bruno Haible  <bruno@clisp.org>
55138
55139         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
55140
55141 2006-10-19  Bruno Haible  <bruno@clisp.org>
55142
55143         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
55144         it.
55145
55146 2006-10-19  Bruno Haible  <bruno@clisp.org>
55147
55148         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
55149         invocation.
55150
55151 2006-10-19  Bruno Haible  <bruno@clisp.org>
55152
55153         * gnulib-tool (func_create_testdir): Don't include ftruncate and
55154         mountlist by default.
55155
55156 2006-10-16  Bruno Haible  <bruno@clisp.org>
55157
55158         * lib/c-strstr.c: Include c-strstr.h.
55159
55160 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55161
55162         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
55163         in a slash.
55164
55165 2006-10-18  Bruno Haible  <bruno@clisp.org>
55166
55167         * lib/lock.h [C++]: Wrap definitions in extern "C".
55168
55169 2006-10-18  Bruno Haible  <bruno@clisp.org>
55170
55171         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
55172         gl_LIBOBJS list.
55173
55174 2006-10-18  Bruno Haible  <bruno@clisp.org>
55175
55176         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
55177
55178 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55179
55180         * lib/xstrtol.h: Include gettext.h.
55181         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
55182         Problem reported by Eric Blake.
55183         * modules/xstrtol (Depends-on): Add gettext-h.
55184
55185 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
55186
55187         * lib/strftime.c (advance): New macro.
55188         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
55189         incomplete type, so you can't add 0 to it.  Problem and patch
55190         reported by Eelco Dolstra for dietlibc.
55191
55192 2006-10-18  Jim Meyering  <jim@meyering.net>
55193
55194         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
55195         type for a local, and rename it: s/up/user_proc/.
55196
55197 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55198
55199         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
55200         READ_UTMP_USER_PROCESS.
55201         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
55202
55203 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55204
55205         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
55206         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
55207
55208 2006-10-17  Eric Blake  <ebb9@byu.net>
55209
55210         * lib/sigprocmask.c (sigprocmask): Fix typo.
55211
55212         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
55213
55214         * modules/clean-temp (Makefile.am): Don't add to make output...
55215         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
55216         config.h.
55217
55218 2006-10-17  Bruno Haible  <bruno@clisp.org>
55219
55220         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
55221         differently if DEFAULT_TEXT_DOMAIN is set.
55222
55223 2006-10-16  Bruno Haible  <bruno@clisp.org>
55224
55225         * lib/clean-temp.c: Include fwriteerror.h.
55226
55227 2006-10-16  Bruno Haible  <bruno@clisp.org>
55228
55229         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
55230
55231 2006-10-16  Bruno Haible  <bruno@clisp.org>
55232
55233         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
55234         * lib/sigprocmask.h: Include <sys/types.h>.
55235         (sigset_t): Use the system's definition if present.
55236
55237 2006-10-17  Eric Blake  <ebb9@byu.net>
55238
55239         * lib/xvasprintf.c (includes): Assume config.h.
55240         * lib/xasprintf.c (includes): Likewise.
55241
55242 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55243
55244         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
55245         at least as wide as intmax_t.
55246
55247 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
55248
55249         (Imported from Automake.)
55250         * build-aux/gnupload: Update to version 1.1 of directive file.
55251
55252 2006-10-16  Eric Blake  <ebb9@byu.net>
55253
55254         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
55255         match Automake 1.10a.
55256
55257 2006-10-14  Bruno Haible  <bruno@clisp.org>
55258
55259         * modules/sigprocmask: New file.
55260         * lib/sigprocmask.h: New file.
55261         * lib/sigprocmask.c: New file.
55262         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
55263         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
55264         request sigprocmask.o.
55265         (gl_PREREQ_SIGPROCMASK): New macro.
55266         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
55267         (Depends-on): Add sigprocmask.
55268         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
55269         gt_SIGNALBLOCKING. Test for 'raise' only once.
55270         * lib/fatal-signal.c: Include sigprocmask.h.
55271         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
55272         unblock_fatal_signals): Define always.
55273         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55274         sigprocmask.
55275
55276 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55277
55278         Sync from Automake.
55279         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
55280         which incorrectly sets the mode of an existing destination
55281         directory.  In some cases the unpatched install-sh could do the
55282         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
55283         system.  We hope this is rare in practice, but it's clearly worth
55284         fixing.  Problem reported by Alex Unleashed in
55285         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
55286         Also, don't bother to check for -m bugs unless we're using -m;
55287         suggested by Stepan Kasal.
55288
55289 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55290
55291         Sync from Automake.
55292         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
55293         `-c' flag, so they appear at the same position as in %FASTDEP%
55294         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
55295         which ignores unknown options only after the first non-option.
55296         Bug report against M4 by Nelson H. F. Beebe.
55297
55298 2006-10-13  Jim Meyering  <jim@meyering.net>
55299
55300         Fix a bug in yesterday's change.
55301         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
55302         p->fts_statp->st_dev would be used uninitialized.
55303         Ensures that we always call fts_stat on the very first entry.
55304         Miklos Szeredi reported that find -xdev stopped working.
55305
55306 2006-10-12  Bruno Haible  <bruno@clisp.org>
55307
55308         * gnulib-tool (func_get_automake_snippet): Append an automatically
55309         computed EXTRA_DIST augmentation.
55310         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
55311         * modules/alloca-opt (Makefile.am): Likewise.
55312         * modules/allocsa (Makefile.am): Likewise.
55313         * modules/arcfour (Makefile.am): Likewise.
55314         * modules/arctwo (Makefile.am): Likewise.
55315         * modules/argmatch (Makefile.am): Likewise.
55316         * modules/argz (Makefile.am): Likewise.
55317         * modules/atexit (Makefile.am): Likewise.
55318         * modules/backupfile (Makefile.am): Likewise.
55319         * modules/byteswap (Makefile.am): Likewise.
55320         * modules/c-strtod (Makefile.am): Likewise.
55321         * modules/c-strtold (Makefile.am): Likewise.
55322         * modules/calloc (Makefile.am): Likewise.
55323         * modules/canon-host (Makefile.am): Likewise.
55324         * modules/canonicalize (Makefile.am): Likewise.
55325         * modules/chdir-long (Makefile.am): Likewise.
55326         * modules/chdir-safer (Makefile.am): Likewise.
55327         * modules/check-version (Makefile.am): Likewise.
55328         * modules/chown (Makefile.am): Likewise.
55329         * modules/cloexec (Makefile.am): Likewise.
55330         * modules/close-stream (Makefile.am): Likewise.
55331         * modules/closeout (Makefile.am): Likewise.
55332         * modules/crc (Makefile.am): Likewise.
55333         * modules/csharpexec (Makefile.am): Likewise.
55334         * modules/cycle-check (Makefile.am): Likewise.
55335         * modules/des (Makefile.am): Likewise.
55336         * modules/dev-ino (Makefile.am): Likewise.
55337         * modules/dirfd (Makefile.am): Likewise.
55338         * modules/dirname (Makefile.am): Likewise.
55339         * modules/dup2 (Makefile.am): Likewise.
55340         * modules/eealloc (Makefile.am): Likewise.
55341         * modules/error (Makefile.am): Likewise.
55342         * modules/euidaccess (Makefile.am): Likewise.
55343         * modules/exclude (Makefile.am): Likewise.
55344         * modules/exitfail (Makefile.am): Likewise.
55345         * modules/fcntl-safer (Makefile.am): Likewise.
55346         * modules/fcntl (Makefile.am): Likewise.
55347         * modules/file-type (Makefile.am): Likewise.
55348         * modules/fileblocks (Makefile.am): Likewise.
55349         * modules/filemode (Makefile.am): Likewise.
55350         * modules/filenamecat (Makefile.am): Likewise.
55351         * modules/fnmatch (Makefile.am): Likewise.
55352         * modules/fopen-safer (Makefile.am): Likewise.
55353         * modules/fpending (Makefile.am): Likewise.
55354         * modules/fprintftime (Makefile.am): Likewise.
55355         * modules/free (Makefile.am): Likewise.
55356         * modules/fsusage (Makefile.am): Likewise.
55357         * modules/ftruncate (Makefile.am): Likewise.
55358         * modules/fts (Makefile.am): Likewise.
55359         * modules/gc-arcfour (Makefile.am): Likewise.
55360         * modules/gc-des (Makefile.am): Likewise.
55361         * modules/gc-hmac-md5 (Makefile.am): Likewise.
55362         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
55363         * modules/gc-md4 (Makefile.am): Likewise.
55364         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55365         * modules/gc-sha1 (Makefile.am): Likewise.
55366         * modules/gc (Makefile.am): Likewise.
55367         * modules/getaddrinfo (Makefile.am): Likewise.
55368         * modules/getcwd (Makefile.am): Likewise.
55369         * modules/getdelim (Makefile.am): Likewise.
55370         * modules/getdomainname (Makefile.am): Likewise.
55371         * modules/getgroups (Makefile.am): Likewise.
55372         * modules/gethostname (Makefile.am): Likewise.
55373         * modules/gethrxtime (Makefile.am): Likewise.
55374         * modules/getline (Makefile.am): Likewise.
55375         * modules/getloadavg (Makefile.am): Likewise.
55376         * modules/getlogin_r (Makefile.am): Likewise.
55377         * modules/getndelim2 (Makefile.am): Likewise.
55378         * modules/getopt (Makefile.am): Likewise.
55379         * modules/getpagesize (Makefile.am): Likewise.
55380         * modules/getpass-gnu (Makefile.am): Likewise.
55381         * modules/getpass (Makefile.am): Likewise.
55382         * modules/getsubopt (Makefile.am): Likewise.
55383         * modules/gettime (Makefile.am): Likewise.
55384         * modules/gettimeofday (Makefile.am): Likewise.
55385         * modules/getugroups (Makefile.am): Likewise.
55386         * modules/getusershell (Makefile.am): Likewise.
55387         * modules/glob (Makefile.am): Likewise.
55388         * modules/group-member (Makefile.am): Likewise.
55389         * modules/hard-locale (Makefile.am): Likewise.
55390         * modules/hash (Makefile.am): Likewise.
55391         * modules/hmac-md5 (Makefile.am): Likewise.
55392         * modules/hmac-sha1 (Makefile.am): Likewise.
55393         * modules/human (Makefile.am): Likewise.
55394         * modules/idcache (Makefile.am): Likewise.
55395         * modules/imaxabs (Makefile.am): Likewise.
55396         * modules/imaxdiv (Makefile.am): Likewise.
55397         * modules/inet_ntop (Makefile.am): Likewise.
55398         * modules/inet_pton (Makefile.am): Likewise.
55399         * modules/intprops (Makefile.am): Likewise.
55400         * modules/inttostr (Makefile.am): Likewise.
55401         * modules/inttypes (Makefile.am): Likewise.
55402         * modules/isapipe (Makefile.am): Likewise.
55403         * modules/javaversion (Makefile.am): Likewise.
55404         * modules/lchmod (Makefile.am): Likewise.
55405         * modules/lchown (Makefile.am): Likewise.
55406         * modules/localcharset (Makefile.am): Likewise.
55407         * modules/long-options (Makefile.am): Likewise.
55408         * modules/lstat (Makefile.am): Likewise.
55409         * modules/malloc (Makefile.am): Likewise.
55410         * modules/mathl (Makefile.am): Likewise.
55411         * modules/mbchar (Makefile.am): Likewise.
55412         * modules/md2 (Makefile.am): Likewise.
55413         * modules/md4 (Makefile.am): Likewise.
55414         * modules/md5 (Makefile.am): Likewise.
55415         * modules/memcasecmp (Makefile.am): Likewise.
55416         * modules/memchr (Makefile.am): Likewise.
55417         * modules/memcmp (Makefile.am): Likewise.
55418         * modules/memcoll (Makefile.am): Likewise.
55419         * modules/memcpy (Makefile.am): Likewise.
55420         * modules/memmem (Makefile.am): Likewise.
55421         * modules/memmove (Makefile.am): Likewise.
55422         * modules/mempcpy (Makefile.am): Likewise.
55423         * modules/memrchr (Makefile.am): Likewise.
55424         * modules/memset (Makefile.am): Likewise.
55425         * modules/memxor (Makefile.am): Likewise.
55426         * modules/mkancesdirs (Makefile.am): Likewise.
55427         * modules/mkdir-p (Makefile.am): Likewise.
55428         * modules/mkdir (Makefile.am): Likewise.
55429         * modules/mkdtemp (Makefile.am): Likewise.
55430         * modules/mkstemp (Makefile.am): Likewise.
55431         * modules/mktime (Makefile.am): Likewise.
55432         * modules/modechange (Makefile.am): Likewise.
55433         * modules/mountlist (Makefile.am): Likewise.
55434         * modules/nanosleep (Makefile.am): Likewise.
55435         * modules/obstack (Makefile.am): Likewise.
55436         * modules/openat (Makefile.am): Likewise.
55437         * modules/pagealign_alloc (Makefile.am): Likewise.
55438         * modules/pathmax (Makefile.am): Likewise.
55439         * modules/physmem (Makefile.am): Likewise.
55440         * modules/poll (Makefile.am): Likewise.
55441         * modules/posixtm (Makefile.am): Likewise.
55442         * modules/posixver (Makefile.am): Likewise.
55443         * modules/putenv (Makefile.am): Likewise.
55444         * modules/quote (Makefile.am): Likewise.
55445         * modules/quotearg (Makefile.am): Likewise.
55446         * modules/raise (Makefile.am): Likewise.
55447         * modules/read-file (Makefile.am): Likewise.
55448         * modules/readline (Makefile.am): Likewise.
55449         * modules/readlink (Makefile.am): Likewise.
55450         * modules/readtokens (Makefile.am): Likewise.
55451         * modules/readutmp (Makefile.am): Likewise.
55452         * modules/realloc (Makefile.am): Likewise.
55453         * modules/regex (Makefile.am): Likewise.
55454         * modules/rename-dest-slash (Makefile.am): Likewise.
55455         * modules/rename (Makefile.am): Likewise.
55456         * modules/rijndael (Makefile.am): Likewise.
55457         * modules/rmdir (Makefile.am): Likewise.
55458         * modules/rpmatch (Makefile.am): Likewise.
55459         * modules/safe-read (Makefile.am): Likewise.
55460         * modules/safe-write (Makefile.am): Likewise.
55461         * modules/same-inode (Makefile.am): Likewise.
55462         * modules/same (Makefile.am): Likewise.
55463         * modules/save-cwd (Makefile.am): Likewise.
55464         * modules/savedir (Makefile.am): Likewise.
55465         * modules/setenv (Makefile.am): Likewise.
55466         * modules/settime (Makefile.am): Likewise.
55467         * modules/sha1 (Makefile.am): Likewise.
55468         * modules/sig2str (Makefile.am): Likewise.
55469         * modules/snprintf (Makefile.am): Likewise.
55470         * modules/stat-macros (Makefile.am): Likewise.
55471         * modules/stat-time (Makefile.am): Likewise.
55472         * modules/stdbool (Makefile.am): Likewise.
55473         * modules/stdint (Makefile.am): Likewise.
55474         * modules/stdlib-safer (Makefile.am): Likewise.
55475         * modules/stpcpy (Makefile.am): Likewise.
55476         * modules/stpncpy (Makefile.am): Likewise.
55477         * modules/strcase (Makefile.am): Likewise.
55478         * modules/strcasestr (Makefile.am): Likewise.
55479         * modules/strchrnul (Makefile.am): Likewise.
55480         * modules/strcspn (Makefile.am): Likewise.
55481         * modules/strdup (Makefile.am): Likewise.
55482         * modules/strerror (Makefile.am): Likewise.
55483         * modules/strftime (Makefile.am): Likewise.
55484         * modules/strndup (Makefile.am): Likewise.
55485         * modules/strnlen (Makefile.am): Likewise.
55486         * modules/strpbrk (Makefile.am): Likewise.
55487         * modules/strsep (Makefile.am): Likewise.
55488         * modules/strstr (Makefile.am): Likewise.
55489         * modules/strtod (Makefile.am): Likewise.
55490         * modules/strtoimax (Makefile.am): Likewise.
55491         * modules/strtok_r (Makefile.am): Likewise.
55492         * modules/strtol (Makefile.am): Likewise.
55493         * modules/strtoll (Makefile.am): Likewise.
55494         * modules/strtoul (Makefile.am): Likewise.
55495         * modules/strtoull (Makefile.am): Likewise.
55496         * modules/strtoumax (Makefile.am): Likewise.
55497         * modules/strverscmp (Makefile.am): Likewise.
55498         * modules/sys_socket (Makefile.am): Likewise.
55499         * modules/sys_stat (Makefile.am): Likewise.
55500         * modules/sysexits (Makefile.am): Likewise.
55501         * modules/time_r (Makefile.am): Likewise.
55502         * modules/timegm (Makefile.am): Likewise.
55503         * modules/timespec (Makefile.am): Likewise.
55504         * modules/tmpfile-safer (Makefile.am): Likewise.
55505         * modules/trim (Makefile.am): Likewise.
55506         * modules/unistd-safer (Makefile.am): Likewise.
55507         * modules/unlinkdir (Makefile.am): Likewise.
55508         * modules/unlocked-io (Makefile.am): Likewise.
55509         * modules/userspec (Makefile.am): Likewise.
55510         * modules/utime (Makefile.am): Likewise.
55511         * modules/utimecmp (Makefile.am): Likewise.
55512         * modules/utimens (Makefile.am): Likewise.
55513         * modules/vasnprintf (Makefile.am): Likewise.
55514         * modules/vasprintf (Makefile.am): Likewise.
55515         * modules/vsnprintf (Makefile.am): Likewise.
55516         * modules/xalloc (Makefile.am): Likewise.
55517         * modules/xgetcwd (Makefile.am): Likewise.
55518         * modules/xnanosleep (Makefile.am): Likewise.
55519         * modules/xreadlink (Makefile.am): Likewise.
55520         * modules/xstrtod (Makefile.am): Likewise.
55521         * modules/xstrtol (Makefile.am): Likewise.
55522         * modules/xstrtold (Makefile.am): Likewise.
55523         * modules/yesno (Makefile.am): Likewise.
55524         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
55525
55526 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55527
55528         * modules/error (Makefile.am): Distribute files through
55529         EXTRA_DIST, not lib_SOURCES.
55530
55531 2006-10-12  Eric Blake  <ebb9@byu.net>
55532
55533         * modules/error (Makefile.am): Distribute files in /lib.
55534         * modules/obstack (Makefile.am): Likewise.
55535
55536 2006-10-12  Bruno Haible  <bruno@clisp.org>
55537
55538         * modules/acl (Makefile.am): Distribute all files in lib/ through
55539         EXTRA_DIST.
55540         * modules/arcfour (Makefile.am): Likewise.
55541         * modules/arctwo (Makefile.am): Likewise.
55542         * modules/argmatch (Makefile.am): Likewise.
55543         * modules/argz (Makefile.am): Likewise.
55544         * modules/atexit (Makefile.am): Likewise.
55545         * modules/backupfile (Makefile.am): Likewise.
55546         * modules/c-strtod (Makefile.am): Likewise.
55547         * modules/c-strtold (Makefile.am): Likewise.
55548         * modules/calloc (Makefile.am): Likewise.
55549         * modules/canon-host (Makefile.am): Likewise.
55550         * modules/canonicalize (Makefile.am): Likewise.
55551         * modules/chdir-long (Makefile.am): Likewise.
55552         * modules/chdir-safer (Makefile.am): Likewise.
55553         * modules/check-version (Makefile.am): Likewise.
55554         * modules/chown (Makefile.am): Likewise.
55555         * modules/cloexec (Makefile.am): Likewise.
55556         * modules/close-stream (Makefile.am): Likewise.
55557         * modules/closeout (Makefile.am): Likewise.
55558         * modules/crc (Makefile.am): Likewise.
55559         * modules/cycle-check (Makefile.am): Likewise.
55560         * modules/des (Makefile.am): Likewise.
55561         * modules/dirfd (Makefile.am): Likewise.
55562         * modules/dirname (Makefile.am): Likewise.
55563         * modules/dup2 (Makefile.am): Likewise.
55564         * modules/euidaccess (Makefile.am): Likewise.
55565         * modules/exclude (Makefile.am): Likewise.
55566         * modules/exitfail (Makefile.am): Likewise.
55567         * modules/fcntl-safer (Makefile.am): Likewise.
55568         * modules/file-type (Makefile.am): Likewise.
55569         * modules/fileblocks (Makefile.am): Likewise.
55570         * modules/filemode (Makefile.am): Likewise.
55571         * modules/filenamecat (Makefile.am): Likewise.
55572         * modules/fnmatch (Makefile.am): Likewise.
55573         * modules/fopen-safer (Makefile.am): Likewise.
55574         * modules/fpending (Makefile.am): Likewise.
55575         * modules/fprintftime (Makefile.am): Likewise.
55576         * modules/free (Makefile.am): Likewise.
55577         * modules/fsusage (Makefile.am): Likewise.
55578         * modules/ftruncate (Makefile.am): Likewise.
55579         * modules/fts (Makefile.am): Likewise.
55580         * modules/gc (Makefile.am): Likewise.
55581         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55582         * modules/getaddrinfo (Makefile.am): Likewise.
55583         * modules/getcwd (Makefile.am): Likewise.
55584         * modules/getdelim (Makefile.am): Likewise.
55585         * modules/getdomainname (Makefile.am): Likewise.
55586         * modules/getgroups (Makefile.am): Likewise.
55587         * modules/gethostname (Makefile.am): Likewise.
55588         * modules/gethrxtime (Makefile.am): Likewise.
55589         * modules/getline (Makefile.am): Likewise.
55590         * modules/getloadavg (Makefile.am): Likewise.
55591         * modules/getlogin_r (Makefile.am): Likewise.
55592         * modules/getopt (Makefile.am): Likewise.
55593         * modules/getpass (Makefile.am): Likewise.
55594         * modules/getpass-gnu (Makefile.am): Likewise.
55595         * modules/getsubopt (Makefile.am): Likewise.
55596         * modules/gettime (Makefile.am): Likewise.
55597         * modules/gettimeofday (Makefile.am): Likewise.
55598         * modules/getugroups (Makefile.am): Likewise.
55599         * modules/getusershell (Makefile.am): Likewise.
55600         * modules/glob (Makefile.am): Likewise.
55601         * modules/group-member (Makefile.am): Likewise.
55602         * modules/hard-locale (Makefile.am): Likewise.
55603         * modules/hash (Makefile.am): Likewise.
55604         * modules/hmac-md5 (Makefile.am): Likewise.
55605         * modules/hmac-sha1 (Makefile.am): Likewise.
55606         * modules/human (Makefile.am): Likewise.
55607         * modules/idcache (Makefile.am): Likewise.
55608         * modules/imaxabs (Makefile.am): Likewise.
55609         * modules/imaxdiv (Makefile.am): Likewise.
55610         * modules/inet_ntop (Makefile.am): Likewise.
55611         * modules/inet_pton (Makefile.am): Likewise.
55612         * modules/inttostr (Makefile.am): Likewise.
55613         * modules/isapipe (Makefile.am): Likewise.
55614         * modules/lchown (Makefile.am): Likewise.
55615         * modules/long-options (Makefile.am): Likewise.
55616         * modules/lstat (Makefile.am): Likewise.
55617         * modules/malloc (Makefile.am): Likewise.
55618         * modules/mathl (Makefile.am): Likewise.
55619         * modules/mbchar (Makefile.am): Likewise.
55620         * modules/md2 (Makefile.am): Likewise.
55621         * modules/md4 (Makefile.am): Likewise.
55622         * modules/md5 (Makefile.am): Likewise.
55623         * modules/memcasecmp (Makefile.am): Likewise.
55624         * modules/memchr (Makefile.am): Likewise.
55625         * modules/memcmp (Makefile.am): Likewise.
55626         * modules/memcoll (Makefile.am): Likewise.
55627         * modules/memcpy (Makefile.am): Likewise.
55628         * modules/memmem (Makefile.am): Likewise.
55629         * modules/memmove (Makefile.am): Likewise.
55630         * modules/mempcpy (Makefile.am): Likewise.
55631         * modules/memrchr (Makefile.am): Likewise.
55632         * modules/memset (Makefile.am): Likewise.
55633         * modules/memxor (Makefile.am): Likewise.
55634         * modules/mkancesdirs (Makefile.am): Likewise.
55635         * modules/mkdir (Makefile.am): Likewise.
55636         * modules/mkdir-p (Makefile.am): Likewise.
55637         * modules/mkdtemp (Makefile.am): Likewise.
55638         * modules/mkstemp (Makefile.am): Likewise.
55639         * modules/mktime (Makefile.am): Likewise.
55640         * modules/modechange (Makefile.am): Likewise.
55641         * modules/mountlist (Makefile.am): Likewise.
55642         * modules/nanosleep (Makefile.am): Likewise.
55643         * modules/openat (Makefile.am): Likewise.
55644         * modules/pagealign_alloc (Makefile.am): Likewise.
55645         * modules/physmem (Makefile.am): Likewise.
55646         * modules/poll (Makefile.am): Likewise.
55647         * modules/posixtm (Makefile.am): Likewise.
55648         * modules/posixver (Makefile.am): Likewise.
55649         * modules/putenv (Makefile.am): Likewise.
55650         * modules/quote (Makefile.am): Likewise.
55651         * modules/quotearg (Makefile.am): Likewise.
55652         * modules/raise (Makefile.am): Likewise.
55653         * modules/read-file (Makefile.am): Likewise.
55654         * modules/readline (Makefile.am): Likewise.
55655         * modules/readlink (Makefile.am): Likewise.
55656         * modules/readtokens (Makefile.am): Likewise.
55657         * modules/readutmp (Makefile.am): Likewise.
55658         * modules/realloc (Makefile.am): Likewise.
55659         * modules/regex (Makefile.am): Likewise.
55660         * modules/rename (Makefile.am): Likewise.
55661         * modules/rename-dest-slash (Makefile.am): Likewise.
55662         * modules/rijndael (Makefile.am): Likewise.
55663         * modules/rmdir (Makefile.am): Likewise.
55664         * modules/rpmatch (Makefile.am): Likewise.
55665         * modules/safe-read (Makefile.am): Likewise.
55666         * modules/safe-write (Makefile.am): Likewise.
55667         * modules/same (Makefile.am): Likewise.
55668         * modules/save-cwd (Makefile.am): Likewise.
55669         * modules/savedir (Makefile.am): Likewise.
55670         * modules/setenv (Makefile.am): Likewise.
55671         * modules/settime (Makefile.am): Likewise.
55672         * modules/sha1 (Makefile.am): Likewise.
55673         * modules/sig2str (Makefile.am): Likewise.
55674         * modules/snprintf (Makefile.am): Likewise.
55675         * modules/stdlib-safer (Makefile.am): Likewise.
55676         * modules/stpcpy (Makefile.am): Likewise.
55677         * modules/stpncpy (Makefile.am): Likewise.
55678         * modules/strcase (Makefile.am): Likewise.
55679         * modules/strcasestr (Makefile.am): Likewise.
55680         * modules/strchrnul (Makefile.am): Likewise.
55681         * modules/strcspn (Makefile.am): Likewise.
55682         * modules/strdup (Makefile.am): Likewise.
55683         * modules/strerror (Makefile.am): Likewise.
55684         * modules/strftime (Makefile.am): Likewise.
55685         * modules/strndup (Makefile.am): Likewise.
55686         * modules/strnlen (Makefile.am): Likewise.
55687         * modules/strpbrk (Makefile.am): Likewise.
55688         * modules/strsep (Makefile.am): Likewise.
55689         * modules/strstr (Makefile.am): Likewise.
55690         * modules/strtod (Makefile.am): Likewise.
55691         * modules/strtoimax (Makefile.am): Likewise.
55692         * modules/strtok_r (Makefile.am): Likewise.
55693         * modules/strtol (Makefile.am): Likewise.
55694         * modules/strtoll (Makefile.am): Likewise.
55695         * modules/strtoul (Makefile.am): Likewise.
55696         * modules/strtoull (Makefile.am): Likewise.
55697         * modules/strtoumax (Makefile.am): Likewise.
55698         * modules/strverscmp (Makefile.am): Likewise.
55699         * modules/time_r (Makefile.am): Likewise.
55700         * modules/timegm (Makefile.am): Likewise.
55701         * modules/tmpfile-safer (Makefile.am): Likewise.
55702         * modules/unistd-safer (Makefile.am): Likewise.
55703         * modules/unlinkdir (Makefile.am): Likewise.
55704         * modules/userspec (Makefile.am): Likewise.
55705         * modules/utime (Makefile.am): Likewise.
55706         * modules/utimecmp (Makefile.am): Likewise.
55707         * modules/utimens (Makefile.am): Likewise.
55708         * modules/vasnprintf (Makefile.am): Likewise.
55709         * modules/vasprintf (Makefile.am): Likewise.
55710         * modules/vsnprintf (Makefile.am): Likewise.
55711         * modules/xalloc (Makefile.am): Likewise.
55712         * modules/xgetcwd (Makefile.am): Likewise.
55713         * modules/xnanosleep (Makefile.am): Likewise.
55714         * modules/xreadlink (Makefile.am): Likewise.
55715         * modules/xstrtod (Makefile.am): Likewise.
55716         * modules/xstrtol (Makefile.am): Likewise.
55717         * modules/xstrtold (Makefile.am): Likewise.
55718         * modules/yesno (Makefile.am): Likewise.
55719
55720 2006-10-12  Jim Meyering  <jim@meyering.net>
55721
55722         * m4/getloadavg.m4: Revert the change below.
55723
55724         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55725         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55726         fail with a symlink, which is what coreutils' ./bootstrap now
55727         creates by default.
55728
55729 2006-10-12  Bruno Haible  <bruno@clisp.org>
55730
55731         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55732         mingw.
55733         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55734         MSVC and mingw explicitly.
55735
55736 2006-10-11  Simon Josefsson  <jas@extundo.com>
55737             Bruno Haible  <bruno@clisp.org>
55738
55739         Add support for multiple gnulib-tool invocations in the scope of a
55740         single configure.ac file.
55741         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55742         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55743         with the same contents as the _LIBADD variable.
55744         (func_emit_initmacro_start, func_emit_initmacro_end,
55745         func_emit_initmacro_done): New functions.
55746         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55747         gl_LIBOBJS and gl_LTLIBOBJS.
55748
55749 2006-10-11  Bruno Haible  <bruno@clisp.org>
55750
55751         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55752         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55753         autoreconf. Instead, invoke autopoint explicitly but move back the
55754         *.m4 files from gnulib.
55755
55756 2006-10-11  Bruno Haible  <bruno@clisp.org>
55757
55758         * gnulib-tool (func_usage): Make module names after --create-testdir
55759         optional.
55760         (func_create_testdir): If no module was specified, use nearly all
55761         modules.
55762
55763 2006-10-12  Jim Meyering  <jim@meyering.net>
55764
55765         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55766         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55767         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55768         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55769         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55770         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55771         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55772         (fts_set_stat_required): New function.
55773         (fts_open): Defer the calls to fts_stat, if possible or requested.
55774         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55775         into fts_stat itself.
55776         (fts_read): Perform any required (deferred) fts_stat call.
55777         (fts_build): Likewise, for the directory we're about to open and read.
55778         In the readdir loop, carefully decide whether each entry will require
55779         an eventual call to fts_stat, using dirent.d_type info if available.
55780         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55781         a command line argument into this function.  Update all callers.
55782         Map a return value of FTS_DOT to FTS_D for a command line argument.
55783         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55784         Thanks to Miklos Szeredi for his tenacity and for the initial
55785         bug report about "find" failing on a FUSE-based file system.
55786
55787         * lib/fts.c (fts_open): Use consistent indentation.
55788
55789 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55790
55791         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55792         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55793         reported by Jim Meyering.  All uses of cache variables renamed
55794         to match Autoconf's.
55795         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55796         the other one.
55797
55798         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55799         Fix misspelling in diagnostic.
55800
55801 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55802
55803         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55804         defined.  Problem reported by Matthew Woehlke.
55805
55806         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55807         Add support for Tandem NonStop R series.
55808         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55809         Use new macro.
55810
55811         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55812         (has_trailing_slash): Omit size arg; all callers changed.
55813         Omit 'inline', since it doesn't help performance and we'd
55814         need to configure it.
55815         Don't count //, ///, etc. as having a trailing slash.
55816         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55817         (rpl_rename_dest_slash): On failure, use rename's errno rather
55818         than (in some cases) an incorrect or junk errno.
55819         Simplify code by removing need to compute length; this does
55820         cause it to make two passes instead of one over the file name,
55821         but it's worth it.
55822
55823         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55824         change, since Autoconf's version may no longer be appropriate now
55825         that we are using CVS Autoconf's version.  Add support for Tandem.
55826
55827 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55828             Bruno Haible  <bruno@clisp.org>
55829
55830         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55831         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55832         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55833         gl_AC_TYPE_LONG_LONG.
55834
55835         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55836         instead of HAVE_LONG_LONG.
55837         * lib/printf-args.c (printf_fetchargs): Likewise.
55838         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55839         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55840         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55841         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55842         gl_AC_TYPE_LONG_LONG.
55843
55844 2006-10-11  Bruno Haible  <bruno@clisp.org>
55845
55846         * m4/longlong.m4: Add comments.
55847         * m4/ulonglong.m4: Likewise.
55848
55849 2006-10-10  Bruno Haible  <bruno@clisp.org>
55850
55851         Make it possible to #define stpcpy, strdup to aliases.
55852         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55853         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55854
55855 2006-10-10  Bruno Haible  <bruno@clisp.org>
55856
55857         Make it possible to #define gcd to an alias.
55858         * lib/gcd.c: Include config.h.
55859
55860 2006-10-10  Bruno Haible  <bruno@clisp.org>
55861
55862         Make it possible to #define c_isascii to an alias.
55863         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55864         defined. Undefine the macros before defining them, to avoid gcc
55865         warnings.
55866         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55867         define NO_C_CTYPE_MACROS early.
55868
55869 2006-10-10  Bruno Haible  <bruno@clisp.org>
55870
55871         Make it possible to #define set_program_name to an alias.
55872         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55873         ENABLE_RELOCATABLE early.
55874
55875 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55876
55877         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55878         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55879         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55880         More generally, don't assume that 64-bit signed int is available
55881         if unsigned int is, and vice versa.
55882         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55883         unsigned symbols, not on their signed counterparts.
55884         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55885         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55886         (UINT64_C, UINTMAX_C):
55887         Likewise.
55888         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55889         unsigned counterparts.
55890         (Have_long_long, Unsigned): New macros.
55891         (Int): Renamed from INT.
55892         (strtoimax): Use the new macros.
55893         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55894         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55895         * modules/inttypes (inttypes.h): Substitute
55896         HAVE_UNSIGNED_LONG_LONG_INT.
55897         * modules/stdint (stdint.h): Likewise.
55898         (Files): Add m4/ulonglong.m4.
55899
55900 2006-10-10  Bruno Haible  <bruno@clisp.org>
55901
55902         Fix a gcc -Wshadow warning.
55903         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55904         to 'bucket'.
55905         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55906         gl_linked_indexof_from_to): Likewise.
55907         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55908         Likewise.
55909         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55910         Likewise.
55911         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55912         Reported by Eric Blake.
55913
55914 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55915
55916         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55917         for NetBSD.  Problem reported by Bruno Haible.
55918
55919 2006-10-09  Jim Meyering  <jim@meyering.net>
55920
55921         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55922         Patch from Bruno Haible.
55923
55924 2006-10-09  Jim Meyering  <jim@meyering.net>
55925
55926         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
55927         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
55928         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
55929
55930 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55931
55932         Don't include <config.h> twice; this doesn't work in some cases,
55933         e.g., when config.h has "#define intmax_t long long int" and
55934         we include <config.h>, <inttypes.h>, <config.h> in that order.
55935         Problem reported by Matthew Woehlke in:
55936         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
55937         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
55938         * lib/fts-cycle.c: Don't include config.h.
55939         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
55940         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
55941         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
55942         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
55943         inttypes.h.
55944         * lib/xstrtoumax.c: Likewise.
55945         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
55946         __strtol and the like, so that this module is more like its siblings.
55947         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
55948         Remove; no longer needed now that we assume gnulib inttypes.h.
55949
55950 2006-10-08  Bruno Haible  <bruno@clisp.org>
55951
55952         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
55953         option.
55954
55955 2006-10-07  Jim Meyering  <jim@meyering.net>
55956
55957         * modules/inttypes (inttypes.h): Revert what seems to have been
55958         an inadvertent part of today's change: use "|", not "/" in the
55959         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
55960
55961 2006-10-07  Bruno Haible  <bruno@clisp.org>
55962
55963         * modules/sublist: New file.
55964
55965 2006-10-07  Bruno Haible  <bruno@clisp.org>
55966
55967         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
55968         * modules/argz (argz.h): Likewise.
55969         * modules/arpa_inet (arpa/inet.h): Likewise.
55970         * modules/byteswap (byteswap.h): Likewise.
55971         * modules/configmake (configmake.h): Likewise.
55972         * modules/fcntl (fcntl.h): Likewise.
55973         * modules/fnmatch (fnmatch.h): Likewise.
55974         * modules/getopt (getopt.h): Likewise.
55975         * modules/glob (glob.h): Likewise.
55976         * modules/inttypes (inttypes.h): Likewise.
55977         * modules/netinet_in (netinet/in.h): Likewise.
55978         * modules/poll (poll.h): Likewise.
55979         * modules/stdbool (stdbool.h): Likewise.
55980         * modules/stdint (stdint.h): Likewise.
55981         * modules/sys_select (sys/select.h): Likewise.
55982         * modules/sys_socket (sys/socket.h): Likewise.
55983         * modules/sys_stat (sys/stat.h): Likewise.
55984         * modules/sysexits (sysexits.h): Likewise.
55985         * modules/unistd (unistd.h): Likewise.
55986         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55987         Add a "DO NOT EDIT" comment to the generated file.
55988         (func_import): Likewise for gnulib-comp.m4.
55989
55990 2006-10-07  Bruno Haible  <bruno@clisp.org>
55991
55992         * lib/gl_sublist.h: New file.
55993         * lib/gl_sublist.c: New file.
55994
55995 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55996
55997         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
55998         name (relative to the original working directory) and the file
55999         name component (relative to the temporary working directory).  All
56000         callers changed.
56001         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
56002         * lib/mkdir-p.c (make_dir_parents): Likewise.
56003         * lib/mkdir-p.h (make_dir_parents): Likewise.
56004
56005 2006-10-06  Eric Blake  <ebb9@byu.net>
56006
56007         Define several macros for use by the clean-temp module.
56008         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
56009         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
56010         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
56011
56012         * lib/clean-temp.h (close_stream_temp): New declaration.
56013         * lib/clean-temp.c (includes): Pull in headers according to what
56014         other modules are in use.
56015         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
56016
56017 2006-10-06  Bruno Haible  <bruno@clisp.org>
56018
56019         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
56020         instead of fopen, fwriteerror.
56021
56022 2006-10-06  Bruno Haible  <bruno@clisp.org>
56023
56024         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
56025         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
56026         int.
56027         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
56028         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
56029         Return an error indicator.
56030         Suggested by Eric Blake.
56031
56032 2006-10-06  Bruno Haible  <bruno@clisp.org>
56033
56034         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
56035         Reported by Eric Blake.
56036
56037 2006-10-06  Bruno Haible  <bruno@clisp.org>
56038
56039         * modules/closeout (Description): Mention stderr too.
56040
56041 2006-10-06  Bruno Haible  <bruno@clisp.org>
56042         and Paul Eggert  <eggert@cs.ucla.edu>
56043
56044         * lib/closeout.c (close_stdout): Also close stderr.
56045         * lib/closeout.h: Update comment.
56046
56047 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
56048
56049         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
56050         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
56051         * lib/dirchownmod.c: Include lchown.h.
56052         * lib/lchown.c: Don't include files that lchown.h now includes.
56053         Don't declare chown, since lchown.h now does that.
56054         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
56055         (lchown): Define to rpl_chown if lchown is declared but
56056         does not exist.  Declare using a prototype if lchown is not
56057         declared.  Add a copyright notice.
56058         * lib/mkstemp.h: Include <unistd.h>.
56059         * lib/openat.c: Include lchown.h.
56060
56061         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
56062         we now test for that separately.
56063         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
56064         rather than O_NOFOLLOW, when testing whether it's possible to
56065         avoid a race condition reliably.
56066         * lib/savewd.c (savewd_chdir): Likewise.
56067
56068         Remove macros that are no longer needed now that stdint.h is
56069         reliable.
56070         * lib/fsusage.c (UINTMAX_MAX): Remove.
56071         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
56072         * lib/utimecmp.c (SIZE_MAX): Remove.
56073
56074         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
56075
56076         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
56077         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
56078         O_NOATIME works.
56079
56080 2006-10-05  Bruno Haible  <bruno@clisp.org>
56081
56082         * lib/gl_list.h (gl_sortedlist_search_from_to,
56083         gl_sortedlist_indexof_from_to): New declarations.
56084         (gl_list_implementation): New fields sortedlist_search_from_to,
56085         sortedlist_indexof_from_to.
56086         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
56087         inline functions.
56088         * lib/gl_list.c (gl_sortedlist_search_from_to,
56089         gl_sortedlist_indexof_from_to): New functions.
56090         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
56091         function.
56092         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
56093         (gl_array_sortedlist_search_from_to): New function.
56094         (gl_array_list_implementation): Update.
56095         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
56096         function.
56097         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
56098         (gl_carray_sortedlist_search_from_to): New function.
56099         (gl_carray_list_implementation): Update.
56100         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
56101         gl_linked_sortedlist_indexof_from_to): New functions.
56102         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56103         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56104         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
56105         gl_tree_sortedlist_indexof_from_to): New functions.
56106         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56107         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56108         Update.
56109         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56110         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
56111         Update.
56112
56113 2006-10-05  Bruno Haible  <bruno@clisp.org>
56114
56115         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
56116         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
56117         (struct gl_list_implementation): Add fields search_from_to,
56118         indexof_from_to. Remove fields search, indexof.
56119         (gl_list_search): Use the search_from_to method.
56120         (gl_list_search_from, gl_list_search_from_to): New functions.
56121         (gl_list_indexof): Use the indexof_from_to method.
56122         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56123         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
56124         (gl_list_search_from, gl_list_search_from_to): New functions.
56125         (gl_list_indexof): Use the indexof_from_to method.
56126         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56127         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
56128         gl_array_indexof. Add start_index, end_index arguments.
56129         (gl_array_search_from_to): Renamed from gl_array_search. Add
56130         start_index, end_index arguments.
56131         (gl_array_remove, gl_array_list_implementation): Update.
56132         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
56133         gl_carray_indexof. Add start_index, end_index arguments.
56134         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
56135         start_index, end_index arguments.
56136         (gl_carray_remove, gl_carray_list_implementation): Update.
56137         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
56138         gl_linked_search. Add start_index, end_index arguments.
56139         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
56140         start_index, end_index arguments.
56141         (gl_linked_remove): Update.
56142         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56143         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56144         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
56145         field to 'size_t'.
56146         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
56147         gl_tree_search. Add start_index, end_index arguments.
56148         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56149         start_index, end_index arguments.
56150         (gl_tree_remove): Update.
56151         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56152         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56153         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
56154         function.
56155         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
56156         gl_tree_search. Add start_index, end_index arguments.
56157         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56158         start_index, end_index arguments.
56159         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56160         Update.
56161         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56162
56163 2006-10-05  Bruno Haible  <bruno@clisp.org>
56164
56165         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
56166
56167         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
56168         fwriteerror_temp): New declarations.
56169         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
56170         (descriptors): New variable.
56171         (cleanup): First, close the descriptors.
56172         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
56173         fclose_temp, fwriteerror_temp): New functions.
56174
56175 2006-10-04  Jim Meyering  <jim@meyering.net>
56176
56177         * lib/fts.c (fts_open): Tiny comment change.
56178
56179 2006-10-04  Bruno Haible  <bruno@clisp.org>
56180
56181         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
56182         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
56183         gl_LOCK_BODY.
56184         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
56185         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
56186         gl_LOCK_EARLY_BODY.
56187         (gl_LOCK): Require gl_LOCK_BODY.
56188
56189 2006-10-04  Bruno Haible  <bruno@clisp.org>
56190
56191         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
56192         (gl_oset_search_atleast): New declaration.
56193         (struct gl_oset_implementation): Add field 'search_atleast'.
56194         (gl_oset_search_atleast): New inline function.
56195         * lib/gl_oset.c (gl_oset_search_atleast): New function.
56196         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
56197         (gl_array_oset_implementation): Update.
56198         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
56199         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
56200         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
56201
56202 2006-10-04  Bruno Haible  <bruno@clisp.org>
56203
56204         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
56205
56206 2006-10-03  Bruno Haible  <bruno@clisp.org>
56207
56208         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
56209         from gl_avltreehash_list_implementation.
56210
56211 2006-10-03  Bruno Haible  <bruno@clisp.org>
56212
56213         * lib/gl_oset.c (gl_oset_add): Fix return type.
56214
56215 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
56216
56217         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
56218
56219 2006-10-02  Eric Blake  <ebb9@byu.net>
56220
56221         * modules/strnlen (Depends-on): Add extensions.
56222
56223 2006-10-02  Eric Blake  <ebb9@byu.net>
56224
56225         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
56226         definition in 2.60+.
56227
56228 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
56229
56230         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
56231         checks.
56232
56233 2006-10-02  Bruno Haible  <bruno@clisp.org>
56234
56235         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
56236         to the AUTOMAKE_OPTIONS.
56237         Reported by Jim Meyering.
56238
56239 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
56240
56241         Work around bug in Solaris 10 /proc file system:
56242         /proc/self/fd/NNN/.. isn't the parent directory of
56243         the directory whose file descriptor is NNN.  This needs to
56244         be worked around at run time, not compile time, since a
56245         program might be built on Solaris 8, where things work, and
56246         run on Solaris 10.
56247         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
56248         to use the following interface instead:
56249         (OPENAT_BUFFER_SIZE): New macro.
56250         (openat_proc_name): New function.
56251         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
56252         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
56253         Likewise.
56254         * lib/openat-proc.c: New file.
56255         * modules/openat (Files): Add lib/openat-proc.c.
56256         (Depends-on): Add same-inode, stdbool.
56257         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
56258
56259 2006-09-29  Bruno Haible  <bruno@clisp.org>
56260
56261         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
56262         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
56263         argument. Set stdout_closed before testing for ferror, not after.
56264         (fwriteerror, fwriteerror_no_ebadf): New functions.
56265
56266 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56267
56268         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
56269
56270 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
56271
56272         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
56273         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
56274
56275 2006-09-28  Jim Meyering  <jim@meyering.net>
56276
56277         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
56278         Include <unistd.h>.
56279
56280 2006-09-28  Bruno Haible  <bruno@clisp.org>
56281
56282         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
56283         * modules/linkedhash-list (Depends-on): Likewise.
56284         * modules/rbtreehash-list (Depends-on): Likewise.
56285
56286 2006-09-28  Bruno Haible  <bruno@clisp.org>
56287
56288         * lib/strndup.h: Simplify the redefinition of strndup.
56289         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
56290         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
56291
56292 2006-09-28  Bruno Haible  <bruno@clisp.org>
56293
56294         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
56295         * lib/gl_linkedhash_list.c: Likewise.
56296         * lib/gl_rbtreehash_list.c: Likewise.
56297
56298 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56299
56300         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
56301         getaddrinfo.
56302
56303         * lib/__fpending.h: Don't include <stdio_ext.h> unless
56304         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
56305         it causes <stdio_ext.h> to cause a compile-time error.
56306         Problem reported by Nelson H. F. Beebe.
56307         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
56308         of HAVE_DECL___PENDING.
56309
56310         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
56311         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
56312         declaration.
56313
56314 2006-09-27  Jim Meyering  <jim@meyering.net>
56315
56316         This file could end up with a definition for a function
56317         named __strndup, rather than rpl_strndup on a system with
56318         incomplete weak_alias support.
56319         * lib/strndup.c (strndup): Rename from __strndup.
56320         Remove #defines that used to map __strndup to strndup.
56321         Don't use K&R prototypes.
56322         Remove LIBC-related code, since this file is not sync'd with glibc.
56323         * lib/strndup.h: Revamp, accordingly.
56324         * m4/strndup.m4: Modernize.
56325
56326 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
56327
56328         * modules/savewd (Depends-on): Add 'raise'.
56329         * lib/savewd.c: Include <signal.h>, for 'raise'.
56330
56331 2006-09-26  Jim Meyering  <jim@meyering.net>
56332
56333         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
56334         when we detect Darwin 8.7.0's acl_get_file bug.
56335         Rearrange to perform the new (below) run-test while $LIBS
56336         contains any acl-related library.  Set USE_ACL at the end.
56337         (gl_ACL_GET_FILE): New function.
56338
56339 2006-09-26  Eric Blake  <ebb9@byu.net>
56340
56341         * lib/verror.c: Include <config.h> unconditionally.
56342
56343 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
56344
56345         * modules/clock-time (Maintainer): Add self.
56346         * modules/getlogin_r (Depends-on): Add extensions.
56347
56348 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56349
56350         * modules/clock-time: New module.
56351         * modules/nanosleep (Depends-on): Add clock-time.
56352         * modules/gethrxtime (Depends-on): Likewise.
56353         * modules/gettime (Depends-on): Likewise.
56354         * modules/settime (Depends-on): Likewise.
56355
56356         * modules/fts-lgpl: Depend on openat.
56357         * modules/mkancesdirs: Depend on savewd.
56358         * modules/mkdir-p: Likewise.
56359
56360 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56361
56362         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
56363
56364         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
56365         `gl_have_arbitrary_file_name_length_limit' to
56366         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
56367         actually works between configure runs.
56368
56369 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56370             Bruno Haible  <bruno@clisp.org>
56371
56372         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
56373
56374 2006-09-25  Jim Meyering  <jim@meyering.net>
56375
56376         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
56377         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
56378
56379 2006-09-25  Eric Blake  <ebb9@byu.net>
56380
56381         * gnulib-tool (func_import, func_create_testdir): Fix typos in
56382         exec's in 2006-09-18 patch when shuffling fds.
56383
56384 2006-09-25  Bruno Haible  <bruno@clisp.org>
56385
56386         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
56387         Reported by Jim Meyering.
56388
56389 2006-09-24  Jim Meyering  <jim@meyering.net>
56390
56391         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
56392         compare a pointer against a literal "0".  That caused failures with
56393         at least HP-UX's hpcc.
56394
56395 2006-09-22  Simon Josefsson  <jas@extundo.com>
56396
56397         * modules/gc-sha1:
56398         * modules/gc-md4:
56399         * modules/gc-hmac-sha1:
56400         * modules/gc-hmac-md5:
56401         * modules/gc-des:
56402         * modules/gc-arcfour: Distribute more files.
56403
56404 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56405
56406         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
56407         (gl_linked_iterator_from_to): Initialize struct completely.
56408         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
56409         (gl_tree_iterator_from_to): Likewise
56410         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
56411         * lib/gl_array_list.c [lint] (gl_array_iterator)
56412         (gl_array_iterator_from_to): Likewise.
56413         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
56414         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
56415         (gl_carray_iterator_from_to): Likewise.
56416
56417         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
56418         * lib/md4.c (md4_process_block): Remove unused variable.
56419         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
56420         parentheses for clarity.
56421
56422 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56423
56424         * modules/bison-i18n (Depends-on): Add gettext.
56425
56426 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56427
56428         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
56429         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
56430         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
56431         also add missing comma that caused broken test.
56432         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
56433         stdlib.h, for `abort'.
56434         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
56435         variables.
56436         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
56437         include unistd.h if present, for `rmdir'.
56438         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
56439         variables.
56440         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
56441         in the process include standard headers for prototypes.
56442         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
56443         gets declared on GNU/Linux.
56444         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
56445         unistd.h, for `rmdir'.
56446         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
56447
56448         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
56449         always true.
56450         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
56451
56452         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
56453
56454 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56455
56456         * gnulib-tool (func_version): Create output all at once.  This
56457         may help avoid triggering unnecessary SIGPIPEs, and at any
56458         rate it doesn't hurt.
56459
56460 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56461             Bruno Haible  <bruno@clisp.org>
56462
56463         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
56464         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56465         * m4/signed.m4 (bh_C_SIGNED): Likewise.
56466
56467         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
56468         (gl_FUNC_VASPRINTF): Invoke it.
56469
56470 2006-09-22  Bruno Haible  <bruno@clisp.org>
56471
56472         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
56473         getloadavg.c as first argument.
56474
56475 2006-09-22  Bruno Haible  <bruno@clisp.org>
56476
56477         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
56478         at the beginning of the gl_INIT macro.
56479         * modules/getloadavg (configure.ac): Pass $gl_source_base to
56480         gl_GETLOADAVG.
56481
56482 2006-09-22  Bruno Haible  <bruno@clisp.org>
56483
56484         * gnulib-tool (func_create_megatestdir): Don't include the config-h
56485         module.
56486         Suggested by Ralf Wildenhues.
56487
56488 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56489
56490         Import this patch from libc:
56491
56492         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
56493
56494         * lib/regex_internal.c (re_string_reconstruct): Handle
56495         offset < pstr->valid_raw_len && pstr->offsets_needed case.
56496         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
56497         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
56498         re_string_context_at.
56499
56500         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
56501         now requires it.
56502         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
56503         gl_REGEX now does it for us.
56504         (gl_REGEX): Add test taken from
56505         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
56506
56507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
56508         Check that large offsets work.  Modernize Autoconf usages.
56509         Prefer "yes" to mean a good thing rather than a bad.
56510         Don't put "#define mkstemp" in config.h, as this might interfere
56511         with standard system headers that "#define mkstemp mkstemp64".
56512
56513         * modules/mkstemp (Depends-on): Add extensions, so that
56514         mkstemp is visible on some platforms.
56515         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
56516         (Include): Change to "mkstemp.h" from <stdlib.h>.
56517         (Files): Add mkstemp.h.
56518
56519         * lib/mkstemp.h: New file, since some standard headers
56520         #define mkstemp.
56521         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
56522         Include "mkstemp.h".
56523         Make the _LIBC code resemble glibc original more,
56524         e.g., use K&R style.
56525         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
56526         (mkstemp): Remove, since mkstemp.h does this for us.
56527         * lib/stdlib--.h: Include mkstemp.h.
56528
56529         Import this patch from libc:
56530
56531         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56532
56533         * lib/tempname.c (__gen_tempname): Change attempts_min
56534         into a macro.  Use preprocessor to decide how to initialize
56535         attempts [Coverity CID 67].
56536
56537 2006-09-20  Bruno Haible  <bruno@clisp.org>
56538
56539         * lib/mkdtemp.c: Import from libc.
56540         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56541                 * sysdeps/posix/tempname.c (__gen_tempname): Change
56542                 attempts_min into a macro.  Use preprocessor to decide how to
56543                 initialize attempts [Coverity CID 67].
56544         2001-11-27  Paul Eggert  <eggert@twinsun.com>
56545                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
56546                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
56547
56548 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56549
56550         * gnulib-tool (func_exit): New function, to allow to pass the
56551         exit status portably through the trap.  Use everywhere.
56552         (--help, --version): Signal a write error.
56553         (trap): catch SIGPIPE, for write errors.
56554         Exit at the end of the trap, with the correct exit status.
56555
56556 2006-09-19  Karl Berry  <karl@gnu.org>
56557
56558         * doc/gnulib.texi: note about the license texinfo files.
56559
56560 2006-09-19  Eric Blake  <ebb9@byu.net>
56561
56562         * gnulib-tool: Avoid space-tab.
56563
56564 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56565
56566         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
56567         that prevented coreutils 6.1 from building.  Problem reported
56568         by Petter Reinholdtsen.
56569
56570 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56571
56572         * gnulib-tool (avoidlist): Fix typo that broke options like
56573         --avoid=lock that are used by coreutils bootstrap.
56574
56575 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
56576
56577         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
56578         more systematically.
56579
56580 2006-09-18  Jim Meyering  <jim@meyering.net>
56581
56582         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
56583
56584 2006-09-18  Bruno Haible  <bruno@clisp.org>
56585
56586         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
56587
56588 2006-09-18  Bruno Haible  <bruno@clisp.org>
56589
56590         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
56591         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
56592         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
56593         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
56594         * m4/gettext.m4: Require autoconf >= 2.52.
56595         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
56596         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
56597         of gl_cv_header_inttypes_h.
56598
56599 2006-09-18  Bruno Haible  <bruno@clisp.org>
56600
56601         * lib/javaversion.c: Include configmake.h.
56602
56603 2006-09-18  Bruno Haible  <bruno@clisp.org>
56604
56605         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
56606         avoid that the while loops be executed in a subshell.
56607
56608 2006-09-18  Bruno Haible  <bruno@clisp.org>
56609
56610         * MODULES.html.sh (func_module): Break long lines.
56611         Suggested by Bruce Korb <bkorb@gnu.org>.
56612
56613 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56614
56615         Speed up by a factor of 1.12.
56616         * gnulib-tool (nl): New variable.
56617         (func_import): Rewrite include directive extraction to only read each
56618         directive once.
56619
56620 2006-09-17  Bruno Haible  <bruno@clisp.org>
56621
56622         * modules/javaversion (Makefile.am): Remove DEFS setting.
56623         (Depends-on): Add configmake, for PKGDATADIR definition.
56624
56625 2006-09-17  Bruno Haible  <bruno@clisp.org>
56626
56627         * gnulib-tool (func_create_testdir): Rewrite all files at once.
56628
56629 2006-09-17  Bruno Haible  <bruno@clisp.org>
56630
56631         * gnulib-tool (func_append): New function, stolen from libtool.m4.
56632         (func_modules_transitive_closure, func_modules_add_dummy,
56633         func_modules_to_filelist, func_import, func_create_testdir,
56634         func_create_megatestdir, ...): Use it wherever possible.
56635         Suggested by Ralf Wildenhues.
56636
56637 2006-09-16  Karl Berry  <karl@gnu.org>
56638
56639         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
56640         to avoid sectioning errors.
56641         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
56642         [ifinfo]: blank line after @center-ed titles.
56643         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
56644         Spell FSF address consistently with others.
56645         (These changes approved by rms.)
56646
56647 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56648
56649         Speed up by a factor of 1.61.
56650         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
56651         already checked module names again.
56652
56653 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56654
56655         Speed up by a factor of 1.13.
56656         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
56657         for new_files, and the input to func_add_or_update.
56658
56659 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56660
56661         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
56662         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
56663
56664 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56665
56666         * modules/mkancesdirs (Depends-on): Add fcntl.
56667         * modules/savewd: New file.
56668         * MODULES.html.sh (File system functions): Add savewd.
56669
56670         * modules/configmake (Makefile.am): Add support for the
56671         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
56672
56673 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56674
56675         * m4/savewd.m4: New file.
56676
56677 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56678
56679         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
56680         (dirchownmod): New arg FD.  All callers changed.
56681         Use FD rather than opening the directory ourself, as opening is
56682         now the caller's responsibility.
56683         * lib/dirchownmod.h: Likewise.
56684         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
56685         hosts that require <sys/types.h> before <sys/stat.h>.  Include
56686         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
56687         (test_dir): Remove.
56688         (mkancesdirs): Return length of prefix of FILE that has already
56689         been made, or -2 if there is a child doing the work.  Redo
56690         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56691         ".", and treat ".." specially since it might stray back into
56692         already-created areas.  Use a subprocess if necessary.  New arg
56693         WD; all users changed.  MAKE_DIR function should now return 1
56694         if it creates a directory that is not readable.  Return -2 if
56695         a child process is spun off.
56696         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56697         Adjust signature to match code.
56698         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56699         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56700         all users changed.
56701         * lib/savewd.c, lib/savewd.h: New files.
56702
56703 2006-09-15  Jim Meyering  <jim@meyering.net>
56704
56705         * modules/rename-dest-slash: New module.
56706         * MODULES.html.sh (posix_compat): Add it here.
56707
56708         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56709
56710 2006-09-15  Jim Meyering  <jim@meyering.net>
56711
56712         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56713         file.
56714
56715         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56716
56717 2006-09-15  Jim Meyering  <jim@meyering.net>
56718
56719         * lib/rename-dest-slash.c (has_trailing_slash): Use
56720         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56721         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56722         test before testing whether SRC is a directory.
56723         Suggestions from Bruno Haible.
56724
56725         Avoid a warning about an unused variable.
56726         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56727         into the #ifdef block where it's used.
56728
56729         * lib/rename-dest-slash.c: New file.
56730
56731 2006-09-14  Bruno Haible  <bruno@clisp.org>
56732
56733         * lib/allocsa.c: Include <config.h> unconditionally.
56734         * lib/asnprintf.c: Likewise.
56735         * lib/asprintf.c: Likewise.
56736         * lib/c-strcasecmp.c: Likewise.
56737         * lib/c-strcasestr.c: Likewise.
56738         * lib/c-strncasecmp.c: Likewise.
56739         * lib/c-strstr.c: Likewise.
56740         * lib/classpath.c: Likewise.
56741         * lib/clean-temp.c: Likewise.
56742         * lib/concatpath.c: Likewise.
56743         * lib/copy-file.c: Likewise.
56744         * lib/csharpcomp.c: Likewise.
56745         * lib/csharpexec.c: Likewise.
56746         * lib/execute.c: Likewise.
56747         * lib/fatal-signal.c: Likewise.
56748         * lib/findprog.c: Likewise.
56749         * lib/fwriteerror.c: Likewise.
56750         * lib/gl_array_list.c: Likewise.
56751         * lib/gl_array_oset.c: Likewise.
56752         * lib/gl_avltree_list.c: Likewise.
56753         * lib/gl_avltree_oset.c: Likewise.
56754         * lib/gl_avltreehash_list.c: Likewise.
56755         * lib/gl_carray_list.c: Likewise.
56756         * lib/gl_linked_list.c: Likewise.
56757         * lib/gl_linkedhash_list.c: Likewise.
56758         * lib/gl_list.c: Likewise.
56759         * lib/gl_oset.c: Likewise.
56760         * lib/gl_rbtree_list.c: Likewise.
56761         * lib/gl_rbtree_oset.c: Likewise.
56762         * lib/gl_rbtreehash_list.c: Likewise.
56763         * lib/imaxabs.c: Likewise.
56764         * lib/imaxdiv.c: Likewise.
56765         * lib/javacomp.c: Likewise.
56766         * lib/javaexec.c: Likewise.
56767         * lib/javaversion.c: Likewise.
56768         * lib/linebreak.c: Likewise.
56769         * lib/localcharset.c: Likewise.
56770         * lib/lock.c: Likewise.
56771         * lib/mbchar.c: Likewise.
56772         * lib/mbswidth.c: Likewise.
56773         * lib/mkdtemp.c: Likewise.
56774         * lib/pipe.c: Likewise.
56775         * lib/printf-args.c: Likewise.
56776         * lib/printf-parse.c: Likewise.
56777         * lib/progname.c: Likewise.
56778         * lib/progreloc.c: Likewise.
56779         * lib/readlink.c: Likewise.
56780         * lib/sh-quote.c: Likewise.
56781         * lib/stpcpy.c: Likewise.
56782         * lib/stpncpy.c: Likewise.
56783         * lib/strcasecmp.c: Likewise.
56784         * lib/strcasestr.c: Likewise.
56785         * lib/strcspn.c: Likewise.
56786         * lib/striconv.c: Likewise.
56787         * lib/strncasecmp.c: Likewise.
56788         * lib/strnlen1.c: Likewise.
56789         * lib/strstr.c: Likewise.
56790         * lib/strtok_r.c: Likewise.
56791         * lib/tls.c: Likewise.
56792         * lib/tmpdir.c: Likewise.
56793         * lib/unicodeio.c: Likewise.
56794         * lib/unsetenv.c: Likewise.
56795         * lib/vasnprintf.c: Likewise.
56796         * lib/vasprintf.c: Likewise.
56797         * lib/wait-process.c: Likewise.
56798         * lib/xallocsa.c: Likewise.
56799         * lib/xsetenv.c: Likewise.
56800         * lib/xstriconv.c: Likewise.
56801
56802 2006-09-13  Simon Josefsson  <jas@extundo.com>
56803
56804         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56805         that internally, suggested by Ralf Wildenhues
56806         <Ralf.Wildenhues@gmx.de>.
56807
56808 2006-09-13  Simon Josefsson  <jas@extundo.com>
56809
56810         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56811         @LIBOBJS@.
56812         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56813
56814 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56815
56816         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56817         longer worry about uses that don't define HAVE_CONFIG_H.
56818         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56819         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56820         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56821         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56822         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56823         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56824         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56825         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56826         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56827         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56828         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56829         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56830         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56831         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56832         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56833         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56834         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56835         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56836         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56837         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56838         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56839         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56840         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56841         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56842         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56843         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56844         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56845         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56846         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56847         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56848         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56849         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56850         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56851         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56852         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56853         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56854         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56855         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56856         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56857         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56858         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56859         Likewise.
56860
56861 2006-09-13  Eric Blake  <ebb9@byu.net>
56862
56863         * lib/getopt.c: Fix typo in last commit.
56864
56865 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56866
56867         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56868         dgettext.
56869
56870 2006-09-12  Jim Meyering  <jim@meyering.net>
56871
56872         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56873         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56874         Reported by Nelson H. F. Beebe.
56875
56876 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56877
56878         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56879         program_invocation_name and program_invocation_short_name are
56880         initialized.
56881         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56882         and program_invocation_short_name to argp.h, so they are visible
56883         to user programs.
56884         * lib/argp.h: Likewise
56885
56886 2006-09-10  Bruno Haible  <bruno@clisp.org>
56887
56888         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56889         m4/inttypes_h.m4, m4/uintmax_t.m4.
56890
56891 2006-09-10  Bruno Haible  <bruno@clisp.org>
56892
56893         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56894         gl_AC_TYPE_UINTMAX_T.
56895
56896 2006-09-10  Bruno Haible  <bruno@clisp.org>
56897
56898         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56899
56900 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56901
56902         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56903         convention.  Text proposed by Bruno Haible.
56904         (struct argp_option): Document the use of N_() wrappers.
56905
56906         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56907         '\v', and translate the two parts separately, instead of feeding
56908         the whole string to gettext.  This allows to exclude
56909         '\v' from the strings visible to the translator by writing doc
56910         strings as N_("..") "\v" N_("..").
56911
56912 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56913
56914         * config/srclist.txt: Undo latest change; the bug was fixed.
56915
56916 2006-09-09  Bruno Haible  <bruno@clisp.org>
56917
56918         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56919         assignments if building a library without libtool.
56920         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56921         in func_emit_lib_Makefile_am.
56922         (func_import): When building a static library libfoo.a, arrange to
56923         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56924         (func_create_testdir): Likewise.
56925         * modules/gc (configure.ac, Makefile.am): If building statically,
56926         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
56927         * modules/iconvme (configure.ac, Makefile.am): Likewise.
56928         * modules/striconv (configure.ac, Makefile.am): Likewise.
56929         Based on a suggestion by Ralf Wildenhues.
56930
56931 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56932
56933         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56934         Check for unistd.h too, since Autoconf doesn't assume POSIX.
56935         Also:
56936
56937         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56938         Add year_2050_test to catch glibc bug 2821
56939         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56940
56941         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56942         Prefer #ifdef to #if.
56943
56944         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
56945         Return from 'main' instead of calling 'exit'.
56946
56947 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56948
56949         * lib/mktime.c (guess_time_tm): Fix bug where mktime
56950         returned the maximum time_t value rather than (time_t) -1.
56951         Problem originally reported by William Bardwell
56952         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56953
56954         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56955         Moved to here ...
56956         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56957         ... from here.
56958
56959 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56960
56961         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
56962         2821 is fixed.
56963
56964 2006-09-08  Jim Meyering  <jim@meyering.net>
56965
56966         Don't make generated files read-only.  That would bother too many
56967         people.  However, do retain the ability to work when targets are
56968         read-only: remove the destination and temporary files before writing
56969         them (when generated via sed or echo), or by using the -f option for
56970         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
56971         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56972         * modules/byteswap, modules/configmake, modules/fcntl:
56973         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56974         * modules/localcharset, modules/netinet_in, modules/poll:
56975         * modules/stdbool, modules/stdint, modules/sys_select:
56976         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56977
56978 2006-09-08  Jim Meyering  <jim@meyering.net>
56979
56980         Avoid new build failure on FreeBSD 6.0.
56981         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
56982         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
56983         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
56984
56985 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56986
56987         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
56988
56989 2006-09-07  Jim Meyering  <jim@meyering.net>
56990
56991         Fix global typo in last change: use chmod u-w, not chmod u-x.
56992         Spotted by Paul Eggert and Bruce Korb.
56993         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56994         * modules/byteswap, modules/configmake, modules/fcntl:
56995         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56996         * modules/localcharset, modules/netinet_in, modules/poll:
56997         * modules/stdbool, modules/stdint, modules/sys_select:
56998         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56999
57000 2006-09-06  Jim Meyering  <jim@meyering.net>
57001
57002         Make generated files be read-only.
57003         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
57004         Ensure that each generated file is now read-only.
57005         * modules/argz: Likewise.
57006         * modules/arpa_inet: Likewise.
57007         * modules/byteswap: Likewise.
57008         * modules/configmake: Likewise.
57009         * modules/fcntl: Likewise.
57010         * modules/fnmatch: Likewise.
57011         * modules/getopt: Likewise.
57012         * modules/glob: Likewise.
57013         * modules/inttypes: Likewise.
57014         * modules/netinet_in: Likewise.
57015         * modules/poll: Likewise.
57016         * modules/stdbool: Likewise.
57017         * modules/stdint: Likewise.
57018         * modules/sys_select: Likewise.
57019         * modules/sys_socket: Likewise.
57020         * modules/sys_stat: Likewise.
57021         * modules/sysexits: Likewise.
57022         * modules/localcharset: Same as above, but continue using temporary
57023         file named "t-$@" (why different?) rather than the "$@-t" used
57024         everywhere else.
57025
57026         * modules/sysexits (Makefile.am): Replace literal occurrences
57027         of "sysexit.h" more readable, and more consistent, "$@".
57028
57029 2006-09-06  Bruno Haible  <bruno@clisp.org>
57030
57031         * modules/striconv: New file.
57032         * modules/xstriconv: New file.
57033         * MODULES.html.sh (Internationalization functions): Add striconv,
57034         xstriconv.
57035
57036 2006-09-06  Bruno Haible  <bruno@clisp.org>
57037
57038         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
57039         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
57040         not using libtool correctly.
57041
57042 2006-09-06  Bruno Haible  <bruno@clisp.org>
57043
57044         * lib/striconv.h: New file.
57045         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
57046         iconvstring.c.
57047         * lib/xstriconv.h: New file.
57048         * lib/xstriconv.c: New file.
57049
57050 2006-09-06  Bruno Haible  <bruno@clisp.org>
57051
57052         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57053         lib_..._LDFLAGS.
57054
57055 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57056
57057         * lib/argz_.h: Sync from Libtool.
57058
57059         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
57060                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57061
57062         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
57063
57064 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57065
57066         * modules/trim: New file.
57067
57068 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57069
57070         * lib/trim.h: New file.
57071         * lib/trim.c: New file.
57072
57073 2006-09-05  Bruno Haible  <bruno@clisp.org>
57074
57075         * MODULES.html.sh (String handling): Add trim.
57076
57077 2006-09-04  Karl Berry  <karl@gnu.org>
57078
57079         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
57080         until next release.
57081
57082 2006-09-03  Bruno Haible  <bruno@clisp.org>
57083
57084         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
57085         correctly.
57086
57087 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57088
57089         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
57090         not gl_GETLOADAVG.  Omit unneeded semicolons.
57091         Problems reported by Ralf Wildenhues in
57092         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57093         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
57094         at the end, which is the usual gnulib style.
57095
57096         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
57097         of doing all the work ourselves.
57098         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
57099         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
57100
57101 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57102
57103         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
57104         Problem reported by Ralf Wildenhues in
57105         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57106
57107         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
57108         HAVE_STRUCT_STATFS_F_FSTYPENAME.
57109
57110 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57111
57112         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
57113         yesterday's patch by changing test -n to test -z.
57114
57115 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57116
57117         * modules/getloadavg (Files): Add m4/getloadavg.m4.
57118         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
57119         the former is now obsolescent.
57120
57121         * modules/chdir-long (Depends-on): Add fcntl.
57122
57123 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57124
57125         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
57126         obsolescent, and programs should use gnulib instead.
57127         * m4/getloadavg.m4: New file, with contents taken from Autoconf
57128         but with prefixes changed.
57129
57130 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57131
57132         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
57133         or stdbool.h, because they might not exist while configuring.
57134
57135         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
57136         Don't include unistd.h or limits.h; not needed, since chdir-long.h
57137         does that for us.
57138         (O_DIRECTORY): Remove.
57139
57140 2006-08-31  Eric Blake  <ebb9@byu.net>
57141
57142         * gnulib-tool: Don't let emacs change spaces to TAB.
57143
57144 2006-08-31  Bruno Haible  <bruno@clisp.org>
57145
57146         * gnulib-tool: When calling func_import more than once, do it in a
57147         subshell.
57148         Reported by Eric Blake <ebb9@byu.net>.
57149
57150 2006-08-31  Bruno Haible  <bruno@clisp.org>
57151
57152         * gnulib-tool (nl): Remove variable.
57153         (sed_transform_lib_file): Use more robust test for config-h module.
57154         (func_import): Fix typo in 2006-08-25 patch.
57155
57156 2006-08-31  Bruno Haible  <bruno@clisp.org>
57157
57158         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
57159         specified, augment Makefile.am variables instead of assigning them.
57160
57161 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57162
57163         Work around a bug in both the Linux and SunOS 64-bit kernels:
57164         nanosleep mishandles sleeps for longer than 2**31 seconds.
57165         Problem reported by Frank v Waveren in
57166         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57167         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
57168         Check for nanosleep bug.
57169         (LIB_NANOSLEEP): Append clock_gettime library if needed.
57170
57171 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57172
57173         Work around a bug in both the Linux and SunOS 64-bit kernels:
57174         nanosleep mishandles sleeps for longer than 2**31 seconds.
57175         Problem reported by Frank v Waveren in
57176         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57177         * lib/nanosleep.c (BILLION): New constant.
57178         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
57179         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
57180         implementation.
57181
57182 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57183
57184         * modules/nanosleep (Depends-on): Add gettime.
57185
57186 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57187         and Simon Josefsson  <jas@extundo.com>
57188         and Oskar Liljeblad  <oskar@osk.mine.nu>
57189
57190         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
57191         * gnulib-tool (func_import): New license type 'unmodifiable license
57192         text'.
57193         * modules/fdl: Use it.  Longer description.
57194         * module/gpl, module/lgpl: New files.
57195
57196 2006-08-30  Jim Meyering  <jim@meyering.net>
57197
57198         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
57199         shadowing the parameter.
57200
57201 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57202
57203         Sync from Libtool:
57204
57205         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57206
57207         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
57208         sharing with gnulib.  Report by Eric Blake.
57209
57210 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57211
57212         * modules/isapipe: New file.
57213         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
57214
57215 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57216
57217         * modules/configmake (Makefile.am): Add a comment, and omit
57218         the CONFIGMAKE_ prefix from generated macro names.  Suggested
57219         by Bruno Haible.
57220
57221 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57222
57223         * m4/isapipe.m4: New file.
57224
57225 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57226
57227         * lib/isapipe.c, lib/isapipe.h: New files.
57228
57229 2006-08-29  Jim Meyering  <jim@meyering.net>
57230
57231         * modules/configmake (Makefile.am): Make configmake.h depend on
57232         Makefile.  Otherwise, a stale configmake.h could hang around.
57233
57234 2006-08-29  Eric Blake  <ebb9@byu.net>
57235
57236         * lib/error.c (error_at_line, print_errno_message): Match libc, after
57237         resolution of upstream bug 3044.
57238
57239 2006-08-29  Bruno Haible  <bruno@clisp.org>
57240
57241         * modules/localcharset (Depends-on): Add configmake.
57242         (Makefile.am): Remove setting of LIBDIR through DEFS.
57243
57244 2006-08-29  Bruno Haible  <bruno@clisp.org>
57245
57246         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
57247         defined.
57248
57249 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57250
57251         * modules/fcntl: New file.
57252         * modules/chdir-safer (Depends-on): Add fcntl.
57253         * modules/fts: Likewise.
57254         * modules/mkdir-p: Likewise.
57255
57256         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
57257         This undoes the most recent change, since we're now addressing the
57258         problem in a different way.
57259
57260         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
57261         into output, since the output might be called Makefile.am even
57262         if $makefile_name is something different.
57263         (func_import): Use $makefile_am rather than
57264         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
57265         empty.
57266
57267         * modules/inttypes (Files): Add m4/inttypes-h.m4.
57268
57269 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57270
57271         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
57272         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
57273         recent change to stdint.m4, since we're now addressing the problem in a
57274         different way.
57275
57276 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57277
57278         * m4/fcntl_h.m4: New file.
57279
57280 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57281
57282         * lib/fcntl_.h: New file.
57283         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
57284         the fcntl module.
57285         * lib/dirchownmod.c: Likewise.
57286         * lib/fts.c: Likewise.
57287
57288         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
57289         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
57290         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
57291         just before including <inttypes.h>, to avoid circular inclusion.
57292
57293 2006-08-28  Jim Meyering  <jim@meyering.net>
57294
57295         * doc/visibility.texi: Actually read and correct the grammar of the
57296         sentence affected by yesterday's change.
57297
57298 2006-08-28  Eric Blake  <ebb9@byu.net>
57299
57300         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
57301         needs wrapper.
57302
57303 2006-08-28  Eric Blake  <ebb9@byu.net>
57304
57305         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
57306
57307 2006-08-28  Eric Blake  <ebb9@byu.net>
57308
57309         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
57310
57311 2006-08-28  Bruno Haible  <bruno@clisp.org>
57312
57313         * modules/c-strstr: New file, from GNU gettext.
57314         * MODULES.html.sh (String handling): Add c-strstr.
57315
57316 2006-08-28  Bruno Haible  <bruno@clisp.org>
57317
57318         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
57319         macros.
57320         Reported by Eric Blake.
57321
57322 2006-08-28  Bruno Haible  <bruno@clisp.org>
57323
57324         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
57325         (VASNPRINTF): Return a string of length > INT_MAX without failing.
57326         * lib/vasprintf.c: Include errno.h, limits.h.
57327         (EOVERFLOW): New fallback definition.
57328         (vasprintf): Test here whether the string length is > INT_MAX.
57329         * lib/vsnprintf.c: Include errno.h, limits.h.
57330         (EOVERFLOW): New fallback definition.
57331         (vsnprintf): Fix bug when generated string was too long for the buffer.
57332         Test here whether the string length is > INT_MAX.
57333
57334 2006-08-28  Bruno Haible  <bruno@clisp.org>
57335
57336         * lib/inttypes_.h (SCNX*): Remove definitions.
57337         Reported by Eric Blake.
57338
57339 2006-08-28  Bruno Haible  <bruno@clisp.org>
57340
57341         * lib/c-strstr.h: New file, from GNU gettext.
57342         * lib/c-strstr.c: New file, from GNU gettext.
57343
57344 2006-08-28  Bruno Haible  <bruno@clisp.org>
57345
57346         * gnulib-tool: Reorder some statements.
57347
57348 2006-08-28  Bruno Haible  <bruno@clisp.org>
57349
57350         * gnulib-tool: New option --makefile-name.
57351         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
57352         $makefile_name.
57353         (func_import): Write $makefile_name to the cache file, and read it from
57354         there unless explicitly specified. Use $makefile_name as file name
57355         instead of Makefile.am. Adjust the recommendations accordingly.
57356
57357 2006-08-28  Bruno Haible  <bruno@clisp.org>
57358
57359         * gnulib-tool (func_verify_module): Check against misapplying patch.
57360
57361 2006-08-28  Bruno Haible  <bruno@clisp.org>
57362
57363         * gnulib-tool (func_relativize, func_relconcat): New functions.
57364         Give an error if --local-dir is given with --update.
57365         Remove trailing slashes from $local_gnulib_dir.
57366         (func_import): Store the relativized $local_gnulib_dir in
57367         gnulib-cache.m4, and read it from there if not specified explicitly.
57368
57369 2006-08-28  Bruno Haible  <bruno@clisp.org>
57370
57371         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
57372         is the current directory. Respect also $local_gnulib_dir.
57373
57374 2006-08-28  Bruno Haible  <bruno@clisp.org>
57375             Simon Josefsson  <jas@extundo.com>
57376
57377         BeOS portability.
57378         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
57379
57380 2006-08-27  Jim Meyering  <jim@meyering.net>
57381
57382         * doc/visibility.texi: Remove duplicate word: "pointer".
57383
57384 2006-08-26  Bruno Haible  <bruno@clisp.org>
57385
57386         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
57387         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
57388         (Makefile.am): Create inttypes.h from inttypes_.h.
57389         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
57390
57391         * modules/imaxabs: New file.
57392
57393         * modules/imaxdiv: New file.
57394
57395 2006-08-26  Bruno Haible  <bruno@clisp.org>
57396
57397         * m4/inttypes.m4: New file.
57398         * m4/_inttypes_h.m4: Remove file.
57399         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
57400         PRI_MACROS_BROKEN.
57401         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
57402
57403         * m4/imaxabs.m4: New file.
57404
57405         * m4/imaxdiv.m4: New file.
57406
57407 2006-08-26  Bruno Haible  <bruno@clisp.org>
57408
57409         * lib/inttypes_.h: New file.
57410         * lib/inttypes.h: Remove file.
57411         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
57412
57413         * lib/imaxabs.c: New file.
57414
57415         * lib/imaxdiv.c: New file.
57416
57417 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57418
57419         New config-h module, so that "make" output needn't be cluttered
57420         by -DHAVE_CONFIG_H.
57421         * MODULES.html.sh (Support for building libraries and executables):
57422         Add config-h.
57423         * modules/config-h: New file.
57424         * gnulib-tool (nl, sed_transform_lib_file): New vars.
57425         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
57426         the config-h module is used.
57427
57428         New configmake module, so that "make" output needn't be cluttered
57429         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
57430         * MODULES.html.sh (Support for building libraries and executables):
57431         Add configmake.
57432         * modules/configmake: New file.
57433
57434 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57435
57436         * m4/config-h.m4: New file.
57437
57438 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57439
57440         * config/srclist.txt: Add elisp-comp.
57441
57442 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57443
57444         * MODULES.html.sh (Support for building libraries and executables):
57445         Add elisp-comp.
57446         * build-aux/elisp-comp: New file.
57447         * modules/elisp-comp: New file.
57448
57449 2006-08-24  Bruno Haible  <bruno@clisp.org>
57450
57451         * gnulib-tool (func_create_testdir): Use non-default values of
57452         sourcebase and m4base.
57453
57454 2006-08-24  Bruno Haible  <bruno@clisp.org>
57455
57456         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
57457         HTML structure.
57458
57459 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57460
57461         * modules/openat (Depends-on): Add lchown.
57462
57463 2006-08-23  Bruno Haible  <bruno@clisp.org>
57464
57465         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
57466         of gl_LOCK_EARLY instead of gl_LOCK.
57467
57468 2006-08-23  Bruno Haible  <bruno@clisp.org>
57469
57470         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
57471         on OSF/1 to no.
57472         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
57473
57474 2006-08-23  Bruno Haible  <bruno@clisp.org>
57475
57476         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
57477         as unusable.
57478
57479         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
57480         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
57481         (gl_LOCK): New macro.
57482
57483 2006-08-22  Simon Josefsson  <jas@extundo.com>
57484
57485         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
57486         to md5 module.
57487
57488 2006-08-22  Simon Josefsson  <jas@extundo.com>
57489
57490         * MODULES.html.sh: Add "Support for maintaining and release
57491         projects".
57492
57493         * build-aux/gnupload: New file, from coreutils.
57494
57495 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57496
57497         Avoid the need for AC_LIBSOURCES in m4 macros.
57498         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
57499         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
57500         * modules/check-version (EXTRA_DIST): Add check-version.h.
57501         * modules/crc (EXTRA_DIST): Add crc.h.
57502         * modules/des (EXTRA_DIST): Add des.h.
57503         * modules/gc (EXTRA_DIST): Add gc.h.
57504         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
57505         * modules/getline (EXTRA_DIST): Add getline.h.
57506         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
57507         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
57508         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
57509         * modules/md2 (EXTRA_DIST): Add md2.h.
57510         * modules/md4 (EXTRA_DIST): Add md4.h.
57511         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
57512         * modules/read-file (EXTRA_DIST): Add read-file.h.
57513         * modules/readline (EXTRA_DIST): Add readline.h.
57514         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
57515         rijndael-api-fst.h.
57516
57517 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57518
57519         * m4/rijndael.m4 (gl_ARCFOUR):
57520         * m4/arctwo.m4 (gl_ARCTWO):
57521         * m4/check-version.m4 (gl_CHECK_VERSION):
57522         * m4/crc.m4 (gl_CRC):
57523         * m4/des.m4 (gl_DES):
57524         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
57525         * m4/gc.m4 (gl_GC):
57526         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
57527         * m4/getline.m4 (gl_FUNC_GETLINE):
57528         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
57529         * m4/hmac-md5.m4 (gl_HMAC_MD5):
57530         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
57531         * m4/md2.m4 (gl_MD2):
57532         * m4/md4.m4 (gl_MD4):
57533         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
57534         * m4/read-file.m4 (gl_FUNC_READ_FILE):
57535         * m4/readline.m4 (gl_FUNC_READLINE):
57536         * m4/rijndael.m4 (gl_RIJNDAEL):
57537         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57538         to get the necessary .h files and whatnot.
57539
57540 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57541
57542         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
57543         gnulib rather than the other way around.
57544         * config/srclistvars.sh (COREUTILS): Remove.
57545
57546 2006-08-22  Jim Meyering  <jim@meyering.net>
57547
57548         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
57549
57550         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
57551
57552 2006-08-22  Eric Blake  <ebb9@byu.net>
57553
57554         * modules/regexprops-generic: New file.
57555         * MODULES.html.sh (Support for building documentation): List it.
57556
57557 2006-08-22  Eric Blake  <ebb9@byu.net>
57558
57559         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
57560         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
57561         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
57562         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
57563
57564 2006-08-22  Bruno Haible  <bruno@clisp.org>
57565
57566         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
57567         and lib_LTLIBRARIES like the other lib_* variables.
57568
57569 2006-08-22  Bruno Haible  <bruno@clisp.org>
57570
57571         * build-aux/x-to-1.in: New file, from GNU gettext.
57572
57573 2006-08-22  Bruno Haible  <bruno@clisp.org>
57574
57575         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
57576         <utmpx.h> exists.
57577
57578 2006-08-22  Bruno Haible  <bruno@clisp.org>
57579
57580         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
57581         <utmpx.h> exists.
57582
57583 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57584
57585         BeOS portability.
57586         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
57587         exist.
57588         Problem reported by Bruno Haible.
57589
57590 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57591
57592         Avoid the need for AC_LIBSOURCES in m4 macros.
57593         * modules/acl (EXTRA_DIST): Add acl.h.
57594         * modules/argmatch (Files): Add m4/argmatch.m4.
57595         (configure.ac): Add gl_ARGMATCH.
57596         (EXTRA_DIST): Renamed from lib_SOURCES, for
57597         consistency with the other modules.  Remove argmatch.c.
57598         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
57599         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
57600         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
57601         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
57602         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
57603         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
57604         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
57605         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
57606         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
57607         * modules/closeout (EXTRA_DIST): Add closeout.h.
57608         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
57609         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
57610         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
57611         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
57612         dirname.h; remove basename.c and stripslash.c.
57613         * modules/exclude (EXTRA_DIST): Add exclude.h.
57614         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
57615         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
57616         * modules/file-type (EXTRA_DIST): Add file-type.h.
57617         * modules/filemode (EXTRA_DIST): Add filemode.h.
57618         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
57619         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57620         * modules/fpending (EXTRA_DIST): Add __fpending.h.
57621         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
57622         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
57623         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
57624         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
57625         * modules/getdate (EXTRA_DIST): Add getdate.c.
57626         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
57627         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
57628         * modules/getpass (EXTRA_DIST): Add getpass.h.
57629         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
57630         * modules/group-member (EXTRA_DIST): Add group-member.h.
57631         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
57632         * modules/hash (EXTRA_DIST): Add hash.h.
57633         * modules/human (EXTRA_DIST): Add human.h.
57634         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
57635         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
57636         * modules/lchown (EXTRA_DIST): Add lchown.h.
57637         * modules/long-options (EXTRA_DIST): Add long-options.h.
57638         * modules/lstat (EXTRA_DIST): Add lstat.h.
57639         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
57640         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
57641         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
57642         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
57643         * modules/memxor (EXTRA_DIST): Add memxor.h.
57644         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
57645         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
57646         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
57647         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
57648         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
57649         * modules/physmem (EXTRA_DIST): Add physmem.h.
57650         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
57651         * modules/posixver (EXTRA_DIST): Add posixver.h.
57652         * modules/quote (EXTRA_DIST): Add quote.h.
57653         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
57654         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
57655         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
57656         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
57657         regex_internal.h regexec.c.
57658         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
57659         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
57660         * modules/same (EXTRA_DIST): Add same.h.
57661         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
57662         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
57663         * modules/savedir (EXTRA_DIST): Add savedir.h.
57664         * modules/sha1 (EXTRA_DIST): Add sha1.h.
57665         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
57666         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
57667         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
57668         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
57669         * modules/strdup (EXTRA_DIST): Add strdup.h.
57670         * modules/strftime (EXTRA_DIST): Add strftime.h.
57671         * modules/strndup (EXTRA_DIST): Add strndup.h.
57672         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
57673         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
57674         * modules/time_r (EXTRA_DIST): Add time_r.h.
57675         * modules/timespec (EXTRA_DIST): Add timespec.h.
57676         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57677         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
57678         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
57679         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
57680         * modules/userspec (EXTRA_DIST): Add userspec.h.
57681         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
57682         * modules/utimens (EXTRA_DIST): Add utimens.h.
57683         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
57684         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
57685         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
57686         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
57687         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
57688         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
57689         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
57690         * modules/yesno (EXTRA_DIST): Add yesno.h.
57691
57692 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57693
57694         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57695
57696         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57697         * m4/dev-ino.m4, same-inode.m4: Remove.
57698
57699         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57700         * m4/acl.m4 (AC_FUNC_ACL):
57701         * m4/backupfile.m4 (gl_BACKUPFILE):
57702         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57703         * m4/canon-host.m4 (gl_CANON_HOST):
57704         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57705         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57706         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57707         * m4/cloexec.m4 (gl_CLOEXEC):
57708         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57709         * m4/closeout.m4 (gl_CLOSEOUT):
57710         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57711         * m4/dirname.m4 (gl_DIRNAME):
57712         * m4/exclude.m4 (gl_EXCLUDE):
57713         * m4/exitfail.m4 (gl_EXITFAIL):
57714         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57715         * m4/file-type.m4 (gl_FILE_TYPE):
57716         * m4/filemode.m4 (gl_FILEMODE):
57717         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57718         * m4/fpending.m4 (gl_FUNC_FPENDING):
57719         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57720         * m4/fts.m4 (gl_FUNC_FTS):
57721         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57722         * m4/getdate.m4 (gl_GETDATE):
57723         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57724         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57725         * m4/getpass.m4 (gl_FUNC_GETPASS):
57726         * m4/gettime.m4 (gl_GETTIME):
57727         * m4/getugroups.m4 (gl_GETUGROUPS):
57728         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57729         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57730         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57731         * m4/hash.m4 (gl_HASH):
57732         * m4/idcache.m4 (gl_IDCACHE):
57733         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57734         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57735         * m4/long-options.m4 (gl_LONG_OPTIONS):
57736         * m4/lstat.m4 (gl_FUNC_LSTAT):
57737         * m4/md5.m4 (gl_MD5):
57738         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57739         * m4/memcoll.m4 (gl_MEMCOLL):
57740         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57741         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57742         * m4/memxor.m4 (gl_MEMXOR):
57743         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57744         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57745         * m4/modechange.m4 (gl_MODECHANGE):
57746         * m4/mountlist.m4 (gl_MOUNTLIST):
57747         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57748         * m4/openat.m4 (gl_FUNC_OPENAT):
57749         * m4/pathmax.m4 (gl_PATHMAX):
57750         * m4/physmem.m4 (gl_PHYSMEM):
57751         * m4/posixtm.m4 (gl_POSIXTM):
57752         * m4/posixver.m4 (gl_POSIXVER):
57753         * m4/quote.m4 (gl_QUOTE):
57754         * m4/quotearg.m4 (gl_QUOTEARG):
57755         * m4/readtokens.m4 (gl_READTOKENS):
57756         * m4/readutmp.m4 (gl_READUTMP):
57757         * m4/regex.m4 (gl_REGEX):
57758         * m4/safe-read.m4 (gl_SAFE_READ):
57759         * m4/safe-write.m4 (gl_SAFE_WRITE):
57760         * m4/same.m4 (gl_SAME):
57761         * m4/save-cwd.m4 (gl_SAVE_CWD):
57762         * m4/savedir.m4 (gl_SAVEDIR):
57763         * m4/settime.m4 (gl_SETTIME):
57764         * m4/sha1.m4 (gl_SHA1):
57765         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57766         * m4/stat-macros.m4 (gl_STAT_MACROS):
57767         * m4/stat-time.m4 (gl_STAT_TIME):
57768         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57769         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57770         * m4/strdup.m4 (gl_FUNC_STRDUP):
57771         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57772         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57773         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57774         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57775         * m4/time_r.m4 (gl_TIME_R):
57776         * m4/timespec.m4 (gl_TIMESPEC):
57777         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57778         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57779         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57780         * m4/userspec.m4 (gl_USERSPEC):
57781         * m4/utimecmp.m4 (gl_UTIMECMP):
57782         * m4/utimens.m4 (gl_UTIMENS):
57783         * m4/xalloc.m4 (gl_XALLOC):
57784         * m4/xgetcwd.m4 (gl_XGETCWD):
57785         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57786         * m4/xreadlink.m4 (gl_XREADLINK):
57787         * m4/xstrtod.m4 (gl_XSTRTOD):
57788         * m4/yesno.m4 (gl_YESNO):
57789         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57790         to get the necessary .h files and whatnot.
57791
57792 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57793             Bruno Haible  <bruno@clisp.org>
57794
57795         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57796         /bin/sh understanding of '!' conditional negation.
57797
57798 2006-08-21  Jim Meyering  <jim@meyering.net>
57799
57800         * modules/openat (Depends-on): Really alphabetize.
57801
57802         * modules/acl (Depends-on): Add error and quote.
57803
57804         * check-module (find_included_lib_files): Add at-func.c to the
57805         ok-to-include-more-than-once white list.
57806
57807         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57808
57809 2006-08-21  Bruno Haible  <bruno@clisp.org>
57810
57811         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57812         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57813         Reported by Martin Lambers <marlam@marlam.de>.
57814
57815 2006-08-21  Bruno Haible  <bruno@clisp.org>
57816
57817         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57818         specify an installation location, don't emit a noinst_LIBRARIES or
57819         noinst_LTLIBRARIES assignment.
57820
57821 2006-08-21  Bruno Haible  <bruno@clisp.org>
57822
57823         BeOS portability.
57824         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57825         BeOS has mbrtowc() but no <wctype.h>.
57826
57827 2006-08-21  Bruno Haible  <bruno@clisp.org>
57828
57829         BeOS portability.
57830         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57831         exist.
57832
57833 2006-08-21  Bruno Haible  <bruno@clisp.org>
57834
57835         BeOS portability.
57836         * lib/mbchar.h: Include <wctype.h> only if it exists.
57837
57838 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57839
57840         Remove files that are no longer needed by their respective modules.
57841         * m4/obstack.m4: Remove.
57842         * m4/strerror_r.m4: Remove.
57843         * m4/uint32_t.m4: Remove.
57844         * m4/uintptr_t.m4: Remove.
57845         * m4/ullong_max.m4: Remove.
57846         * m4/xstrtoimax.m4: Remove.
57847         * m4/xstrtoumax.m4: Remove.
57848
57849         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57850         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57851         dependencies now capture this.
57852
57853         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57854         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57855         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57856         * m4/human.m4 (gl_HUMAN): Likewise.
57857         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57858         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57859
57860         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57861
57862         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57863         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57864         stdint.
57865         * m4/human.m4 (gl_HUMAN): Likewise.
57866         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57867         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57868         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57869         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57870         * m4/xstrtol (gl_XSTRTOL): Likewise.
57871
57872         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57873         AC_TYPE_LONG_LONG_INT.
57874         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57875         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57876         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57877         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57878
57879         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57880         on stdbool.
57881
57882         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57883         (gl_PREREQ_XSTRTOUL): Remove.
57884
57885         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57886
57887         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57888         mode.
57889
57890 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57891
57892         Add and change modules to make it easier for coreutils to use
57893         gnulib-tool.
57894         * modules/backupfile (Files): Remove m4/d-ino.m4.
57895         (Depends-on): Add d-ino.
57896         * modules/cycle-check (Depends-on): Add stdint.
57897         (lib_SOURCES): Add cycle-check.h.
57898         * modules/d-ino: New module.
57899         * modules/d-type: New module.
57900         * modules/error (Files): Remove m4/strerror_r.m4.
57901         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57902         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57903         m4/inttypes_h.m4, m4/uintmax_t.m4.
57904         (Depends-on): Add stdint.
57905         (lib_SOURCES): Add fsusage.h.
57906         * modules/getcwd (Files): Remove d-ino.m4.
57907         (Depends-on): Add d-ino.
57908         * modules/getndelim2 (Depends-on): Add stdint.
57909         * modules/glob (Files): Remove m4/d-type.m4.
57910         (Depends-on): Add d-type.
57911         * modules/host-os: New module.
57912         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57913         m4/inttypes_h.m4, m4/uintmax_t.m4.
57914         * Depends-on: Add stdint.
57915         (lib_SOURCES): Add human.h.
57916         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57917         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57918         m4/uintmax_t.m4, m4/ulonglong.m4.
57919         (Depends-on): Add stdint.
57920         (EXTRA_DIST): Add inttostr.h.
57921         * modules/lchmod: New module.
57922         * modules/link-follow: New module.
57923         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57924         (Depends-on): Add lchmod.
57925         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
57926         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
57927         (Depends-on): Add stdint.
57928         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
57929         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
57930         (Depends-on): Add stdint.
57931         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
57932         * modules/perl: New module.
57933         * modules/regex (Depends-on): Add stdint.
57934         * modules/rmdir-errno: New module.
57935         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57936         m4/intmax_t.m4.
57937         (Depends-on): Add stdint.
57938         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57939         m4/uintmax_t.m4.
57940         (Depends-on): Add stdint.
57941         * modules/unlink-busy: New module.
57942         * modules/utimecmp (Depends-on): Add stdint.
57943         * modules/uptime: New module.
57944         * modules/winsz-ioctl: New module.
57945         * modules/winsz-termios: New module.
57946         * modules/xnanosleep (Depends-on): Add nanosleep.
57947         * modules/ullong_max: Remove.
57948         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
57949         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
57950         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
57951         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
57952         (Depends-on): Add inttypes.
57953         (lib_SOURCES): Add xstrtol.h.
57954         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
57955         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
57956         * MODULES.html.sh: Move 'assert' into the assert section.
57957         Move 'dummy' into the linking section.
57958         Remove ullong_max.
57959         Add section for compatibility checks for POSIX:2001 functions,
57960         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
57961         winsz-ioctl, and winsz-termios into it.
57962         Add lchmod.
57963         Add top-level Misc section and put host-os, perl, and uptime
57964         into it.
57965
57966 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57967
57968         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
57969         now assume the stdint module.  Do not include inttypes.h.
57970         * lib/fsusage.h: Likewise.
57971         * lib/getndelim2.c: Likewise.
57972         * lib/human.h: Likewise.
57973         * lib/inttostr.h: Likewise.
57974         * lib/obstack.c: Likewise.
57975         * lib/regex_internal.h: Likewise.
57976         * lib/tempname.c: Likewise.
57977         * lib/utimecmp.c: Likewise.
57978         * lib/xstrtol.h: Likewise.
57979
57980         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
57981
57982         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
57983         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
57984         * lib/xtime.h: Likewise.
57985
57986 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57987
57988         * modules/openat (Files): Add lib/fchmodat.c.
57989         Fixes problem reported by Jay Youngman.
57990
57991 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57992
57993         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
57994         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
57995
57996 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
57997             Bruno Haible  <bruno@clisp.org>
57998
57999         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
58000         and is a script that invokes bison. Tighten the code. Add comments.
58001
58002 2006-08-18  Jim Meyering  <jim@meyering.net>
58003
58004         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
58005         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
58006         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
58007         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
58008
58009 2006-08-18  Bruno Haible  <bruno@clisp.org>
58010
58011         * modules/bison-i18n: New file.
58012         * MODULES.html.sh (Internationalization functions): Add it.
58013
58014 2006-08-18  Bruno Haible  <bruno@clisp.org>
58015
58016         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
58017         sys/statvfs.h. When getmntinfo was found, check its declaration and
58018         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
58019
58020 2006-08-18  Bruno Haible  <bruno@clisp.org>
58021
58022         * m4/bison-i18n.m4: New file, from bison.
58023
58024 2006-08-18  Bruno Haible  <bruno@clisp.org>
58025
58026         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
58027         (ME_DUMMY): Treat "kernfs" as a dummy.
58028         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
58029
58030 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58031
58032         Update from coreutils.
58033
58034         2006-08-15  Jim Meyering  <jim@meyering.net>
58035
58036         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
58037
58038         2006-01-17  Jim Meyering  <jim@meyering.net>
58039
58040         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
58041
58042         2006-01-11  Jim Meyering  <jim@meyering.net>
58043
58044         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
58045         Check for the lchmod function.
58046
58047 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58048
58049         Update from coreutils.
58050
58051         * lib/__fpending.h: Add copyright notice.
58052         * lib/fprintftime.h: Likewise.
58053         * lib/savedir.c: Use (C) in copyright notice.
58054         * lib/savedir.h: Likewise.
58055
58056         2006-08-15  Jim Meyering  <jim@meyering.net>
58057
58058         * lib/at-func.c: New file, with the logic of all emulated at-functions.
58059         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
58060         in support of the EXPECTED_ERRNO macro.
58061         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
58062         definitions.  Instead, define the appropriate symbols and include
58063         "at-func.c".
58064         * lib/mkdirat.c (mkdirat): Likewise.
58065         * lib/fchmodat.c (fchmodat): Likewise.
58066         (ENOSYS): Remove definition.
58067         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
58068         it.  Don't include "unistd--.h" -- it wasn't ever used.
58069
58070         2006-01-17  Jim Meyering  <jim@meyering.net>
58071
58072         Rewrite fts.c not to change the current working directory,
58073         by using openat, fstatat, fdopendir, etc..
58074
58075         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
58076         (HAVE_OPENAT_SUPPORT): Define.
58077         [_LIBC] (fchdir): Don't undef or define; no longer used.
58078         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
58079         Now, this `function' always succeeds, and consumes its file descriptor
58080         parameter -- so callers must not close such FDs.  Update callers.
58081         (diropen_fd, opendirat, cwd_advance_fd): New functions.
58082         (diropen): Add parameter, SP.  Adjust all callers.
58083         Implement using diropen_fd, rather than open.
58084         (fts_open): Initialize new member, fts_cwd_fd.
58085         Remove fts_rft-setting code.
58086         (fts_close): Close fts_cwd_fd, if necessary.
58087         (__opendir2): Define in terms of opendir or opendirat,
58088         depending on whether the FST_NOCHDIR flag is set.
58089         (fts_build): Since fts_safe_changedir consumes its FD, and since
58090         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
58091         and close the dup'd file descriptor upon failure.
58092         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
58093         (fts_safe_changedir): Tweak semantics to reflect that this function
58094         now calls cwd_advance_fd and hence consumes its FD argument.
58095         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
58096         [struct FTS] (fts_rft): Remove now-unused member.
58097         [struct FTS] (fts_cycle.state): Improve comment.
58098
58099         * lib/openat.c (openat_needs_fchdir): New function.
58100         * lib/openat.h (openat_needs_fchdir): Declare it.
58101
58102 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
58103
58104         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
58105         Problem and fix reported by Pádraig Brady in
58106         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
58107
58108 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58109
58110         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
58111
58112 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58113
58114         * lib/memcoll.c (memcoll): Optimize for the common case where the
58115         arguments are bytewise equal.
58116
58117 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58118
58119         * doc/regexprops-generic.texi: Add a copyright notice.
58120
58121 2006-08-15  Bruno Haible  <bruno@clisp.org>
58122
58123         * modules/tmpdir (License): Change to LGPL.
58124
58125 2006-08-15  Bruno Haible  <bruno@clisp.org>
58126
58127         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
58128         module.
58129
58130 2006-08-14  Simon Josefsson  <jas@extundo.com>
58131
58132         * config/srclist.txt: Add gnupload.
58133
58134 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58135
58136         Change copyright notice from LGPL 2 to GPL 2, since that's the
58137         standard form used in the gnulib repository.
58138         * tests/test-lock.c: Likewise.
58139         * tests/test-stdint.c: Likewise.
58140         * tests/test-tls.c: Likewise.
58141
58142         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
58143         prelude-manager.  User shorter URLs for GNU projects, without '?'.
58144         Add copyright notice.
58145
58146         * check-module: Add copyright notice.  Output a copyright
58147         notice if "--version" is specified.
58148         * modules/COPYING: New file.
58149         * tests/test-getaddrinfo.c: Add copyright notice.
58150         * tests/test-verify.c: Likewise.
58151
58152 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58153
58154         Change copyright notice from LGPL 2 to GPL 2, since that's the
58155         standard form used in the gnulib repository.
58156         * lib/lock.c: LGPL -> GPL.
58157         * lib/lock.h: Likewise.
58158         * lib/strnlen1.c: Likewise.
58159         * lib/strnlen1.h: Likewise.
58160         * lib/tls.c: Likewise.
58161         * lib/tls.h: Likewise.
58162         * lib/tmpdir.c: Likewise.
58163
58164         * lib/TODO: Remove; this belongs only in coreutils.
58165
58166 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58167
58168         Add copyright notices to long-enough files that lack them, since
58169         otherwise the files aren't clearly free.  Use the same notice that
58170         getdate.texi already uses.
58171         * doc/alloca-opt.texi: Add copyright notice.
58172         * doc/alloca.texi: Likewise.
58173         * doc/ctime.texi: Likewise.
58174         * doc/functions.texi: Likewise.
58175         * doc/gcd.texi: Likewise.
58176         * doc/gnulib-tool.texi: Likewise.
58177         * doc/inet_ntoa.texi: Likewise.
58178         * doc/visibility.texi: Likewise.
58179
58180         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
58181         * doc/quote.texi: Add copyright notice.
58182
58183         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
58184         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
58185         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
58186         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
58187         is now obsolete, and give a pointer to the Sun list.
58188         Add copyright notice.
58189
58190 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58191
58192         * config/srclistvars.sh: Add copyright notice.
58193
58194 2006-08-14  Eric Blake  <ebb9@byu.net>
58195
58196         Import the following change from libc:
58197
58198         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
58199
58200         Upstream bug 2997.
58201         * lib/misc/error.c: Add space between program name and message if file
58202         name is missing.
58203
58204 2006-08-12  Karl Berry  <karl@gnu.org>
58205
58206         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
58207         remove, these originate in gnulib now.
58208
58209 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58210
58211         * doc/Makefile (standards.info standards.html standards.dvi):
58212         Also depend on make-stds.texi.
58213
58214 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58215
58216         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
58217         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
58218
58219         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
58220         in wchar_t.  Problem reported by Eric Blake.
58221
58222         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
58223         LEN is smaller than SIZE.  Suggested by Bruno Haible.
58224         Also, help the compiler to keep LEN in a register.
58225
58226 2006-08-11  Eric Blake  <ebb9@byu.net>
58227
58228         * users.txt: Sort.  Add tar.
58229
58230 2006-08-11  Bruno Haible  <bruno@clisp.org>
58231
58232         * users.txt: New file.
58233
58234 2006-08-11  Bruno Haible  <bruno@clisp.org>
58235
58236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
58237         before <wchar.h>. Needed for OSF/1 and BSD/OS.
58238
58239 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58240
58241         * modules/snprintf (Depends-on): Remove minmax.
58242         (Maintainer): Add self and Bruno.
58243
58244 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58245
58246         * lib/.cppi-disable: Add snprintf.h, socket_.h.
58247         * lib/snprintf.c: Include <errno.h> and <limits.h>.
58248         (EOVERFLOW): Define if the system does not.
58249         Do not include "minmax.h"; it wasn't used.
58250         (snprintf): Don't assume size_t promotes to an unsigned type.
58251         Fix bug when generated string was too long for the buffer: the
58252         buffer's contents are supposed to be the initial prefix of the
58253         output.  Don't assume vasnprintf returns EOVERFLOW if the size
58254         exceeds INT_MAX; do the check ourselves.
58255
58256         Import the following changes from libc:
58257
58258         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
58259
58260         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
58261         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
58262         set wc to the byte which couldn't be converted.
58263         (re_string_reconstruct): Don't clear valid_raw_len before calling
58264         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
58265         tip_context using re_string_context_at.
58266
58267         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
58268
58269         * lib/posix/regex.h: g++ still cannot handled [restrict].
58270
58271         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
58272
58273         * lib/posix/regex.h: Remove special handling for VMS.
58274
58275 2006-08-10  Jim Meyering  <jim@meyering.net>
58276
58277         * modules/same-inode: New module.
58278         * modules/dev-ino: New module.
58279         * modules/cycle-check: Depend on these modules, rather than simply
58280         including their .h files.
58281         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
58282         required via m4/cycle-check.m4.
58283         * modules/same: Depend on new same-inode module, rather than
58284         including same-inode.h.
58285         * modules/chdir-safer: New file.
58286
58287         * modules/chown (Depends-on): Add stat-macros.
58288
58289 2006-08-10  Jim Meyering  <jim@meyering.net>
58290
58291         * m4/cycle-check.m4: New file.
58292         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
58293         * m4/dev-ino.m4, m4/same-inode.m4: New files.
58294
58295 2006-08-10  Eric Blake  <ebb9@byu.net>
58296
58297         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
58298         in from original proposal.
58299
58300 2006-08-10  Eric Blake  <ebb9@byu.net>
58301         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58302
58303         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
58304         namespace.
58305
58306 2006-08-10  Bruno Haible  <bruno@clisp.org>
58307
58308         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
58309         as well.
58310
58311 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58312
58313         Sync from coreutils.
58314
58315         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
58316
58317         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
58318         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
58319
58320 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58321
58322         * modules/restrict: Remove; no longer needed now that we assume
58323         Autoconf 2.59 or later.
58324         * MODULES.html.sh: Remove 'restrict'.
58325         * modules/argp (Depends-on): Remove 'restrict'.
58326         * modules/base64 (Depends-on): Likewise.
58327         * modules/gc (Depends-on): Likewise.
58328         * modules/getaddrinfo (Depends-on): Likewise.
58329         * modules/glob (Depends-on): Likewise.
58330         * modules/inet_ntop (Depends-on): Likewise.
58331         * modules/inet_pton (Depends-on): Likewise.
58332         * modules/memxor (Depends-on): Likewise.
58333         * modules/regex (Depends-on): Likewise.
58334         * modules/strtok_r (Depends-on): Likewise.
58335         * modules/time_r (Depends-on): Likewise.
58336
58337 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58338
58339         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
58340         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
58341         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58342         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
58343         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
58344         * m4/memxor.m4 (gl_MEMXOR): Likewise.
58345         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
58346         gl_C_RESTRICT replaced by AC_C_RESTRICT.
58347
58348         Merge from coreutils.
58349         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
58350         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
58351         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58352         * m4/time_r.m4 (gl_TIME_R): Likewise.
58353
58354 2006-08-09  Karl Berry  <karl@gnu.org>
58355
58356         * config/srclist.txt: no more gettext-tools, per Bruno.
58357
58358 2006-08-08  Eric Blake  <ebb9@byu.net>
58359
58360         * modules/verror: New module.
58361         * MODULES.html.sh: Document it.
58362
58363 2006-08-08  Eric Blake  <ebb9@byu.net>
58364
58365         * lib/verror.h, lib/verror.c: New files.
58366
58367 2006-08-08  Eric Blake  <ebb9@byu.net>
58368
58369         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
58370         verror_at_line output complies with GNU Coding Standards even when
58371         file is NULL.
58372
58373 2006-08-07  Bruno Haible  <bruno@clisp.org>
58374
58375         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
58376         versions of AIX.
58377         Reported by Ralf Wildenhues.
58378
58379 2006-08-07  Bruno Haible  <bruno@clisp.org>
58380
58381         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
58382         in an AC_DEFUN. Needed so that the autoconf snippets can use
58383         AC_REQUIRE.
58384
58385 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58386
58387         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58388         Initialize pkgdata_DATA.
58389         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
58390         overriding it.
58391
58392 2006-08-06  Eric Blake  <ebb9@byu.net>
58393
58394         * lib/error.h: Fold in some upstream changes from glibc.
58395         * lib/error.c: Likewise.
58396
58397 2006-08-04  Bruno Haible  <bruno@clisp.org>
58398
58399         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58400         Make the mostlyclean-local rule depend on mostlyclean-generic.
58401         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
58402
58403 2006-07-31  Bruno Haible  <bruno@clisp.org>
58404
58405         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
58406         <stdlib.h>, <string.h>.
58407
58408 2006-07-30  Bruno Haible  <bruno@clisp.org>
58409
58410         * modules/readlink (License): Change to LGPL.
58411
58412 2006-07-30  Bruno Haible  <bruno@clisp.org>
58413
58414         * modules/javaversion (Makefile.am): Distribute javaversion.java and
58415         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
58416         set PKGDATADIR to point to it.
58417
58418 2006-07-30  Bruno Haible  <bruno@clisp.org>
58419
58420         * modules/csharpexec (configure.ac): Comment out macro invocation.
58421         * modules/javaexec (configure.ac): Likewise.
58422         * modules/javacomp-script (configure.ac): Likewise.
58423
58424         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
58425
58426 2006-07-30  Bruno Haible  <bruno@clisp.org>
58427
58428         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
58429         linked-list.
58430
58431 2006-07-30  Bruno Haible  <bruno@clisp.org>
58432
58433         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
58434
58435 2006-07-30  Bruno Haible  <bruno@clisp.org>
58436
58437         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58438         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
58439         get removed.
58440
58441 2006-07-29  Bruno Haible  <bruno@clisp.org>
58442
58443         Make it possible for gnulib-tool to work with locally modified or
58444         augmented gnulib repositories.
58445         * gnulib-tool (func_usage): Document --local-dir option.
58446         (local_gnulib_dir): New variable.
58447         Handle --local-dir option.
58448         (func_lookup_file): New function.
58449         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
58450         (func_get_description, func_get_filelist, func_get_description,
58451         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
58452         func_get_automake_snippet, func_get_include_directive,
58453         func_get_license, func_get_maintainer): Use func_lookup_file.
58454         (func_import, func_create_testdir): Use func_lookup_file.
58455
58456 2006-07-29  Bruno Haible  <bruno@clisp.org>
58457
58458         * modules/setenv (Depends-on): Add unistd.
58459
58460 2006-07-29  Bruno Haible  <bruno@clisp.org>
58461
58462         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
58463
58464 2006-07-29  Bruno Haible  <bruno@clisp.org>
58465
58466         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
58467
58468 2006-07-29  Bruno Haible  <bruno@clisp.org>
58469
58470         * gnulib-tool (import, update): If there is no Makefile.am, look at
58471         aclocal.m4, instead of bailing out.
58472
58473 2006-07-29  Bruno Haible  <bruno@clisp.org>
58474
58475         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
58476         Categorize the options by when they are useful.
58477
58478 2006-07-29  Bruno Haible  <bruno@clisp.org>
58479
58480         * gnulib-tool (func_usage): Document option --no-libtool.
58481         Handle option --no-libtool.
58482         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
58483         for changed semantics of $libtool variable.
58484         (func_import): Likewise. If libtool is not used, show this through
58485         an option --no-libtool.
58486         (func_create_testdir): Update.
58487
58488 2006-07-29  Bruno Haible  <bruno@clisp.org>
58489
58490         * gnulib-tool (func_import): Extend error message about missing
58491         --doc-base.
58492
58493 2006-07-29  Bruno Haible  <bruno@clisp.org>
58494
58495         * gnulib-tool (func_import): Don't create the $docbase directory if
58496         there is no file to store there.
58497
58498 2006-07-29  Bruno Haible  <bruno@clisp.org>
58499
58500         * gnulib-tool (autoconf_minversion): If a --dir option is given and
58501         relevant, look for configure.ac there, not in the current directory.
58502         Also use a simple search for AC_PREREQ, not "autoconf --trace".
58503
58504 2006-07-29  Bruno Haible  <bruno@clisp.org>
58505
58506         * gnulib-tool (SORT): New variable.
58507         (func_usage): Undocument --assume-autoconf option.
58508         Remove --assume-autoconf option handling.
58509         (autoconf_minversion): Determine from the contents of configure.ac.
58510         (func_import): Remove autoconf_minversion handling.
58511         Suggested by Eric Blake.
58512
58513 2006-07-29  Bruno Haible  <bruno@clisp.org>
58514
58515         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
58516
58517 2006-07-29  Bruno Haible  <bruno@clisp.org>
58518
58519         * config/srclist.txt (*setenv.[ch]): Remove rules.
58520
58521 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58522
58523         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
58524
58525 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58526
58527         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
58528         arpa/inet.h.
58529
58530 2006-07-28  Simon Josefsson  <jas@extundo.com>
58531
58532         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
58533         * modules/inet_pton (Depends-on): Likewise.
58534
58535 2006-07-28  Simon Josefsson  <jas@extundo.com>
58536
58537         * m4/netinet_in_h.m4: New file.
58538
58539 2006-07-28  Simon Josefsson  <jas@extundo.com>
58540
58541         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
58542         #include's.
58543
58544 2006-07-28  Simon Josefsson  <jas@extundo.com>
58545
58546         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
58547         #include's.
58548
58549 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
58550
58551         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
58552         setgid on directories only if they set these bits.
58553         * lib/modechange.h: Remove obsolete comment about masks.
58554
58555 2006-07-28  Eric Blake  <ebb9@byu.net>
58556
58557         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
58558         macro expansion.
58559
58560 2006-07-28  Bruno Haible  <bruno@clisp.org>
58561
58562         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
58563
58564 2006-07-28  Bruno Haible  <bruno@clisp.org>
58565
58566         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
58567
58568 2006-07-28  Bruno Haible  <bruno@clisp.org>
58569
58570         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58571         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58572         Define fallbacks.
58573         Avoids link error on FreeBSD 4.x.
58574         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58575
58576         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
58577         encoding.
58578         * lib/mbswidth.c (iswcntrl): Likewise.
58579
58580 2006-07-27  Bruno Haible  <bruno@clisp.org>
58581
58582         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
58583         test.
58584
58585 2006-07-27  Bruno Haible  <bruno@clisp.org>
58586
58587         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
58588         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
58589         defined.
58590
58591 2006-07-26  Eric Blake  <ebb9@byu.net>
58592
58593         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
58594
58595 2006-07-26  Eric Blake  <ebb9@byu.net>
58596
58597         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
58598         like mingw that lack mkstemp.
58599         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
58600         avoid compilation warning on mingw.
58601
58602 2006-07-26  Bruno Haible  <bruno@clisp.org>
58603
58604         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
58605         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
58606         INT_FAST*_MIN, INTPTR_MIN.
58607
58608 2006-07-25  Bruno Haible  <bruno@clisp.org>
58609
58610         * modules/version-etc (Depends-on): Add stdarg.
58611
58612 2006-07-25  Bruno Haible  <bruno@clisp.org>
58613
58614         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
58615         complex commands.
58616
58617 2006-07-25  Bruno Haible  <bruno@clisp.org>
58618
58619         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
58620         defined in <stdarg.h> or config.h.
58621
58622 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58623
58624         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
58625         (gl_STDIO_SAFER): Remove.
58626
58627 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58628
58629         * MODULES.html.sh (File stream based Input/Output):
58630         Add fopen-safer, tmpfile-safer; remove stdio-safer.
58631         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
58632         * modules/fopen-safer, modules/tmpfile-safer: New files.
58633         * modules/stdio-safer: Remove.
58634
58635 2006-07-24  Bruno Haible  <bruno@clisp.org>
58636
58637         * modules/tmpdir: New file.
58638         * MODULES.html.sh (File system functions): Add it.
58639
58640 2006-07-24  Bruno Haible  <bruno@clisp.org>
58641
58642         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
58643         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
58644
58645 2006-07-24  Bruno Haible  <bruno@clisp.org>
58646
58647         * modules/clean-temp: New file.
58648
58649 2006-07-24  Bruno Haible  <bruno@clisp.org>
58650
58651         * m4/tmpdir.m4: New file, from GNU gettext.
58652
58653 2006-07-24  Bruno Haible  <bruno@clisp.org>
58654
58655         * lib/tmpdir.h: New file, from GNU gettext.
58656         * lib/tmpdir.c: New file, from GNU gettext.
58657
58658 2006-07-24  Bruno Haible  <bruno@clisp.org>
58659
58660         * lib/clean-temp.h: New file, from GNU gettext.
58661         * lib/clean-temp.c: New file, from GNU gettext.
58662
58663 2006-07-23  Eric Blake  <ebb9@byu.net>
58664
58665         * modules/stdio-safer (Files): Add tmpfile-safer.c.
58666         (Depends-on): Add binary-io.
58667
58668 2006-07-23  Eric Blake  <ebb9@byu.net>
58669
58670         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
58671
58672 2006-07-23  Eric Blake  <ebb9@byu.net>
58673
58674         * lib/tmpfile-safer.c: New file.
58675         * lib/stdio-safer.h (fopen_safer): Add prototype.
58676         * lib/stdio--.h (tmpfile): Make safer.
58677
58678 2006-07-23  Bruno Haible  <bruno@clisp.org>
58679
58680         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
58681         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
58682         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
58683         gl_linked_remove_at): Use it.
58684
58685 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58686         and Simon Josefsson <jas@extundo.com>
58687
58688         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
58689
58690         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58691
58692 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58693
58694         * modules/close-stream: New file.
58695         * modules/closeout (Description): Make it clear that it exits
58696         with a diagnostic on error.
58697         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58698         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58699
58700 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58701
58702         * m4/close-stream.m4: New file.
58703
58704 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58705
58706         * lib/close-stream.c, lib/close-stream.h: New files.
58707
58708 2006-07-22  Bruno Haible  <bruno@clisp.org>
58709
58710         Merge from GNU gettext 0.15.
58711
58712         2006-05-01  Bruno Haible  <bruno@clisp.org>
58713
58714                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58715
58716         2006-07-22  Bruno Haible  <bruno@clisp.org>
58717
58718                 * modules/javaversion: New file.
58719                 * MODULES.html.sh (Java): Add javaversion.
58720
58721         2006-03-12  Bruno Haible  <bruno@clisp.org>
58722
58723                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58724
58725         2005-12-04  Bruno Haible  <bruno@clisp.org>
58726
58727                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58728                 (untested).
58729
58730         2006-06-21  Bruno Haible  <bruno@clisp.org>
58731
58732                 Avoid warnings from recent versions of mcs.
58733                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58734                 -o, -L, -r any more. Use options documented since mcs-1.0
58735                 instead. Similarly for -g.
58736
58737         2005-12-04  Bruno Haible  <bruno@clisp.org>
58738
58739                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58740                 .resources, not .resource.
58741
58742         2005-07-09  Bruno Haible  <bruno@clisp.org>
58743
58744                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58745                 add a .dll suffix.
58746                 Reported by Mark Junker <mjscod@gmx.de>.
58747
58748         2006-07-22  Bruno Haible  <bruno@clisp.org>
58749
58750                 * modules/gettext: Upgrade to gettext-0.15.
58751                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58752                 m4/visibility.m4.
58753                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58754
58755 2006-07-22  Bruno Haible  <bruno@clisp.org>
58756
58757         Merge from GNU gettext 0.15.
58758
58759         2006-03-25  Bruno Haible  <bruno@clisp.org>
58760
58761                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58762
58763         2006-07-21  Bruno Haible  <bruno@clisp.org>
58764
58765                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58766                 "1.1".
58767
58768         2006-05-09  Bruno Haible  <bruno@clisp.org>
58769
58770                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58771                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58772                 for the conftestver execution.
58773
58774         2006-05-01  Bruno Haible  <bruno@clisp.org>
58775
58776                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58777                 optional target-version argument. Verify that the compiler
58778                 groks source of the specified source-version, or add -source
58779                 option as necessary. Verify that the compiler produces
58780                 bytecode in the specified target-version, or add -target and
58781                 -source options as necessary. Make the result of the test
58782                 available as variable CONF_JAVAC. Also log error output in
58783                 config.log.
58784
58785         2006-03-11  Bruno Haible  <bruno@clisp.org>
58786
58787                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58788
58789         2006-05-09  Bruno Haible  <bruno@clisp.org>
58790
58791                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58792                 CLASSPATH_SEPARATOR to a semicolon.
58793
58794         2006-03-12  Bruno Haible  <bruno@clisp.org>
58795
58796                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58797                 available as variable CONF_JAVA, for subsequent autoconf
58798                 tests. Also log error output in config.log.
58799
58800         2006-07-19  Bruno Haible  <bruno@clisp.org>
58801
58802                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58803                 that getline works on glibc2 systems. Needed to avoid trouble
58804                 in relocatable.c.
58805                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58806
58807         2005-12-04  Bruno Haible  <bruno@clisp.org>
58808
58809                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58810                 launcher (untested).
58811
58812         2005-12-04  Bruno Haible  <bruno@clisp.org>
58813
58814                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58815
58816         2006-07-22  Bruno Haible  <bruno@clisp.org>
58817
58818                 * gettext.m4: Update from GNU gettext-0.15.
58819                 * nls.m4: Likewise.
58820                 * po.m4: Likewise.
58821                 * inttypes-pri.m4: Likewise.
58822                 * inttypes-h.m4: Renamed from inttypes.m4.
58823                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58824
58825 2006-07-22  Bruno Haible  <bruno@clisp.org>
58826
58827         Merge from GNU gettext 0.15.
58828
58829         2005-07-05  Bruno Haible  <bruno@clisp.org>
58830
58831                 * printf-args.c (printf_fetchargs): Work around broken
58832                 definition of wint_t on mingw.
58833
58834         2005-02-12  Bruno Haible  <bruno@clisp.org>
58835
58836                 * xallocsa.h: Add extern "C" for C++.
58837
58838         2006-05-17  Bruno Haible  <bruno@clisp.org>
58839
58840                 Cygwin portability.
58841                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58842
58843         2006-04-30  Bruno Haible  <bruno@clisp.org>
58844
58845                 * progreloc.c: Include <mach-o/dyld.h> if available.
58846                 (find_executable): Use _NSGetExecutablePath when possible.
58847
58848         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58849
58850                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58851                 function.
58852
58853         2005-12-29  Bruno Haible  <bruno@clisp.org>
58854
58855                 * progreloc.c (set_program_name_and_installdir): Fix
58856                 compilation error.
58857
58858         2005-12-04  Bruno Haible  <bruno@clisp.org>
58859
58860                 Cygwin portability.
58861                 * progreloc.c: Include <windows.h> also on Cygwin.
58862                 (find_executable): Add support for Cygwin.
58863                 (set_program_name_and_installdir): Handle also platforms with
58864                 nonempty EXEEXT.
58865
58866         2006-07-11  Bruno Haible  <bruno@clisp.org>
58867
58868                 * javacomp.c: Fix a comment.
58869                 Reported by Jim Meyering.
58870
58871         2006-04-30  Bruno Haible  <bruno@clisp.org>
58872
58873                 * javacomp.h (compile_java_class): Add source_version,
58874                 target_version arguments.
58875                 * javacomp.c: Rewritten to choose only a compiler that
58876                 respects the specified source_version and target_version.
58877
58878         2006-06-27  Bruno Haible  <bruno@clisp.org>
58879
58880                 Assume correct S_ISDIR macro.
58881                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58882
58883         2006-07-22  Bruno Haible  <bruno@clisp.org>
58884
58885                 * javaversion.h: New file, from GNU gettext.
58886                 * javaversion.c: New file, from GNU gettext.
58887                 * javaversion.java: New file, from GNU gettext.
58888                 * javaversion.class: New file, from GNU gettext.
58889
58890         2006-05-17  Bruno Haible  <bruno@clisp.org>
58891
58892                 Cygwin portability.
58893                 * javaexec.c (execute_java_class): Test for jview program
58894                 also on Cygwin.
58895
58896         2006-04-09  Bruno Haible  <bruno@clisp.org>
58897
58898                 * fatal-signal.c: Don't include string.h.
58899                 (at_fatal_signal): Use a copying loop instead of memcpy.
58900
58901         2005-12-04  Bruno Haible  <bruno@clisp.org>
58902
58903                 * csharpexec.c: Add support for 'clix' launcher (untested).
58904                 (execute_csharp_using_sscli): New function.
58905                 (execute_csharp_program): Call it.
58906
58907         2006-06-21  Bruno Haible  <bruno@clisp.org>
58908
58909                 Avoid warnings from recent versions of mcs.
58910                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58911                 -o, -L, -r any more. Use options documented since mcs-1.0
58912                 instead. Similarly for -g.
58913
58914         2005-07-09  Bruno Haible  <bruno@clisp.org>
58915
58916                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58917                 add a .dll suffix.
58918                 Reported by Mark Junker <mjscod@gmx.de>.
58919
58920         2006-06-17  Bruno Haible  <bruno@clisp.org>
58921
58922                 * config.charset: Update for NetBSD 3.0.
58923
58924         2006-05-17  Bruno Haible  <bruno@clisp.org>
58925
58926                 Cygwin portability.
58927                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
58928
58929         2006-05-16  Bruno Haible  <bruno@clisp.org>
58930
58931                 * localcharset.c [CYGWIN]: Include <windows.h>.
58932                 (get_charset_aliases): For Cygwin, return the same CPxxx
58933                 aliases list as under WIN32.
58934                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
58935                 the environment variables. Fall back to GetACP().
58936
58937         2006-04-05  Bruno Haible  <bruno@clisp.org>
58938
58939                 * config.charset: Update Juan Manuel Guerrero's address.
58940
58941         2005-02-12  Bruno Haible  <bruno@clisp.org>
58942
58943                 * allocsa.h: Add extern "C" for C++.
58944
58945         2005-02-10  Bruno Haible  <bruno@clisp.org>
58946
58947                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
58948                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
58949
58950         2006-07-22  Bruno Haible  <bruno@clisp.org>
58951
58952                 * gettext.h: Update to GNU gettext-0.15.
58953
58954 2006-07-22  Bruno Haible  <bruno@clisp.org>
58955
58956         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
58957         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
58958         lib-prefix.m4, longdouble.m4, ssize_t.m4.
58959
58960 2006-07-21  Eric Blake  <ebb9@byu.net>
58961
58962         * modules/stdlib-safer: New file.
58963         * MODULES.html.sh (File stream based Input/Output): Add
58964         stdlib-safer.
58965
58966 2006-07-21  Eric Blake  <ebb9@byu.net>
58967
58968         * lib/stdlib-safer.h: New file from coreutils, required by
58969         stdlib--.h.
58970
58971 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58972
58973         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
58974
58975 2006-07-20  Bruno Haible  <bruno@clisp.org>
58976
58977         * gnulib-tool: Recognize new option --assume-autoconf.
58978         (autoconf_minversion): New variable.
58979         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
58980
58981 2006-07-20  Bruno Haible  <bruno@clisp.org>
58982
58983         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
58984
58985 2006-07-19  Derek R. Price  <derek@ximbiot.com>
58986
58987         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
58988         Reindent and repaginate.
58989
58990 2006-07-19  Derek Price  <derek@ximbiot.com>
58991
58992         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
58993         Correct grammar.
58994
58995 2006-07-17  Bruno Haible  <bruno@clisp.org>
58996
58997         * modules/list: New file.
58998         * modules/array-list: New file.
58999         * modules/carray-list, modules/carray-list-tests: New files.
59000         * modules/linked-list, modules/linked-list-tests: New files.
59001         * modules/avltree-list, modules/avltree-list-tests: New files.
59002         * modules/rbtree-list, modules/rbtree-list-tests: New files.
59003         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
59004         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
59005         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
59006         * modules/oset: New file.
59007         * modules/array-oset: New file.
59008         * modules/avltree-oset, modules/avltree-oset-tests: New files.
59009         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
59010         * tests/test-carray_list.c: New file.
59011         * tests/test-linked_list.c: New file.
59012         * tests/test-avltree_list.c: New file.
59013         * tests/test-rbtree_list.c: New file.
59014         * tests/test-linkedhash_list.c: New file.
59015         * tests/test-avltreehash_list.c: New file.
59016         * tests/test-rbtreehash_list.c: New file.
59017         * tests/test-avltree_oset.c: New file.
59018         * tests/test-rbtree_oset.c: New file.
59019         * MODULES.html.sh (Container data structures): New section.
59020
59021 2006-07-17  Bruno Haible  <bruno@clisp.org>
59022
59023         * m4/gl_list.m4: New file.
59024
59025 2006-07-17  Bruno Haible  <bruno@clisp.org>
59026
59027         * lib/gl_list.h: New file.
59028         * lib/gl_list.c: New file.
59029         * lib/gl_array_list.h: New file.
59030         * lib/gl_array_list.c: New file.
59031         * lib/gl_carray_list.h: New file.
59032         * lib/gl_carray_list.c: New file.
59033         * lib/gl_linked_list.h: New file.
59034         * lib/gl_linked_list.c: New file.
59035         * lib/gl_anylinked_list1.h: New file.
59036         * lib/gl_anylinked_list2.h: New file.
59037         * lib/gl_avltree_list.h: New file.
59038         * lib/gl_avltree_list.c: New file.
59039         * lib/gl_anyavltree_list1.h: New file.
59040         * lib/gl_anyavltree_list2.h: New file.
59041         * lib/gl_rbtree_list.h: New file.
59042         * lib/gl_rbtree_list.c: New file.
59043         * lib/gl_anyrbtree_list1.h: New file.
59044         * lib/gl_anyrbtree_list2.h: New file.
59045         * lib/gl_anytree_list1.h: New file.
59046         * lib/gl_anytree_list2.h: New file.
59047         * lib/gl_linkedhash_list.h: New file.
59048         * lib/gl_linkedhash_list.c: New file.
59049         * lib/gl_anyhash_list1.h: New file.
59050         * lib/gl_anyhash_list2.h: New file.
59051         * lib/gl_avltreehash_list.h: New file.
59052         * lib/gl_avltreehash_list.c: New file.
59053         * lib/gl_rbtreehash_list.h: New file.
59054         * lib/gl_rbtreehash_list.c: New file.
59055         * lib/gl_anytreehash_list1.h: New file.
59056         * lib/gl_anytreehash_list2.h: New file.
59057
59058         * lib/gl_oset.h: New file.
59059         * lib/gl_oset.c: New file.
59060         * lib/gl_array_oset.h: New file.
59061         * lib/gl_array_oset.c: New file.
59062         * lib/gl_avltree_oset.h: New file.
59063         * lib/gl_avltree_oset.c: New file.
59064         * lib/gl_rbtree_oset.h: New file.
59065         * lib/gl_rbtree_oset.c: New file.
59066         * lib/gl_anytree_oset.h: New file.
59067
59068 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59069
59070         * m4/mkancesdirs.m4: New file.
59071         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
59072         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
59073         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
59074         it.
59075
59076 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59077
59078         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
59079         * lib/mkancesdirs.h: New files.
59080         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
59081         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
59082         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
59083         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
59084         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
59085         callers changed.  Revamp internals significantly, by not
59086         attempting to create directories that are temporarily more
59087         permissive than the final results.  Do not attempt to use
59088         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
59089         This removes some race conditions, fixes some bugs, and simplifies
59090         things.  Use new dirchownmod function to do owner and mode changes.
59091         * lib/mkdir-p.h: Likewise.
59092         * lib/modechange.c (octal_to_mode): New function.
59093         (struct mode_change): New member mentioned.
59094         (make_node_op_equals): New arg mentioned.  All callers changed.
59095         (mode_compile): Keep track of which mode bits the user has explicitly
59096         mentioned.
59097         (mode_adjust): New arg DIR, so that we implement the X op correctly.
59098         New arg PMODE_BITS, to keep track of which mode bits the user
59099         mentioned; it treats S_ISUID and S_ISGID speciall.
59100         All callers changed.
59101         * lib/modechange.h: Likewise.
59102
59103 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59104
59105         * MODULES.html.sh: Add mkancestors.
59106         * modules/mkancesdirs: New module.
59107         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
59108         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
59109         The chdir-safer and afs files are now orphans; I'll remove them
59110         unless someone speaks up.
59111         Add lib/dirchownmod.c, lib/dirchownmod.h.
59112         (Depends-on): Remove alloca, chown, save-cwd, dirname.
59113         Add lchown, mkancesdirs.
59114         (Maintainer): Add self.
59115
59116 2006-07-15  Karl Berry  <karl@gnu.org>
59117
59118         * gnulib-tool: help message wording/arrangement.
59119
59120 2006-07-14  Simon Josefsson  <jas@extundo.com>
59121
59122         * doc/gnulib.texi (Libtool and Windows): New section.
59123
59124 2006-07-12  Simon Josefsson  <jas@extundo.com>
59125
59126         * modules/gendocs (License): Fix license, approved by Karl.
59127
59128 2006-07-12  Eric Blake  <ebb9@byu.net>
59129
59130         * MODULES.html.sh: Add gendocs.
59131
59132 2006-07-11  Eric Blake  <ebb9@byu.net>
59133
59134         * modules/fdl: New module, to install doc/fdl.texi.
59135         * MODULES.html.sh: Add new section for documentation modules.
59136         * gnulib-tool: Avoid space-tab.
59137         (--doc-base): New option, to manage files from doc.
59138
59139 2006-07-11  Eric Blake  <ebb9@byu.net>
59140
59141         * m4/absolute-header.m4: Fix comments to match recent change.
59142
59143 2006-07-11  Eric Blake  <ebb9@byu.net>
59144
59145         * gnulib-tool: List --doc-base before --tests-base.
59146
59147 2006-07-11  Derek R. Price  <derek@ximbiot.com>
59148
59149         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
59150
59151 2006-07-11  Bruno Haible  <bruno@clisp.org>
59152
59153         * README: Mention where to put documentation.
59154
59155 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59156
59157         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
59158
59159 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59160
59161         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
59162         to stdint.m4.
59163
59164 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59165
59166         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
59167         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
59168         "no/such/file/stdint.h" when there is no such file, so that
59169         the resulting C code can be parsed by dodgy compilers.
59170         Problems reported by Bob Proulx.
59171
59172 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59173
59174         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
59175         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59176         macros into the GNU _D_EXACT_NAMLEN.
59177         * lib/savedir.c:  Likewise.
59178         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
59179
59180 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59181         and Paul Eggert  <eggert@cs.ucla.edu>
59182
59183         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
59184         * m4/savedir.m4:
59185         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59186         macros into the GNU _D_EXACT_NAMLEN.
59187
59188 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59189
59190         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
59191         around the absolute name, to work around a problem with the HP-UX
59192         11.23 native C compiler, reported by Bob Proulx.
59193
59194 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59195
59196         * doc/maintain.texi, make-stds.texi: Sync from
59197         <http://savannah.gnu.org/projects/gnustandards>.
59198
59199 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59200
59201         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
59202
59203 2006-07-09  Jim Meyering  <jim@meyering.net>
59204
59205         * m4/glob.m4: Remove a doubled word in a comment.
59206
59207 2006-07-09  Jim Meyering  <jim@meyering.net>
59208
59209         * lib/argp-pv.c: Remove a doubled word in a comment.
59210         * lib/check-version.c (check_version): Likewise.
59211         * lib/javacomp.c (compile_java_class): Likewise.
59212
59213 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59214
59215         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
59216         for the benefit of people using Autoconf 2.60.  If you want to
59217         support older Autoconf versions you can copy m4/onceonly_2_57.m4
59218         (or m4/onceonly.m4, if pre-2.57) manually.
59219
59220 2006-07-08  Jim Meyering  <jim@meyering.net>
59221
59222         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
59223         comment.
59224         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
59225         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
59226         comment.
59227
59228 2006-07-08  Jim Meyering  <jim@meyering.net>
59229
59230         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
59231
59232 2006-07-07  Simon Josefsson  <jas@extundo.com>
59233
59234         * tests/test-crc.c: Change expected crc value, the test vector
59235         were probably computed using the old broken crc.c?
59236
59237 2006-07-06  Simon Josefsson  <jas@extundo.com>
59238
59239         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
59240         now the canonical place for the M4 file).
59241
59242         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
59243         from the sys_socket dependency now.
59244
59245         * modules/inet_pton (Files): Ditto.
59246
59247         * modules/inet_ntop (Files): Ditto.
59248
59249 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59250
59251         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
59252         not gl_PREREQ_GETUSERSHELL.
59253
59254 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59255
59256         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
59257         with only one argument, for Autoconf 2.60.
59258         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
59259         expand to nothing, so add a shell command to avoid syntax error.
59260         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59261
59262 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59263
59264         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
59265
59266 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59267
59268         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
59269         no longer needed.  Check for isblank decl.
59270         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
59271         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
59272         of existence.
59273
59274 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59275
59276         * lib/getloadavg.c: Use __VMS, not VMS.
59277         * lib/getopt.c: Likewise.
59278         * lib/getpagesize.h: Likewise.
59279         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
59280         and probably does not work.
59281
59282 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59283
59284         * lib/.cppi-disable: Add wcwidth.
59285         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
59286         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
59287         (ISGRAPH): Remove.  All uses changed to isgraph.
59288         (FOLD) [!defined _LIBC]: Remove special case.
59289         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
59290         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
59291         HAVE_ISBLANK.
59292         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
59293         case.
59294
59295 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59296
59297         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
59298         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
59299         brackets.  Other minor changes to suppress some compiler
59300         warnings.
59301
59302 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59303         and Paul Eggert  <eggert@cs.ucla.edu>
59304
59305         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
59306         of invoking obsolescent AC_HEADER_DIRENT macro.
59307         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
59308         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
59309         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
59310         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
59311         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
59312         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59313         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
59314         * m4/readdir.m4: Remove; no longer needed.
59315
59316 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59317         and Paul Eggert  <eggert@cs.ucla.edu>
59318
59319         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
59320         Don't worry about this obsolete case any more.
59321         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
59322         directories.
59323         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
59324         worry about this obsolete case any more.
59325         * lib/fts.c: Likewise.
59326         * lib/getcwd.c: Likewise.
59327         * lib/glob.h: Likewise.
59328         * lib/savedir.c: Likewise.
59329
59330 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59331
59332         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
59333         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
59334         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
59335         needed.
59336         All uses removed.
59337         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59338         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59339         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
59340         needed.
59341         * m4/getdate.m4 (gl_GETDATE): Likewise.
59342         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59343         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59344         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59345         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59346         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59347         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59348         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
59349         needed.
59350
59351 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59352
59353         * lib/memcasecmp.c: Include <limits.h>.
59354         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
59355         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
59356         Don't assume isdigit succeeds only on '0' through '9'.
59357
59358 2006-07-05  Eric Blake  <ebb9@byu.net>
59359
59360         * modules/getaddrinfo (Depends-on): Add snprintf.
59361
59362 2006-07-05  Eric Blake  <ebb9@byu.net>
59363
59364         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
59365         to avoid 'header present but could not be compiled' on cygwin.
59366
59367 2006-07-05  Eric Blake  <ebb9@byu.net>
59368
59369         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
59370         missing from netdb.h.
59371         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
59372
59373 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59374
59375         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
59376         no longer needed.
59377         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
59378         * m4/getdate.m4 (gl_GETDATE): Likewise.
59379         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59380         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59381         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59382         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59383         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59384
59385 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59386
59387         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
59388         All uses of is_space replaced by isspace.
59389         * lib/exit.h: Don't talk about STDC_HEADERS.
59390         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
59391         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
59392         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
59393         replaced by isprint etc.
59394         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
59395         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59396         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
59397         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
59398         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
59399         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59400
59401 2006-07-05  Bruno Haible  <bruno@clisp.org>
59402
59403         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
59404         the function exists, before testing against AIX.
59405         Reported by Martin Lambers <marlam@marlam.de>.
59406
59407 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59408
59409         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
59410         From Mark D. Baushke.
59411
59412 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59413
59414         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
59415         to the absolute name, not just one, to bypass Sun C 5.8's
59416         "warning: #include of /usr/include/... may be non-portable".
59417
59418 2006-07-04  Eric Blake  <ebb9@byu.net>
59419
59420         * modules/dirname-tests: New test module.
59421         * tests/test-dirname.c: New file, replacing dirname.c
59422         TEST_DIRNAME section that was recently deleted.
59423
59424 2006-07-04  Bruno Haible  <bruno@clisp.org>
59425
59426         Assume ANSI C header files and <ctype.h> functions.
59427         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
59428         (mbsnwidth): Use isprint, iscntrl instead.
59429
59430 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59431
59432         Merge from coreutils.
59433         * MODULES.html.sh: Add xstrtold.
59434         * modules/xstrtold: New file.
59435         * modules/cycle-check (Files): Add lib/same-inode.h.
59436         * modules/dirname (Files): Add m4/double-slash-root.m4.
59437         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
59438         * modules/mkdir-p (Files): Add lib/same-inode.h.
59439         * modules/same (Files): Add lib/same-inode.h.
59440
59441 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59442
59443         * m4/absolute-header.m4: Renamed from full-header-path.m4.
59444         This is to keep the terminology clean; POSIX talks about
59445         "absolute pathnames", not "full pathnames", but the GNU
59446         Coding Standards say to use "path" for something else;
59447         so use "absolute" to keep both sides happy.
59448         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
59449         Set gl_absolute_header, not gl_full_header_path.
59450         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
59451         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
59452         All uses changed.
59453
59454         Merge from coreutils.
59455
59456         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59457
59458         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
59459         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
59460         want to require the building of c-strtod.o.
59461         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
59462         needs -lm directly.
59463         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
59464
59465         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59466
59467         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
59468         --as-needed option if available.  Problem reported by Albert Chin in
59469         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
59470         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
59471         cc merely issues a bunch of annoying warnings for --as-needed
59472         (this problem was reported by Bob Proulx).  Also, try linking with
59473         -lm to detect a bug in binutils 2.16 (this problem was reported
59474         by Ralf Wildenhues).
59475
59476         2006-06-18  Jim Meyering  <jim@meyering.net>
59477
59478         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
59479         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
59480         macro.
59481         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
59482         also check for glibc-2.4's abort-inducing bug.
59483
59484         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
59485         Low-probability clean-up should be to use rmdir to get rid of
59486         the just-created directory, not unlink.
59487
59488         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
59489         configure fail, and request a bug report to inform us about it.
59490         Add a comment that, barring reports to the contrary, in 2007 we'll
59491         assume ftruncate is universally available.
59492
59493         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59494
59495         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
59496
59497         2006-03-12  Jim Meyering  <jim@meyering.net>
59498
59499         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
59500         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
59501         * m4/same.m4 (gl_SAME): Likewise.
59502         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
59503
59504         2006-03-11  Eric Blake  <ebb9@byu.net>
59505
59506         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
59507         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
59508         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
59509         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
59510
59511 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59512
59513         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
59514         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
59515         reported by Mark D. Baushke, one in
59516         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
59517
59518         Merge from coreutils.
59519
59520         * lib/.cppi-disable: Add stdint_.h.
59521         * lib/.cvsignore: Add stdint.h.
59522
59523         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59524
59525         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
59526         both double and long double versions.
59527         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
59528         * lib/xstrtold.c: New file.
59529         * lib/xstrtod.h (xstrtold): New decl.
59530
59531         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
59532
59533         * lib/filemode.c (setst): Remove.
59534         (strmode): Rewrite to avoid setst.  This makes the code shorter,
59535         (arguably) clearer, and the generated code is a bit smaller on my
59536         Debian GNU/Linux stable x86 host.
59537
59538         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59539
59540         * lib/filemode.c: Include "filemode.h" first, to test the interface.
59541         Assume that filemode.h includes sys/types.h and sys/stat.h.
59542         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
59543         (ftypelet): Reorder to put common cases first, for efficiency.
59544         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
59545         to do 'M'.
59546         (strmode): Renamed from mode_string, and now stores 12 bytes instead
59547         of 10, for compatibility with FreeBSD.  All callers changed.
59548         (filemodestring): Now stores 12 bytes instead of 10, and sets file
59549         types that can't be deduced solely from st_mode.  First arg is now a
59550         const pointer.
59551         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
59552         (strmode): Renamed from mode_string.
59553         (filemodestring): New decl.
59554         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
59555         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
59556         needed.
59557         (S_ISPORT, S_ISWHT): New macros, if not already defined.
59558
59559         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
59560
59561         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
59562         fsusage.h now does that.  Include fsusage.h first, to test interface.
59563         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
59564         at most one method (the old code could have generated decls that
59565         didn't conform to C89, not that this was ever exercised).
59566         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
59567
59568         2006-03-19  Jim Meyering  <jim@meyering.net>
59569
59570         Work even in a chroot where d_ino values for entries in "/"
59571         don't match the stat.st_ino values for the same names.
59572         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
59573         number, iterate through all entries again, using lstat instead.
59574         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
59575         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
59576
59577         * lib/getcwd.c (__getcwd): Clarify a comment.
59578         Use memcpy in place of a call to strcpy.
59579
59580         2006-03-12  Jim Meyering  <jim@meyering.net>
59581
59582         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
59583         matches that of the current directory (which we're about to chdir ".."
59584         out of), then save the dev-ino of the parent, instead.
59585
59586         * lib/same-inode.h (SAME_INODE): New file/macro.
59587         * lib/chdir-safer.c (SAME_INODE): Remove definition.
59588         Include "same-inode.h", instead.
59589         * lib/same.c: Likewise.
59590         * lib/cycle-check.h: Include "same-inode.h".
59591         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
59592         * lib/cycle-check.c (SAME_INODE): Remove definition.
59593         * lib/root-dev-ino.h: Include "same-inode.h".
59594
59595         2006-03-11  Eric Blake  <ebb9@byu.net>
59596
59597         * lib/same.c (same_name): s/base_name/last_component/
59598         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
59599         * lib/filenamecat.c (file_name_concat): Likewise.
59600
59601         2006-03-11  Eric Blake  <ebb9@byu.net>,
59602                     Paul Eggert  <eggert@cs.ucla.edu>
59603
59604         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
59605         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
59606         drive prefix.
59607         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
59608         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
59609         (last_component): New method.
59610         * lib/dirname.c (dir_len): Determine when drive letters need a
59611         subsequent slash.  Preserve // when it is special.
59612         (dir_name): Don't append dot when drive letter is absolute.
59613         [TEST_DIRNAME]: Move into a full-blown gnulib test.
59614         * lib/basename.c (base_name): New semantics - malloc the result.
59615         Preserve // when it is special.  Preserve relative files that look
59616         like drive letters.
59617         (base_len): Preserve // when it is special.
59618         (last_component): New method, similar to old base_name semantics.
59619         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
59620         base_name.  Strip redundant slashes from ///.
59621
59622 2006-07-03  Jim Meyering  <jim@meyering.net>
59623
59624         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
59625         macro is used before the first cycle_check call.
59626
59627 2006-07-03  Eric Blake  <ebb9@byu.net>
59628
59629         * modules/dirname (Depends-on): Add xstrndup.
59630
59631 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59632
59633         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
59634         test cases, so that config.log is a bit easier to follow.
59635
59636 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59637
59638         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
59639         both are 64 bits, since this seems to be the tradition, and this
59640         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
59641         we ever run into a host that prefers long long to long in this
59642         case, we'll need another configure-time test.  Problem reported by
59643         Jim Meyering.
59644
59645 2006-07-02  Eric Blake  <ebb9@byu.net>
59646
59647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
59648
59649 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59650
59651         * modules/inttypes (Depends-on): No longer depends on stdint.
59652         * modules/stdint (Description): Say more about assumptions.
59653         Say that the fast types might differ.  Say macros are used.
59654         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
59655         (Makefile.am): Revise list of substituted symbols to match
59656         new stdint.m4.
59657         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
59658         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
59659         * tests/test-stdint.c (verify_same_types)
59660         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
59661         the code conforms to C99/C89.
59662         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
59663         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
59664
59665 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59666
59667         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
59668         but fix a bug, by requiring at least 64 bits.
59669         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59670         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
59671         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
59672         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
59673
59674         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
59675         changes.  Make 2.59 a prerequisite.  Check and substitute for
59676         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
59677         inttypes.h.  Do not use special include files; just use the
59678         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
59679         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
59680         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
59681         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
59682         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
59683         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
59684         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
59685         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
59686         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
59687         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
59688         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
59689         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
59690         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59691         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59692         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59693         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59694         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59695         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59696         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59697         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59698         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59699         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59700         not check for things that C99 does not require, e.g., int8_t.  If
59701         a test isn't needed unless <stdint.h> isn't working, and is
59702         unlikely to be needed for any other reason, then don't do it
59703         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59704         size_t, since we assume C89 freestanding at least.  Do not check
59705         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59706         the right thing even if the types are not defined.  Instead use:
59707         (gl_STDINT_TYPE_PROPERTIES): New macro.
59708         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59709         testing whether <sys/types.h> clashes, as Autoconf does this for
59710         us now.  All uses removed.
59711         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59712         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59713         (gl_CHECK_TYPE_SAME):
59714         Remove; no longer needed.
59715         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59716         exists, since we'll return 0 anyway in that case.
59717         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59718
59719 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59720
59721         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59722         possible collision with system files.
59723         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59724         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59725         WCHAR_MIN and WCHAR_MAX in this case.
59726         (<stddef.h>): Do not include; no longer needed.
59727         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59728         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59729         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59730         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59731         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59732         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59733         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59734         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59735         !defined(__c99))]: Include in this case too, since it's harmless
59736         now.
59737         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59738         dangerous to do so.
59739         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59740         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59741         (_STDINT_MIN, _STDINT_MAX): New macros.
59742         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59743         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59744         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59745         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59746         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59747         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59748         macros, not typedefs; this simplifies things quite a bit.
59749         Use long int for all types narrower than int64_t.
59750         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59751         Define in terms of long long int or int64_t or long int,
59752         not int64_t or int32_t.  This saves some compile-time testing.
59753         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59754         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59755         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59756         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59757         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59758         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59759         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59760         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59761         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59762         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59763         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59764         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59765         undef any previous version and define our own version, for
59766         simplicity and consistency with the new macros for types.
59767         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59768         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59769         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59770         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59771         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59772         @WINT_T_SUFFIX@ to keep things simple here.
59773         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59774         Simplify by assuming typical 8/16/32/64 host, since we're
59775         already doing that elsewhere anyway.
59776         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59777         and assume long long int is 64 bits if available.  This
59778         speeds up 'configure'.
59779
59780 2006-07-01  Eric Blake  <ebb9@byu.net>
59781
59782         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59783         Reported by Andreas Buening.
59784
59785 2006-07-01  Eric Blake  <ebb9@byu.net>
59786
59787         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59788
59789 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59790
59791         * lib/getaddrinfo.c: fixed typo
59792
59793 2006-06-29  Jim Meyering  <jim@meyering.net>
59794
59795         * modules/strftime (Maintainer): Add my name, since with the
59796         FPRINTFTIME changes strftime.c has forked from glibc.
59797
59798 2006-06-29  Eric Blake  <ebb9@byu.net>
59799
59800         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59801
59802 2006-06-29  Eric Blake  <ebb9@byu.net>
59803
59804         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59805
59806 2006-06-29  Eric Blake  <ebb9@byu.net>
59807
59808         * lib/stat_.h: New file.
59809
59810 2006-06-29  Eric Blake  <ebb9@byu.net>
59811
59812         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59813         unused static function.
59814
59815 2006-06-29  Eric Blake  <ebb9@byu.net>
59816
59817         * doc/functions.texi (Function Portability): Document missing lstat
59818         on mingw.
59819
59820 2006-06-29  Eric Blake  <ebb9@byu.net>
59821
59822         * MODULES.html.sh: Add sys_stat.
59823         * modules/sys_stat: New module.
59824         * modules/mkstemp (Depends-on): Add sys_stat.
59825
59826 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59827
59828         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59829
59830 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59831
59832         * m4/c-bs-a.m4: Removed.
59833
59834 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59835
59836         * lib/strftime.c: Assume strftime() exists.
59837
59838 2006-06-29  Derek Price  <derek@ximbiot.com>
59839
59840         * modules/c-bs-a: Removed - \a is C89.
59841         * MODULES.html.sh: Remove c-bs-a.
59842
59843 2006-06-29  Bruno Haible  <bruno@clisp.org>
59844
59845         * modules/wcwidth (License): Change to LGPL.
59846
59847 2006-06-28  Simon Josefsson  <jas@extundo.com>
59848
59849         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59850         on _WIN32.
59851
59852         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59853         getnameinfo.
59854
59855 2006-06-28  Simon Josefsson  <jas@extundo.com>
59856
59857         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59858
59859 2006-06-28  Simon Josefsson  <jas@extundo.com>
59860
59861         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59862         functions there.  It will succeed on Windows XP, but on Windows
59863         2000 and (presumably) earlier, it will fail, and use the internal
59864         re-implementation.
59865         (use_win32_p): New function.
59866         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59867         Support AI_NUMERICSERV to disable getservbyname.
59868         (getnameinfo): New function, only supports
59869         NI_NUMERICHOST|NI_NUMERICSERV for now.
59870
59871         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59872         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59873         getnameinfo.
59874
59875 2006-06-28  Eric Blake  <ebb9@byu.net>
59876
59877         * modules/wcwidth: New file.
59878         * modules/mbchar (Depends-on): Add wcwidth.
59879         * modules/mbswidth (Depends-on): Add wcwidth.
59880         * MODULES.html.sh: Add wcwidth.
59881
59882 2006-06-28  Eric Blake  <ebb9@byu.net>
59883
59884         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59886
59887 2006-06-28  Eric Blake  <ebb9@byu.net>
59888
59889         * lib/xvasprintf.h: Fix comments.
59890
59891 2006-06-28  Eric Blake  <ebb9@byu.net>
59892
59893         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59894         * lib/mbswidth.c (wcwidth): Move from here...
59895         * lib/wcwidth.h: ...to this new file.
59896
59897 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59898
59899         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59900
59901         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59902         it's obsolete.
59903         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59904
59905 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59906
59907         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59908         Autoconf 2.60 says this stuff was obsolete.
59909
59910 2006-06-28  Bruno Haible  <bruno@clisp.org>
59911
59912         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59913
59914 2006-06-28  Bruno Haible  <bruno@clisp.org>
59915
59916         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59917         gt_TYPE_WCHAR_T.
59918
59919 2006-06-28  Bruno Haible  <bruno@clisp.org>
59920
59921         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59922         declaration for wcwidth.
59923         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59924
59925 2006-06-28  Bruno Haible  <bruno@clisp.org>
59926
59927         * lib/mkdtemp.c [MINGW]: Include <io.h>.
59928         (mkdir): Define using _mkdir.
59929
59930 2006-06-28  Bruno Haible  <bruno@clisp.org>
59931
59932         * lib/getaddrinfo.h: Fix POSIX URL.
59933         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
59934         _WIN32.
59935         (use_win32_p): Make static.
59936         (getaddrinfo): Reject service name if it is empty or does not consist
59937         solely of decimal digits, or if its value is > 65535.
59938         (getnameinfo): Remove useless casts.
59939
59940 2006-06-27  Simon Josefsson  <jas@extundo.com>
59941
59942         * modules/sys_select: New file, suggested by Bruno Haible, Paul
59943         Eggert and Martin Lambers.
59944
59945 2006-06-27  Simon Josefsson  <jas@extundo.com>
59946
59947         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
59948         Eggert and Martin Lambers.
59949
59950 2006-06-27  Bruno Haible  <bruno@clisp.org>
59951
59952         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
59953         result to 0, not to empty.
59954         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
59955
59956 2006-06-27  Bruno Haible  <bruno@clisp.org>
59957
59958         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
59959
59960 2006-06-26  Simon Josefsson  <jas@extundo.com>
59961
59962         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
59963         present.
59964
59965 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
59966
59967         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
59968         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
59969         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
59970
59971 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
59972
59973         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
59974
59975 2006-06-26  Bruno Haible  <bruno@clisp.org>
59976
59977         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
59978
59979 2006-06-26  Bruno Haible  <bruno@clisp.org>
59980
59981         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
59982
59983 2006-06-26  Bruno Haible  <bruno@clisp.org>
59984
59985         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
59986         SGI C compiler in pre-C99 mode.
59987         Suggested by Mark D. Baushke and Larry Jones.
59988
59989 2006-06-26  Bruno Haible  <bruno@clisp.org>
59990
59991         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
59992         WCHAR_MAX.
59993         Reported by Mark D. Baushke and Larry Jones.
59994
59995 2006-06-26  Bruno Haible  <bruno@clisp.org>
59996
59997         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
59998         in pre-C99 mode.
59999         Suggested by Mark D. Baushke and Larry Jones.
60000
60001 2006-06-23  Simon Josefsson  <jas@extundo.com>
60002             Bruno Haible  <bruno@clisp.org>
60003
60004         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
60005         Emit mostlyclean-local rule.
60006         (func_emit_tests_Makefile_am): Likewise.
60007         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
60008
60009 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
60010
60011         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
60012
60013 2006-06-23  Bruno Haible  <bruno@clisp.org>
60014
60015         * tests/test-stdint.c: Update to match ISO C 99 Technical
60016         Corrigendum 1.
60017
60018 2006-06-23  Bruno Haible  <bruno@clisp.org>
60019
60020         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
60021
60022 2006-06-23  Bruno Haible  <bruno@clisp.org>
60023
60024         * lib/stdint_.h: Treat IRIX like OpenBSD.
60025
60026 2006-06-23  Bruno Haible  <bruno@clisp.org>
60027
60028         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
60029         ISO C 99 Technical Corrigendum 1.
60030
60031 2006-06-22  Simon Josefsson  <jas@extundo.com>
60032
60033         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
60034         MinGW.
60035
60036 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60037
60038         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
60039         needed.  Some compiler complained about some of them.  Problem reported
60040         by Larry Jones in
60041         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
60042
60043 2006-06-21  Simon Josefsson  <jas@extundo.com>
60044
60045         * tests/test-getaddrinfo.c: New file.
60046
60047         * modules/getaddrinfo-tests: New file.
60048
60049         * MODULES.html.sh: Add inet_pton.
60050
60051         * modules/inet_pton: New file.
60052
60053 2006-06-21  Simon Josefsson  <jas@extundo.com>
60054
60055         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
60056         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
60057         of using the (limited) gnulib implementation on Windows XP.
60058
60059         * m4/inet_pton.m4: New file.
60060
60061 2006-06-21  Simon Josefsson  <jas@extundo.com>
60062
60063         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
60064         variable.
60065
60066         * lib/socket_.h: Don't define WINVER.
60067
60068         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
60069         slightly modified to work in gnulib.
60070
60071 2006-06-21  Simon Josefsson  <jas@extundo.com>
60072
60073         * doc/gnulib.texi (Windows sockets): Add.
60074
60075 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60076
60077         * lib/read-file.c (fread_file): Start with buffer allocation of
60078         0 bytes rather than 1 byte; this simplifies the code.
60079         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
60080         code to free buffer and save/restore errno.
60081         (internal_read_file): Remove unused local.
60082
60083 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60084
60085         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
60086         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
60087         Problem reported by Denis Excoffier in
60088         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
60089
60090 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60091
60092         * modules/sys_socket, modules/socklen: Include sys/types since
60093         FreeBSD 4.x's sys/socket.h needs it.
60094
60095 2006-06-19  Simon Josefsson  <jas@extundo.com>
60096
60097         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
60098
60099 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60100
60101         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
60102
60103 2006-06-19  Bruno Haible  <bruno@clisp.org>
60104
60105         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
60106         and FULL_PATH_INTTYPES_H in angle brackets.
60107         Reported by Mark D. Baushke <mdb@gnu.org>.
60108
60109 2006-06-17  Eric Blake  <ebb9@byu.net>
60110
60111         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
60112         errno.
60113
60114 2006-06-17  Bruno Haible  <bruno@clisp.org>
60115
60116         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
60117         <sys/inttypes.h>.
60118
60119 2006-06-17  Bruno Haible  <bruno@clisp.org>
60120
60121         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
60122         whether errno is declared. Assume <errno.h> declares errno.
60123
60124 2006-06-17  Bruno Haible  <bruno@clisp.org>
60125
60126         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
60127
60128 2006-06-17  Bruno Haible  <bruno@clisp.org>
60129
60130         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
60131         problem on Solaris 2.5.1.
60132
60133 2006-06-16  Eric Blake  <ebb9@byu.net>
60134
60135         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
60136         * lib/unicodeio.c [!defined errno]: Likewise.
60137         * lib/strtol.c [!defined errno]: Likewise.
60138         * lib/strtod.c [!defined errno]: Likewise.
60139
60140 2006-06-15  Eric Blake  <ebb9@byu.net>
60141
60142         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
60143
60144 2006-06-15  Eric Blake  <ebb9@byu.net>
60145
60146         * config/srclist.txt (ssize_t.m4): Lose sync.
60147
60148 2006-06-15  Bruno Haible  <bruno@clisp.org>
60149
60150         * modules/stdint (Files): Include m4/full-header-path.m4,
60151         m4/size_max.m4, m4/wchar_t.m4.
60152         (Makefile.am): Many more substitutions.
60153         * modules/stdint-tests: New file.
60154         * tests/test-stdint.c: New file.
60155
60156 2006-06-15  Bruno Haible  <bruno@clisp.org>
60157
60158         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
60159         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
60160         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
60161         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
60162         gl_CHECK_TYPE_SAME): New macros.
60163
60164 2006-06-15  Bruno Haible  <bruno@clisp.org>
60165
60166         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
60167
60168 2006-06-15  Bruno Haible  <bruno@clisp.org>
60169
60170         * lib/stdint_.h: Rewritten to be fully auto-configured.
60171         Fixes bug on HP-UX/IA64.
60172
60173 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
60174
60175         * lib/getdate.y (__attribute__): Don't define if already defined.
60176         Problem reported by Larry Jones.
60177         * lib/utimens.c (__attribute__): Likewise.
60178
60179 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
60180
60181         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
60182         reported by Andreas Schwab.
60183
60184 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60185             Bruno Haible  <bruno@clisp.org>
60186
60187         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
60188         check for the declaration of strnlen and a run test that exposes the
60189         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
60190         rpl_strndup.
60191
60192 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60193             Bruno Haible  <bruno@clisp.org>
60194
60195         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
60196
60197 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60198
60199         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
60200         compile test, for Tru64 4.0D.
60201
60202 2006-05-28  Karl Berry  <karl@gnu.org>
60203
60204         * config/srclist.txt (printf-args.c): lose sync.
60205
60206 2006-05-26  Martin Lambers  <marlam@marlam.de>
60207
60208         * lib/getpass.c: Updates the test for the native W32 API, and adds
60209         missing includes, thus fixing compilation warnings.
60210
60211 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60212
60213         * lib/exclude.c (exclude_fnmatch): New function.
60214         (excluded_file_name): Call exclude_fnmatch.
60215         * lib/exclude.h (excluded_file_name): New prototype
60216
60217 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
60218
60219         * lib/tempname.c (small_open, large_open): New macros.
60220         (__open, __open64) [!_LIBC]: Remove.
60221         (__gen_tempname): Use small_open and large_open instead of __open
60222         and __open64.  This fixes a portability bug on HP-UX 11.11i
60223         reported by Simon Wing-Tang in
60224         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
60225
60226 2006-05-24  Bruno Haible  <bruno@clisp.org>
60227
60228         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
60229         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
60230         Reported by Thorsten Maerz <torte@netztorte.de> via
60231         Aaron Stone <aaron@serendipity.cx>.
60232
60233 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60234
60235         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
60236         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
60237         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
60238         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
60239         not really conditional on the cache.
60240         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
60241
60242 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60243
60244         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
60245         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
60246         (my_usleep): Don't mishandle maximum value.
60247
60248 2006-05-19  Jim Meyering  <jim@meyering.net>
60249
60250         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
60251
60252 2006-05-17  Bruno Haible  <bruno@clisp.org>
60253
60254         Cygwin portability.
60255         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
60256
60257 2006-05-17  Bruno Haible  <bruno@clisp.org>
60258
60259         * lib/stdint_.h: Fix recognition of Cygwin.
60260
60261 2006-05-15  Bruno Haible  <bruno@clisp.org>
60262
60263         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
60264         on libtool patch by Ralf Wildenhues.
60265
60266 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60267
60268         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
60269         test for C99 conformance; (bool) 0.5 is an integer constant
60270         expression, but (bool) -0.5 is not.  Problem reported by Fedor
60271         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
60272
60273 2006-05-11  Simon Josefsson  <jas@extundo.com>
60274
60275         * m4/xvasprintf.m4: Fix obvious typo.
60276
60277 2006-05-11  Jim Meyering  <jim@meyering.net>
60278
60279         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
60280         James Lemley.
60281
60282 2006-05-10  Simon Josefsson  <jas@extundo.com>
60283
60284         * lib/md4.c: Typo fix, update copyright years.
60285         (K1, K2): Don't use L because it turn computations into 64-bit on
60286         64-bit platforms.
60287
60288 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
60289
60290         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
60291         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
60292         unwanted sign propagation, e.g., on hosts with 64-bit int.
60293         There still are some problems with reeelly weird theoretical hosts
60294         (e.g., 33-bit int) but it's not worth worrying about now.
60295         * lib/sha1.c (rol): Likewise.
60296         (K1, K2, K3, K4): Remove unnecessary L suffix.
60297
60298 2006-05-10  Bruno Haible  <bruno@clisp.org>
60299
60300         * lib/des.c: Cast to avoid warnings.
60301
60302 2006-05-09  Bruno Haible  <bruno@clisp.org>
60303
60304         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
60305         (Depends-on): Depend also on xsize, stdarg.
60306         (configure.ac): Add gl_XVASPRINTF.
60307
60308 2006-05-09  Bruno Haible  <bruno@clisp.org>
60309
60310         * m4/xvasprintf.m4: New file.
60311
60312 2006-05-09  Bruno Haible  <bruno@clisp.org>
60313
60314         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
60315         (EOVERFLOW): Define fallback value.
60316         (xstrcat): New function.
60317         (xvasprintf): Recognize the special case of a string concatenation.
60318
60319 2006-05-08  Eric Blake  <ebb9@byu.net>
60320
60321         * gnulib-tool (func_version): Base copyright year on CVS date.
60322         (func_emit_copyright_notice): New function.
60323         (func_emit_lib_Makefile_am): Use it.
60324         (func_emit_tests_Makefile_am): Likewise.
60325         (func_import): Likewise.
60326
60327 2006-05-08  Bruno Haible  <bruno@clisp.org>
60328
60329         * modules/stdarg: New file.
60330         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
60331
60332 2006-05-08  Bruno Haible  <bruno@clisp.org>
60333
60334         * m4/stdarg.m4: New file, from GNU gettext.
60335
60336 2006-05-08  Bruno Haible  <bruno@clisp.org>
60337
60338         * config/srclist.txt (build-aux/config.rpath): different from latest
60339         release.
60340
60341 2006-05-08  Bruno Haible  <bruno@clisp.org>
60342
60343         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
60344
60345 2006-05-05  Jim Meyering  <jim@meyering.net>
60346
60347         * m4/warning.m4: New file, derived from bison's file by the same name.
60348
60349 2006-05-03  Bruno Haible  <bruno@clisp.org>
60350
60351         * lib/stdint_.h: Shorter URL.
60352         * lib/inttypes.h: Likewise.
60353
60354 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60355
60356         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
60357
60358 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60359
60360         * lib/verify.h: Document the internals better.  Most of this change
60361         was written by Bruno Haible.
60362
60363 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60364
60365         * doc/verify.texi: New file, partly based on a proposal by
60366         Bruno Haible.
60367
60368 2006-05-02  Bruno Haible  <bruno@clisp.org>
60369
60370         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
60371         test from here...
60372         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
60373
60374 2006-04-29  Bruno Haible  <bruno@clisp.org>
60375
60376         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
60377         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
60378
60379 2006-04-29  Bruno Haible  <bruno@clisp.org>
60380
60381         * gnulib-tool: Make --update option actually work.
60382
60383 2006-04-29  Bruno Haible  <bruno@clisp.org>
60384
60385         * doc/gcd.texi: New file.
60386         * doc/gnulib.texi: Include it.
60387
60388 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
60389
60390         * lib/getdate.y (get_date): When adding relative date, start with the
60391         initial time, not with the result of the first mktime call.
60392
60393 2006-04-25  Bruno Haible  <bruno@clisp.org>
60394
60395         * gnulib-tool (func_import): Output the include directives in three
60396         blocks, sorted separately.
60397         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60398
60399 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60400
60401         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
60402         to define main with arguments, for C++.  Reported by Eric Blake.
60403         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
60404         Prefer 'int main ()' to 'int main (void)', for C++.
60405         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
60406         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
60407         for 'main', for C99 and C++.
60408
60409 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60410
60411         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
60412         Don't assume that exit status -1 is valid.
60413         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60414         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60415         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
60416         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
60417         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
60418         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
60419         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
60420         functions can be used without declaring them, or that you can
60421         exit with status -1.
60422         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
60423
60424 2006-04-24  Karl Berry  <karl@gnu.org>
60425
60426         * config/srclist.txt (longdouble.m4): sync lost.
60427
60428 2006-04-24  Eric Blake  <ebb9@byu.net>
60429
60430         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
60431
60432 2006-04-24  Bruno Haible  <bruno@clisp.org>
60433
60434         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
60435         poll() implementation in AIX.
60436         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60437
60438 2006-04-24  Bruno Haible  <bruno@clisp.org>
60439
60440         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
60441         assigned exactly once.
60442
60443 2006-04-23  Claudio Fontana  <claudio@gnu.org>
60444             Bruno Haible  <bruno@clisp.org>
60445
60446         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
60447         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
60448         for AM_CPPFLAGS.
60449
60450 2006-04-23  Bruno Haible  <bruno@clisp.org>
60451
60452         * modules/copy-file: Depend on unistd.
60453         * modules/execute: Likewise.
60454         * modules/fatal-signal: Likewise.
60455         * modules/findprog: Likewise.
60456         * modules/mkdtemp : Likewise.
60457         * modules/pipe: Likewise.
60458         * modules/wait-process: Likewise.
60459
60460 2006-04-23  Bruno Haible  <bruno@clisp.org>
60461
60462         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
60463         condition was already detected.
60464         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60465
60466 2006-04-23  Bruno Haible  <bruno@clisp.org>
60467
60468         * lib/copy-file.c: Include <unistd.h> unconditionally.
60469         * lib/execute.c: Likewise.
60470         * lib/fatal-signal.c: Likewise.
60471         * lib/findprog.c: Likewise.
60472         * lib/mkdtemp.c: Likewise.
60473         * lib/pipe.h: Likewise.
60474         * lib/pipe.c: Likewise.
60475         * lib/wait-process.h: Likewise.
60476
60477 2006-04-23  Bruno Haible  <bruno@clisp.org>
60478
60479         * gnulib-tool (func_usage): Fix --import description. Document
60480         --update.
60481         (func_import): Create temporary file in a temporary directory, if
60482         --dry-run is specified. Silence errors from 'grep' when there are no
60483         m4 files in $m4dir.
60484         (func_create_testdir): Silence errors from 'grep' when there are no
60485         m4 files in $m4dir.
60486         Reported by Karl Berry <karl@freefriends.org>.
60487
60488 2006-04-20  Bruno Haible  <bruno@clisp.org>
60489
60490         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
60491         one argument, so that the code will be portable to Autoconf 2.60.
60492         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
60493         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60494         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
60495
60496 2006-04-19  Derek Price  <derek@ximbiot.com>
60497             Eric Blake  <ebb9@byu.net>
60498
60499         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
60500         rather than "/full/path.h".  Update comment to match.  Shorten &
60501         generalize m4_translit call via AS_TR_CPP.
60502
60503 2006-04-19  Derek Price  <derek@ximbiot.com>
60504             Eric Blake  <ebb9@byu.net>
60505
60506         * lib/inttypes.h: Correct grammar in comment.
60507
60508 2006-04-18  Derek Price  <derek@ximbiot.com>
60509             Paul Eggert  <eggert@cs.ucla.edu>
60510
60511         * modules/inttypes: New file.
60512         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
60513
60514 2006-04-18  Derek Price  <derek@ximbiot.com>
60515             Paul Eggert  <eggert@cs.ucla.edu>
60516
60517         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
60518         New files.
60519
60520 2006-04-18  Derek Price  <derek@ximbiot.com>
60521             Paul Eggert  <eggert@cs.ucla.edu>
60522
60523         * lib/inttypes.h: New file.
60524         * lib/strtoimax.c: Assume <inttypes.h>.
60525
60526 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
60527
60528         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
60529         isn't mounted.  Problem reported by Kir Kolyshkin.
60530
60531 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60532
60533         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
60534         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
60535         Derek R. Price.
60536         * lib/regex.h (RE_DUP_MAX): Update comment to match current
60537         implementation.
60538
60539 2006-04-12  Eric Blake  <ebb9@byu.net>
60540
60541         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
60542         is now done automatically by the corresponding Autoconf macro.
60543
60544 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
60545
60546         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
60547         time_r.h.
60548
60549 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60550
60551         Merge regex changes from libc, removing some of our
60552         POSIX-conformance changes that were rejected and redoing them in a
60553         less-intrusive way.
60554
60555         * lib/regcomp.c (re_compile_internal, init_dfa):
60556         Length arg is now size_t, not Idx.  All uses changed.
60557         (peek_token): Forward decl now says internal_function.
60558         (__re_error_msgid, __re_error_msgid_idx):
60559         Now static rather than extern with attribute_hidden.
60560         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
60561         For some reason libc prefers K&R style defns for external functions.
60562         (regerror) [!defined _LIBC]: Likewise.
60563         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
60564         (seek_collating_symbol_entry, lookup_collation_sequence_value):
60565         (build_range_exp, build_collating_symbol):
60566         Use K&R-style defn.
60567         (re_compile_fastmap): Use '\0' to memset, not 0.
60568         (utf8_sb_map): Make the calculations more obvious.
60569         (init_dfa, parse_bracket_exp, build_charclass_op):
60570         Call calloc and cast result, as glibc does.
60571         (init_word_char, fetch_token, peek_token, peek_token_bracket):
60572         (build_range_exp, build_collating_symbol):
60573         Now internal functions.
60574
60575         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
60576
60577         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
60578         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
60579         Don't depend on VMS; depend on __VMS instead, for POSIX
60580         namespace cleanness.
60581         (regoff_t): Define to ssize_t, not long int.
60582
60583         Remove the REG_ macros named below.  Instead, make the old names
60584         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
60585         __USE_GNU_REGEX.
60586         (REG_BACKSLASH_ESCAPE_IN_LISTS):
60587         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
60588         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
60589         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
60590         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
60591         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
60592         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
60593         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
60594         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
60595         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
60596         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
60597         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
60598         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
60599         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
60600         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
60601         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
60602         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
60603         (REG_NREGS):
60604         Remove.  All uses replaced by the old RE_* names.
60605         (RE_BACKSLASH_ESCAPE_IN_LISTS):
60606         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
60607         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
60608         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
60609         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
60610         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
60611         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
60612         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
60613         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
60614         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
60615         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
60616         Don't bother having these macros be independent of each others'
60617         values, since they no longer exist in the POSIX name space.
60618
60619         Rename the following member names back to their old names,
60620         unless !__USE_GNU_REGEX.  All uses changed back.
60621         (buffer): Renamed from re_buffer.
60622         (allocated): Renamed from re_allocated.
60623         (used): Renamed from re_used.
60624         (syntax): Renamed from re_syntax.
60625         (fastmap): Renamed from re_fastmap.
60626         (translate): Renamed from re_translate.
60627         (can_be_null): Renamed from re_can_be_null.
60628         (regs_allocated): Renamed from re_regs_allocated.
60629         (fastmap_accurate): Renamed from re_fastmap_accurate.
60630         (no_sub): Renamed from re_no_sub.
60631         (not_bol): Renamed from re_not_bol.
60632         (not_eol): Renamed from re_not_eol.
60633         (newline_anchor): Renamed from re_newline_anchor.
60634         (num_regs): Renamed from rm_num_regs.
60635         (start): Renamed from rm_start.
60636         (end): Renamed from rm_end.
60637
60638         (free_state): Move up a bit.
60639
60640         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
60641         #define to be empty.
60642         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
60643         when that is what is intended.
60644         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
60645         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
60646         (MAX): New macro.
60647         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
60648         All uses changed back to re_malloc, etc.  It's now the caller's
60649         responsibility to check for overflow; all callers changed.
60650         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
60651         (re_x2nrealloc): Remove.
60652         (free_state): Remove decl.
60653
60654         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
60655         (re_set_registers, re_exec):
60656         Use K&R-style defn.
60657
60658         2006-01-31  Roland McGrath  <roland@redhat.com>
60659
60660         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
60661         Reported by Mike Frysinger <vapier@gentoo.org>.
60662
60663         2006-01-15  Andreas Jaeger  <aj@suse.de>
60664
60665         [BZ #1950]
60666         * lib/regex_internal.c (re_string_reconstruct): Adjust for
60667         build_wcs_upper_buffer change.
60668         (build_wcs_upper_buffer): Change return type.
60669
60670         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
60671
60672         * lib/regex_internal.h: Include <stdint.h> if available.
60673
60674         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
60675
60676         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
60677
60678         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60679
60680         * lib/regcomp.c: Adjust for changed secondary hash function.
60681
60682         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
60683
60684         * lib/regex.h: Pretty printing.
60685         Clean up namespace a bit.
60686
60687         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
60688
60689         * lib/regexec.c (update_cur_sifted_state, check_arrival,
60690         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60691
60692         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60693                     Ulrich Drepper  <drepper@redhat.com>
60694
60695         [BZ #1302]
60696         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60697         changed.
60698         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60699
60700         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60701
60702         [BZ #281]
60703         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60704         * lib/regcomp.c: Remove unnecessary uses of
60705         unsigned RE_TRANSLATE_TYPE.
60706         * lib/regex_internal.h: Likewise.
60707         * lib/regex_internal.c: Likewise.
60708         * lib/regexec.c: Likewise.
60709         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60710
60711         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60712
60713         * lib/regexec.c (find_recover_state): Remove unnecessary
60714         initialization.
60715         (transit_state_bkref): Make DFA a const pointer.
60716         (get_subexp): Likewise.
60717         (check_arrival): Likewise.
60718         (update_cur_sifted_state): Likewise.
60719         (re_search_internal): Likewise.
60720         (prune_impossible_nodes): Likewise.
60721         (acquire_init_state_context): Likewise.
60722         (proceed_next_node): Likewise.
60723         (set_regs): Likewise.
60724         (free_fail_stack_return): Likewise.
60725         (check_arrival_expand_ecl): Mark DFA parameter as const.
60726         (check_arrival_expand_ecl_sub): Likewise.
60727         (check_subexp_limits): Likewise.
60728         (sub_epsilon_src_nodes):  Likewise.
60729         (add_epsilon_src_nodes):  Likewise.
60730         (merge_state_array): Likewise.
60731         (update_regs): Likewise.
60732         (build_trtable): Likewise.
60733         (sift_states_backward): Mark MCTX parameter as const.
60734         (build_sifted_states): Likewise.
60735         (update_cur_sifted_state): Likewise.
60736         (sift_states_mkref): Likewise.
60737         (check_arrival_expand_ecl): Mark eclosure as const.
60738         (check_dst_limits_calc_pos_1): Likewise.
60739         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60740         pointer.
60741
60742         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60743
60744         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60745         (transit_state_sb): Likewise.
60746         (transit_state_mb): Likewise.
60747         (sift_states_iter_mb): Likewise.
60748         (check_arrival_add_next_nodes): Likewise.
60749         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60750         [_LIBC] (re_search_2_stub): Use mempcpy.
60751
60752         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60753         mbrtowc for very simple UTF-8 case.
60754
60755         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60756         a pointer-to-const.
60757         (re_acquire_state_context): Likewise.
60758         * lib/regex_internal.h: Adjust prototypes.
60759
60760         * lib/regex.c: Prevent using C++ compilers.
60761
60762         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60763         (re_acquire_state_context): Likewise.
60764
60765 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60766
60767         * modules/regex (Depends-on): Add ssize_t.
60768
60769 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60770
60771         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60772         translation table.
60773
60774 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60775
60776         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60777
60778 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60779             Bruno Haible  <bruno@clisp.org>
60780
60781         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60782         <sys/types.h> and <inttypes.h>.
60783
60784 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60785
60786         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60787         `__error_t_defined', so argp.h will not typedef the former.
60788
60789 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60790
60791         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60792         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60793         glibc names.  Even if glibc is changed to conform to POSIX, the
60794         traditional names will be available anyway, since regex depends on
60795         the extensions module.  Also, fix a longstanding typo in the
60796         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60797         reported by Emanuele Giaquinta.  Also, change sense of cached
60798         variable, so that the message makes sense.
60799
60800 2006-03-24  Simon Josefsson  <jas@extundo.com>
60801
60802         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60803         including some doc fixes.
60804         (base64_encode_alloc): Fix +1 bug on allocation failures.
60805
60806 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60807
60808         * lib/base64.c (base64_encode): Do not read past end of array with
60809         unsanitized input on systems with CHAR_BIT > 8.
60810
60811 2006-03-24  Eric Blake  <ebb9@byu.net>
60812
60813         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60814
60815 2006-03-22  Karl Berry  <karl@gnu.org>
60816
60817         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60818         * config/srclistvars.sh (COREUTILS): new var.
60819
60820 2006-03-17  Jim Meyering  <jim@meyering.net>
60821
60822         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60823         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60824
60825 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60826
60827         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60828         no longer needs it.  Instead, check that regoff_t is as least
60829         as wide as ptrdiff_t.
60830
60831         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60832         so that our regex.h stays compatible with the installed regex.
60833         This is helpful for installers who configure --without-included-regex.
60834         Problem reported by Emanuele Giaquinta.
60835
60836 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60837
60838         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60839         Typedef to long int, not to off_, as POSIX will likely change
60840         in that direction.
60841
60842 2006-03-15  Eric Blake  <ebb9@byu.net>
60843
60844         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60845
60846 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60847
60848         * lib/argp-help.c (validate_uparams): Fix typo
60849         * lib/argp-parse.c (argp_default_options): Consistently begin help
60850         messages with a lowercase letter.
60851
60852 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60853
60854         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60855         overrun buffers and shouldn't be used (much as gets shouldn't be
60856         used).
60857         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60858
60859 2006-03-08  Simon Josefsson  <jas@extundo.com>
60860
60861         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60862         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60863
60864 2006-03-08  Simon Josefsson  <jas@extundo.com>
60865
60866         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60867         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60868
60869 2006-03-08  Simon Josefsson  <jas@extundo.com>
60870
60871         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60872         signal that configure disabled the device.
60873
60874 2006-03-08  Simon Josefsson  <jas@extundo.com>
60875
60876         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60877         languages.
60878
60879 2006-03-07  Simon Josefsson  <jas@extundo.com>
60880
60881         * modules/getopt (Depends-on): Add unistd.
60882
60883         * modules/unistd: New file.
60884
60885 2006-03-07  Simon Josefsson  <jas@extundo.com>
60886
60887         * modules/gc-random: New file.
60888
60889 2006-03-07  Simon Josefsson  <jas@extundo.com>
60890
60891         * m4/unistd_h.m4: New file.
60892
60893 2006-03-07  Simon Josefsson  <jas@extundo.com>
60894
60895         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60896         test to be side-effect free by storing the result in the cache
60897         variable gl_cv_lib_readline, and moving the assignment of
60898         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60899         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60900
60901 2006-03-07  Simon Josefsson  <jas@extundo.com>
60902
60903         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60904         error on missing devices (the functions will return an error).
60905
60906         * m4/gc.m4: Move random stuff to gc-random.m4
60907
60908 2006-03-07  Simon Josefsson  <jas@extundo.com>
60909
60910         * lib/unistd_.h: New file.
60911
60912 2006-03-07  Simon Josefsson  <jas@extundo.com>
60913
60914         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60915
60916 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60917
60918         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60919         Problem reported by Juan Manuel Guerrero.
60920
60921 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60922
60923         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60924         the unistd module.
60925         * lib/getlogin_r.c: Likewise.
60926         * lib/getlogin_r.h: Likewise.
60927         * lib/glob.c: Likewise.
60928         * lib/pagealign_alloc.c: Likewise.
60929         * lib/unistd_.h: Remove; no longer needed.
60930
60931 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60932
60933         * MODULES.html.sh (Support for systems lacking POSIX:2001):
60934         Add unistd.
60935         * modules/c-stack (Depends-on): Add unistd.
60936         * modules/getlogin_r: Likewise.
60937         * modules/glob: Likewise.
60938         * modules/pagealign_alloc: Likewise.
60939         * modules/unistd (Files): Remove lib/unistd_.h.
60940         (EXTRA_DIST): Remove.
60941         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
60942         need unistd_.h.
60943         (MOSTLYCLEANFILES): Remove unistd.h-t.
60944
60945 2006-03-03  Simon Josefsson  <jas@extundo.com>
60946
60947         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
60948
60949 2006-03-03  Simon Josefsson  <jas@extundo.com>
60950
60951         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
60952         libidn and bison.
60953
60954 2006-03-03  Simon Josefsson  <jas@extundo.com>
60955
60956         * build-aux/maint.mk: Add indent target.
60957
60958 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
60959
60960         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
60961         our replacement poll.h in any case, to avoid a differing
60962         declaration from a system header.  Seen on AIX.
60963
60964 2006-03-01  Simon Josefsson  <jas@extundo.com>
60965
60966         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
60967         <kasal@ucw.cz>.
60968
60969 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60970
60971         * modules/gettime (Depends-on): Add extensions module.
60972         * modules/nanosleep (Depends-on): Likewise.
60973         * modules/settime (Depends-on): Likewise.
60974
60975 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
60978         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
60979         pedantically.
60980         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60981         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
60982
60983         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
60984         not "==".  Reported by Ralf Wildenhues.
60985
60986 2006-03-01  Karl Berry  <karl@gnu.org>
60987
60988         * doc/Copyright/request-*: new files, synced from gnuorg.
60989
60990 2006-03-01  Karl Berry  <karl@gnu.org>
60991
60992         * config/srclist.txt (Copyright/*): new entries.
60993
60994 2006-02-28  Simon Josefsson  <jas@extundo.com>
60995
60996         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
60997
60998 2006-02-27  Simon Josefsson  <jas@extundo.com>
60999
61000         * lib/base64.h: Indent #define's.  From Jim Meyering
61001         <jim@meyering.net>.
61002
61003 2006-02-27  Jim Meyering  <jim@meyering.net>
61004
61005         Revert the change of 2006-02-24, so these files can continue
61006         to be sync'd from gettext.
61007         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
61008         of `config.h'.
61009
61010 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61011
61012         * modules/intprops: New file.
61013         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61014         Add intprops.
61015         * modules/getloadavg (Files): Remove lib/intprops.h.
61016         (Depends-on): Add intprops.
61017         * modules/human: Likewise.
61018         * modules/inttostr: Likewise.
61019         * modules/openat: Likewise.
61020         * modules/sig2str: Likewise.
61021         * modules/userspec: Likewise.
61022         * modules/utimecmp: Likewise.
61023         * modules/xnanosleep: Likewise.
61024         * modules/xstrtol: Likewise.
61025
61026 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
61027
61028         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
61029         * modules/lock-tests (TESTS): Use $(EXEEXT).
61030         * modules/tls-tests: Likewise.
61031         * modules/argp-tests: Likewise.
61032         (check_PROGRAMS): New var, replacing...
61033         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
61034
61035 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61036
61037         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
61038         `config.h'.
61039
61040 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61041
61042         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
61043
61044 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61045
61046         Sync from coreutils.
61047         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
61048         gl_CHDIR_SAFER.
61049
61050 2006-02-22  Jim Meyering  <jim@meyering.net>
61051
61052         Sync from coreutils.
61053         * m4/chdir-safer.m4: New file.
61054
61055 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61056
61057         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
61058         AT_FDCWD exceeds INT_MAX.
61059         * lib/openat.h (AT_FDCWD): Likewise.
61060
61061 2006-02-17  Eric Blake  <address@hidden>
61062
61063         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
61064
61065 2006-02-16  Simon Josefsson  <jas@extundo.com>
61066
61067         * modules/getaddrinfo (Depends-on): Add sys_socket.
61068
61069 2006-02-15  Simon Josefsson  <jas@extundo.com>
61070
61071         * build-aux/maint.mk: Add dsyntax-check rule.
61072
61073 2006-02-15  Eric Blake  <ebb9@byu.net>
61074
61075         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
61076         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
61077         'present but cannot compile' warnings on cygwin.
61078         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
61079         use ws2tcpip.h if sys/socket.h works.
61080         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
61081         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
61082
61083 2006-02-14  Simon Josefsson  <jas@extundo.com>
61084
61085         * modules/maintainer-makefile (Files): Rename.
61086
61087         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
61088         and (the local) Makefile.cfg to maint-cfg.mk.
61089
61090         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
61091         to the latter.
61092
61093         * modules/maintainer-makefile: New module.
61094
61095         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
61096         severaly stripped to make it possible to build it up from scratch
61097         with reliable tests.
61098
61099         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
61100         fixes to permit overriding the default actions when configure and
61101         makefile are not available.
61102
61103 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
61104
61105         Sync from coreutils.
61106         * modules/lstat (Depends-on): Don't depend on xalloc.
61107         (License): Change from GPL to LGPL, since this is now simply a
61108         replacement for a libc function.
61109
61110 2006-02-14  Jim Meyering  <jim@meyering.net>
61111
61112         Sync from coreutils.
61113
61114         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
61115         failure on deficient systems, and simplify gnulib lgpl dependencies.
61116         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
61117         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
61118
61119         * lib/xalloc-die.c: Remove unused definition of N_.
61120
61121 2006-02-14  Jim Meyering  <jim@meyering.net>
61122
61123         Sync from coreutils.
61124         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
61125         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
61126         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
61127         double-quote uses of that variable, to accommodate the rare case in
61128         which getmntent is available in none of the libraries checked.  This
61129         happens at least on FreeBSD 5.0.
61130
61131 2006-02-13  Simon Josefsson  <jas@extundo.com>
61132
61133         * gnulib-tool (Usage): Fix --import, from
61134         karl@freefriends.org (Karl Berry).
61135
61136 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61137
61138         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
61139
61140 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
61141
61142         * lib/argp-namefrob.h: Restore changes accidentally lost during the
61143         "autoupdate" on 2005-12-12.
61144
61145 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61146
61147         * modules/closeout (Depends-on): Remove atexit.
61148
61149 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61150
61151         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
61152         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
61153
61154 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61155
61156         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
61157         __EXTENSIONS__ if this causes compilation to fail.  Problem
61158         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
61159         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
61160
61161 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
61162
61163         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
61164         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
61165         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
61166         All uses changed.
61167
61168 2006-01-26  Simon Josefsson  <jas@extundo.com>
61169
61170         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
61171         prototype is visible on mingw32.
61172
61173         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
61174         for mingw32.
61175
61176         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
61177         mingw32).
61178
61179 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61180
61181         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
61182         attempt to open for write; this always fails, at least on POSIX
61183         hosts.  This reinstates the 2006-01-09 change, which was
61184         inadvertently removed.
61185
61186 2006-01-26  Bruno Haible  <bruno@clisp.org>
61187
61188         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
61189         Reported by Paul Eggert.
61190
61191 2006-01-26  Bruno Haible  <bruno@clisp.org>
61192             Paul Eggert  <eggert@cs.ucla.edu>
61193
61194         * lib/stdbool_.h (_Bool)
61195         [(! (defined __cplusplus || defined __BEOS__)
61196           && !defined __GNUC__
61197           && !(defined __HP_cc || defined __xlc__
61198                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
61199                || defined __sgi))]:
61200         #define to signed char in these cases too; this simplifies
61201         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
61202         etc., separately) and makes it more conservative.
61203
61204 2006-01-25  Simon Josefsson  <jas@extundo.com>
61205
61206         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
61207         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
61208         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
61209
61210 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61211
61212         * lib/argp-namefrob.h: Bugfix. Remove stray #
61213
61214 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61215
61216         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
61217         so that we test the test.
61218         Check for yet another HP-UX cc bug involving *bool |= bool.
61219
61220 2006-01-25  Karl Berry  <karl@gnu.org>
61221
61222         * config/srclist.txt (vasnprintf.c): sync lost.
61223
61224 2006-01-25  Jim Meyering  <jim@meyering.net>
61225
61226         Sync from the stable (b5) branch of coreutils:
61227
61228         * lib/fts.c (fts_children): Don't let close() clobber errno from
61229         failed fchdir().
61230
61231         * lib/fts.c (fts_stat): When following a symlink-to-directory,
61232         don't necessarily interpret stat-fails+lstat-succeeds as indicating
61233         a dangling symlink.  That can also happen at least for ELOOP.
61234         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
61235         FYI, this bug predates the inclusion of fts.c in coreutils.
61236
61237         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
61238         in their own block, so pre-c99 compilers don't object.
61239
61240         Avoid the double-free (first in fts_read, second in fts_close) that
61241         would occur when an `active' directory is made inaccessible (e.g.,
61242         via chmod a-x) during a traversal.
61243         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61244         before returning.  Reproduce this failure by
61245         mkdir -p a/b; cd a; chmod a-x . b
61246         Reported by Stavros Passas.
61247
61248 2006-01-25  Jim Meyering  <jim@meyering.net>
61249
61250         * lib/fileblocks.c: Remove more useless parentheses.
61251         * lib/readutmp.h: Likewise.
61252
61253 2006-01-25  Bruno Haible  <bruno@clisp.org>
61254
61255         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
61256         warnings.
61257         Reported by Paul Eggert.
61258
61259 2006-01-25  Bruno Haible  <bruno@clisp.org>
61260
61261         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
61262         rid of a trap command. For Solaris sh.
61263         Reported by Mark D. Baushke <mdb@gnu.org>.
61264
61265 2006-01-24  Simon Josefsson  <jas@extundo.com>
61266
61267         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
61268         Bruno.
61269
61270 2006-01-24  Karl Berry  <karl@gnu.org>
61271
61272         * config/srclist.txt (argp-namefrob.h): sync lost.
61273
61274 2006-01-24  Jim Meyering  <jim@meyering.net>
61275
61276         * modules/openat (Files): Add lib/intprops.h.
61277         From Mark D. Baushke.
61278
61279 2006-01-24  Jim Meyering  <jim@meyering.net>
61280
61281         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
61282         Reported by Mark D. Baushke.
61283
61284 2006-01-24  Jim Meyering  <jim@meyering.net>
61285
61286         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
61287
61288 2006-01-24  Bruno Haible  <bruno@clisp.org>
61289
61290         * modules/strnlen (Maintainer): Change from glibc to all.
61291
61292 2006-01-24  Bruno Haible  <bruno@clisp.org>
61293
61294         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
61295         Patch by Paul Eggert.
61296
61297 2006-01-24  Bruno Haible  <bruno@clisp.org>
61298
61299         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
61300         already has it.
61301         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
61302         2005-11-26.
61303
61304         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
61305         'signed char' to avoid problems with the built-in _Bool type.
61306         Reported by Paul Eggert on 2005-11-26.
61307
61308 2006-01-24  Bruno Haible  <bruno@clisp.org>
61309
61310         * gnulib-tool (func_import): Avoid constructing complicated sed
61311         expressions inside backquote.
61312         Report and solution by Mark D. Baushke <mdb@gnu.org>.
61313
61314 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
61315
61316         These changes imported from libc.
61317         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
61318         test and two separate function calls.
61319         * lib/strndup.c (__strndup): Add libc_hidden_def.
61320
61321 2006-01-23  Simon Josefsson  <jas@extundo.com>
61322
61323         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
61324         Remove the test_*_SOURCES variable: automake infers it by default.
61325         * modules/tls-tests: Likewise.
61326
61327 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61328
61329         Work around porting bugs reported by Dieter in
61330         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
61331         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
61332         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
61333         Include "getopt.h" first, to check interface.
61334         (getenv): Declare only if defined HAVE_DECL_GETENV &&
61335         !HAVE_DECL_GETENV.
61336         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
61337         (__strndup): Revert to K&R-style function dfns, the glibc style.
61338         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
61339         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
61340         Include strnlen.h first, to get prototype properly.
61341         (strnlen): Renamed from __strnlen.
61342         Remove weak alias.
61343
61344 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61345
61346         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
61347
61348 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61349
61350         * config/srclist.txt: Adjust to reflect glibc reorganization.
61351         This affects only comments.
61352
61353 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61354
61355          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
61356          Reported by Bruce Korb <bkorb@gnu.org>.
61357
61358 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
61359
61360         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
61361         to pacify gcc -Wswitch-default.
61362
61363 2006-01-22  Bruno Haible  <bruno@clisp.org>
61364
61365         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
61366         temporary buffer for sprintf, take into account the precision also
61367         for 'd', 'i', 'u', 'o', 'x', 'X'.
61368
61369 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61370
61371         * modules/argp-tests: New module
61372         * tests/test-argp.c: New file
61373         * tests/test-argp-2.sh: New file
61374
61375 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61376
61377         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
61378         (__argp_base_name): Removed
61379         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
61380         typo.
61381         (__argp_base_name): Provide macro definition or extern declaration
61382         depending on the configuration
61383
61384 2006-01-20  Simon Josefsson  <jas@extundo.com>
61385
61386         * modules/inet_ntop (Depends-on): Depend on sys_socket.
61387
61388 2006-01-20  Simon Josefsson  <jas@extundo.com>
61389
61390         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
61391
61392 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61393
61394         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
61395         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
61396         Suggested by Bruno Haible.
61397
61398 2006-01-20  Karl Berry  <karl@gnu.org>
61399
61400         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
61401         until changes propagate, I guess.
61402
61403 2006-01-19  Simon Josefsson  <jas@extundo.com>
61404
61405         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
61406
61407 2006-01-19  Simon Josefsson  <jas@extundo.com>
61408
61409         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
61410
61411 2006-01-19  Simon Josefsson  <jas@extundo.com>
61412
61413         * gnulib-tool: Set check_PROGRAMS.
61414
61415         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61416         modules/des-tests, modules/gc-arcfour-tests,
61417         modules/gc-arctwo-tests, modules/gc-des-tests,
61418         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61419         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61420         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61421         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61422         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61423         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
61424         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
61425         test_*_SOURCES.
61426
61427 2006-01-18  Simon Josefsson  <jas@extundo.com>
61428
61429         * modules/socklen (Depends-on): Depend on sys_socket.
61430
61431 2006-01-18  Simon Josefsson  <jas@extundo.com>
61432
61433         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61434         modules/des-tests, modules/gc-arcfour-tests,
61435         modules/gc-arctwo-tests, modules/gc-des-tests,
61436         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61437         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61438         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61439         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61440         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61441         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
61442         $(EXEEXT) to automake TESTS variable, for mingw32.
61443
61444 2006-01-17  Simon Josefsson  <jas@extundo.com>
61445
61446         * modules/socklen (Include): Need sys/socket.h.
61447
61448 2006-01-17  Bruno Haible  <bruno@clisp.org>
61449
61450         * modules/ssize_t (Include): Add <sys/types.h>.
61451
61452 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
61453
61454         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
61455         it's not portable and it doesn't work with cross-compiles.
61456         Problem reported by Bruno Haible.  Fix missing-$ typo in
61457         'test "gl_cv_ignore_unused_libraries" ...' that prevented
61458         -zignore from being used with Sun's C compiler.
61459
61460 2006-01-12  Simon Josefsson  <jas@extundo.com>
61461
61462         * lib/base64.c: Fix warning, reported by Bruno Haible
61463         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
61464
61465 2006-01-12  Bruno Haible  <bruno@clisp.org>
61466
61467         * modules/ldd: New file.
61468         * build-aux/ldd.sh.in: New file.
61469         * MODULES.html.sh (Support for building libraries and executables): Add
61470         ldd.
61471
61472 2006-01-12  Bruno Haible  <bruno@clisp.org>
61473
61474         * m4/ldd.m4: New file.
61475
61476 2006-01-12  Bruno Haible  <bruno@clisp.org>
61477
61478         * gnulib-tool (func_import, func_create_testdir): Don't go into an
61479         endless loop while replacing $auxdir with build-aux.
61480
61481 2006-01-11  Simon Josefsson  <jas@extundo.com>
61482
61483         * lib/stdint_.h (SIZE_MAX): Add missing (.
61484
61485 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61486
61487         Sync from coreutils.
61488         * lib/md5.c: Fix commentary typos.
61489         (alignof, UNALIGNED_P): No need for a GCC-specific version.
61490         * lib/md5.h (__attribute__): Remove; unused.
61491         * lib/sha1.c: Fix commentary to match md5 better.
61492         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
61493         so that we don't need to worry about alignment.  All uses changed.
61494         This merges the 2005-10-28 md5 change into sha1.
61495
61496 2006-01-11  Jim Meyering  <jim@meyering.net>
61497
61498         Sync from coreutils.
61499         * lib/md5.c (OP): Fix spacing.
61500
61501 2006-01-11  Bruno Haible  <bruno@clisp.org>
61502
61503         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61504         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
61505         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
61506
61507 2006-01-11  Bruno Haible  <bruno@clisp.org>
61508
61509         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61510         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
61511         the "early" section as well.
61512
61513 2006-01-11  Bruno Haible  <bruno@clisp.org>
61514
61515         Avoid "ar: no archive members specified" error on MacOS X.
61516         * gnulib-tool (func_modules_add_dummy): New function.
61517         (func_import, func_create_testdir): Invoke it.
61518
61519 2006-01-11  Bruno Haible  <bruno@clisp.org>
61520
61521         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
61522         with $auxdir in AC_CONFIG_FILES statements.
61523
61524 2006-01-11  Bruno Haible  <bruno@clisp.org>
61525
61526         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61527         Initialize also noinst_HEADERS to empty.
61528
61529 2006-01-11  Bruno Haible  <bruno@clisp.org>
61530
61531         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
61532         variables.
61533         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
61534         autoreconf.
61535
61536 2006-01-11  Bruno Haible  <bruno@clisp.org>
61537
61538         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
61539         overridable by the user.
61540         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61541
61542 2006-01-10  Simon Josefsson  <jas@extundo.com>
61543
61544         * modules/sys_socket: New file.
61545
61546 2006-01-10  Simon Josefsson  <jas@extundo.com>
61547
61548         * m4/sys_socket_h.m4: New file.
61549
61550 2006-01-10  Simon Josefsson  <jas@extundo.com>
61551
61552         * lib/socket_.h: New file.
61553
61554 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61555
61556         * modules/readutmp (Maintainer): Add myself.
61557
61558 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61559
61560         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
61561         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
61562         People who are still concerned with buggy memcmp implementations
61563         can invoke gl_FUNC_MEMCMP themselves.
61564
61565 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61566
61567         * lib/regex_internal.h (BITSET_WORD_BITS):
61568         Work around a bug in 64-bit PGC (before version 6.1-2), where the
61569         preprocessor mishandles large unsigned values as if they were signed.
61570         Problem reported by Claudio Fontana in
61571         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
61572
61573 2006-01-10  Jim Meyering  <jim@meyering.net>
61574
61575         Avoid the double-free (first in fts_read, second in fts_close) that
61576         would occur when an `active' directory is made inaccessible (e.g.,
61577         via chmod a-x) during a traversal.
61578         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61579         before returning.  Reproduce this failure by
61580         mkdir -p a/b; cd a; chmod a-x . b
61581         Reported by Stavros Passas.
61582
61583         Sync from coreutils.
61584         * lib/sha1.c: Tweak grammar in a comment.
61585
61586 2006-01-10  Jim Meyering  <jim@meyering.net>
61587
61588         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
61589         Patch by Joerg Sonnenberger.
61590
61591 2006-01-10  Bruno Haible  <bruno@clisp.org>
61592
61593         * modules/readutmp: Depend on module free.
61594         * modules/strtok_r: Depend on module restrict.
61595
61596 2006-01-10  Bruno Haible  <bruno@clisp.org>
61597
61598         * modules/gettext (configure.ac): Add an invocation of
61599         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
61600
61601 2006-01-10  Bruno Haible  <bruno@clisp.org>
61602
61603         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
61604         Reported by Werner Lemberg <wl@gnu.org>.
61605
61606 2006-01-10  Bruno Haible  <bruno@clisp.org>
61607
61608         * lib/localcharset.c: Update from GNU gettext.
61609
61610 2006-01-10  Bruno Haible  <bruno@clisp.org>
61611
61612         * lib/argp.h (__const): Remove macro. Use const instead.
61613         * lib/argp-fmtstream.h (__const): Likewise.
61614         * lib/glob_.h (__const): Remove macro.
61615         * lib/glob-libc.h: Use const instead of __const.
61616
61617 2006-01-10  Bruno Haible  <bruno@clisp.org>
61618
61619         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
61620         variable.
61621         Needed to avoid an automake error regarding the 'gettext' module.
61622
61623 2006-01-09  Simon Josefsson  <jas@extundo.com>
61624
61625         * modules/inet_ntop (Depends-on): Add restrict.
61626
61627 2006-01-09  Simon Josefsson  <jas@extundo.com>
61628
61629         * modules/gc-rijndael-tests (License): Put under LGPL.
61630
61631         * modules/gc-des-tests (License): Likewise.
61632
61633         * modules/gc-arcfour-tests (License): Likewise.
61634
61635         * modules/gc-arctwo-tests (License): Likewise.
61636
61637         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
61638
61639         * modules/gc-hmac-sha1-tests (Files): Likewise.
61640
61641         * modules/gc-hmac-md5-tests (License): Likewise.
61642
61643         * modules/gc-sha1-tests (License): Likewise.
61644
61645         * modules/gc-md5-tests (License): Likewise.
61646
61647         * modules/gc-md4-tests (License): Likewise.
61648
61649         * modules/gc-md2-tests (License): Likewise.
61650
61651         * modules/gc-tests (License): Likewise.
61652
61653         * modules/des-tests (License): Likewise.
61654
61655         * modules/md4-tests (License): Likewise.
61656
61657         * modules/md2-tests (License): Likewise.
61658
61659 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61660
61661         Sync from coreutils:
61662
61663         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
61664         * modules/lib-ignore: New file.
61665         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
61666         chdir-safer.m4, lchmod.m4.
61667         * modules/openat: Add mkdirat.c, openat-priv.h.
61668
61669 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61670
61671         Sync from coreutils.
61672         * m4/lib-ignore.m4: New file.
61673         * m4/lchmod.m4: New file.
61674
61675 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61676
61677         Sync from coreutils.
61678         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
61679         for write access: POSIX says that must fail.
61680         * lib/fts.c (diropen): Likewise.
61681         * lib/save-cwd.c (save_cwd): Likewise.
61682         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
61683         well, for minor improvements on hosts that lack O_DIRECTORY.
61684         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
61685         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
61686         Fall back on chown if open failed with EACCES.
61687
61688         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
61689         Report an error at compile-time if only a 1-second nominal clock
61690         resolution is found.
61691
61692         * lib/lchmod.h: New file.
61693         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61694         (make_dir_parents): Use lchown rather than chown, and
61695         lchmod rather than chmod.
61696
61697         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61698         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61699         "proc" reported by n0dalus.
61700
61701         * lib/mountlist.c: Include <limits.h>.
61702         (dev_from_mount_options)
61703         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61704         New function.  It no longer assumes "dev=" has the System V meaning
61705         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61706         (read_file_system_list)
61707         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61708         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61709         dev= in that case.
61710
61711         * lib/posixtm.h (PDS_PRE_2000): New macro.
61712         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61713         allow_century.  All usages changed.  Reject dates outside the range
61714         1969-1999 if PDS_PRE_2000 is used.
61715
61716 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61717
61718         Sync from coreutils.
61719         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61720         (Time of day items): Mention the possibility of leap seconds.
61721         Problem reported by Dr. David Alan Gilbert.
61722
61723 2006-01-09  Jim Meyering  <jim@meyering.net>
61724
61725         Sync from coreutils.
61726
61727         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61728
61729         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61730
61731         * lib/modechange.c (mode_compile): Reject an invalid mode string
61732         that starts with an octal digit.  From Andreas Gruenbacher.
61733
61734         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61735         and dup to open_safer and dup_safer, respectively.
61736         (openat_permissive): Fix typo in comment.
61737
61738         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61739         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61740         (_): Remove; no longer needed.
61741         (openat): Renamed from rpl_openat; no need for rpl_openat
61742         since openat.h renames openat for us.
61743         Replace most of the body with a call to openat_permissive,
61744         to avoid duplicate code.
61745         Port to (probably hypothetical) environments were mode_t is
61746         wider than int.
61747         (openat_permissive): Require mode arg, so that we can check
61748         types better.  Put it just after flags.  Change cwd failure
61749         indicator from pointer-to-bool to pointer-to-errno-value.
61750         All callers changed.
61751         Invoke openat_save_fail and/or openat_restore_fail if
61752         cwd_errno is null, so that openat can call us.
61753         (openat_permissive, fdopendir, fstatat, unlinkat):
61754         Simplify errno handling to avoid some duplicate code,
61755         as it's OK to set errno on success.
61756         * lib/openat.h: Revamp code so that function macros depend on
61757         __OPENAT_PREFIX only, not also on AT_FDCWD.
61758         (openat_ro): Remove.  Caller changed to use openat_permissive.
61759         (openat_permissive): Now a macro, if not a function.
61760         (openat_restore_fail, openat_save_fail): Now always functions,
61761         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61762
61763         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61764         and openat.c.
61765         * lib/mkdirat.c: Include openat-priv.h.
61766         Remove definitions of macros defined therein.
61767         * lib/openat.c: Likewise.
61768
61769         * lib/mkdirat.c (mkdirat): New file and function.
61770         * lib/openat.h (mkdirat): Declare.
61771
61772         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61773
61774         * lib/openat.h (openat_permissive): Declare.
61775         (openat_ro): Define.
61776
61777         * lib/openat.c (EXPECTED_ERRNO): New macro.
61778         (openat_permissive): New function -- used in remove.c rewrite.
61779         (all functions): Set errno just before returning, only if there
61780         was an actual failure.
61781         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61782
61783         Emulate openat-family functions using Linux's procfs, if possible.
61784         Idea and some code based on Ulrich Drepper's glibc changes.
61785
61786         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61787         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61788         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61789         before falling back on save_cwd and restore_cwd.
61790         (fdopendir, fstatat, unlinkat): Likewise.
61791
61792         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61793         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61794
61795         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61796         as second argument to va_arg.  Otherwise, some versions of gcc
61797         warn that `if this code is reached, the program will abort'.
61798
61799 2006-01-09  Jim Meyering  <jim@meyering.net>
61800
61801         Sync from coreutils.
61802         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61803         Require openat-priv.h.
61804
61805 2006-01-09  Bruno Haible  <bruno@clisp.org>
61806
61807         * modules/strnlen (Include): Use strnlen.h.
61808
61809 2006-01-09  Bruno Haible  <bruno@clisp.org>
61810
61811         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61812
61813 2006-01-09  Bruno Haible  <bruno@clisp.org>
61814
61815         * lib/sysexit_.h (EX_OK): New macro.
61816         Suggested by Martin Lambers <marlam@marlam.de>.
61817
61818 2006-01-09  Bruno Haible  <bruno@clisp.org>
61819
61820         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61821         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61822
61823 2006-01-09  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61826         numbers.
61827
61828 2006-01-09  Bruno Haible  <bruno@clisp.org>
61829
61830         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61831         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61832         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61833         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61834
61835 2006-01-09  Bruno Haible  <bruno@clisp.org>
61836
61837         * build-aux/javacomp.sh.in: New file, moved from lib/.
61838         * modules/javacomp-script (Files): Update.
61839         (configure.ac): Add AC_CONFIG_FILES invocation.
61840         (EXTRA_DIST): Remove variable.
61841
61842         * build-aux/javaexec.sh.in: New file, moved from lib/.
61843         * modules/javaexec (Files): Update.
61844         (configure.ac): Add AC_CONFIG_FILES invocation.
61845         (EXTRA_DIST): Remove javaexec.sh.in.
61846
61847         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61848         * modules/csharpcomp-script (Files): Update.
61849         (configure.ac): Add AC_CONFIG_FILES invocation.
61850         (EXTRA_DIST): Remove variable.
61851
61852         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61853         * modules/csharpexec (Files): Update.
61854         (configure.ac): Add AC_CONFIG_FILES invocation.
61855         (EXTRA_DIST): Remove csharpexec.sh.in.
61856
61857 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61858
61859         Sync from coreutils.
61860
61861         Add POSIX ACL support
61862         * lib/acl.h (copy_acl, set_acl): Add declarations.
61863         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61864         systems other than Linux.
61865         (chmod_or_fchmod): New function: use fchmod when possible,
61866         and chmod otherwise.
61867         (file_has_acl): Add a POSIX ACL implementation, with a
61868         Linux-specific subcase.
61869         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61870         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61871         acls are unsupported.
61872         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61873         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61874         are unsupported.
61875
61876 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61877
61878         Sync from coreutils.
61879         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61880
61881 2006-01-07  Bruno Haible  <bruno@clisp.org>
61882
61883         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61884         gl_EARLY.
61885
61886 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61887
61888         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61889         Problem reported for Mingw by Mark Junker.
61890
61891 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61892
61893         * README: Gnulib normally doesn't generate a tarball.
61894
61895 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61896
61897         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61898         long int, not int, for nanosecond counts, so that people who are
61899         used to POSIX struct timespec won't be surprised.  Reported by Jim
61900         Meyering.
61901
61902 2005-12-28  Bruno Haible  <bruno@clisp.org>
61903
61904         * build-aux/config.rpath: Update from GNU gettext.
61905
61906 2005-12-16  Jim Meyering  <jim@meyering.net>
61907
61908         * modules/fprintftime: New module.
61909         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61910
61911 2005-12-16  Jim Meyering  <jim@meyering.net>
61912
61913         * m4/fprintftime.m4: New file.
61914
61915 2005-12-16  Jim Meyering  <jim@meyering.net>
61916
61917         * lib/fprintftime.c, lib/fprintftime.h: New files.
61918
61919 2005-12-15  Simon Josefsson  <jas@extundo.com>
61920
61921         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61922         new m4/socklen.m4.
61923
61924 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61925
61926         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
61927         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
61928
61929 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61930
61931         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
61932         * lib/argp-help.c (fill_in_uparams): Check if the constructed
61933         struct uparams is valid. Fall back to the default values if it is
61934         not.
61935
61936 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61937
61938         * modules/argp (Files): Add argp-pin.c
61939         (Depends-on): dirname
61940         (lib_SOURCES): Add argp-pin.c
61941
61942 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61943
61944         * m4/argp.m4:  Check if program_invocation_name and
61945         program_invocation_short_name are declared and define appropriate
61946         macros if they are not.
61947
61948 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61949
61950         * lib/argp-help.c (__argp_base_name): New function
61951         (__argp_short_program_name): Rewrite using __argp_base_name
61952         * lib/argp-namefrob.h: Define program_invocation_name and
61953         program_invocation_short_name if requested
61954         (__argp_base_name): Add prototype
61955         * lib/argp-parse.c (argp_def): Use gettext wrappers
61956         (argp_default_parser): Use __argp_base_name
61957         * lib/argp-pin.c: New file. Defines program_invocation_name and
61958         program_invocation_short_name on systems that lack them.
61959
61960 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61961
61962         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
61963         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61964         porting problem reported by Georg Schwarz in
61965         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61966
61967 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61968
61969         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
61970         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61971         porting problem reported by Georg Schwarz in
61972         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61973
61974 2005-12-05  Bruno Haible  <bruno@clisp.org>
61975
61976         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
61977         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
61978         Reported by Mark Junker <mjscod@gmx.de>.
61979
61980 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
61981
61982         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
61983         Use implementation from Albert Chin, with some
61984         comments/corrections by Stepan Kasal and myself.
61985
61986 2005-12-02  Bruno Haible  <bruno@clisp.org>
61987
61988         * gnulib-tool (func_import): Accept GPLed build tool modules when
61989         --lgpl is given.
61990         * modules/csharpcomp-script: New file.
61991         * modules/csharpcomp: Depend on it.
61992         * modules/javacomp-script: New file.
61993         * modules/javacomp: Depend on it.
61994         Suggested by Simon Josefsson.
61995
61996 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61997
61998         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
61999         statement, to work around an HP-UX 10.20 compiler bug reported by
62000         Peter O'Gorman.
62001
62002 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62003
62004         * modules/savedir (Depends-on): Add openat.
62005
62006 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62007
62008         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
62009         (uintmax_t) [defined uintmax_t]: Do not declare.
62010         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
62011         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
62012         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
62013         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
62014         sake of portability to weird hosts that C allows (though we don't
62015         know of any practical examples).
62016
62017         * lib/savedir.h (fdsavedir): New decl.
62018         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
62019         contains most of the former guts of savedir.
62020         (savedir): Use savedirstream.
62021         Include "openat.h".
62022
62023 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62024
62025         * modules/obstack (Files): Add m4/ulonglong.m4.
62026         Problem reported by Davide Angelocola.
62027
62028 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62029
62030         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
62031         coreutils no longer futzes with rounding modes.
62032
62033 2005-11-14  Jim Meyering  <jim@meyering.net>
62034
62035         * lib/mkstemp-safer.c: Include <config.h>, required for possible
62036         replacement of mkstemp.
62037
62038 2005-11-10  Simon Josefsson  <jas@extundo.com>
62039
62040         * lib/readline.c: Remove EOL.
62041
62042 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62043
62044         * modules/gethrxtime (Depends-on): Add gettime.
62045
62046 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62047
62048         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
62049         or gettimeofday; no longer needed.
62050
62051 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62052
62053         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
62054         time business.
62055         (gethrxtime) [! (HAVE_NANOUPTIME
62056         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
62057         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
62058         our own approximation.
62059
62060 2005-11-08  Eric Blake  <ebb9@byu.net>
62061
62062         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62063
62064 2005-11-08  Eric Blake  <ebb9@byu.net>
62065
62066         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62067
62068 2005-11-04  Bruno Haible  <bruno@clisp.org>
62069
62070         * gnulib-tool: Implement --update mode.
62071
62072 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62073
62074         Fix porting problem reported by Theodoros V. Kalamatianos.
62075         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
62076         Don't assume that futimes failing means we must fail.
62077
62078 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62079
62080         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
62081         variables to suggest the intended function of the PATH_MAX check.
62082
62083 2005-10-30  Kean Johnston  <jkj@sco.com>
62084
62085         Trivial changes to support SCO systems.
62086         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
62087         as PATH_MAX.
62088         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
62089         where __ptr is null when no I/O is pending.
62090
62091 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62092
62093         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
62094         leave errno alone.  Problem reported by Dmitry V. Levin.
62095
62096 2005-10-28  Simon Josefsson  <jas@extundo.com>
62097
62098         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
62099         Test more.
62100
62101         * tests/test-gc-md2.c, tests/test-md2.c: New files.
62102
62103         * modules/md2, modules/md2-tests: New files.
62104
62105 2005-10-28  Simon Josefsson  <jas@extundo.com>
62106
62107         * m4/inet_ntop.m4: More tests.
62108
62109         * m4/gc-md2.m4, md2.m4: New file.
62110
62111 2005-10-28  Simon Josefsson  <jas@extundo.com>
62112
62113         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
62114         "restrict" keywords, as per POSIX.  Protect the function
62115         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
62116         Don't use K&R prototypes.  Check the sprintf return values.
62117         Re-define EAFNOSUPPORT if not present.  Indent.
62118
62119         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
62120         suggested by Bruno Haible <bruno@clisp.org>.
62121
62122         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
62123
62124         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
62125
62126         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
62127         libgcrypt).
62128
62129         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
62130
62131         * lib/md2.h, lib/md2.c: New files.
62132
62133 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
62134
62135         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
62136         errno alone.  Problem reported by Frederic Jolliton.
62137
62138 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62139
62140         * modules/verify (License): Change from GPL to LGPL.  This is a
62141         tiny module and there are apparently near-equivalents that are
62142         under the BSD license.
62143
62144 2005-10-24  Simon Josefsson  <jas@extundo.com>
62145
62146         * modules/sha1: Relicense to LGPL.
62147
62148 2005-10-24  Simon Josefsson  <jas@extundo.com>
62149
62150         * lib/md4.h: Shrink buffer size, now that we changed the type.
62151
62152 2005-10-23  Simon Josefsson  <jas@extundo.com>
62153
62154         * gnulib-tool (func_import): Fix --tests-base.
62155
62156 2005-10-22  Simon Josefsson  <jas@extundo.com>
62157
62158         * modules/arcfour (Depends-on): Need stdint.
62159
62160 2005-10-22  Simon Josefsson  <jas@extundo.com>
62161
62162         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
62163         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
62164
62165 2005-10-22  Simon Josefsson  <jas@extundo.com>
62166
62167         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
62168         suggested by Bruno Haible <bruno@clisp.org>.
62169
62170 2005-10-22  Simon Josefsson  <jas@extundo.com>
62171
62172         * lib/crc.h: Include stddef.h, for size_t.
62173
62174 2005-10-22  Simon Josefsson  <jas@extundo.com>
62175
62176         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
62177         arcfour_context struct (simplify test vector testing in GNU
62178         Shishi).
62179
62180 2005-10-21  Simon Josefsson  <jas@extundo.com>
62181
62182         * modules/des, modules/des-tests: New files.
62183
62184         * modules/gc-des, modules/gc-des-tests: New files.
62185
62186         * tests/test-des.c, tests/test-gc-des.c: New file.
62187
62188 2005-10-21  Simon Josefsson  <jas@extundo.com>
62189
62190         * modules/arctwo, modules/arctwo-tests: New files.
62191
62192         * tests/test-arctwo.c: New file.
62193
62194         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
62195
62196         * tests/test-gc-arctwo.c: New file.
62197
62198 2005-10-21  Simon Josefsson  <jas@extundo.com>
62199
62200         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
62201         Bruno Haible <bruno@clisp.org>.
62202
62203         * m4/gc-des.m4: New file.
62204
62205 2005-10-21  Simon Josefsson  <jas@extundo.com>
62206
62207         * m4/arctwo.m4: New file.
62208
62209         * m4/gc-arctwo.m4: New file.
62210
62211 2005-10-21  Simon Josefsson  <jas@extundo.com>
62212
62213         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
62214         block.
62215
62216 2005-10-21  Simon Josefsson  <jas@extundo.com>
62217
62218         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
62219         <bruno@clisp.org>.
62220
62221         * lib/hmac-sha1.c (hmac_sha1): Likewise.
62222
62223         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
62224         Bruno Haible <bruno@clisp.org>.
62225
62226         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
62227         <bruno@clisp.org>.
62228
62229 2005-10-21  Simon Josefsson  <jas@extundo.com>
62230
62231         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
62232
62233 2005-10-21  Simon Josefsson  <jas@extundo.com>
62234
62235         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
62236
62237 2005-10-21  Simon Josefsson  <jas@extundo.com>
62238
62239         * lib/des.h, lib/des.c: New files.
62240
62241         * lib/gc-gnulib.c: Support DES.c
62242
62243 2005-10-21  Simon Josefsson  <jas@extundo.com>
62244
62245         * lib/arctwo.h, lib/arctwo.c: New files.
62246
62247         * lib/gc-gnulib.c: Support ARCTWO.
62248
62249 2005-10-21  Simon Josefsson  <jas@extundo.com>
62250
62251         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
62252         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62253
62254 2005-10-21  Simon Josefsson  <jas@extundo.com>
62255
62256         * gnulib-tool (func_import, func_create_testdir): Define automake
62257         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
62258         Makefile.am snippet),
62259         suggested by Bruno Haible <bruno@clisp.org>.
62260
62261         * modules/gc (Makefile.am): Use it.
62262
62263 2005-10-21  Bruno Haible  <bruno@clisp.org>
62264
62265         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
62266         patch.
62267
62268 2005-10-19  Simon Josefsson  <jas@extundo.com>
62269
62270         * tests/test-gc-rijndael.c: New file.
62271
62272         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
62273
62274 2005-10-19  Simon Josefsson  <jas@extundo.com>
62275
62276         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
62277         interface too.
62278
62279 2005-10-19  Simon Josefsson  <jas@extundo.com>
62280
62281         * tests/test-gc-arcfour.c: New file.
62282
62283         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
62284
62285 2005-10-19  Simon Josefsson  <jas@extundo.com>
62286
62287         * modules/gc-md4, modules/gc-md4-tests: New file.
62288
62289         * tests/test-gc-md4.c: New file.
62290
62291 2005-10-19  Simon Josefsson  <jas@extundo.com>
62292
62293         * m4/gc-md4.m4: New file.
62294
62295 2005-10-19  Simon Josefsson  <jas@extundo.com>
62296
62297         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
62298         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
62299         <kasal@ucw.cz>.
62300
62301 2005-10-19  Simon Josefsson  <jas@extundo.com>
62302
62303         * m4/gc-arcfour.m4: New file.
62304
62305         * m4/gc-rijndael.m4: New file.
62306
62307 2005-10-19  Simon Josefsson  <jas@extundo.com>
62308
62309         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
62310
62311 2005-10-19  Simon Josefsson  <jas@extundo.com>
62312
62313         * lib/gc-gnulib.c: Support ARCFOUR.
62314
62315 2005-10-19  Simon Josefsson  <jas@extundo.com>
62316
62317         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
62318         support.
62319
62320         * lib/gc.h: Add ECB enum type.
62321
62322         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
62323
62324 2005-10-18  Simon Josefsson  <jas@extundo.com>
62325
62326         * tests/test-md5.c: New file.
62327
62328         * modules/md5-tests: New file.
62329
62330 2005-10-18  Simon Josefsson  <jas@extundo.com>
62331
62332         * tests/test-md4.c: New file.
62333
62334         * modules/md4, modules/md4-tests: New files.
62335
62336 2005-10-18  Simon Josefsson  <jas@extundo.com>
62337
62338         * m4/md4.m4: New file.
62339
62340 2005-10-18  Simon Josefsson  <jas@extundo.com>
62341
62342         * lib/md4.h, lib/md4.c: New files, based on md5.?.
62343
62344 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
62345
62346         * gnulib-tool (func_create_testdir): Omit the second check whether
62347         BUILT_SOURCES in nonempty.
62348
62349 2005-10-17  Simon Josefsson  <jas@extundo.com>
62350
62351         * tests/test-rijndael.c: New file.
62352
62353 2005-10-17  Simon Josefsson  <jas@extundo.com>
62354
62355         * modules/sha1: Depend on stdint instead of md5.
62356
62357         * modules/md5: Depend on stdint, remove uint32_t.
62358
62359 2005-10-17  Simon Josefsson  <jas@extundo.com>
62360
62361         * modules/gc-sha1-tests: New file.
62362
62363         * tests/test-gc-sha1.c: New file.
62364
62365 2005-10-17  Simon Josefsson  <jas@extundo.com>
62366
62367         * m4/md5.m4: Remove call to uint32_t.m4.
62368
62369 2005-10-17  Simon Josefsson  <jas@extundo.com>
62370
62371         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
62372
62373         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
62374         md5.h.
62375
62376         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
62377
62378         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
62379
62380 2005-10-17  Simon Josefsson  <jas@extundo.com>
62381
62382         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
62383
62384 2005-10-17  Simon Josefsson  <jas@extundo.com>
62385
62386         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
62387
62388 2005-10-17  Simon Josefsson  <jas@extundo.com>
62389
62390         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
62391
62392         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
62393
62394 2005-10-17  Bruno Haible  <bruno@clisp.org>
62395
62396         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
62397         that it can also be used in a test.
62398
62399 2005-10-16  Bruno Haible  <bruno@clisp.org>
62400
62401         * gnulib-tool (func_emit_tests_Makefile_am): Also define
62402         TESTS_ENVIRONMENT, so that individual tests can augment it.
62403
62404         * gnulib-tool (func_create_testdir): Use an intermediate target for
62405         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
62406         macros, like $(ALLOCA_H), which cannot be passed through the command
62407         line.
62408
62409 2005-10-15  Simon Josefsson  <jas@extundo.com>
62410
62411         * modules/rijndael-tests: New file.
62412
62413         * modules/rijndael: New file.
62414
62415 2005-10-15  Simon Josefsson  <jas@extundo.com>
62416
62417         * m4/rijndael.m4: New file.
62418
62419 2005-10-15  Simon Josefsson  <jas@extundo.com>
62420
62421         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
62422
62423         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
62424
62425 2005-10-14  Simon Josefsson  <jas@extundo.com>
62426
62427         * tests/test-arcfour.c: New file.
62428
62429         * modules/arcfour, modules/arcfour-tests: New files.
62430
62431 2005-10-14  Simon Josefsson  <jas@extundo.com>
62432
62433         * m4/arcfour.m4: New file.
62434
62435 2005-10-14  Simon Josefsson  <jas@extundo.com>
62436
62437         * lib/arcfour.h, lib/arcfour.c: New files.
62438
62439 2005-10-14  Roland McGrath  <roland@redhat.com>
62440
62441         Import from libc.  [BZ #1331]
62442         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
62443         macro argument.
62444         Reported by Matej Vela <vela@debian.org>.
62445
62446 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62447
62448         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
62449         include <wchar.h>; no longer needed.
62450
62451 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62452
62453         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
62454
62455 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
62456         and  Ulrich Drepper  <drepper@redhat.com>
62457
62458         Import from libc.
62459         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
62460         instead of inline stream orientation test and two separate
62461         function calls.  Pay no attention to USE_IN_LIBIO.
62462
62463 2005-10-13  Simon Josefsson  <jas@extundo.com>
62464
62465         * modules/gc-hmac-md5-tests: New file.
62466
62467         * tests/test-gc-hmac-sha1.c: New file.
62468
62469         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
62470
62471         * modules/gc-hmac-md5-tests: New file.
62472
62473         * tests/test-gc-md5.c: New file.
62474
62475         * modules/gc-md5-tests: New file.
62476
62477 2005-10-13  Simon Josefsson  <jas@extundo.com>
62478
62479         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
62480         Move memory allocation outside of loop.
62481
62482 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
62483
62484         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
62485         intermediate directory is in a read-only file system.  Problem
62486         reported by Eric Blake.
62487
62488 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
62489
62490         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
62491
62492 2005-10-12  Simon Josefsson  <jas@extundo.com>
62493
62494         * tests/test-hmac-sha1.c: New file.
62495
62496         * modules/hmac-sha1-tests: New file.
62497
62498         * modules/hmac-sha1: New file.
62499
62500 2005-10-12  Simon Josefsson  <jas@extundo.com>
62501
62502         * modules/gc-sha1: New file.
62503
62504 2005-10-12  Simon Josefsson  <jas@extundo.com>
62505
62506         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
62507
62508         * tests/test-gc-pbkdf2-sha1.c: New file.
62509
62510 2005-10-12  Simon Josefsson  <jas@extundo.com>
62511
62512         * modules/gc-md5, modules/gc-hmac-md5: New files.
62513
62514         * modules/gc (Files): Remove md5, memxor and hmac files.
62515
62516 2005-10-12  Simon Josefsson  <jas@extundo.com>
62517
62518         * m4/gc-pbkdf2-sha1.m4: New file.
62519
62520         * m4/gc-hmac-sha1.m4: New file.
62521
62522         * m4/gc-sha1: New file.
62523
62524         * m4/hmac-sha1.m4: New file.
62525
62526 2005-10-12  Simon Josefsson  <jas@extundo.com>
62527
62528         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
62529
62530         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
62531
62532 2005-10-12  Simon Josefsson  <jas@extundo.com>
62533
62534         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
62535         suggested by Bruno Haible <bruno@clisp.org>.
62536
62537 2005-10-12  Simon Josefsson  <jas@extundo.com>
62538
62539         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
62540
62541 2005-10-12  Simon Josefsson  <jas@extundo.com>
62542
62543         * lib/gc-pbkdf2-sha1.c: New file.
62544
62545         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
62546
62547 2005-10-12  Simon Josefsson  <jas@extundo.com>
62548
62549         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
62550
62551         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
62552
62553 2005-10-12  Simon Josefsson  <jas@extundo.com>
62554
62555         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
62556         GC_USE_HMAC_MD5, respectively.
62557
62558         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
62559         (gc_md5): Fix typo.
62560
62561         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
62562
62563         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
62564
62565         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
62566
62567 2005-10-12  Bruno Haible  <bruno@clisp.org>
62568
62569         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
62570         Reported by Stepan Kasal <kasal@ucw.cz>.
62571
62572 2005-10-11  Simon Josefsson  <jas@extundo.com>
62573
62574         * tests/test-crc.c: New file.
62575
62576         * modules/crc, modules/crc-tests: New files.
62577
62578 2005-10-11  Simon Josefsson  <jas@extundo.com>
62579
62580         * m4/crc.m4: New file.
62581
62582 2005-10-11  Simon Josefsson  <jas@extundo.com>
62583
62584         * lib/gc.h: Add gc_hash and gc_hash_buffer.
62585
62586         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
62587
62588         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
62589
62590 2005-10-11  Simon Josefsson  <jas@extundo.com>
62591
62592         * lib/crc.h, lib/crc.c: New files.
62593
62594         * lib/gc.h (gc_hash_buffer): Add doc.
62595
62596 2005-10-11  Bruno Haible  <bruno@clisp.org>
62597
62598         * modules/c-strcasestr: New file.
62599         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
62600
62601 2005-10-11  Bruno Haible  <bruno@clisp.org>
62602
62603         * modules/c-strcase: New file.
62604         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
62605
62606 2005-10-11  Bruno Haible  <bruno@clisp.org>
62607
62608         * lib/strcasecmp.c: Include limits.h.
62609         (strcasecmp): Avoid integer overflow on exotic platforms.
62610         * lib/strncasecmp.c: Include limits.h.
62611         (strncasecmp): Avoid integer overflow on exotic platforms.
62612         Reported by Paul Eggert.
62613
62614 2005-10-11  Bruno Haible  <bruno@clisp.org>
62615
62616         * lib/c-strcasestr.h: New file, from GNU gettext.
62617         * lib/c-strcasestr.c: New file, from GNU gettext.
62618
62619 2005-10-11  Bruno Haible  <bruno@clisp.org>
62620
62621         * lib/c-strcase.h: New file, from GNU gettext.
62622         * lib/c-strcasecmp.c: New file, from GNU gettext.
62623         * lib/c-strncasecmp.c: New file, from GNU gettext.
62624
62625 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62626
62627         * modules/mempcpy (License): GPL -> LGPL.
62628         * modules/strchrnul (License): Likewise.
62629         * modules/sysexits (License): Likewise.
62630
62631 2005-10-08  Simon Josefsson  <jas@extundo.com>
62632
62633         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
62634
62635 2005-10-07  Simon Josefsson  <jas@extundo.com>
62636
62637         * m4/memxor.m4: Remove gl_C_RESTRICT call.
62638
62639 2005-10-06  Simon Josefsson  <jas@extundo.com>
62640
62641         * tests/test-hmac-md5.c: New file.
62642
62643         * modules/hmac-md5-tests: New file.
62644
62645         * modules/hmac-md5: New file.
62646
62647 2005-10-06  Simon Josefsson  <jas@extundo.com>
62648
62649         * m4/hmac-md5.m4: New file.
62650
62651         * m4/memxor.m4: Require gl_C_RESTRICT.
62652
62653 2005-10-06  Simon Josefsson  <jas@extundo.com>
62654
62655         * lib/memxor.c (memxor): Avoid casts and warnings.
62656
62657 2005-10-06  Simon Josefsson  <jas@extundo.com>
62658
62659         * lib/hmac-md5.c: New file.
62660
62661         * lib/hmac.h: New file.
62662
62663 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62664
62665         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
62666         promotes to int, not unsigned int, to catch the AIX 5.3
62667         compiler bug.
62668
62669 2005-10-05  Simon Josefsson  <jas@extundo.com>
62670
62671         * modules/memxor: New file.
62672
62673         * modules/iconv (Files): Move config.rpath to havelib, it is used
62674         there.
62675
62676         * modules/havelib (Files): Add config.rpath.
62677
62678 2005-10-05  Simon Josefsson  <jas@extundo.com>
62679
62680         * m4/memxor.m4: New file.
62681
62682 2005-10-05  Simon Josefsson  <jas@extundo.com>
62683
62684         * lib/memxor.c (memxor): Fix compiler error.
62685
62686         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
62687         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
62688
62689         * lib/memxor.h, lib/memxor.c: New files.
62690
62691         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62692         we assume all systems have it, suggested by Jim Meyering
62693         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62694         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62695         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62696         same reasons.
62697
62698 2005-10-05  Simon Josefsson  <jas@extundo.com>
62699
62700         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62701
62702 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62703
62704         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62705         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62706         needed, since the source code now assumes these .h files.
62707
62708 2005-10-05  Derek Price  <derek@ximbiot.com>
62709
62710         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62711
62712 2005-10-05  Bruno Haible  <bruno@clisp.org>
62713
62714         * modules/stdint (License): Change to LGPL.
62715
62716 2005-10-04  Simon Josefsson  <jas@extundo.com>
62717
62718         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62719         D. Baushke" <mdb@gnu.org>.
62720
62721 2005-10-04  Bruno Haible  <bruno@clisp.org>
62722
62723         * lib/verify.h (verify_true): Provide alternative definition for C++.
62724
62725 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62728         (SSIZE_MAX): New macro, if not already defined.
62729         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62730         than 2 GiB.
62731
62732 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62733
62734         Sync from coreutils.
62735         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62736         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62737         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62738         ULLONG_MAX doesn't work with 2.7.2.1.
62739
62740 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62741
62742         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62743         From Ben Pfaff.
62744
62745         * modules/exclude (Depends-on): Depend on verify.
62746         * modules/strtoimax (Depends-on): Likewise.
62747         * modules/utimecmp (Depends-on): Likewise.
62748
62749 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62750
62751         * lib/exclude.c: Include verify.h.
62752         (verify): Remove.  All callers changed to use verify.h's version.
62753         * lib/strtoimax.c: Likewise.
62754         * lib/utimecmp.c: Likewis.e
62755
62756         Sync from coreutils.
62757         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62758         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62759         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62760         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62761         bother returning ENOSYS if settimeofday or stime fails; just let
62762         them return whatever errno they want to return.
62763         * lib/utimens.c: Include unistd.h, for dup2.
62764         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62765         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62766
62767 2005-10-02  Jim Meyering  <jim@meyering.net>
62768
62769         Sync from coreutils.
62770         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62771         from glibc-2.2.5 that fails for read-only files.
62772
62773 2005-10-02  Jim Meyering  <jim@meyering.net>
62774
62775         Sync from coreutils.
62776         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62777         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62778         `#if HAVE_CONFIG_H'.
62779         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62780         Remove AT_FDCWD test.
62781         Do not consume the fd unless successful.
62782         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62783         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62784         block, so that we don't even try to compile it if settimeofday is
62785         available.  This works around a compilation failure on OSF1 V5.1,
62786         due to stime requiring a `long int*' while tv_sec is `int'.
62787
62788 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62789
62790         Sync from coreutils.
62791         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62792         against `yes', rather than just testing for nonempty.
62793
62794 2005-10-01  Simon Josefsson  <jas@extundo.com>
62795
62796         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62797         and Darwin.
62798
62799         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62800         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62801         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62802         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62803         Check if struct addrinfo is declared.
62804
62805 2005-10-01  Simon Josefsson  <jas@extundo.com>
62806
62807         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62808         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62809         AI_* and EAI_* definitions.  Protect function declarations.
62810
62811 2005-10-01  Jim Meyering  <jim@meyering.net>
62812
62813         Sync from coreutils.
62814
62815         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62816         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62817         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62818         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62819         in the inet and nsl libraries.  Required on Solaris 5.7.
62820
62821 2005-10-01  Jim Meyering  <jim@meyering.net>
62822
62823         Sync from coreutils.
62824         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62825         in the inet and nsl libraries.  Required on Solaris 5.7.
62826
62827 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62828
62829         * lib/getdelim.c (getdelim): Remove unused variables.
62830
62831 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62832
62833         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62834         so that the code works even with ancient cpp.  Portability problem
62835         with GCC 2.7.2.1 reported by Thomas M.Ott.
62836
62837 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62838
62839         * modules/regex (Depends-on): Add strcase.
62840
62841         * modules/gethostname (Licence): Change from GPL to LGPL, since
62842         gethostname.c is a trivial implementation of a standard library
62843         function.
62844         * modules/poll (License): Change from GPL to LGPL, since it's
62845         derived from LGPL code.
62846
62847 2005-09-27  Jim Meyering  <jim@meyering.net>
62848
62849         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62850         HAVE_CONFIG_H.
62851
62852         * lib/intprops.h (signed_type_or_expr__): Define.
62853         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62854         for unsigned types.
62855
62856 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62857
62858         * lib/verify.h (verify_expr): Remove, replacing with:
62859         (verify_true): New macro that returns true instead of void.
62860         (verify_type__): Remove.
62861         (verify): Use verify_true rather than verify_type__.
62862
62863 2005-09-26  Bruno Haible  <bruno@clisp.org>
62864
62865         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62866         is necessary.
62867         (lib_SOURCES): Remove mbchar.c.
62868         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62869         (Files): Add m4/mbrtowc.m4.
62870         * modules/mbiter: Likewise.
62871         * modules/mbuiter: Likewise.
62872
62873 2005-09-26  Bruno Haible  <bruno@clisp.org>
62874
62875         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62876         compile mbchar.c if they are not both present.
62877         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62878         * m4/mbiter.m4 (gl_MBITER): Likewise.
62879         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62880         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62881         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62882
62883 2005-09-25  Jim Meyering  <jim@meyering.net>
62884
62885         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62886         also uses socklen_t.
62887
62888 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62889
62890         * lib/utimens.c (ENOSYS): Define if not already defined.
62891         (futimens): Support having a null PATH if the file descriptor
62892         is nonnegative.
62893
62894         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62895         Remove.
62896         (__attribute): Define to empty unless GCC 3.1 or later.
62897         This works around a core dump on OpenBSD 3.4, which has GCC
62898         2.95.3, which dumps core when given __attribute__(()).  It also
62899         simplifies other tests, since we really don't want to bother with
62900         worrying about which ancient version of GCC supported what.
62901         Original problem reported by Yoann Vandoorselaere, with part of
62902         the fix suggested by Derek Price.
62903
62904 2005-09-24  Jim Meyering  <jim@meyering.net>
62905
62906         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62907         so we can once again use a positive bitfield width of 1 -- now we
62908         don't have to explain why we were using a bitfield width of 2.
62909
62910 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62911
62912         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62913         and similarly for the other external symbols.  Problem reported
62914         by James Gallager.
62915
62916         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62917         bug reported by Jim Meyering.
62918
62919         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62920         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62921         not needed, since socklen is a prerequisite module.
62922
62923 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62924
62925         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
62926         Problem reported by Eric Blake.
62927         (getaddrinfo): Initialize se so that it's not garbage.
62928         Redo internal storage allocation so that it doesn't make unportable
62929         assumptions about alignment.
62930         Fix a memory leak.
62931
62932         * lib/utimens.c (futimens): Use futimesat if available.
62933         Prefer it to futimes since it doesn't have the futimes bug.
62934
62935         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
62936         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
62937         Instead, declare a function that returns a pointer to an array,
62938         and use verify_type__ to declare the size of the array.
62939         Problem and germ of a solution reported by Bruno Haible.
62940         (verify_type__): Use 2, not 1, for bitfield size, to avoid
62941         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
62942
62943 2005-09-23  Jim Meyering  <jim@meyering.net>
62944
62945         Sync from coreutils.
62946         Correct build failure (socklen_t not defined) on at least
62947         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
62948         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
62949
62950 2005-09-23  Jim Meyering  <jim@meyering.net>
62951
62952         * modules/getaddrinfo (Depends-on): Add socklen.
62953
62954 2005-09-23  Bruno Haible  <bruno@clisp.org>
62955
62956         * tests/test-verify.c: New file.
62957
62958 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62959
62960         Sync from coreutils.
62961
62962         * modules/argmatch (Depends-on): Add verify.
62963         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
62964         unistd-safer.
62965         * modules/save-cwd (Depends-on): Likewise.
62966
62967         * modules/openat (Files): Add lib/openat-die.c.
62968         (Depends-on): Remove error, exitfail.
62969         Add dirname.
62970
62971         * modules/verify: New file.
62972         * MODULES.html.sh (Diagnostics <assert.h>): New section,
62973         with "verify" module.
62974
62975 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62976
62977         Sync from coreutils.
62978
62979         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
62980         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
62981         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
62982         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
62983         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
62984         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
62985         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
62986         Don't bother checking for string.h, stdlib.h, unistd.h.
62987         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
62988         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
62989         module's job.
62990         * m4/jm-macros.m4 (gl_MACROS): Likewise.
62991         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
62992
62993         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
62994         (gl_GETDATE): Use it.
62995
62996         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
62997
62998 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62999
63000         Sync from coreutils.
63001
63002         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
63003         stat-time.h.
63004         * lib/argmatch.h: Include verify.h
63005         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
63006         (ARGMATCH_ASSERT): Remove; unused.
63007         * lib/canonicalize.c: Assume STDC_HEADERS.
63008         * lib/exclude.c: Include "strcase.h".
63009         * lib/regex_internal.h [!defined _LIBC]: Likewise.
63010         * lib/getusershell.c: Include stdio--.h rather than stdio.h
63011         and stdio-safer.h.
63012         (getusershell): Call fopen, not fopen_safer.
63013         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
63014         Do not include unistd-safer.h.
63015         (save_cwd): Don't call fd_safer; no longer needed
63016         now that we include fcntl--.h.
63017
63018         * lib/getdate.y (relative_time): New type.
63019         (RELATIVE_TIME_0): New constant.
63020         (parser_control): Use relative_time instead of doing it ourselves.
63021         (%union): Add new relative_time rel member.
63022         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
63023         Now typeless.
63024         (relunit, relunit_snumber): Now of type rel.
63025         (zone, rel, relunit, get_date): Adjust to above changes.
63026
63027         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
63028         Do not include unistd-safer.h.
63029         (getloadavg): Don't call fd_safer; no longer needed
63030         now that we include fcntl--.h.
63031
63032         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
63033         (make_dir_parents): Treat ENOSYS like EEXIST.
63034
63035         Improve quality of diagnostics on restore_cwd failure.
63036         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
63037         (make_dir_parents): Last arg is now int * (for errno), not bool *.
63038         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
63039         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
63040         each time through the loop.  Do not diagnose restore_cwd failure;
63041         that is the caller's job (and perhaps the caller does not care).
63042
63043         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
63044         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
63045         If the file already exists but is not a directory, don't bother
63046         to try to make its parents.
63047         Close potential file descriptor leak if we can't chdir("/") (!).
63048         Don't always return true if chdir($PWD) fails; return true only
63049         if the requested action was done successfully (except for the
63050         chdir($PWD)).
63051         Don't log final directory unless we actually made it.
63052         Refactor to avoid duplicate code to fix up permissions.
63053         Don't attempt to fix up parent permissions if chdir($PWD) fails.
63054
63055         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
63056         to make it a bit faster and (I hope) clearer.
63057         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
63058         Fix bug in formats like %2N.
63059
63060         * lib/verify.h: New file.
63061
63062 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63063
63064         Sync from coreutils.
63065         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
63066
63067 2005-09-22  Jim Meyering  <jim@meyering.net>
63068
63069         Sync from coreutils.
63070
63071         * m4/lstat.m4 (gl_FUNC_LSTAT):
63072         Use AC_LIBSOURCES to require lstat.c and lstat.h.
63073         Remove obsolete comment.
63074         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
63075         * m4/xstrtod.m4: Likewise.
63076
63077         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
63078
63079 2005-09-22  Jim Meyering  <jim@meyering.net>
63080
63081         Sync from coreutils.
63082
63083         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
63084
63085         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
63086         the .tm_year member, since otherwise gcc-4.0 would now warn about
63087         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
63088
63089         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
63090         order to avoid an unsuppressible warning from gcc on 64-bit systems.
63091
63092         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
63093         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
63094         when run in a time zone for which daylight savings time is in effect
63095         for the starting date.
63096
63097         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
63098         stop us from restricting permissions of just-created absolute-named
63099         directories.
63100         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
63101         to restore initial working directory.
63102         * lib/mkdir-p.c (make_dir_parents): New parameter:
63103         different_working_dir, to tell caller if/when we change the working
63104         directory and are unable to return to the initial one.
63105         * lib/mkdir-p.h (make_dir_parents): Update prototype.
63106         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
63107         `return false'.  This fixes a bug introduced on 2004-07-30.
63108
63109         * lib/openat.c (fdopendir): Be sure to close the supplied
63110         file descriptor before returning.  This makes our replacement
63111         implementation a little closer to Solaris's, where fdopendir
63112         ties the file descriptor to the returned DIR* pointer.
63113         * lib/openat.c (unlinkat): New function.
63114         * lib/openat.h (unlinkat): Add prototype.
63115         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
63116         (openat_restore_fail): Rename from openat_restore_die.
63117         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
63118
63119         Provide an alternative to exiting immediately upon save_cwd or
63120         restore_cwd failure.  Now, an application can arrange e.g.,
63121         to perform a longjump in that case.
63122         * lib/openat.c: Include dirname.h.
63123         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
63124         (rpl_openat, fdopendir, fstatat): Call openat_save_die
63125         and openat_restore_die rather than calling error directly.
63126         Don't include "error.h" or "exitfail.h"; they're no longer needed.
63127
63128         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
63129         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
63130         define.
63131
63132         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
63133         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
63134                             int utc, int nanoseconds);
63135         Background:
63136         date should not have to allocate a megabyte of virtual memory to
63137         handle a format argument like +%1048575T.  When implemented with
63138         strftime, it must allocate such a buffer, use strftime to fill it
63139         in, print it, then free it.
63140         With fprintftime, it simply prints everything and exits.
63141         With no need for memory allocation, that's one fewer way to fail.
63142         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
63143         optional field width, not before, so we accept %9:z, not %:9z.
63144         (my_strftime): Be sure to use L_('x') for literals.
63145
63146         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
63147         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
63148         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
63149         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
63150         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
63151         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
63152         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
63153         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
63154         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
63155         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
63156         * lib/xgethostname.c, lib/xreadlink.c:
63157         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
63158
63159         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
63160         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
63161         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
63162         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63163         and don't include <sys/file.h>).
63164
63165 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
63166
63167         Sync from coreutils.
63168
63169         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
63170         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
63171         [!LDAV_DONE]: Avoid unused variable warning.
63172
63173 2005-09-21  Bruno Haible  <bruno@clisp.org>
63174
63175         * lib/unicodeio.h (unicode_to_mb): New declaration.
63176
63177 2005-09-20  Derek Price  <derek@ximbiot.com>
63178
63179         * lib/getaddrinfo.c: Don't include <netdb.h> included from
63180         getaddrinfo.h.
63181
63182 2005-09-20  Bruno Haible  <bruno@clisp.org>
63183
63184         * gnulib-tool: Remove trailing slashes from the values specified for
63185         --source-base, --m4-base, --tests-base, --aux-dir.
63186         Suggested by Simon Josefsson <jas@extundo.com>.
63187
63188 2005-09-20  Bruno Haible  <bruno@clisp.org>
63189
63190         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
63191         func_modules_to_filelist, func_import, func_create_testdir): Make all
63192         sorting results locale-independent, so that gnulib-cache.m4 doesn't
63193         change when gnulib-tool is invoked in a different locale.
63194
63195 2005-09-19  Simon Josefsson  <jas@extundo.com>
63196
63197         * m4/socklen.m4: Fix typo.
63198
63199 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63200
63201         Use a consistent style for including <config.h>.
63202         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
63203         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
63204         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
63205         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
63206         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
63207         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
63208         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
63209         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
63210         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
63211         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
63212         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
63213         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
63214         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
63215         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
63216         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
63217         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
63218         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
63219         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
63220         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
63221         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
63222         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
63223         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
63224         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
63225         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
63226         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
63227         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
63228         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
63229         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
63230         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
63231         lib/xstrtoumax.c, lib/yesno.c:
63232         Standardize inclusion of config.h.
63233         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
63234         lib/inttostr.h:  Removed inclusion of config.h from header files.
63235         * lib/inttostr.c:  Adjusted in-tree users.
63236         * lib/timespec.h: Remove superfluous warning to include config.h.
63237         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
63238         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
63239         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
63240         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
63241         config.h with HAVE_CONFIG_H.
63242
63243 2005-09-19  Jim Meyering  <jim@meyering.net>
63244
63245         * modules/pathmax (License): Change to LGPL.
63246
63247 2005-09-19  Derek Price  <derek@ximbiot.com>
63248
63249         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
63250
63251 2005-09-19  Bruno Haible  <bruno@clisp.org>
63252
63253         * gnulib-tool (import): Provide default for --tests-base.
63254
63255 2005-09-19  Bruno Haible  <bruno@clisp.org>
63256
63257         * doc/quote.texi: New file, extracted from gnulib.texi.
63258         * doc/ctime.texi: New file, extracted from gnulib.texi.
63259         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
63260         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
63261         * doc/gnulib.texi: Include them.
63262
63263 2005-09-18  Bruno Haible  <bruno@clisp.org>
63264
63265         Portability fix.
63266         * gnulib-tool (func_readlink): New function.
63267         (func_ln_if_changed): Use it.
63268
63269 2005-09-18  Bruno Haible  <bruno@clisp.org>
63270
63271         * gnulib-tool: Support --with-tests also with --import.
63272         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
63273         (func_import): Use variables $testsbase and $inctests. Emit a
63274         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
63275         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
63276         SUBDIRS += $testsdir.
63277         (func_create_testdir): Update.
63278
63279 2005-09-18  Bruno Haible  <bruno@clisp.org>
63280
63281         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
63282         instead of $dry_run.
63283         (func_cp_if_changed, func_mv_if_changed): Remove functions.
63284         (func_ln_if_changed): Don't handle dry-run here.
63285         (func_import): In dry-run mode, detect more precisely which actions
63286         would be performed, and don't use "...ing" verbs.
63287
63288 2005-09-18  Bruno Haible  <bruno@clisp.org>
63289
63290         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
63291         (func_import): Use join on two temporary files instead of three nested
63292         loops, in order to determine which files are new or old.
63293
63294 2005-09-18  Bruno Haible  <bruno@clisp.org>
63295
63296         * gnulib-tool (func_import): Comment out code that spits out the
63297         new files with --dry-run.
63298
63299 2005-09-18  Bruno Haible  <bruno@clisp.org>
63300
63301         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
63302
63303 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63304
63305         * lib/stat-time.h: New file.
63306         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
63307         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
63308         in a different way.
63309         (timespec_cmp): New function.
63310         * lib/utimecmp.c: Include stat-time.h.
63311         (SYSCALL_RESOLUTION): Depend on whether various struct stat
63312         members exist, not on the obsolescent ST_MTIM_NSEC.
63313         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
63314
63315 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63316
63317         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
63318
63319 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63320
63321         * MODULES.html.sh (File system functions): Add stat-time.
63322         * modules/stat-time: New file.
63323         * modules/timespec (Files): Remove m4/st_mtim.m4; this
63324         is now done in a different way, by the stat-time module.
63325         * modules/utimecmp (Depends-on): Add stat-time.
63326
63327 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63328
63329         * m4/st_mtim.m4: Remove.  Superseded by...
63330         * m4/stat-time.m4: New file.
63331         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
63332         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
63333
63334 2005-09-15  Derek Price  <derek@ximbiot.com>
63335
63336         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
63337
63338 2005-09-15  Derek Price  <derek@ximbiot.com>
63339
63340         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
63341         * lib/regex_internal.c: Ditto, using this...
63342         (__GNUC_PREREQ): ...new macro.
63343         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
63344         using...
63345         (__GNUC_PREREQ): ...this new macro.
63346
63347         * lib/strstr.h: Include string.h. Define strstr as a macro here.
63348
63349 2005-09-15  Derek Price  <derek@ximbiot.com>
63350             Paul Eggert  <eggert@cs.ucla.edu>
63351
63352         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
63353         changes, consolidating in...
63354         * lib/regex_internal.h: ...this file.
63355
63356 2005-09-13  Jim Meyering  <jim@meyering.net>
63357
63358         * lib/canon-host.c: Filter through gnu indent and reword comments
63359         slightly.
63360         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
63361
63362 2005-09-13  Derek Price  <derek@ximbiot.com>
63363
63364         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
63365         failure.
63366         Reported by Jim Meyering  <jim@meyering.net>.
63367
63368 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63369
63370         * lib/base64.c: Typo.
63371         (base64_encode): Put b64str in initialized data section.
63372
63373 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
63374
63375         Merge glibc and coreutils changes into gnulib, plus a few
63376         extra fixes.
63377         * lib/md5.c: Use #error rather than a string.
63378         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
63379         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
63380         (__attribute__): Define to empty for non recent-GCC.
63381         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
63382         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
63383         Renamed from their non-__ counterparts, with new macros replacing
63384         them if not _LIBC.  Add __THROW attribute.
63385         (rol): Remove.
63386         (struct md5_ctx): Align buffer if using GCC.
63387         * lib/sha1.h (struct sha1_ctx): Likewise.
63388         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
63389         The old name was backwards.
63390         (NOTSWAP): Remove; not used.
63391         (rol): New macro, moved here from md5.h.
63392         (sha1_process_block): Remove a FIXME that doesn't make sense.
63393
63394 2005-09-12  Derek Price  <derek@ximbiot.com>
63395
63396         Return usable errors from canon-host.
63397         * lib/canon-host.h: New file.
63398         * lib/canon-host.c (canon_host): Wrap...
63399         (canon_host_r): ...this new function, which now relies exclusively on
63400         getaddrinfo.
63401         (ch_strerror): New function.
63402         (last_cherror): New global.
63403         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
63404         interface.
63405         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
63406         void *.
63407         (freeaddrinfo): Free ai->ai_canonname when set.
63408
63409 2005-09-12  Derek Price  <derek@ximbiot.com>
63410
63411         Make canon-host require getaddrinfo.
63412         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
63413         AC_LIBSOURCE canon-host.h.  Call...
63414         (gl_PREREQ_CANON_HOST): ...this new function, which requires
63415         gl_GETADDRINFO.
63416         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
63417
63418 2005-09-12  Derek Price  <derek@ximbiot.com>
63419
63420         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
63421         LGPL.
63422         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
63423
63424 2005-09-12  Derek Price  <derek@ximbiot.com>
63425
63426         * lib/gai_strerror.c: Include config.h when available.  Include
63427         getaddrinfo.h before other headers to test interface.
63428         Reported by Larry Jones <lawrence.jones@ugs.com>.
63429
63430 2005-09-12  Derek Price  <derek@ximbiot.com>
63431             Paul Eggert  <eggert@cs.ucla.edu>
63432
63433         * modules/glob (Files): Add glob-libc.h.
63434
63435 2005-09-12  Derek Price  <derek@ximbiot.com>
63436             Paul Eggert  <eggert@cs.ucla.edu>
63437
63438         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
63439         glob_.h, glob-libc.h.
63440         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
63441
63442 2005-09-12  Derek Price  <derek@ximbiot.com>
63443             Paul Eggert  <eggert@cs.ucla.edu>
63444
63445         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
63446         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
63447         protecting things that should be done only in gnulib contexts.
63448         * lib/glob_.h: New file, containing only the glob things needed for
63449         gnulib.
63450         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
63451         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
63452         (glob, globfree, glob_pattern_p): Now defined simply in terms of
63453         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
63454         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
63455         and to respect the namespace rules better.
63456
63457 2005-09-08  Simon Josefsson  <jas@extundo.com>
63458
63459         * modules/socklen: New file.
63460
63461 2005-09-08  Simon Josefsson  <jas@extundo.com>
63462
63463         * m4/socklen.m4: New file.
63464
63465 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63466
63467         * modules/utimens (Files): Add m4/utimbuf.m4, since
63468         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
63469         Reported by Sergey Poznyakoff.
63470
63471 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63472
63473         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
63474         definitions, since that's the preferred style in glibc.
63475         Fix a minor spacing issue, and update copyright notice to match
63476         glibc's.
63477
63478 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63479
63480         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
63481
63482 2005-09-06  Simon Josefsson  <jas@extundo.com>
63483
63484         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
63485         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
63486
63487 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63488
63489         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
63490         warning.
63491
63492 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63493
63494         * config/srclist.txt: Add glibc bug 1302.
63495
63496 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
63497
63498         Change bitset word type from unsigned int to unsigned long int,
63499         as this has better performance on typical 64-bit hosts.
63500         Port bitset code to hosts with unusual word sizes.
63501         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
63502         (build_collating_symbol):
63503         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
63504         argument is a bitset.  This is merely a style issue, but it makes
63505         it clearer that an entire array is expected.
63506         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
63507         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
63508         Port to the case where bitset_word is not the same as unsigned int.
63509         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63510         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
63511         Likewise.
63512         * lib/regexec.c (check_dst_limits_calc_pos_1,
63513         check_subexp_matching_top):
63514         (build_trtable, group_nodes_into_DFAstates):
63515         Likewise.
63516         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
63517         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
63518         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
63519         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
63520         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
63521         * lib/regcomp.c (optimize_subexps, lower_subexp):
63522         Work even if bitset_word has holes in its bitwise representation.
63523         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
63524         * lib/regexec.c (check_dst_limits_calc_pos_1,
63525         check_subexp_matching_top):
63526         Likewise.
63527         * lib/regex_internal.c (re_string_reconstruct):
63528         Don't assume UCHAR_MAX == 255.
63529         * lib/regex_internal.h (bitset_set_all): Likewise.
63530         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
63531         All uses changed.
63532         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
63533         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
63534         All uses changed.
63535         (BITSET_WORD_MAX): New macro.
63536         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
63537         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
63538         (bitset_empty, bitset_copy):
63539         Prefer sizeof (bitset) to multiplying it out ourselves.
63540         (bitset_not_merge): Remove; unused.
63541         (bitset_contain): Return bool, not unsigned int with one bit on.
63542         All callers changed.
63543         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
63544         alignment than re_node_set; do this by defining a new internal
63545         type struct dests_alloc and using it to allocate memory.
63546
63547 2005-09-05  Bruno Haible  <bruno@clisp.org>
63548
63549         * gnulib-tool (func_import): Fix comparison in handling of symbolic
63550         links.
63551
63552 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
63553
63554         * modules/size_max (Makefile.am): Add size_max.h
63555
63556 2005-09-04  Derek Price  <derek@ximbiot.com>
63557
63558         * gnulib-tool (func_import): Fix reversed $symbolic logic.
63559
63560 2005-09-03  Simon Josefsson  <jas@extundo.com>
63561
63562         * gnulib-tool: Fix typo.
63563
63564 2005-09-03  Simon Josefsson  <jas@extundo.com>
63565
63566         * config/srclist.txt: Add glibc bug 1293.
63567
63568 2005-09-03  Derek Price  <derek@ximbiot.com>
63569
63570         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
63571         From Larry Jones <lawrence.jones@ugs.com>.
63572
63573 2005-09-02  Simon Josefsson  <jas@extundo.com>
63574
63575         * modules/socklen: New file.
63576
63577 2005-09-02  Simon Josefsson  <jas@extundo.com>
63578
63579         * modules/havelib: New module.
63580
63581         * modules/gettext, modules/iconv, modules/lock, modules/readline:
63582         Use havelib.
63583
63584 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63585
63586         Check for arithmetic overflow when calculating sizes, to prevent
63587         some buffer-overflow issues.  These patches are conservative, in the
63588         sense that when I couldn't determine whether an overflow was possible,
63589         I inserted a run-time check.
63590         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
63591         macros.
63592         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
63593         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
63594         (re_xnrealloc, re_x2nrealloc): New inline functions.
63595         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
63596         parse_bracket_exp):
63597         (build_equiv_class, build_charclass): Check for arithmetic overflow
63598         in size expression calculations.
63599         * lib/regex_internal.c (re_string_realloc_buffers):
63600         (build_wcs_upper_buffer, re_node_set_add_intersect):
63601         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
63602         (re_dfa_add_node, register_state): Likewise.
63603         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
63604         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
63605         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
63606         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
63607
63608 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63609
63610         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
63611         m4/ulonglong.m4.  Problem reported by Martin Lambers.
63612
63613 2005-09-02  Bruno Haible  <bruno@clisp.org>
63614
63615         Support for lib vs. lib64 distinction on biarch platforms.
63616         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
63617         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
63618         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
63619
63620 2005-09-02  Bruno Haible  <bruno@clisp.org>
63621
63622         * gnulib-tool (import): In the other first-use case, provide defaults
63623         as well.
63624
63625 2005-09-02  Bruno Haible  <bruno@clisp.org>
63626
63627         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
63628         patches not yet found in the latest gettext release.
63629
63630 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
63633         to avoid a collision with bits/local_lim.h in glibc.
63634         All uses changed.  Problem reported by Dmitry V. Levin in
63635         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
63636
63637         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
63638         bugs in int versus size_t comparisons.
63639         (re_string_context_at): Fix bug where the code assumed that
63640         Idx is signed.
63641
63642         Use bool where appropriate.
63643         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
63644         All callers changed.
63645         (calc_eclosure_iter): Likewise, for ROOT arg.
63646         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
63647         (build_charclass_op): Likewise, for NON_MATCH arg.
63648         * lib/regex_internal.c (re_string_allocate, re_string_construct):
63649         (re_string_construct_common): Likewise, for ICASE arg.
63650         * lib/regexec.c (re_search_2_stub, re_search_stub):
63651         Likewise, for RET_LEN arg.
63652         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
63653         (set_regs): Likewise, for FL_BACKTRACK arg.
63654         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
63655         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
63656         (calc_eclosure_iter, parse_bracket_exp):
63657         Use bool for internal variables that are booleans.
63658         * lib/regexec.c (re_search_internal, check_matching,
63659         proceed_next_node):
63660         (set_regs, build_sifted_states, sift_states_bkref):
63661         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
63662         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63663         (find_collation_sequence_value):
63664         Likewise.
63665         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
63666         (re_node_set_compare):
63667         Return bool, not int. All callers changed.
63668         * lib/regexec.c (check_halt_node_context, check_dst_limits):
63669         (build_trtable, check_node_accept): Likewise.
63670         * lib/regex_internal.h: Include stdbool.h.
63671
63672         Fix bugs uncovered when converting to bool.
63673         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
63674         failure instead of charging ahead blindly.
63675         * lib/regex_internal.c (register_state): Likewise.
63676         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
63677         for freeing internal storage.
63678         (group_nodes_into_DFA_states): Use unsigned int, not int, for
63679         bitset pieces used as boolean, to avoid undefined behavior
63680         on hosts that do int overflow checking.
63681
63682 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63683
63684         * config/srclist.txt: Add glibc bugs 1285-1287.
63685
63686 2005-09-01  Jim Meyering  <jim@meyering.net>
63687
63688         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
63689         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
63690         Require gl_STAT_MACROS, too.
63691
63692 2005-09-01  Bruno Haible  <bruno@clisp.org>
63693
63694         * gnulib-tool (import): In the first-use case, provide defaults.
63695
63696 2005-09-01  Bruno Haible  <bruno@clisp.org>
63697
63698         * gnulib-tool (func_import): Remove the .tmp files.
63699
63700 2005-09-01  Bruno Haible  <bruno@clisp.org>
63701
63702         * gnulib-tool (func_import): Fix handling of symbolic links.
63703
63704 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63705
63706         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63707         old glibc regex code mishandles strings longer than 2**31 bytes.
63708         This patch fixes this when the regex code is used in gnulib
63709         (i.e., outside glibc).
63710
63711         This patch should not affect the use of the regex code inside
63712         glibc.  No doubt this problem also needs to be handled for glibc
63713         as well, but the result will be an incompatible change to the
63714         glibc ABI, and the old ABI will have to be supported too.  That
63715         can be the the subject for another patch.
63716
63717         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63718         governing whether the rest of this patch is active.  By default,
63719         the macro is disabled and the patch has no effect.
63720         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63721         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63722         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63723         (re_match_2, re_set_registers): Use the new types.
63724         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63725         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63726         New macros.
63727         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63728         (re_string_context_at, bin_tree_t, re_dfastate_t):
63729         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63730         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63731         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63732         (re_string_char_size_at, re_string_wchar_at):
63733         (re_string_elem_size_at):
63734         Use the new types and macros to port to 64-bit hosts.
63735         Use unsigned types for internal values, so that the code
63736         mostly works even for arrays larger than SSIZE_MAX.
63737         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63738         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63739         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63740         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63741         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63742         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63743         (calc_inveclosure, parse_dup_op, build_range_exp):
63744         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63745         (fetch_number, create_token_tree, mark_opt_subexp):
63746         Likewise.
63747         * lib/regex_internal.c (re_string_construct_common,
63748         create_ci_newstate):
63749         (create_cd_newstate, re_string_allocate, re_string_construct):
63750         (re_string_realloc_buffers, build_wcs_upper_buffer):
63751         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63752         (re_string_reconstruct, re_string_peek_byte_case):
63753         (re_string_fetch_byte_case, re_string_context_at):
63754         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63755         (re_node_set_init_copy, re_node_set_add_intersect):
63756         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63757         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63758         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63759         (re_acquire_state, re_acquire_state_context, register_state):
63760         Likewise.
63761         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63762         search_cur_bkref_entry):
63763         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63764         (re_search_internal, re_search_2_stub, re_search_stub)
63765         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63766         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63767         (update_cur_sifted_state, check_dst_limits):
63768         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63769         (check_subexp_limits, sift_states_bkref, merge_state_array):
63770         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63771         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63772         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63773         (expand_bkref_cache, check_node_accept_bytes):
63774         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63775         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63776         (acquire_init_state_context, check_halt_node_context):
63777         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63778         (sift_states_backward, clean_state_log_if_needed):
63779         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63780         (find_recover_state, transit_state_sb, transit_state_mb):
63781         (transit_state_bkref, build_trtable, match_ctx_clean):
63782         Likewise.
63783         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63784         to work around an assumption that REG_MISSING is negative.
63785
63786         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63787         (seek_collating_symbol_entry) [defined _LIBC]:
63788         (lookup_collation_sequence_value) [defined _LIBC]:
63789         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63790         Use prototypes rather than old-style function definitions.
63791         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63792         (transit_state_sb) [0]:
63793         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63794
63795         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63796         rm_eo.
63797
63798         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63799         (optimize_subexps, lower_subexp):
63800         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63801         since the signed shift might overflow.  Use 1u<<31 instead.
63802         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63803         Likewise.
63804         * lib/regexec.c (check_dst_limits_calc_pos_1,
63805         check_subexp_matching_top): Likewise.
63806
63807         * lib/regcomp.c (optimize_subexps, lower_subexp):
63808         Use CHAR_BIT rather than 8, for clarity.
63809         * lib/regexec.c (check_dst_limits_calc_pos_1):
63810         (check_subexp_matching_top): Likewise.
63811         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63812         have to worry about portability issues when shifting it left.
63813         Remove no-longer-needed test for table_size > 0.
63814         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63815         in a word, as the resulting behavior is undefined.
63816         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63817         in one case, a <= should have been an <, and in another case the
63818         whole test was missing.
63819         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63820         the standard name CHAR_BIT.
63821         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63822         this is not true on one's complement and signed-magnitude hosts.
63823
63824         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63825         next_last_offset.
63826         (struct re_dfa_t): Remove unused member states_alloc.
63827         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63828
63829 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63830
63831         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63832         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63833         and large-file glibc and in 32-bit large-file Solaris.
63834
63835 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63836
63837         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63838         lengths fit in regoff_t; this isn't true if regoff_t is the same
63839         width as size_t.
63840         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63841         (= START + RANGE) instead of RANGE.  This avoids overflow
63842         problems when regoff_t is the same width as size_t.
63843         All callers changed.
63844         (re_search_2_stub): Check for overflow when adding the
63845         sizes of the two strings.
63846         (re_search_stub): Check for overflow when adding START
63847         to RANGE; if it occurs, substitute the extreme value.
63848
63849 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63850
63851         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63852
63853 2005-08-31  Jim Meyering  <jim@meyering.net>
63854
63855         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63856         a pointer-to-const.
63857         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63858         (register_state): Likewise.
63859         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63860         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63861         (group_nodes_into_DFAstates): Likewise.
63862
63863 2005-08-31  Jim Meyering  <jim@meyering.net>
63864
63865         * check-module: Add a FIXME comment.
63866
63867 2005-08-31  Eric Blake  <ebb9@byu.net>
63868
63869         * modules/unistd-safer (Files): Add unistd--.h.
63870         * modules/stdio-safer (Files): Add stdio--.h.
63871
63872 2005-08-31  Derek Price  <derek@ximbiot.com>
63873
63874         * lib/getdelim.c (getdelim): Return EOF on EOF.
63875         Reported by Larry Jones <lawrence.jones@ugs.com>.
63876
63877 2005-08-31  Bruno Haible  <bruno@clisp.org>
63878
63879         Avoid unnecessary diffs in the generated lib/Makefile.am.
63880         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63881         the generated files.
63882         (func_import): Don't set cmd.
63883
63884 2005-08-31  Bruno Haible  <bruno@clisp.org>
63885
63886         * lib/strstr.c: Include <stddef.h>, for NULL.
63887         * lib/strcasestr.c: Likewise.
63888         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63889
63890 2005-08-31  Bruno Haible  <bruno@clisp.org>
63891
63892         * gnulib-tool: New option --macro-prefix.
63893         (func_import): Use macro_prefix.
63894         (import): Handle option --macro-prefix.
63895
63896 2005-08-31  Bruno Haible  <bruno@clisp.org>
63897
63898         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63899         Also use new variables cached_lgpl, cached_libtool.
63900
63901 2005-08-31  Bruno Haible  <bruno@clisp.org>
63902
63903         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63904         always instantiating them.
63905
63906 2005-08-31  Bruno Haible  <bruno@clisp.org>
63907
63908         * gnulib-tool (func_import): Read the previous cached settings
63909         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63910         earlier added by gnulib but are now dropped. Warn when a gnulib file
63911         overwrites a non-gnulib file.
63912
63913 2005-08-31  Bruno Haible  <bruno@clisp.org>
63914
63915         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63916         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63917         projects that don't keep autogenerated files in CVS. Put into
63918         actioncmd only the specified modules, not the transitive closure.
63919
63920 2005-08-31  Bruno Haible  <bruno@clisp.org>
63921
63922         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63923         Create directories that shall be filled.
63924         (import): Don't look for gl_* macros in configure.ac. Recurse across
63925         all directories containing a gnulib-cache.m4 files, if meaningful.
63926
63927 2005-08-31  Bruno Haible  <bruno@clisp.org>
63928
63929         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
63930         (import): Set seen_libtool when we see gl_LIBTOOL.
63931
63932 2005-08-31  Bruno Haible  <bruno@clisp.org>
63933
63934         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
63935         declaration macro definitions from generated gnulib.m4.
63936
63937 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
63938
63939         * lib/iconvme.h: Add prototype for iconv_alloc.
63940
63941 2005-08-29  Simon Josefsson  <jas@extundo.com>
63942
63943         * lib/iconvme.c: Fix errno.
63944
63945 2005-08-29  Bruno Haible  <bruno@clisp.org>
63946
63947         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
63948         that it works when the directory contains spaces.
63949
63950 2005-08-29  Bruno Haible  <bruno@clisp.org>
63951
63952         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
63953
63954 2005-08-29  Bruno Haible  <bruno@clisp.org>
63955
63956         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
63957         Emit more advice.
63958
63959 2005-08-29  Bruno Haible  <bruno@clisp.org>
63960         and Stepan Kasal  <kasal@ucw.cz>
63961
63962         * check-module: If more parameters are given, check each of them
63963         separately; add more exceptions, as noted by Jim Meyering.
63964         (check_module): New procedure.
63965         (%exempt_header): Now contains all exceptions.
63966
63967 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
63968
63969         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
63970
63971 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63972
63973         * lib/iconvme.c: Split iconv_string into iconv_alloc.
63974
63975 2005-08-28  Bruno Haible  <bruno@clisp.org>
63976
63977         * m4/gnulib-tool.m4: New file.
63978
63979 2005-08-27  Jim Meyering  <jim@meyering.net>
63980
63981         * modules/unistd-safer (Files): Add pipe-safer.c.
63982         * modules/fcntl-safer (Files): Add creat-safer.c.
63983
63984 2005-08-27  Jim Meyering  <jim@meyering.net>
63985
63986         * m4/stdlib-safer.m4: New file.  From coreutils.
63987         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
63988         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
63989         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
63990         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
63991         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
63992
63993 2005-08-27  Jim Meyering  <jim@meyering.net>
63994
63995         * lib/fopen-safer.c: Merge minor changes from coreutils.
63996         * lib/dup-safer.c: Likewise.
63997         * lib/fd-safer.c: Likewise.
63998
63999         Merge from coreutils.
64000         * lib/stdio--.h: New file.
64001         * lib/stdlib--.h: New file.
64002         * lib/mkstemp-safer.c: New file.
64003
64004         GNU tar needs these.
64005         * lib/pipe-safer.c: New file.
64006         * lib/creat-safer.c: New file.
64007         * lib/fcntl--.h (creat): Define to creat_safer.
64008         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
64009         * lib/unistd--.h (pipe): Define to pipe_safer.
64010         * lib/unistd-safer.h: Declare pipe_safer.
64011
64012 2005-08-26  Simon Josefsson  <jas@extundo.com>
64013
64014         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
64015         Haible <bruno@clisp.org>.
64016
64017 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
64018
64019         * lib/regex_internal.h: Remove all references to
64020         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
64021         or better.
64022         (bitset_not, bitset_merge, bitset_not_merge):
64023         (bitset_mask, re_string_allocate, re_string_construct):
64024         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
64025         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
64026         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
64027         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
64028         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64029         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64030         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
64031         (re_acquire_state_context):
64032         Remove unnecessary forward decls.
64033         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
64034         Put __attribute at function definition,
64035         now that the function decl has been removed.
64036         * lib/regex_internal.c (re_string_peek_byte_case):
64037         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
64038         Likewise.
64039
64040 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
64041
64042         * m4/regex.m4: Add AC_PREREQ(2.50).
64043         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
64044
64045 2005-08-25  Simon Josefsson  <jas@extundo.com>
64046
64047         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
64048         __fsetlocking.
64049
64050 2005-08-25  Simon Josefsson  <jas@extundo.com>
64051
64052         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
64053         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
64054         GLIBC specific code.
64055
64056 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64057
64058         Make regex safe for g++.  This fixes one real bug (an "err"
64059         that should have been "*err").  g++ problem reported by
64060         Sam Steingold.
64061         * lib/regex_internal.h (re_calloc): New macro, consistent with
64062         re_malloc etc.  All callers of calloc changed to use re_calloc.
64063         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
64064         not int.  All callers changed.
64065         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
64066         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
64067         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
64068         (find_recover_state): Change "err" to "*err"; this fixes what
64069         appears to be a real bug.
64070         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
64071         versus int.
64072
64073 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64074
64075         * modules/regex (Depends-on): Add malloc, since the code
64076         assumes that !malloc(0) means failure.
64077
64078 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64079
64080         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
64081
64082         alloca modernization/simplification for regex.
64083         * lib/regex.c: Remove portability cruft for alloca.  This no longer
64084         needs to be at the start of the file, and can be moved into
64085         regex_internal.h and simplified.
64086         * lib/regex_internal.h: Include <alloca.h>.
64087         (__libc_use_alloca) [!defined _LIBC]: New macro.
64088         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
64089         now works outside glibc.
64090
64091 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64092
64093         * config/srclist.txt: Add glibc bugs 1241, 1245.
64094
64095 2005-08-25  Jim Meyering  <jim@meyering.net>
64096
64097         * lib/open-safer.c: Include <config.h>.
64098         Otherwise, we'd lose LARGEFILE support in any file using
64099         e.g. "fcntl--.h"
64100
64101 2005-08-25  Bruno Haible  <bruno@clisp.org>
64102
64103         * m4/minmax.m4: Require autoconf 2.52.
64104         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
64105         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
64106         alternatives of translit over the alphabet.
64107         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
64108
64109 2005-08-24  Simon Josefsson  <jas@extundo.com>
64110
64111         * tests/test-getpass.c: New file.
64112
64113 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64114
64115         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
64116         for GNU regex features.
64117
64118 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64119
64120         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
64121         * lib/regex.h (regerror): Likewise.
64122
64123         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
64124         requires this.  (The code never needed it.)
64125
64126         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
64127         All uses of recently-renamed identifiers changed to use the new,
64128         POSIX-compliant names.  The code will build and run just fine
64129         without these changes, but it's better to eat our own dog food
64130         and use the standard-conforming names.
64131
64132         * lib/regex.h: Fix a multitude of POSIX name space violations.
64133         These changes have an effect only for programs that define
64134         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
64135         do not change anything for programs compiled in the normal way.
64136         Also, there is no effect on the ABI.
64137
64138         (_REGEX_SOURCE): New macro.
64139         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
64140         defined and _GNU_SOURCE is not; this fixes a name space violation.
64141
64142         Rename the following macros to obey POSIX requirements.
64143         The old names are still visible as macros if _REGEX_SOURCE is defined.
64144         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
64145         RE_BACKSLASH_ESCAPE_IN_LISTS.
64146         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
64147         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
64148         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
64149         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
64150         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
64151         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
64152         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
64153         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
64154         (REG_INTERVALS): renamed from RE_INTERVALS.
64155         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
64156         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
64157         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
64158         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
64159         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
64160         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
64161         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
64162         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
64163         RE_UNMATCHED_RIGHT_PAREN_ORD.
64164         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
64165         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
64166         (REG_DEBUG): renamed from RE_DEBUG.
64167         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
64168         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
64169         unusual, since we can't clash with the POSIX REG_ICASE.
64170         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
64171         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
64172         (REG_NO_SUB): renamed from RE_NO_SUB.
64173         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
64174         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
64175         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
64176         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
64177         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
64178         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
64179         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
64180         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
64181         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
64182         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
64183         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
64184         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
64185         RE_SYNTAX_POSIX_MINIMAL_BASIC.
64186         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
64187         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
64188         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
64189         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
64190         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
64191         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
64192         (REG_FIXED): Renamed from REGS_FIXED.
64193         (REG_NREGS): Renamed from RE_NREGS.
64194
64195         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
64196         of other REG_* macros, since POSIX says the user is allowed to
64197         #undef these macros selectively.
64198
64199         (reg_errcode_t): Update comment stating what other tables need
64200         to be consistent.
64201
64202         Rename the following enum values to obey POSIX requirements.
64203         The old names are still visible as macros.
64204         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
64205         is not defined, since GNU is supposed to be a superset of POSIX as
64206         much as possible, and since we want reg_errcode_t to be a signed
64207         type for implementation consistency.
64208         (_REG_NOERROR): Renamed from REG_NOERROR.
64209         (_REG_NOMATCH): Renamed from REG_NOMATCH.
64210         (_REG_BADPAT): Renamed from REG_BADPAT.
64211         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
64212         (_REG_ECTYPE): Renamed from REG_ECTYPE.
64213         (_REG_EESCAPE): Renamed from REG_EESCAPE.
64214         (_REG_ESUBREG): Renamed from REG_ESUBREG.
64215         (_REG_EBRACK): Renamed from REG_EBRACK.
64216         (_REG_EPAREN): Renamed from REG_EPAREN.
64217         (_REG_EBRACE): Renamed from REG_EBRACE.
64218         (_REG_BADBR): Renamed from REG_BADBR.
64219         (_REG_ERANGE): Renamed from REG_ERANGE.
64220         (_REG_ESPACE): Renamed from REG_ESPACE.
64221         (_REG_BADRPT): Renamed from REG_BADRPT.
64222         (_REG_EEND): Renamed from REG_EEND.
64223         (_REG_ESIZE): Renamed from REG_ESIZE.
64224         (_REG_ERPAREN): Renamed from REG_ERPAREN.
64225         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
64226         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
64227         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
64228         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
64229
64230         (_REG_RE_NAME, _REG_RM_NAME): New macros.
64231         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
64232         changed.  But support the old name if the new one is not defined
64233         and if _REGEX_SOURCE.
64234
64235         Change the following member names in struct re_pattern_buffer.
64236         The old names are still supported if !_REGEX_SOURCE.
64237         The new names are always supported, regardless of _REGEX_SOURCE.
64238         (re_buffer): Renamed from buffer.
64239         (re_allocated): Renamed from allocated.
64240         (re_used): Renamed from used.
64241         (re_syntax): Renamed from syntax.
64242         (re_fastmap): Renamed from fastmap.
64243         (re_translate): Renamed from translate.
64244         (re_can_be_null): Renamed from can_be_null.
64245         (re_regs_allocated): Renamed from regs_allocated.
64246         (re_fastmap_accurate): Renamed from fastmap_accurate.
64247         (re_no_sub): Renamed from no_sub.
64248         (re_not_bol): Renamed from not_bol.
64249         (re_not_eol): Renamed from not_eol.
64250         (re_newline_anchor): Renamed from newline_anchor.
64251
64252         Change the following member names in struct re_registers.
64253         The old names are still supported if !_REGEX_SOURCE.
64254         The new names are always supported, regardless of _REGEX_SOURCE.
64255         (rm_num_regs): Renamed from num_regs.
64256         (rm_start): Renamed from start.
64257         (rm_end): Renamed from end.
64258
64259         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
64260         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
64261         Prepend __ to parameter names.
64262
64263         Undo yesterday's changes.
64264
64265 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64266
64267         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
64268         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
64269         lib/regex.c.
64270
64271 2005-08-24  Jim Meyering  <jim@meyering.net>
64272
64273         Sync from coreutils.
64274         * m4/fcntl-safer.m4: New file.
64275
64276         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
64277         and object files for this module.
64278
64279 2005-08-24  Jim Meyering  <jim@meyering.net>
64280
64281         Sync from coreutils.
64282         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
64283
64284 2005-08-24  Jim Meyering  <jim@meyering.net>
64285
64286         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
64287         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
64288
64289 2005-08-24  Jim Meyering  <jim@meyering.net>
64290
64291         * modules/fcntl-safer: New module.
64292         * modules/fts (Depends-on): Add fcntl-safer.
64293         * MODULES.html.sh (File descriptor based Input/Output):
64294         Add fcntl-safer.
64295
64296 2005-08-24  Bruno Haible  <bruno@clisp.org>
64297
64298         Support for unit test modules.
64299         * modules/README: Mention tests modules.
64300         * modules/TEMPLATE-TESTS: New file.
64301         * gnulib-tool: New options --extract-tests-module, --with-tests and
64302         --tests-base (unused for the moment).
64303         (testsbase, inctests): New variables.
64304         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
64305         (func_verify_module): Exclude TEMPLATE-TESTS.
64306         (func_verify_nontests_module, func_verify_tests_module): New functions.
64307         (func_get_dependencies): Add implicit dependency for tests modules.
64308         (func_get_tests_module): New function.
64309         (func_modules_transitive_closure): When --with-tests was specified,
64310         include the unit tests as well, unless explicitly avoided.
64311         (func_emit_lib_Makefile_am): Ignore the tests modules here.
64312         (func_emit_tests_Makefile_am): New function.
64313         (func_create_testdir): When --with-tests was specified, emit a
64314         tests/ directory.
64315         * MODULES.html.sh (Future developments): Update.
64316
64317 2005-08-24  Bruno Haible  <bruno@clisp.org>
64318
64319         * modules/tls-tests: New file.
64320         * tests/test-tls.c: New file, from GNU gettext.
64321
64322 2005-08-24  Bruno Haible  <bruno@clisp.org>
64323
64324         * modules/lock-tests: New file.
64325         * tests/test-lock.c: New file, from GNU gettext.
64326
64327 2005-08-24  Bruno Haible  <bruno@clisp.org>
64328
64329         * lib/lock.h: Add multiple inclusion guard.
64330         * lib/tls.h: Add multiple inclusion guard.
64331
64332 2005-08-24  Bruno Haible  <bruno@clisp.org>
64333
64334         * gnulib-tool: Add support for the --aux-dir option to
64335         --create-testdir, --create-megatestdir, --test, --megatest.
64336         (func_create_testdir, func_create_megatestdir): Optionally emit a
64337         AC_CONFIG_AUX_DIR directive.
64338         (create-testdir, create-megatestdir, test, megatest): Provide a
64339         default value for $auxdir.
64340
64341 2005-08-24  Bruno Haible  <bruno@clisp.org>
64342
64343         * gnulib-tool (import): Use compound statement instead of subshell
64344         where possible.
64345
64346 2005-08-24  Bruno Haible  <bruno@clisp.org>
64347
64348         * gnulib-tool (import): Change --aux-dir default to "build-aux".
64349
64350 2005-08-24  Bruno Haible  <bruno@clisp.org>
64351
64352         * gnulib-tool (func_version): Update.
64353
64354 2005-08-24  Bruno Haible  <bruno@clisp.org>
64355
64356         * gnulib-tool (func_import, func_create_testdir,
64357         func_create_megatestdir): Quote all autoconf macro arguments.
64358
64359 2005-08-24  Bruno Haible  <bruno@clisp.org>
64360
64361         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
64362         option --force, because --force causes the aclocal.m4 of each
64363         subdirectory to be newer than the corresponding config.h.in.
64364
64365 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64366
64367         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
64368         All contents moved to gl_REGEX.
64369         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
64370         assume that it does.
64371
64372 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64373
64374         * lib/regex.h (REG_NOSYS)
64375         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
64376         Define, since POSIX requires it as of 2001.
64377         (_REG_ENOSYS)
64378         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
64379         New private symbol, used to keep the enum signed in all cases.
64380         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
64381         Youngman in
64382         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
64383
64384         * lib/regex_internal.c (re_string_skip_chars, register_state):
64385         (calc_state_hash):
64386         Remove forward decls; no longer needed now that we use prototypes.
64387         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
64388         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
64389         (clean_state_log_if_needed): Likewise.
64390
64391 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64392
64393         * config/srclist.txt: Add glibc bugs 1231-1233.
64394
64395 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64396
64397         Fix problems reported by Sam Steingold in
64398         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
64399         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
64400         assumed that reg_errcode_t is a signed type, which is not
64401         necessarily true if _XOPEN_SOURCE is not defined.
64402         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
64403         since some compilers warn about it otherwise.
64404
64405 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64406
64407         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
64408         (init_word_char, create_initial_state, duplicate_node_closure):
64409         (fetch_token, peek_token_bracket, build_range_exp):
64410         (build_collating_symbol): Remove forward decls; no longer needed
64411         now that we use prototypes.
64412
64413         * lib/regcomp.c:
64414         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
64415         (re_compile_fastmap_iter, regcomp, regerror, regfree):
64416         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
64417         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
64418         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
64419         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
64420         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
64421         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
64422         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
64423         (build_range_exp, build_collating_symbol, parse_bracket_exp):
64424         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
64425         (build_charclass, build_charclass_op, fetch_number, create_tree):
64426         (create_token_tree, mark_opt_subexp, duplicate_tree):
64427         Use prototypes rather than old-style definitions.
64428
64429         * lib/regex_internal.c:
64430         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
64431         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
64432         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64433         (re_string_reconstruct, re_string_peek_byte_case):
64434         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
64435         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64436         (re_node_set_init_copy, re_node_set_add_intersect):
64437         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64438         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64439         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64440         (re_acquire_state, re_acquire_state_context, register_state):
64441         (create_ci_newstate, create_cd_newstate, free_state):
64442         Likewise.
64443         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
64444         re_search_2):
64445         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
64446         (re_search_internal, prune_impossible_nodes):
64447         (acquire_init_state_context, check_matching, static):
64448         (check_halt_node_context, check_halt_state_context, proceed_next_node):
64449         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
64450         (update_regs, sift_states_backward, build_sifted_states):
64451         (clean_state_log_if_needed, merge_state_array):
64452         (update_cur_sifted_state, add_epsilon_src_nodes):
64453         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
64454         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
64455         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
64456         (find_recover_state, check_subexp_matching_top, transit_state_mb):
64457         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
64458         (check_arrival, check_arrival_add_next_nodes):
64459         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64460         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64461         (check_node_accept_bytes, check_node_accept, extend_buffers):
64462         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
64463         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
64464         (sift_ctx_init):
64465         Likewise.
64466
64467         * lib/regex_internal.h:
64468         (re_string_allocate, re_string_construct, re_string_reconstruct):
64469         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
64470         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
64471         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
64472         (re_string_context_at, re_string_peek_byte_case):
64473         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
64474         is defined, since we now use prototypes always.
64475
64476         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
64477         C89 or better.  All uses removed.
64478
64479 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64480
64481         * config/srclist.txt: Add glibc bugs 1220-1227.
64482
64483 2005-08-20  Jim Meyering  <jim@meyering.net>
64484
64485         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
64486         of unused local, dfa.
64487
64488 2005-08-20  Bruno Haible  <bruno@clisp.org>
64489
64490         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
64491
64492 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64493
64494         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
64495         (re_node_set_insert_last, re_dfa_add_node):
64496         Rename local variables to avoid GCC shadowing warnings.
64497
64498 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64499
64500         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
64501         [defined lint]: Suppress bogus uninitialized-variable warnings.
64502
64503         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
64504         and let the caller return REG_ESPACE if out of space.  This
64505         removes an uninitialied-variable warning with GCC 4.0.1, and also
64506         avoids taking the address of a local variable.  All callers
64507         changed.
64508
64509 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64510
64511         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
64512         $LIBCSRC/posix/regexec.c.
64513         Add glibc bug 1217 for regcomp.c.
64514
64515 2005-08-19  Jim Meyering  <jim@meyering.net>
64516
64517         * lib/regexec.c (proceed_next_node): Redo local variables to
64518         avoid GCC shadowing warnings.
64519
64520 2005-08-18  Bruno Haible  <bruno@clisp.org>
64521
64522         * lib/strstr.c (strstr): Fix return value in multibyte case.
64523         * lib/strcasestr.c (strcasestr): Likewise.
64524
64525 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64526
64527         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
64528
64529 2005-08-17  Jim Meyering  <jim@meyering.net>
64530
64531         Make the %s format (seconds since the epoch) work for a negative
64532         number and when used with a zero-padded field width, e.g. %015s.
64533
64534         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
64535         label so that it precedes the code to set `digits'.  Otherwise,
64536         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
64537         print `00-22'.  Now, it prints `-0022', as it should.
64538
64539 2005-08-17  Bruno Haible  <bruno@clisp.org>
64540
64541         * modules/strstr (Files): Add m4/mbrtowc.m4.
64542         (Depends-on): Add mbuiter.
64543
64544 2005-08-17  Bruno Haible  <bruno@clisp.org>
64545
64546         * modules/strcasestr: New file.
64547         * MODULES.html.sh (String handling, based on ANSI C 89): Add
64548         strcasestr.
64549
64550 2005-08-17  Bruno Haible  <bruno@clisp.org>
64551
64552         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
64553
64554 2005-08-17  Bruno Haible  <bruno@clisp.org>
64555
64556         * modules/mbuiter: New file.
64557         * MODULES.html.sh (Extended multibyte and wide character utilities):
64558         Add mbuiter.
64559
64560 2005-08-17  Bruno Haible  <bruno@clisp.org>
64561
64562         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
64563         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
64564
64565 2005-08-17  Bruno Haible  <bruno@clisp.org>
64566
64567         * m4/strcasestr.m4: New file.
64568
64569 2005-08-17  Bruno Haible  <bruno@clisp.org>
64570
64571         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
64572         * lib/strstr.c: Completely rewritten, with multibyte locale support.
64573
64574 2005-08-17  Bruno Haible  <bruno@clisp.org>
64575
64576         * lib/strcasestr.h: New file.
64577         * lib/strcasestr.c: New file.
64578
64579 2005-08-17  Bruno Haible  <bruno@clisp.org>
64580
64581         * lib/strcasecmp.c: Use mbuiter.h.
64582
64583 2005-08-17  Bruno Haible  <bruno@clisp.org>
64584
64585         * lib/mbuiter.h: New file.
64586
64587 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64588
64589         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
64590         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
64591         and gl_GETOPT are both invoked via different paths (as happens
64592         with GNU tar CVS because it uses both argp and getopt), the former
64593         wins.
64594
64595 2005-08-16  Bruno Haible  <bruno@clisp.org>
64596
64597         * modules/tls: New file.
64598         * MODULES.html.sh (Multithreading): Add tls.
64599
64600 2005-08-16  Bruno Haible  <bruno@clisp.org>
64601
64602         * modules/strnlen1: New file.
64603         * MODULES.html.sh (String handling): Add strnlen1.
64604
64605 2005-08-16  Bruno Haible  <bruno@clisp.org>
64606
64607         * modules/strcase (Files): Add m4/mbrtowc.m4.
64608         (Depends-on): Add strnlen1, mbchar.
64609
64610 2005-08-16  Bruno Haible  <bruno@clisp.org>
64611
64612         * modules/mbiter: New file.
64613         * MODULES.html.sh (Extended multibyte and wide character utilities):
64614         Add mbiter.
64615
64616 2005-08-16  Bruno Haible  <bruno@clisp.org>
64617
64618         * modules/mbfile: New file.
64619         * MODULES.html.sh (Extended multibyte and wide character utilities):
64620         Add mbfile.
64621
64622 2005-08-16  Bruno Haible  <bruno@clisp.org>
64623
64624         * modules/mbchar: New file.
64625         * MODULES.html.sh (Extended multibyte and wide character utilities):
64626         New section.
64627
64628 2005-08-16  Bruno Haible  <bruno@clisp.org>
64629
64630         * m4/tls.m4: New file, from GNU gettext.
64631
64632 2005-08-16  Bruno Haible  <bruno@clisp.org>
64633
64634         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
64635         always.
64636         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
64637
64638 2005-08-16  Bruno Haible  <bruno@clisp.org>
64639
64640         * m4/mbiter.m4: New file.
64641
64642 2005-08-16  Bruno Haible  <bruno@clisp.org>
64643
64644         * m4/mbfile.m4: New file.
64645
64646 2005-08-16  Bruno Haible  <bruno@clisp.org>
64647
64648         * m4/mbchar.m4: New file.
64649
64650 2005-08-16  Bruno Haible  <bruno@clisp.org>
64651
64652         * lib/tls.h: New file, from GNU gettext.
64653         * lib/tls.c: New file, from GNU gettext.
64654
64655 2005-08-16  Bruno Haible  <bruno@clisp.org>
64656
64657         * lib/strnlen1.h: New file.
64658         * lib/strnlen1.c: New file.
64659
64660 2005-08-16  Bruno Haible  <bruno@clisp.org>
64661
64662         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
64663         (mbi_init): Update.
64664         (mbi_avail, mbi_advance): Let the iteration end before the terminating
64665         NUL byte, not after it.
64666
64667 2005-08-16  Bruno Haible  <bruno@clisp.org>
64668
64669         * lib/strcase.h (strcasecmp): Add note in comments.
64670         * lib/strncasecmp.c: Use code from strcasecmp.c.
64671         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
64672         (strcasecmp): Work correctly in multibyte locales.
64673
64674 2005-08-16  Bruno Haible  <bruno@clisp.org>
64675
64676         * lib/mbiter.h: New file.
64677
64678 2005-08-16  Bruno Haible  <bruno@clisp.org>
64679
64680         * lib/mbfile.h: New file.
64681
64682 2005-08-16  Bruno Haible  <bruno@clisp.org>
64683
64684         * lib/mbchar.h: New file.
64685         * lib/mbchar.c: New file.
64686
64687 2005-08-16  Bruno Haible  <bruno@clisp.org>
64688
64689         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
64690         the valid ones. Makes the comparison operations transitive:
64691         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64692         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64693
64694 2005-08-15  Simon Josefsson  <jas@extundo.com>
64695
64696         * modules/ssize_t (License): Change to 'unlimited'.
64697
64698         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64699
64700 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64701
64702         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64703         Add comments for each pending glibc patch.
64704
64705 2005-08-15  Bruno Haible  <bruno@clisp.org>
64706
64707         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64708         __cplusplus is defined.
64709
64710 2005-08-14  Jim Meyering  <jim@meyering.net>
64711
64712         Sync from coreutils.
64713
64714         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64715         Use the hash-table-based cycle-detection code not just when
64716         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64717         Reported by James Youngman in
64718         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64719         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64720         FTS_TIGHT_CYCLE_CHECK.
64721         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64722         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64723         once again.
64724         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64725         * lib/fts.c (fd_safer): Remove decl.
64726         Include fcntl--.h rather than unistd-safer.h
64727         (fts_safe_changedir): Don't call fd_safer; no longer needed
64728         now that we include fcntl--.h.
64729
64730 2005-08-12  Simon Josefsson  <jas@extundo.com>
64731
64732         * modules/getndelim2: Use ssize_t module.
64733         * modules/getnline: Likewise.
64734         * modules/safe-read: Likewise.
64735         * modules/xreadlink: Likewise.
64736
64737         * modules/ssize_t: New file.
64738
64739 2005-08-12  Simon Josefsson  <jas@extundo.com>
64740
64741         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64742
64743 2005-08-12  Simon Josefsson  <jas@extundo.com>
64744
64745         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64746         ssize_t.
64747
64748 2005-08-12  Simon Josefsson  <jas@extundo.com>
64749
64750         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64751         readline, getdelim and check_version.
64752         (Support for systems lacking ISO C 99: Sizes of integer types):
64753         Add size_max.
64754
64755 2005-08-12  Bruno Haible  <bruno@clisp.org>
64756
64757         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64758
64759 2005-08-11  Simon Josefsson  <jas@extundo.com>
64760
64761         * modules/readline: New file.
64762
64763         * modules/strnlen (Files): Add strnlen.h.
64764
64765 2005-08-11  Simon Josefsson  <jas@extundo.com>
64766
64767         * m4/readline.m4: New file.
64768
64769 2005-08-11  Simon Josefsson  <jas@extundo.com>
64770
64771         * lib/readline.h, readline.c: New file.
64772
64773 2005-08-11  Simon Josefsson  <jas@extundo.com>
64774
64775         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64776         gl_AVOID.
64777
64778 2005-08-11  Bruno Haible  <bruno@clisp.org>
64779
64780         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64781
64782 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64783
64784         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64785
64786 2005-08-10  Simon Josefsson  <jas@extundo.com>
64787
64788         * tests/test-iconvme.c: New file.
64789
64790 2005-08-10  Simon Josefsson  <jas@extundo.com>
64791
64792         * m4/strnlen.m4: New file.
64793
64794         * m4/strndup.m4: Don't check for strnlen declaration, done in
64795         strnlen.m4.
64796
64797 2005-08-10  Simon Josefsson  <jas@extundo.com>
64798
64799         * lib/strndup.c: Use strnlen.h.
64800
64801         * lib/strnlen.h: New file.
64802
64803 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64804
64805         * README: Typos.
64806
64807 2005-08-02  Simon Josefsson  <jas@extundo.com>
64808
64809         * modules/readline: New file.
64810
64811 2005-08-02  Simon Josefsson  <jas@extundo.com>
64812
64813         * modules/getdelim: New file.
64814
64815         * modules/getline: Rewrite, don't use getndelim2.
64816
64817 2005-08-02  Simon Josefsson  <jas@extundo.com>
64818
64819         * m4/getline.m4: Separate out getdelim stuff into separate module.
64820
64821         * m4/getdelim.m4: New file.
64822
64823 2005-08-02  Simon Josefsson  <jas@extundo.com>
64824
64825         * lib/getline.h, getline.c: Rewrite.
64826
64827         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64828
64829 2005-07-31  Bruno Haible  <bruno@clisp.org>
64830
64831         * lib/lock.h (gl_lock_initializer): New macro.
64832         (gl_lock_define_initialized): Use it.
64833         (gl_rwlock_initializer): New macro.
64834         (gl_rwlock_define_initialized): Use it.
64835         (gl_recursive_lock_initializer): New macro.
64836         (gl_recursive_lock_define_initialized): Use it.
64837
64838 2005-07-30  Karl Berry  <karl@gnu.org>
64839
64840         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64841         Report from Ben Pfaff, regarding getopt.
64842
64843 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64844
64845         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64846         normal way.
64847         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64848         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64849         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64850         (gl_GETOPT): Use the new macros.  Most of the implementation
64851         is moved to the new macros.  This is for programs like Emacs
64852         that don't want all the functionality of gl_GETOPT.
64853
64854 2005-07-26  Bruno Haible  <bruno@clisp.org>
64855
64856         * m4/lock.m4: Update from GNU gettext.
64857
64858 2005-07-26  Bruno Haible  <bruno@clisp.org>
64859
64860         * lib/lock.h: Update from GNU gettext.
64861         * lib/lock.c: Update from GNU gettext.
64862
64863 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64864
64865         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64866         obsolescent AC_TRY_RUN.  Include the default includes files, for
64867         'exit'.
64868
64869 2005-07-24  Bruno Haible  <bruno@clisp.org>
64870
64871         * modules/visibility: New file.
64872         * MODULES.html.sh (Misc): Add visibility.
64873
64874 2005-07-24  Bruno Haible  <bruno@clisp.org>
64875
64876         * m4/visibility.m4: New file.
64877
64878 2005-07-24  Bruno Haible  <bruno@clisp.org>
64879
64880         * doc/visibility.texi: New file.
64881
64882 2005-07-22  Bruno Haible  <bruno@clisp.org>
64883
64884         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64885         $(ALLOCA_H), redundant through BUILT_SOURCES.
64886         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64887         redundant through BUILT_SOURCES.
64888         * modules/byteswap (Makefile.am): Remove explicit dependency on
64889         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64890         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64891         $(FNMATCH_H), redundant through BUILT_SOURCES.
64892         * modules/getopt (Makefile.am): Remove explicit dependency on
64893         $(GETOPT_H), redundant through BUILT_SOURCES.
64894         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64895         redundant through BUILT_SOURCES.
64896         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64897         redundant through BUILT_SOURCES.
64898         * modules/stdbool (Makefile.am): Remove explicit dependency on
64899         $(STDBOOL_H), redundant through BUILT_SOURCES.
64900         * modules/stdint (Makefile.am): Remove explicit dependency on
64901         $(STDINT_H), redundant through BUILT_SOURCES.
64902         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64903         Remove explicit dependency on $(SYSEXITS_H).
64904         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64905
64906 2005-07-18  Simon Josefsson  <jas@extundo.com>
64907
64908         * lib/check-version.c (check_version): Accept identical versions too.
64909
64910 2005-07-18  Bruno Haible  <bruno@clisp.org>
64911
64912         * modules/lock: New file.
64913         * MODULES.html.sh (Multithreading): New section.
64914
64915 2005-07-18  Bruno Haible  <bruno@clisp.org>
64916
64917         * m4/lock.m4: New file, from GNU gettext.
64918
64919 2005-07-18  Bruno Haible  <bruno@clisp.org>
64920
64921         * lib/lock.h: New file, from GNU gettext.
64922         * lib/lock.c: New file, from GNU gettext.
64923
64924 2005-07-18  Bruno Haible  <bruno@clisp.org>
64925
64926         * lib/lock.h (gl_once_t): New type.
64927         (gl_once_define, gl_once): New macros.
64928         * lib/lock.c (fresh_once): New variable.
64929         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
64930         functions.
64931
64932 2005-07-16  Simon Josefsson  <jas@extundo.com>
64933
64934         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
64935         workaround, suggested by Bruno.
64936
64937 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64938
64939         * modules/xalloc (Depends-on): Add xalloc-die.
64940         * modules/xvasprintf (Depends-on): Add xalloc-die.
64941
64942 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64943
64944         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
64945         with a minor change.
64946
64947 2005-07-15  Bruno Haible  <bruno@clisp.org>
64948
64949         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
64950         When using lib/poll.c, define poll as rpl_poll.
64951
64952 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
64953
64954         * modules/argp (Depends-on): Remove unlocked-io.
64955
64956 2005-07-14  Derek Price  <derek@ximbiot.com>
64957
64958         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
64959         for glob symlink bug.
64960
64961 2005-07-14  Bruno Haible  <bruno@clisp.org>
64962
64963         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
64964         Instead, test for *_unlocked function declarations directly.
64965
64966 2005-07-11  Simon Josefsson  <jas@extundo.com>
64967
64968         * modules/size_max: New file.
64969
64970         * modules/xsize: Depend on size_max module for size_max.m4.
64971
64972 2005-07-11  Simon Josefsson  <jas@extundo.com>
64973
64974         * lib/size_max.h: New file.
64975
64976 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
64977
64978         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
64979         copyright symbol and the year.
64980         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
64981         (version_etc_va): Use parameterized copyright notice.
64982         Reword to conform to the current GNU coding standards.
64983
64984 2005-07-11  Karl Berry  <karl@gnu.org>
64985
64986         * doc/gnulib.texi (Quoting): new node.
64987         (Initial import): more info, from Patrice.
64988
64989 2005-07-11  Bruno Haible  <bruno@clisp.org>
64990
64991         * gnulib-tool (func_usage): Document option --avoid.
64992         (Command line options): Handle --avoid.
64993         (func_acceptable): New function.
64994         (func_modules_transitive_closure): Use it.
64995
64996 2005-07-11  Bruno Haible  <bruno@clisp.org>
64997
64998         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
64999         Reported by Jim Meyering.
65000
65001 2005-07-10  Bruno Haible  <bruno@clisp.org>
65002
65003         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
65004         Needed when size_t is smaller than 'unsigned int'.
65005         Reported by Paul Eggert.
65006
65007 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65008
65009         * modules/argp (Depends-on): Add unlocked-io
65010
65011 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65012
65013         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
65014         block of defines.
65015
65016 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65017
65018         * config/srclist.txt: Comment out regcomp.c, since we have a porting
65019         fix now.
65020
65021 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
65022         and Paul Eggert  <eggert@cs.ucla.edu>
65023
65024         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
65025         in wint_t, not wchar_t.  Remove now-unnecessary cast.
65026
65027 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65028
65029         * modules/regex (Files): Add lib/regex_internal.c,
65030         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
65031         (Depends-on): Add extensions.
65032         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
65033
65034 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65035
65036         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
65037         pathconf.
65038         * m4/same.m4 (gl_SAME): Likewise.
65039         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
65040
65041         * m4/regex.m4: Adjust to new libc regex implementation.
65042         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
65043         all the .c and .h parts of (the new) regex.
65044         Quote the m4 stuff better.
65045         Check for RE_ICASE bug of old gnulib.
65046         Check for REG_STARTEND of recent libc.
65047         Rename local variables from jm_* to gl_*.
65048         Quote operand of "test -f".
65049         Say "recent enough" version of libc, not "version 2".
65050         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
65051         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
65052         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
65053         Remove check for btowc, isascii.
65054         Require AM_LANGINFO_CODESET.
65055
65056 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65057
65058         * lib/regex.c, regex.h: Sync from libc.
65059         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
65060         * lib/regexec.c:
65061         New files, synced from libc, except that regex_internal.h
65062         currently has a small porting fix.
65063
65064 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65065
65066         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
65067         regex_internal.c, regexec.c.
65068         Add regex_internal.h too, but as a comment, since the libc version
65069         is currently broken in gnulib mode.
65070
65071 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65072
65073         Support programs like Emacs that use gnulib but not gettext.
65074         * MODULES.html.sh (Internationalization functions): Add gettext-h.
65075         * modules/gettext-h: New file.
65076         * modules/gettext (Files): Remove lib/gettext.h.
65077         (Depends-on): Add gettext-h.
65078         (Makefile.am): Remove lib_SOURCES.
65079         * modules/argmatch, modules/c-stack, modules/closeout:
65080         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
65081         * modules/execute, modules/file-type, modules/getaddrinfo:
65082         * modules/getopt, modules/human, modules/javacomp:
65083         * modules/javaexec, modules/mkdir-p, modules/obstack:
65084         * modules/openat, modules/pagealign_alloc, modules/pipe:
65085         * modules/quotearg, modules/regex, modules/rpmatch:
65086         * modules/unicodeio, modules/userspec, modules/version-etc:
65087         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
65088         * modules/xsetenv:
65089         Depend on gettext-h, not gettext.
65090
65091 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65092
65093         * gnulib-tool (func_import): Add support for 'public domain' license.
65094         * modules/alloca, modules/atexit, modules/memmove:
65095         Now public domain, not GPL.
65096         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
65097         * modules/realloc, modules/strerror, modules/strtod:
65098         Now LGPL, not GPL.
65099
65100 2005-07-05  Bruno Haible  <bruno@clisp.org>
65101
65102         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
65103         autoconf CVS. Needed for mingw.
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         * modules/strftime (Depends-on): Remove dependency on tzset.
65109
65110 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65111
65112         Remove the dependency of the strftime module on the tzset module.
65113         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
65114         gl_FUNC_TZSET_CLOBBER.
65115
65116 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65117
65118         Remove the dependency of the strftime module on the tzset module.
65119         * lib/strftime.c (my_strftime)
65120         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
65121         Copy the input structure, to work around some of the bug with
65122         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
65123         Solaris releases, you should also use the tzset module, but we won't
65124         require it as a dependency any more since we don't want LGPLed code
65125         to depend on GPLed code.
65126
65127 2005-07-02  Jim Meyering  <jim@meyering.net>
65128
65129         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
65130         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
65131         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
65132         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
65133
65134 2005-07-02  Jim Meyering  <jim@meyering.net>
65135
65136         * lib/backupfile.c (backup_args): Change a `0' to NULL.
65137
65138 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65139
65140         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
65141         declares only 'struct timespec;' (!).
65142
65143 2005-07-01  Jim Meyering  <jim@meyering.net>
65144
65145         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
65146         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
65147         * lib/save-cwd.c, tempname.c:
65148         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65149         and don't include <sys/file.h>).
65150
65151 2005-06-29  Jim Meyering  <jim@meyering.net>
65152
65153         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
65154         type name.  Use the variable name instead.
65155         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
65156         Likewise.
65157
65158 2005-06-28  Simon Josefsson  <jas@extundo.com>
65159
65160         * modules/check-version (Files): Add check-version.m4.
65161
65162 2005-06-28  Simon Josefsson  <jas@extundo.com>
65163
65164         * m4/check-version.m4: New file, suggested by Jim Meyering
65165         <jim@meyering.net>.
65166
65167 2005-06-28  Simon Josefsson  <jas@extundo.com>
65168
65169         * lib/check-version.h, lib/check-version.c: New files.
65170
65171 2005-06-28  Simon Josefsson  <jas@extundo.com>
65172
65173         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
65174         collision with global variable.  Better indentation.  Don't
65175         increment buffer pointer beyond buffer end.  Based on comments
65176         from Paul Eggert <eggert@cs.ucla.edu>.
65177
65178         * lib/base64.h: Indent.
65179
65180 2005-06-28  Simon Josefsson  <jas@extundo.com>
65181
65182         * doc/gnulib.texi (Library version handling): New section.
65183
65184 2005-06-28  Jim Meyering  <jim@meyering.net>
65185
65186         * check-module (find_included_lib_files): Hard-code another
65187         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
65188         but modules/fts-lgpl (correctly) does not list those files.
65189
65190         * modules/canonicalize (Files): Add lib/pathmax.h.
65191
65192 2005-06-25  Simon Josefsson  <jas@extundo.com>
65193
65194         * modules/check-version: New file.
65195
65196 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
65197
65198         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
65199         initializer of struct addrinfo, as an indication that we don't
65200         care how many members the structure has.
65201
65202 2005-06-24  Derek Price  <derek@ximbiot.com>
65203         and Bruno Haible  <bruno@clisp.org>
65204
65205         Remove stat module & update lstat.
65206         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
65207         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65208         * m4/stat.m4: Remove this file.
65209
65210 2005-06-24  Derek Price  <derek@ximbiot.com>
65211         and Bruno Haible  <bruno@clisp.org>
65212
65213         Remove stat module & update lstat.
65214         * lib/stat.c: Remove this file...
65215         (slash_aware_lstat): ...moving this content and its support...
65216         * lib/lstat.c (rpl_lstat): ...into here.
65217         * lib/lstat.h: New file.
65218
65219 2005-06-24  Derek Price  <derek@ximbiot.com>
65220         and Bruno Haible  <bruno@clisp.org>
65221
65222         Remove stat module & update lstat.
65223         * config/srclist.txt (libc sources): Remove stat.
65224
65225 2005-06-24  Derek Price  <derek@ximbiot.com>
65226         and Bruno Haible  <bruno@clisp.org>
65227
65228         Remove stat module & update lstat.
65229         * MODULES.html.sh (stat): Remove.
65230         * MODULES.html: Regenerated.
65231         * modules/lstat (Description): Correct function name.
65232         (Files): Add "lstat.h".
65233         (Depends-on): Remove stat, add xalloc, stat-macros.
65234         * modules/stat: Remove this file.
65235         (Include): Add "lstat.h", remove <sys/stat.h>.
65236
65237 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65238
65239         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
65240         (ranged_convert): Don't save conversion in a temporary struct.
65241         This causes a warning with GCC 4.0.0, and anyway in the typical
65242         case it's not worth the extra 100 bytes or so of code.
65243         (ranged_convert, __mktime_internal): When calling a function via a
65244         pointer P, use P () rather than (*P) (), as we now assume C89 or
65245         better.
65246
65247 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65248
65249         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
65250         "who -r" failed to give output.  Problem reported by Tim Waugh.
65251
65252         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
65253         (xcalloc): Use it to avoid needless tests.
65254         Problem reported by Jim Meyering.
65255
65256 2005-06-20  Derek Price  <derek@ximbiot.com>
65257
65258         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
65259         unnecessary for Autoconfs > 2.59c.
65260
65261 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65262
65263         * lib/argp.h (__option_is_short): Check upper limit of
65264         __key. Isprint() requires its argument to have the value
65265         of an unsigned char or EOF.
65266
65267 2005-06-16  Jim Meyering  <jim@meyering.net>
65268
65269         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
65270         when either N or S is zero.
65271
65272 2005-06-16  Derek Price  <derek@ximbiot.com>
65273
65274         * m4/bison.m4: Declare YACC & YFLAGS precious.
65275
65276 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
65277
65278         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
65279         multibyte string or pattern, fall back on unibyte matching.
65280         Problem reported by James Youngman.
65281
65282 2005-06-08  Bruno Haible  <bruno@clisp.org>
65283
65284         * modules/csharpcomp: New file.
65285         * MODULES.html.sh (C#): Add csharpcomp.
65286
65287 2005-06-08  Bruno Haible  <bruno@clisp.org>
65288
65289         * m4/csharpcomp.m4: New file, from GNU gettext.
65290
65291 2005-06-08  Bruno Haible  <bruno@clisp.org>
65292
65293         * lib/csharpcomp.h: New file, from GNU gettext.
65294         * lib/csharpcomp.c: New file, from GNU gettext.
65295         * lib/csharpcomp.sh.in: New file, from GNU gettext.
65296
65297 2005-06-08  Bruno Haible  <bruno@clisp.org>
65298
65299         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
65300         warning on mingw.
65301
65302 2005-06-07  Derek Price  <derek@ximbiot.com>
65303
65304         Sync from CVS.
65305         * lib/glob_.h: Indent nested #ifdef.
65306
65307 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65308
65309         Sync from coreutils.
65310         Use "file name" when talking about file names, instead of "filename"
65311         or "path", as per the GNU coding standards.
65312         * lib/mkdir-p.c: Renamed from makepath.c.
65313         (make_dir_parents): Renamed from make_path.  All callers changed.
65314         * lib/mkdir-p.h: Likewise.  All includers changed.
65315         * lib/filenamecat.c: Renamed from path-concat.c.
65316         (file_name_concat): Renamed from path_concat.  All callers changed.
65317         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
65318         * lib/filenamecat.h: Likewise.  All includers changed.
65319         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
65320         in comments or local variable names.
65321         * lib/basename.c: Likewise.
65322         * lib/canonicalize.c, canonicalize.h: Likewise.
65323         * lib/dirname.c, dirname.h: Likewise.
65324         * lib/euidaccess.c: Likewise.
65325         * lib/exclude.c: Likewise
65326         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
65327         * lib/fsusage.c, fsuage.h: Likewise.
65328         * lib/fts.c, fts_.h: Likewise.
65329         * lib/getcwd.c: Likewise.
65330         * lib/getloadavg.c: Likewise.
65331         * lib/mkstemp.c: Likewise.
65332         * lib/mountlist.c, mountlist.h: Likewise.
65333         * lib/openat.c, openat.h: Likewise.
65334         * lib/readlink-stub.c: Likewise.
65335         * lib/readutmp.c, readutmp.h: Likewise.
65336         * lib/rename.c: Likewise.
65337         * lib/rmdir.c: Likewise.
65338         * lib/same.c: Likewise.
65339         * lib/savedir.c: Likewise.
65340         * lib/stripslash.c: Likewise.
65341         * lib/tempname.c: Likewise.
65342         * lib/xreadlink.c: Likewise.
65343         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
65344         All uses changed.
65345         * lib/exclude.h: Likewise.
65346
65347         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
65348         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65349         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
65350         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65351         * lib/pathmax.h: Include <limits.h> unconditionally, since other
65352         files have been getting away with it for years (MORE/BSD 4.3
65353         is extinct now).
65354         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
65355         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65356
65357         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
65358         Define to 256, not 255, as per modern POSIX.
65359
65360 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65361
65362         Sync from coreutils.
65363         Use "file name" when talking about file names, instead of "filename"
65364         or "path", as per the GNU coding standards.
65365         * MODULES.html.sh: mkdir-p renamed from makepath.
65366         filenamecat renamed from path-concat.
65367         * modules/filenamecat: Renamed from modules/path-concat.
65368         (Files): filenamecat.h and filenamecat.c renamed from
65369         path-concat.h and path-concat.c.
65370         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
65371         (Include): filenamecat.h, not path-concat.h.
65372         * modules/mkdir-p: Renamed from modules/makepath.
65373         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
65374         makepath.c.
65375         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
65376         (Include): mkdir-p.h, not makepath.h.
65377
65378 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65379
65380         Sync from coreutils.
65381         * m4/mkdir-p.m4: Renamed from makepath.m4.
65382         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
65383         Rename files from makepath.c to mkdir-p.c, and from
65384         makepath.h to mkdir-p.h.
65385         * m4/filenamecat.m4: Renamed from path-concat.m4.
65386         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
65387         Rename files from path-concat.c to filenamecat.c,
65388         and from path-concat.h to filenamecat.h.
65389         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
65390         "file name" in local variables or comments.
65391         * m4/rename.m4: Likewise.
65392
65393 2005-06-01  Bruno Haible  <bruno@clisp.org>
65394
65395         * modules/csharpexec: New file.
65396         * MODULES.html.sh (C#): New section.
65397
65398 2005-06-01  Bruno Haible  <bruno@clisp.org>
65399
65400         * m4/csharp.m4: New file, from GNU gettext.
65401         * m4/csharpexec.m4: New file, from GNU gettext.
65402
65403 2005-06-01  Bruno Haible  <bruno@clisp.org>
65404
65405         * lib/csharpexec.h: New file, from GNU gettext.
65406         * lib/csharpexec.c: New file, from GNU gettext.
65407         * lib/csharpexec.sh.in: New file, from GNU gettext.
65408
65409 2005-05-31  Derek Price  <derek@ximbiot.com>
65410             Paul Eggert  <eggert@cs.ucla.edu>
65411
65412         Sync from cvs.
65413         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65414
65415 2005-05-31  Derek Price  <derek@ximbiot.com>
65416             Paul Eggert  <eggert@cs.ucla.edu>
65417
65418         Sync from cvs.
65419         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65420
65421 2005-05-29  Derek Price  <derek@ximbiot.com>
65422
65423         * config/srclist.txt (glob_.h, glob.c): Add these files.
65424
65425 2005-05-29  Derek Price  <derek@ximbiot.com>
65426
65427         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
65428         * modules/glob: New file.
65429         * modules/getlogin_r: Add link to POSIX spec in description.
65430
65431 2005-05-29  Derek Price  <derek@ximbiot.com>
65432             Paul Eggert  <eggert@cs.ucla.edu>
65433
65434         * m4/glob.m4: New file.
65435
65436 2005-05-29  Derek Price  <derek@ximbiot.com>
65437             Paul Eggert  <eggert@cs.ucla.edu>
65438
65439         * lib/glob_.h, lib/glob.c: New files.
65440
65441 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65442
65443         * modules/fts (Files): Remove m4/inttypes-pri.m4.
65444         * modules/fts-lgpl (Depends-on): Remove gettext.
65445
65446 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65447
65448         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
65449         and don't require gt_INTTYPES_PRI.
65450
65451 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65452
65453         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
65454
65455         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
65456         the configuration hassle isn't worth it.
65457         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
65458         (LONGEST_MODIFIER, PRIuMAX): Remove.
65459
65460 2005-05-27  Bruno Haible  <bruno@clisp.org>
65461
65462         * lib/getlogin_r.h: Remove second include of <stddef.h>.
65463
65464 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65465
65466         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
65467         _POSIX_PTHREAD_SEMANTICS for Solaris.
65468
65469 2005-05-25  Derek Price  <derek@ximbiot.com>
65470
65471         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
65472
65473 2005-05-25  Derek Price  <derek@ximbiot.com>
65474             Paul Eggert  <eggert@cs.ucla.edu>
65475
65476         * modules/getlogin_r, m4/getlogin_r.m4: New files.
65477         * lib/getlogin_r.c, getlogin_r.h: New files.
65478
65479 2005-05-25  Bruno Haible  <bruno@clisp.org>
65480             Derek Price  <derek@ximbiot.com>
65481
65482         * lib/getlogin_r.h: Simplify API documentation.
65483
65484 2005-05-23  Derek Price  <derek@ximbiot.com>
65485
65486         * modules/minmax (Files): Add m4/minmax.m4.
65487         (configure.ac): Add gl_MINMAX.
65488
65489 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65490
65491         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
65492         so that unistd-safer.h (GPL'ed code) need not be included.
65493
65494 2005-05-22  Bruno Haible  <bruno@clisp.org>
65495
65496         * m4/minmax.m4: New file.
65497         Based on a patch by Derek Price <derek@ximbiot.com>.
65498
65499 2005-05-22  Bruno Haible  <bruno@clisp.org>
65500
65501         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
65502         (INT64_MIN): Fix definition.
65503         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
65504
65505         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
65506         NEED_SIGNED_INT_TYPES.
65507
65508         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
65509         HAVE_SYSTEM_INTTYPES.
65510
65511 2005-05-22  Bruno Haible  <bruno@clisp.org>
65512
65513         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
65514         Also include <sys/param.h> if it defines MIN, MAX.
65515         Based on a patch by Derek Price <derek@ximbiot.com>.
65516
65517 2005-05-21  Jim Meyering  <jim@meyering.net>
65518
65519         * modules/fts (Files): Add m4/inttypes-pri.m4.
65520         (Depends-on): Add lstat and remove gettext.  Alphabetize.
65521
65522 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65523
65524         New fts module.
65525         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
65526         (setup_dir, free_dir): New functions.
65527         (enter_dir, leave_dir): Define trivial
65528         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
65529         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
65530         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
65531         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
65532         Move to fts-cycle.c.
65533         (fts_open): Use setup_dir.
65534         (fts_close): Use free_dir.
65535         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
65536         This adds a label and some gotos, but the alternatives were messier.
65537         Check for memory allocation failure when entering a dir.
65538         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
65539         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
65540         (FTS): New member fts_cycle, that is a union that contains the
65541         old active_dir_ht and cycle_state.  All uses changed to mention
65542         fts_cycle.ht and fts_cycle.state.
65543         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
65544         fts.c, with the following changes:
65545         (setup_dir, free_dir): New functions.
65546         (enter_dir): Now returns bool.  Return true if successful, false
65547         if memory exhausted.  All callers changed.
65548         Do not bother partly cleaning up on
65549         memory allocation failure; that is free_dir's job.
65550         However, free ad if hash_insert fails, to avoid memory leak.
65551         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
65552         fts->fts_options to see which union member to use.
65553
65554 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65555
65556         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
65557         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
65558
65559 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65560
65561         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
65562
65563 2005-05-20  Jim Meyering  <jim@meyering.net>
65564
65565         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
65566         Now a macro, to pacify GCC.
65567
65568 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65569
65570         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
65571         of -1.
65572
65573 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65574
65575         * lib/chown.c (rpl_chown): Return -1 on failure.
65576
65577 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65578
65579         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
65580         Don't check for stddef.h.
65581         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
65582         don't use its results.
65583         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
65584         since we include them unconditionally.  Don't require
65585         AM_STDBOOL_H, since stdbool is a prerequisite.
65586         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
65587         since we assume C89 or better.
65588         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
65589         as we don't use their results.
65590         Don't check for fchdir, memmove, memset, strrchr, as we use
65591         them unconditionally.
65592         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
65593         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
65594
65595 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65596
65597         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
65598         Include <stddef.h> unconditionally, since we assume C89 now.
65599         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
65600         * lib/fts.c: Include fts_.h first, to check interface.
65601         Do not include intprops.h; no longer needed.
65602         Include cycle-check.h and hash.h, since fts_.h no longer does.
65603         Remove unnecessary casts of closedir to void.
65604         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
65605         decide whether to decrement nlinks.
65606         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
65607         (FTS): Use struct hash_table * instead of Hash_table, so that
65608         we no longer need to include hash.h here.
65609
65610 2005-05-18  Jim Meyering  <jim@meyering.net>
65611
65612         * modules/dirfd (License): Change to LGPL.  Most of the code
65613         is already in the public domain.
65614
65615 2005-05-18  Jim Meyering  <jim@meyering.net>
65616
65617         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
65618         Reported by Yoann Vandoorselaere.
65619
65620 2005-05-17  Jim Meyering  <jim@meyering.net>
65621
65622         * m4/fts.m4: New file, from coreutils.
65623
65624 2005-05-17  Jim Meyering  <jim@meyering.net>
65625
65626         * lib/fts.c, lib/fts_.h: New files, from coreutils.
65627
65628 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65629
65630         Sync from coreutils.
65631         * m4/unlinkdir.m4: New file.
65632
65633 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65634
65635         Sync from coreutils.
65636         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
65637         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
65638         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
65639         White space changes only.
65640         * lib/makepath.c (make_path): Port to hosts where leading "//" is
65641         special.
65642         * lib/yesno.c: Include getline.h, not ctype.h.
65643         (yesno): Don't remove leading white space; POSIX doesn't allow it.
65644         Use getline to remove arbitrary restriction on response length.
65645
65646 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65647
65648         * config/srclist-update: Spell out "Street" in FSF postal
65649         mail address; this is the style the FSF seems to prefer.
65650
65651         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
65652         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
65653         this updates FSF postal mail address.
65654
65655         Sync from coreutils.
65656         * modules/unlinkdir: New file.
65657         * modules/yesno (Depends-on): Add getline.
65658         * MODULES.html.sh (File system functions): Add unlinkdir.
65659
65660 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65661
65662         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
65663         lib/strsep.h:
65664         Change the initial comment to refer to GPL, not LGPL.
65665         gnulib-tool will change it to LGPL as needed.
65666
65667         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
65668         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
65669         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
65670         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
65671         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
65672         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
65673         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
65674         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
65675         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
65676         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
65677         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
65678         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
65679         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
65680         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
65681         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
65682         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
65683         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
65684         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
65685         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
65686         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
65687         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
65688         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
65689         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
65690         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65691         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65692         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65693         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65694         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65695         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65696         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65697         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65698         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65699         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65700         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65701         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65702         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65703         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65704         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65705         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65706         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65707         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65708         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65709         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65710         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65711         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65712         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65713         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65714         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65715         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65716         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65717         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65718         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65719         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65720         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65721         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65722         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65723         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65724         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65725         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65726         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65727         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65728         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65729         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65730         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65731         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65732         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65733         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65734         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65735         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65736         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65737         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65738         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65739         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65740         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65741         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65742         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65743         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65744         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65745         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65746         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65747         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65748         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65749         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65750         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65751         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65752         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65753         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65754         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65755         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65756         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65757         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65758         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65759         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65760         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65761         lib/yesno.c, lib/yesno.h:
65762         Update FSF postal mail address.
65763
65764 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65765
65766         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65767         tests/test-memmem.c, tests/test-stpncpy.c:
65768         Update FSF postal mail address.
65769
65770 2005-05-13  Bruno Haible  <bruno@clisp.org>
65771
65772         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65773         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65774         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65775         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65776         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65777         Add support for 64-bit integers in the MSVC compiler.
65778
65779 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65780
65781         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65782
65783 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65784
65785         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65786
65787 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65788
65789         * doc/getdate.texi (General date syntax): Don't say that date
65790         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65791         Problem reported by Nic Ferrier.
65792
65793 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65794
65795         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65796         specified in ai_socktype. Fix invalid ai_protocol
65797         check. ai_protocol is usually set to 0 or depending on
65798         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65799         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65800         ai_socktype / ai_protocol in the returned addrinfo structure.
65801
65802 2005-05-10  Simon Josefsson  <jas@extundo.com>
65803
65804         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65805         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65806
65807 2005-05-10  Karl Berry  <karl@gnu.org>
65808
65809         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65810         (from http://www.gnu.org/licenses).
65811         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65812         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65813         fdl.texi suffices.
65814
65815 2005-05-10  Karl Berry  <karl@gnu.org>
65816
65817         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65818         (COPYING.DOC): remove.
65819
65820         * config/srclist-update: new FSF address.
65821
65822 2005-05-10  Derek Price  <derek@ximbiot.com>
65823
65824         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65825         possible.
65826
65827 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65828             Bruno Haible  <bruno@clisp.org>
65829
65830         * modules/inet_ntop: New file.
65831         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65832         inet_ntop.
65833
65834 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65835             Bruno Haible  <bruno@clisp.org>
65836
65837         * m4/inet_ntop.m4: New file.
65838
65839 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65840             Bruno Haible  <bruno@clisp.org>
65841
65842         * lib/inet_ntop.h: New file.
65843         * lib/inet_ntop.c: New file, from glibc with modifications.
65844
65845 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65846
65847         * modules/time_r (License): Change to LGPL.
65848         * modules/extensions (License): Change to LGPL.  Actually,
65849         the license is more permissive than that, but currently gnulib-tool
65850         doesn't know how to handle more-permissive licenses.
65851
65852         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65853         Problem reported by Dave Love.
65854
65855 2005-05-08  Jim Meyering  <jim@meyering.net>
65856
65857         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65858         blank.
65859
65860 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65861
65862         * modules/argmatch (Depends-on): Add stdbool.
65863         * modules/backupfile (Depends-on): Likewise.
65864         * modules/chdir-long (Depends-on): Likewise.
65865         * modules/closeout (Depends-on): Likewise.
65866         * modules/cycle-check (Depends-on): Likewise.
65867         * modules/dirname (Depends-on): Likewise.
65868         * modules/fnmatch (Depends-on): Likewise.
65869         * modules/fsusage (Depends-on): Likewise.
65870         * modules/fwriteerror (Depends-on): Likewise.
65871         * modules/getcwd (Depends-on): Likewise.
65872         * modules/getloadavg (Depends-on): Likewise.
65873         * modules/hard-locale (Depends-on): Likewise.
65874         * modules/makepath (Depends-on): Likewise.
65875         * modules/mountlist (Depends-on): Likewise.
65876         * modules/nanosleep (Depends-on): Likewise.
65877         * modules/posixtm (Depends-on): Likewise.
65878         * modules/quotearg (Depends-on): Likewise.
65879         * modules/readtokens (Depends-on): Likewise.
65880         * modules/readtokens0 (Depends-on): Likewise.
65881         * modules/readutmp (Depends-on): Likewise.
65882         * modules/save-cwd (Depends-on): Likewise.
65883         * modules/strftime (Depends-on): Likewise.
65884         * modules/userspec (Depends-on): Likewise.
65885         * modules/utimecmp (Depends-on): Likewise.
65886         * modules/xgetcwd (Depends-on): Likewise.
65887         * modules/xnanosleep (Depends-on): Likewise.
65888         * modules/xstrtod (Depends-on): Likewise.
65889         * modules/yesno (Depends-on): Likewise.
65890
65891 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65892
65893         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65894         needless checks.
65895
65896 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65897
65898         Merge from coreutils.  Among other things,
65899         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65900         * lib/fd-safer.c: New file.
65901         * lib/fcntl-safer.h, open-safer.c: Remove.
65902         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65903         * lib/dup-safer.c: Include unistd-safer.h first.
65904         Don't include errno.h.
65905         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65906         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65907         * lib/file-type.c: Rely on file-type.h change.
65908         * lib/getloadavg.c: Include unistd-safer.h.
65909         (getloadavg): Use safer open.
65910         * lib/getusershell.c: Include "stdio-safer.h".
65911         (getusershell): Use safer fopen.
65912         * lib/long-options.c (long_options): Use NULL rather than 0.
65913         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65914         'free'.
65915         * lib/modechange.c: Likewise.
65916         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65917         (MODE_DONE): New constant.
65918         (struct mode_change): Remove 'next' member.
65919         (make_node_op_equals): New function; like the old one of the
65920         same name, except it allocates an array.
65921         (mode_compile, mode_create_from_ref): Use it.
65922         (mode_compile): Allocate result as an array, not a linked list.
65923         Parse octal string ourself, so that we catch mistakes like "+0".
65924         (mode_adjust): Arg is an array, not a linked list.
65925         * lib/modechange.c: Include stat-macros.h, xalloc.h.
65926         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
65927         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
65928         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
65929         Remove.  This is now stat-macros.h's job.
65930         (talloc): Remove.  All callers replaced by xalloc, so that
65931         our invokers don't have to worry about reporting memory failures.
65932         (make_node_op_equals): Remove.
65933         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65934         New constants.
65935         (struct mode_change): Moved here from modechange.h.
65936         (mode_append_entry): Remove.
65937         (mode_compile): Remove MASKED_OPS arg, since it encouraged
65938         apps to have incorrect behavior.  Use simpler algorithm for head
65939         and tail.  Don't futz with umask; that's now the job of mode_adjust.
65940         Detect more invalid usages rather than having somewhat-random behavior.
65941         Don't insert an "a=" action, as that leads to incorrect behavior.
65942         (mode_compile, mode_create_from_ref): Return NULL on error instead
65943         of an enum, since now there's only one way to have an error.  All
65944         callers changed.
65945         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
65946         at the correct time.  Simplify calculation of "+u" and its ilk.
65947         Don't mishandle "+X".
65948         (mode_free): Remove "register" and localize decls.
65949         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65950         (struct mode_change): Move to modechange.c; callers don't
65951         need to see this stuff.
65952         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
65953         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
65954         (mode_change, mode_adjust): Reflect the new signatures noted above.
65955         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
65956         that might redefine system include files.
65957         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
65958         (my_usleep): Use NULL rather than (void *) 0.
65959         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
65960         Use siginterrupt to specify that system calls should be interrupted.
65961         (rpl_nanosleep): Move initialization of suspended closer to call of
65962         my_usleep.
65963         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
65964         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
65965         (desirable_utmp_entry): New function.
65966         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
65967         using x2nrealloc, to simplify logic.
65968         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
65969         size calculation.  Do not assume utmp file is a regular file.
65970         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
65971         (READ_UTMP_CHECK_PIDS): New constant.
65972         * lib/save-cwd.c: Include unistd-safer.h.
65973         (save_cwd): Use fd_safer.
65974         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
65975         [!_LIBC] Include "stat-macros.h" instead.
65976         * lib/unistd-safer.h (fd_safer): New decl.
65977
65978 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65979
65980         * modules/getloadavg (Depends-on): Add unistd-safer.
65981         * modules/getusershell (Depends-on): Add stdio-safer.
65982         * modules/lstat (Depends-on): Remove xalloc.
65983         * modules/mkstemp (Depends-on): Add stat-macros.
65984         * modules/modechange (Depends-on): Remove xstrtol.
65985         Add stat-macros, xalloc.
65986         * modules/save-cwd (Depends-on): Add unistd-safer.
65987         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
65988         * modules/unistd-safer (Files): Add lib/fd-safer.c
65989         (Makefile.am): Remove lib_SOURCES.
65990
65991         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
65992         Remove fcntl-safer; unistd-safer supersedes it.
65993
65994 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65995
65996         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
65997         AC_HEADER_STAT.
65998         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
65999         (gl_PREREQ_CHOWN): Remove.
66000         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
66001         it.  Don't require AC_HEADER_STAT.
66002         (gl_PREREQ_LSTAT): Remove.
66003         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
66004         Don't require AC_HEADER_STAT.
66005         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
66006         (gl_PREREQ_RMDIR): Remove.
66007         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
66008         mention stat-macros.h or AC_HEADER_STAT, since we'll make
66009         the stat-macros module a prerequisite.
66010         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
66011         * m4/filemode.m4 (gl_FILEMODE): Likewise.
66012         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
66013         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
66014         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
66015         variable names.
66016         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
66017         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
66018         variable prefixes.
66019         * m4/fcntl-safer.m4: Remove.
66020         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
66021         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
66022         Invoke gl_PREREQ_FD_SAFER.
66023         (gl_PREREQ_FD_SAFER): New macro.
66024         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
66025         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
66026         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
66027         Remove duplicate call to AC_LIBOBJ(readutmp).
66028         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
66029
66030         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
66031         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
66032
66033 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66034
66035         * MODULES.html.sh (Misc): Add byteswap.
66036
66037 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66038
66039         * modules/getcwd (Depends-on): Add extensions.
66040         * modules/openat (Depends-on): Likewise.
66041
66042 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66043
66044         * modules/byteswap: New file.
66045
66046 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66047
66048         * m4/byteswap.m4: New file.
66049
66050 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66051
66052         * lib/byteswap_.h: New file.
66053
66054 2005-04-25  Karl Berry  <karl@gnu.org>
66055
66056         * m4/gettext.m4: Update from GNU gettext 0.14.4.
66057
66058 2005-04-25  Albert Chin  <china@thewrittenword.com>
66059
66060         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
66061         Toolkit C bug.
66062
66063 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
66064
66065         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
66066         (func_ln_if_changed) Remove forcibly for no error message
66067         in case file does not exist.
66068
66069 2005-04-19  Simon Josefsson  <jas@extundo.com>
66070
66071         * gnulib-tool (Options): Make --symlink mean --symbolic.
66072
66073 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
66074
66075         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
66076
66077 2005-04-16  Simon Josefsson  <jas@extundo.com>
66078
66079         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
66080
66081 2005-04-15  Simon Josefsson  <jas@extundo.com>
66082
66083         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
66084
66085 2005-04-15  Simon Josefsson  <jas@extundo.com>
66086
66087         * gnulib-tool: Rename --symlink to --symbolic.
66088
66089 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
66090
66091         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
66092         symbolic links to files instead of copying/moving.  Add --aux-dir,
66093         specifying directory relative --dir where auxiliary build tools
66094         are placed.
66095
66096 2005-04-14  Bruno Haible  <bruno@clisp.org>
66097
66098         * modules/allocsa (License): Change to LGPL.
66099         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
66100
66101 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
66104         that "UTC +1 second" continues to work.  Problem reported
66105         by Dmitry V. Levin.
66106         (relunit_snumber): New rule.
66107         (relunit): Use it.
66108
66109 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66110
66111         * lib/getdate.y (universal_time_zone_table): New constant.
66112         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
66113         universal_time_zone_table.
66114         (lookup_zone): Prefer universal_time_zone_table to
66115         local_time_zone_table, so that "GMT" time stamps are allowed in
66116         London during the summer.  Problem reported by Ian Abbott.
66117
66118 2005-04-12  Jim Meyering  <jim@meyering.net>
66119
66120         * lib/human.c (humblock): Set *options even when returning due to
66121         xstrtoumax conversion failure.  Thanks to a used-uninitialized
66122         warning from gcc-4.
66123
66124 2005-04-09  Jim Meyering  <jim@meyering.net>
66125
66126         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
66127         -Wuninitialized: initialize tm0.tm_year.
66128
66129 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66130
66131         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
66132         count, since there's no maximum.  All uses changed.
66133         Add member dsts_seen.
66134         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
66135         not being INT_MAX.
66136         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
66137         Use pc_rels_seen to decide whther a date is absolute.
66138
66139         * lib/getdate.y (number): Don't overwrite year.
66140         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
66141         check.
66142
66143 2005-04-02  Simon Josefsson  <jas@extundo.com>
66144
66145         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
66146         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
66147
66148 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
66149
66150         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
66151         where no absolute path name can be longer than PATH_MAX.
66152
66153 2005-03-27  Jim Meyering  <jim@meyering.net>
66154
66155         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
66156
66157 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66158
66159         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
66160         "one's complement" -> "ones' complement" in comment, as per Knuth.
66161         "value of type" -> "type or expression" in comment.
66162         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
66163
66164 2005-03-26  Jim Meyering  <jim@meyering.net>
66165
66166         Comment nits.
66167         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
66168         Correct typos: s/or/of/.
66169
66170 2005-03-26  Jim Meyering  <jim@meyering.net>
66171
66172         * modules/check-include-files: Move to ../ and rename to...
66173         * check-module: ...this.
66174
66175 2005-03-25  Jim Meyering  <jim@meyering.net>
66176
66177         * modules/xvasprintf (Files): Add xalloc.h.
66178
66179 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66180
66181         * modules/gettext (Files): config/config.rpath ->
66182         build-aux/config.rpath
66183         * modules/iconv (Files): Likewise.
66184         Problem reported by Oskar Liljeblad.
66185
66186 2005-03-23  Jim Meyering  <jim@meyering.net>
66187
66188         * modules/check-include-files: New script to check for
66189         missing dependencies, multiple includes, etc.
66190
66191         * modules/c-strtold (Depends-on): Add xalloc.
66192         * modules/c-strtod (Depends-on): Add xalloc.
66193         * modules/hash (Depends-on): Add xalloc.
66194         (Files): Remove lib/xalloc.h.
66195
66196         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
66197         * modules/userspec (Files): Add lib/inttostr.h.
66198
66199 2005-03-23  Jim Meyering  <jim@meyering.net>
66200
66201         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
66202
66203 2005-03-22  Jim Meyering  <jim@meyering.net>
66204
66205         * modules/stat-macros: New module.
66206         * modules/canonicalize, modules/euidaccess, modules/file-type,
66207         * modules/filemode, modules/lchown, modules/makepath,
66208         * modules/rmdir, modules/stat: Depend on new stat-macros module
66209         rather than listing lib/stat-macros.h manually.
66210         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
66211
66212 2005-03-22  Jim Meyering  <jim@meyering.net>
66213
66214         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
66215
66216 2005-03-22  Bruno Haible  <bruno@clisp.org>
66217
66218         * config/srclist.txt: Replace target directory 'config' with
66219         'build-aux'.
66220         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
66221         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
66222         ../build-aux/.
66223
66224 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66225
66226         * modules/chdir-long (Depends-on): Add mempcpy.
66227
66228         * modules/acl, modules/backupfile, modules/c-strtod,
66229         modules/c-strtold, modules/canon-host, modules/canonicalize,
66230         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
66231         modules/exclude, modules/exitfail, modules/file-type,
66232         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
66233         modules/getdate, modules/getline, modules/getpagesize,
66234         modules/getpass, modules/getugroups, modules/group-member,
66235         modules/hard-locale, modules/hash, modules/human, modules/idcache,
66236         modules/inttostr, modules/long-options, modules/makepath,
66237         modules/md5, modules/memcasecmp, modules/memcoll,
66238         modules/modechange, modules/mountlist, modules/path-concat,
66239         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
66240         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
66241         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
66242         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
66243         modules/strftime, modules/strndup, modules/strverscmp,
66244         modules/timespec, modules/unlocked-io, modules/userspec,
66245         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
66246         modules/yesno:
66247         Remove lib_SOURCES line from Makefile.am section, as this is now
66248         done automatically by the corresponding Autoconf macro.
66249
66250 2005-03-21  Jim Meyering  <jim@meyering.net>
66251
66252         Changes imported from coreutils.
66253
66254         * lib/cycle-check.c: Don't include xalloc.h.
66255
66256         * lib/path-concat.c: Don't include assert.h.
66257         (path_concat): Remove assertion that would have triggered
66258         for ABASE starting with more than one slash.
66259         Reported by Andreas Schwab.
66260
66261         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
66262         properly when ABASE is an absolute file name.
66263         Correct the description of this function.
66264         Include <assert.h>.
66265         Add an assertion and a test driver.
66266         This fixes a bug introduced on 2004-07-02.
66267         Andreas Schwab reported the resulting failure of cp --parents:
66268         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
66269
66270 2005-03-21  Jim Meyering  <jim@meyering.net>
66271
66272         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
66273         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
66274
66275 2005-03-21  Jim Meyering  <jim@meyering.net>
66276         and  Paul Eggert  <eggert@cs.ucla.edu>
66277
66278         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
66279         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
66280         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
66281         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
66282         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
66283         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
66284         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
66285         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
66286         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
66287         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
66288         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
66289         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
66290         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
66291         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
66292         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
66293         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
66294         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
66295         for these modules.
66296
66297 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
66298
66299         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
66300         (which shouldn't happen), generate nothing instead of returning 0
66301         immediately, so that nstrftime (NULL, ...) doesn't return 0.
66302
66303 2005-03-16  Bruno Haible  <bruno@clisp.org>
66304
66305         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
66306         HAVE_LONGLONG_64BIT.
66307
66308 2005-03-16  Bruno Haible  <bruno@clisp.org>
66309
66310         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
66311         HAVE_LONGLONG_64BIT.
66312
66313 2005-03-16  Bruno Haible  <bruno@clisp.org>
66314
66315         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
66316         HAVE_LONGLONG_64BIT.
66317
66318 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66319
66320         * lib/strftime.c (my_strftime): Prepend space to format so that we can
66321         reliably distinguish strftime failure from empty output on POSIX
66322         hosts.
66323
66324 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66325
66326         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
66327         (iconv_string): Don't guess a size-zero buffer, as that might cause
66328         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
66329         result would be 'too large', where 'too large' is (heuristically)
66330         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
66331         overflow concerns.  This will prevent some unwanted malloc failures
66332         when the inputs are very large.
66333
66334 2005-03-15  Karl Berry  <karl@gnu.org>
66335
66336         * config/srclist.txt (config.rpath): from gettext.
66337         * config/config.rpath: update.
66338
66339 2005-03-15  Bruno Haible  <bruno@clisp.org>
66340
66341         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
66342         to 'negate'.
66343
66344         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
66345         variable.
66346
66347         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
66348         results.
66349
66350 2005-03-14  Simon Josefsson  <jas@extundo.com>
66351
66352         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
66353         <fx@gnu.org>.
66354
66355 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
66356
66357         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
66358         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
66359         intprops.h.
66360         * lib/strtol.c: Likewise.
66361
66362 2005-03-14  Jim Meyering  <jim@meyering.net>
66363
66364         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
66365         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
66366         to be nonzero so that we (and caller) can detect the difference
66367         between a valid zero-length expansion and an error return, even
66368         when the underlying strftime fails before writing anything into
66369         that location.
66370
66371 2005-03-14  Bruno Haible  <bruno@clisp.org>
66372
66373         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
66374         Update from GNU gettext 0.14.3.
66375
66376 2005-03-10  Jim Meyering  <jim@meyering.net>
66377
66378         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
66379
66380 2005-03-10  Jim Meyering  <jim@meyering.net>
66381
66382         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
66383         so that this module works on systems without fchdir.
66384
66385 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
66386
66387         Factor int-properties macros into a single file, except for
66388         glibc-related files.
66389         * lib/intprops.h: New file.
66390         * lib/getloadavg.c: Include it instead of limits.h.
66391         (INT_STRLEN_BOUND): Remove.
66392         * lib/human.c: Include intprops.h.
66393         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
66394         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
66395         302/1000.
66396         * lib/inttostr.h: Include intprops.h instead of limits.h.
66397         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
66398         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
66399         for consistency with intprops.h.
66400         (time_t_is_integer, twos_complement_arithmetic): Use them.
66401         * lib/sig2str.h: Include <signal.h>, intprops.h.
66402         (INT_STRLEN_BOUND): Remove.
66403         * lib/strftime.c (TYPE_SIGNED): Remove.
66404         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
66405         * lib/strtol.c: Adjust comments to match intprops.h.
66406         * lib/userspec.c: Include intprops.h.
66407         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
66408         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
66409         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
66410         instead of rolling our own expressions.
66411         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
66412
66413         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
66414         instead of int.
66415         (my_strftime): Do not mishandle years close to INT_MAX, by doing
66416         the right thing even if adding 1900 would overflow.  Similarly
66417         for tm_mon + 1 and tm_yday + 1.
66418         Make %Y always equivalent to %C%y, and similarly for %G and %g.
66419         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
66420         (DO_SIGNED_NUMBER): New macro.
66421         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
66422
66423 2005-03-07  Bruno Haible  <bruno@clisp.org>
66424
66425         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
66426
66427 2005-03-07  Bruno Haible  <bruno@clisp.org>
66428
66429         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
66430
66431 2005-03-04  Derek R. Price  <derek@ximbiot.com>
66432
66433         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
66434         (func_import): Only replace files via --import when they have actually
66435         changed.
66436
66437 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66438
66439         * m4/mmap-anon.m4: New file.
66440         * m4/pagealign_alloc.m4: New file.
66441
66442 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66443             Bruno Haible  <bruno@clisp.org>
66444
66445         * modules/pagealign_alloc: New file.
66446         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
66447
66448 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66449             Bruno Haible  <bruno@clisp.org>
66450
66451         * lib/pagealign_alloc.h: New file.
66452         * lib/pagealign_alloc.c: New file.
66453
66454 2005-03-03  Bruno Haible  <bruno@clisp.org>
66455
66456         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
66457         Use an all-permissive copyright notice, recommended by RMS.
66458
66459 2005-03-02  Bruno Haible  <bruno@clisp.org>
66460
66461         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
66462         of AIX, the replacement has to be done only after <string.h> is
66463         included, therefore not in config.h. stpncpy.h does the replacement,
66464         and stpncpy.c uses it.
66465
66466 2005-03-02  Bruno Haible  <bruno@clisp.org>
66467
66468         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
66469         stpncpy.c uses it.
66470
66471 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66472
66473         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
66474         The workaround isn't strictly needed for POSIX conformance, and
66475         it's too much of a pain to configure and maintain.  We'll ask
66476         people to fix their kernels instead.
66477         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
66478         (NANOSLEEP_BUG_WORKAROUND): Remove.
66479         (xnanosleep): Remove the workaround.
66480
66481 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66482
66483         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
66484         Reported by Derek Price.
66485         (Include): Add "timespec.h".
66486
66487         * modules/xnanosleep (Depends-on): Remove gethrxtime.
66488
66489 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66490
66491         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
66492         to detect nanosleep bug.
66493
66494 2005-03-01  Bruno Haible  <bruno@clisp.org>
66495
66496         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
66497
66498 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
66499
66500         * modules/gethrxtime: New file.
66501         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
66502         (Depends-on): Add gethrxtime.
66503         (configure.ac): Add gl_XNANOSLEEP.
66504         (Makefile.am): Remove lib_SOURCES line.
66505
66506 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66507
66508         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
66509         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
66510
66511 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66512
66513         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
66514         * lib/timespec.h (gettime): Return void, since it always
66515         succeeds now.  All uses changed.
66516         * lib/gettime.c (gettime) Likewise.
66517         [HAVE_NANOTIME]: Prefer nanotime.
66518         Assume gettimeofday succeeds, as POSIX requires.
66519         Assime time () succeeds, since other code already does.
66520         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
66521         (timespec_subtract): Remove.
66522         (NANOSLEEP_BUG_WORKAROUND): New constant.
66523         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
66524         things considerably.  Use it only on GNU/Linux hosts, since the
66525         workaround shouldn't be needed elsewhere.
66526
66527 2005-02-24  Bruno Haible  <bruno@clisp.org>
66528
66529         * modules/gettext (Files): Add m4/glibc2.m4.
66530
66531 2005-02-24  Bruno Haible  <bruno@clisp.org>
66532
66533         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
66534         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
66535         * m4/progtest.m4:
66536         Update from GNU gettext 0.14.2.
66537         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
66538
66539 2005-02-24  Bruno Haible  <bruno@clisp.org>
66540
66541         * lib/localcharset.c: Update from GNU gettext 0.14.2.
66542         * lib/config.charset: Update from GNU gettext 0.14.2.
66543
66544 2005-02-24  Bruno Haible  <bruno@clisp.org>
66545
66546         * lib/gettext.h: Update from GNU gettext 0.14.2.
66547
66548 2005-02-23  Simon Josefsson  <jas@extundo.com>
66549
66550         * m4/iconvme.m4: New file.
66551
66552 2005-02-23  Jim Meyering  <jim@meyering.net>
66553
66554         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
66555         change.
66556         Thanks to Bruno Haible for catching it.
66557
66558 2005-02-22  Simon Josefsson  <jas@extundo.com>
66559
66560         * modules/iconvme: New file.
66561
66562         * MODULES.html.sh: Add iconvme.
66563
66564 2005-02-22  Simon Josefsson  <jas@extundo.com>
66565
66566         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
66567
66568 2005-02-22  Simon Josefsson  <jas@extundo.com>
66569
66570         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
66571
66572 2005-02-22  Jim Meyering  <jim@meyering.net>
66573
66574         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
66575         s/ifndef/ifdef/.
66576
66577 2005-02-20  Neil Conway  <neilc@samurai.com>
66578
66579         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
66580         returned by OSX/Darwin if the specified buffer is not large
66581         enough for the hostname.
66582
66583 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66584
66585         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
66586         pass it to _help, otherwise the latter coredumps trying to
66587         dereference state.root_argp.
66588
66589 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66590
66591         * modules/chdir-long (Depends-on): Add memrchr.
66592         * modules/memrchr (Files): Add lib/memrchr.h.
66593         (Include): "memrchr.h".
66594
66595 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66596
66597         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
66598
66599 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66600
66601         * lib/memrchr.h: New file.
66602         * lib/chdir-long.c: Include it.
66603         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
66604         Don't bother including stddef.h.
66605
66606 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66607
66608         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
66609         inclusion.
66610         Include <sys/types.h>, for dev_t.
66611         (ME_DUMMY, ME_REMOTE): Move from here....
66612         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
66613         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
66614         Dmitry V. Levin.
66615         Include mountlist.h first, to test the interface.
66616
66617 2005-01-29  Bruno Haible  <bruno@clisp.org>
66618
66619         * lib/progname.c (program_name): Initialize.
66620         Needed when linking statically on MacOS X.
66621
66622 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66623
66624         Sync from coreutils.
66625         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
66626         (Depends-on): Add c-strtod.
66627         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
66628
66629 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66630
66631         Sync from coreutils.
66632         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
66633
66634         Remove files that are specific to coreutils.
66635         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
66636
66637 2005-01-28  Bruno Haible  <bruno@clisp.org>
66638
66639         * modules/javacomp: New file.
66640         * MODULES.html.sh (Java): Add javacomp.
66641
66642 2005-01-28  Bruno Haible  <bruno@clisp.org>
66643
66644         * m4/javacomp.m4: New file, from GNU gettext.
66645
66646 2005-01-28  Bruno Haible  <bruno@clisp.org>
66647
66648         * lib/javacomp.sh.in: New file, from GNU gettext.
66649         * lib/javacomp.h: New file, from GNU gettext.
66650         * lib/javacomp.c: New file, from GNU gettext.
66651
66652 2005-01-26  Simon Josefsson  <jas@extundo.com>
66653
66654         * lib/gai_strerror.c: Use GPL in header.
66655
66656 2005-01-26  Bruno Haible  <bruno@clisp.org>
66657
66658         * modules/javaexec: New file.
66659         * MODULES.html.sh (Java): Add javaexec.
66660
66661 2005-01-26  Bruno Haible  <bruno@clisp.org>
66662
66663         * m4/javaexec.m4: New file, from GNU gettext.
66664
66665 2005-01-26  Bruno Haible  <bruno@clisp.org>
66666
66667         * lib/javaexec.sh.in: New file, from GNU gettext.
66668         * lib/javaexec.h: New file, from GNU gettext.
66669         * lib/javaexec.c: New file, from GNU gettext.
66670
66671 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66672
66673         * modules/lchown (Depends-on): Remove lchown.h
66674
66675 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66676
66677         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
66678         must be defined if the header file was not found, in order
66679         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
66680
66681 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66682
66683         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
66684         initializers for struct pentry_state.
66685         (__argp_error): Check return value of __asprintf
66686         (__argp_failure): Translate error message
66687
66688         * lib/argp-parse.c: Removed braces around the expansion of N_()
66689
66690 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66691
66692         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66693         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66694         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66695         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66696         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66697         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66698         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66699         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66700         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66701         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66702         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66703         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66704         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66705         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66706         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66707         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66708         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66709         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66710         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66711         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66712         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66713         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66714         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66715         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66716         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66717         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66718         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66719         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66720         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66721         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66722         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66723         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66724         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66725         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66726         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66727         Use an all-permissive copyright notice, recommended by RMS.
66728
66729 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66730
66731         * modules/chdir-long (Depends-on): Remove mempcpy.
66732
66733 2005-01-21  Jim Meyering  <jim@meyering.net>
66734
66735         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66736         same value as for Solaris 9.
66737
66738         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66739         component length.  This included changing the parameter to be
66740         of type `char *' rather than `char const *'.
66741         * lib/chdir-long.h (chdir_long): Update prototype.
66742
66743         * lib/openat.c (fdopendir, fstatat): New functions.
66744         * lib/openat.h: Include headers required for use of DIR and struct
66745         stat.
66746         [AT_SYMLINK_NOFOLLOW]: Define.
66747         (fdopendir, fstatat): Add prototypes.
66748
66749 2005-01-21  Bruno Haible  <bruno@clisp.org>
66750
66751         * modules/classpath: New file.
66752         * MODULES.html.sh (Java): Add classpath.
66753
66754 2005-01-21  Bruno Haible  <bruno@clisp.org>
66755
66756         * lib/classpath.h: New file, from GNU gettext.
66757         * lib/classpath.c: New file, from GNU gettext.
66758
66759 2005-01-20  Simon Josefsson  <jas@extundo.com>
66760
66761         * modules/version-etc-fsf: New file.
66762
66763 2005-01-20  Simon Josefsson  <jas@extundo.com>
66764
66765         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66766         * lib/version-etc.c: Remove version_etc_copyright.
66767         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66768         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66769
66770 2005-01-20  Simon Josefsson  <jas@extundo.com>
66771
66772         * lib/base64.h (isbase64): Add.
66773
66774         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66775         using a unsigned prototype, don't inline.
66776         (base64_decode): Use it.
66777
66778 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66779
66780         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66781         it.
66782
66783 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66784
66785         * lib/save-cwd.c (save_cwd): Remove code to support the case
66786         where fchdir is missing or flaky.
66787
66788 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66789
66790         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66791
66792 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66793
66794         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66795         AC_LIBSOURCES now does this.
66796         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66797         with new ullong_max module.
66798
66799 2005-01-19  Bruno Haible  <bruno@clisp.org>
66800
66801         * modules/sh-quote: New file.
66802         * MODULES.html.sh (Executing programs): Add sh-quote.
66803
66804 2005-01-19  Bruno Haible  <bruno@clisp.org>
66805
66806         * lib/sh-quote.h: New file, from GNU gettext.
66807         * lib/sh-quote.c: New file, from GNU gettext.
66808
66809 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66810
66811         Merge from coreutils.
66812         * m4/ullong_max.m4: New file.
66813         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66814         (gl_MACROS): Assume localeconv exists.
66815
66816 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66817
66818         Merge changes from coreutils, as described below in several
66819         changelogs dated today.
66820
66821         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66822         (O_DIRECTORY): Remove; not needed here, since "." must be
66823         a directory.  All uses removed.
66824         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66825         universal on Suns, and we also need to test for IRIX.
66826         Revamp code to use 'if' rather than '#if'.
66827         Avoid unnecessary comparison of cwd->desc to 0.
66828
66829         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66830         for known valid error numbers rather than observed invalid ones.
66831
66832 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66833
66834         * modules/ullong_max: New file.
66835
66836         * modules/chdir-long, modules/openat: New files.
66837         * modules/save-cwd (Depends-on): Depend on chdir-long.
66838         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66839
66840 2005-01-18  Jim Meyering  <jim@meyering.net>
66841
66842         Merge from coreutils.
66843         * m4/chdir-long.m4, m4/openat.m4: New files.
66844         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66845         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66846         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66847         is sane and DOES follow symlinks.  Besides, testing 20 different
66848         systems found no broken chown implementations.
66849         Prompted by a change in rsync's copy of this macro.
66850         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66851
66852         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66853
66854         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66855         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66856         NULL-means-set-to-current-time semantics.
66857         Remove temporary file immediately, rather than waiting
66858         for configure's at-exit trap code to do it.
66859
66860 2005-01-18  Jim Meyering  <jim@meyering.net>
66861
66862         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66863
66864         * lib/utimens.c (futimens): Account for the fact that futimes
66865         can also fail with errno == ENOSYS or errno == ENOENT.
66866         Patch from Dmitry V. Levin.
66867
66868         Change the name of the robust chdir function from chdir to chdir_long.
66869         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66870         (restore_cwd): Use chdir_long, not chdir.
66871         * lib/chdir-long.c: Renamed from chdir.c.
66872         * lib/chdir-long.h: Renamed from chdir.h.
66873         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66874         Hurd.
66875
66876 2005-01-18  Bruno Haible  <bruno@clisp.org>
66877
66878         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66879         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66880         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66881         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66882         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66883         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66884         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66885         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66886         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66887         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66888         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66889         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66890         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66891         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66892         Use an all-permissive copyright notice, recommended by RMS.
66893
66894 2005-01-18  Bob Proulx  <bob@proulx.com>
66895
66896         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66897         simplify offsetof() macro construct to avoid compile failure with
66898         native HP-UX 11.0 ANSI C compiler.
66899
66900 2005-01-17  Bruno Haible  <bruno@clisp.org>
66901
66902         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66903         redundant because stpncpy.m4 takes care of it.
66904
66905 2005-01-17  Bruno Haible  <bruno@clisp.org>
66906
66907         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66908
66909 2005-01-17  Bruno Haible  <bruno@clisp.org>
66910
66911         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66912         used.
66913
66914 2005-01-17  Bruno Haible  <bruno@clisp.org>
66915
66916         * lib/fwriteerror.h (fwriteerror): Change specification to include
66917         fclose.
66918         * lib/fwriteerror.c: Include <stdbool.h>.
66919         (fwriteerror): At the end, close the file stream. Record whether
66920         stdout was already closed.
66921
66922 2005-01-17  Bruno Haible  <bruno@clisp.org>
66923
66924         * lib/execute.c (environ): Declare if needed.
66925         * lib/pipe.c (environ): Likewise.
66926         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
66927
66928 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66929
66930         * modules/argp: Depend on vsnprintf
66931
66932 2005-01-10  Jim Meyering  <jim@meyering.net>
66933
66934         * modules/closeout (Depends-on): Add atexit.
66935
66936 2005-01-06  Bruno Haible  <bruno@clisp.org>
66937
66938         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
66939
66940 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66941
66942         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
66943         definitions to be after all include files, to avoid collisions.
66944         Problem reported by Bob Proulx.
66945
66946 2005-01-04  Jim Meyering  <jim@meyering.net>
66947
66948         Changes imported from coreutils.
66949         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
66950         as the mkstemp template, use a temporary directory and an
66951         8.3-friendly template to avoid trouble on systems like DJGPP.
66952         Reported by Juan M. Guerrero via Stepan Kasal.
66953         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
66954         close. Remove the temporary directory right away, rather than waiting
66955         for configure's at-exit trap code to do it.
66956         Suggestion from Stepan Kasal.
66957
66958 2005-01-01  Simon Josefsson  <jas@extundo.com>
66959
66960         * gnulib-tool: Print #include directives when --import'ing.
66961
66962 2004-12-28  Simon Josefsson  <jas@extundo.com>
66963
66964         * tests/test-base64.c: Include required header files.  Remove
66965         unused variables.
66966
66967 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66968
66969         * modules/error (Depends-on): Remove gettext.
66970
66971 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66972
66973         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
66974         not needed.  This removes a dependency on the gettext module.
66975         [defined _LIBC]: Do not include <libintl.h>; not needed.
66976
66977 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66978
66979         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
66980         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
66981
66982 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66983
66984         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
66985         HAVE_DECL_STRTOLD.
66986
66987 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66988
66989         * modules/getdate (Depends-on): Remove alloca-opt.
66990
66991 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66992
66993         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
66994
66995 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66996
66997         * lib/argp-parse.c: Include <stddef.h>.
66998         (alignof, alignto): New macros.
66999         (parser_init): Don't assume that void * is aligned sufficiently
67000         for struct option.
67001
67002         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
67003         need to extend the stack.
67004         (YYINITDEPTH): New macro, so that the initial stack isn't overly
67005         large.
67006
67007 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67008
67009         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
67010
67011 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67012
67013         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
67014         (2004-10-24) change.  Apparently this was a false alarm.
67015
67016         * modules/getdate: Depend on alloca-opt, not alloca.
67017
67018 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67019
67020         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
67021         Remove now-obsolete comment about AIX.
67022         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
67023         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
67024         (YYMAXDEPTH): New macro.
67025
67026 2004-12-18  Simon Josefsson  <jas@extundo.com>
67027
67028         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
67029
67030 2004-12-18  Bruno Haible  <bruno@clisp.org>
67031
67032         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
67033
67034 2004-12-18  Bruno Haible  <bruno@clisp.org>
67035
67036         * lib/fatal-signal.c (fatal_signals): Make non-const.
67037         (init_fatal_signals): New function.
67038         (uninstall_handlers, install_handlers): Ignore signals that were set to
67039         SIG_IGN.
67040         (at_fatal_signal): Call init_fatal_signals.
67041         (init_fatal_signal_set): Likewise. Ignore signals that were set to
67042         SIG_IGN.
67043         Reported by Paul Eggert.
67044
67045 2004-12-18  Bruno Haible  <bruno@clisp.org>
67046
67047         * doc/alloca.texi: New file.
67048         * doc/alloca-opt.texi: New file.
67049
67050 2004-12-17  Jim Meyering  <jim@meyering.net>
67051
67052         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
67053         Otherwise, install-sh could exit with improper exit status when
67054         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
67055
67056 2004-12-16  Simon Josefsson  <jas@extundo.com>
67057
67058         * tests/test-base64.c: Add license.
67059
67060 2004-12-15  Stepan Kasal  <address@hidden>
67061
67062         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
67063
67064 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
67065
67066         * modules/getcwd (Files): Add m4/d-ino.m4.
67067         Suggested by Mark D. Baushke.
67068
67069 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67070
67071         * lib/getdate.y (textint): New member "negative".
67072         (time_zone_hhmm): New function.
67073         Expect 14 shift-reduce conflicts, not 13.
67074         (o_colon_minutes): New rule.
67075         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
67076         (yylex): Set the "negative" member of signed numbers.
67077
67078 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67079
67080         * doc/getdate.texi (Time of day items, Time zone items):
67081         Describe new formats +00:00, UTC+00:00.
67082
67083 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67084
67085         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
67086         spurious "-l"s.  Problem reported by Stepan Kasal.
67087
67088 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
67089
67090         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
67091         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
67092
67093 2004-12-04  Simon Josefsson  <jas@extundo.com>
67094
67095         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
67096         Vandoorselaere <yoann@prelude-ids.org>.
67097
67098 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67099
67100         Changes imported from coreutils.
67101         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
67102         exist.
67103         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
67104
67105 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67106
67107         Changes imported from coreutils.
67108         * lib/hard-locale.c: Assume <locale.h> exists.
67109         Include "strdup.h".
67110         (GLIBC_VERSION): New macro.
67111         (hard_locale): Assume setlocale exists.
67112         Rewrite to avoid #ifdef.
67113         Use strdup rather than malloc + strcpy.
67114         * lib/human.c: Assume <locale.h> exists.
67115         (human_readable): Assume localeconv exists.
67116
67117 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67118
67119         * modules/hard-locale (Depends-on): Add strdup.
67120
67121 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67122
67123         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
67124         convert T2, not T.  (Imported from libc.)
67125
67126 2004-11-30  Simon Josefsson  <jas@extundo.com>
67127
67128         * modules/restrict (License): Change to LGPL.
67129
67130 2004-11-30  Simon Josefsson  <jas@extundo.com>
67131
67132         * m4/restrict.m4: Add copyright and copying conditions.
67133
67134 2004-11-30  Simon Josefsson  <jas@extundo.com>
67135
67136         * m4/base64.m4: New file.
67137
67138 2004-11-30  Simon Josefsson  <jas@extundo.com>
67139
67140         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
67141         base64.
67142
67143         * tests/test-base64.c: New file.
67144
67145         * modules/base64: New file.
67146
67147 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67148
67149         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
67150         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
67151
67152         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
67153
67154 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67155
67156         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
67157         (__getcwd.c): Don't restore errno; glibc doesn't.
67158         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
67159         first, falling back to our code only if its results look suspicious.
67160         Ensure that the resulting buffer is only as large as necessary.
67161
67162         * lib/readutmp.c: Include readutmp.h first.
67163         Include <errno.h>, since readutmp.h no longer does that.
67164         * lib/readutmp.h: Don't include <errno.h>,
67165         <sys/param.h>, <time.h>; not needed to establish interface.
67166         (errno): Remove decl.
67167         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
67168         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
67169         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
67170
67171 2004-11-28  Simon Josefsson  <jas@extundo.com>
67172
67173         * lib/base64.h, base64.c: New file.
67174
67175 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67176
67177         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
67178
67179 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67180
67181         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
67182         (Depends-on): Remove pathmax, same.  Add mempcpy.
67183         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
67184         (Makefile.am): Append getcwd.h to lib_SOURCES.
67185         (Include): Add getcwd.h.
67186         (Maintainer): Change from Jim Meyering to "all, glibc",
67187         since getdate now uses intended-for-glibc code.
67188         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
67189         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
67190
67191 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67192
67193         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
67194         HP's ANSI C compiler.
67195         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
67196         Declaring int functions causes warnings on some modern systems and
67197         shouldn't be needed to compile on ancient ones.
67198         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
67199         defined.
67200
67201         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
67202         with the following changes.
67203         (__set_errno): Parenthesize properly.
67204         Include <stdbool.h>.
67205         (MIN, MAX, MATCHING_INO): New macros.
67206         (__getcwd): Define with prototype, not K&R form.
67207         Use heuristics to allocate default buffer on stack if possible.
67208         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
67209         behavior, and to avoid the PATH_MAX limit when computing
67210         ../../../../...
67211         Use MATCHING_INO to compare inode number to file.
67212         Check for arithmetic overflow in size calculations.
67213         Fix bug in reallocation of dot array that caused getcwd to fail
67214         on directories nested deeper than 75.
67215         Be more careful about saving errno on error.
67216         Do not use realloc; use only free+malloc, as this is a bit
67217         more flexible and avoids a needless copy operation.
67218         Do not inspect st_dev and st_ino for symbolic links; POSIX
67219         doesn't specify the latter.
67220         Check for closedir errors.
67221         Avoid needless casts.
67222         Use "#ifdef weak_alias" around weak_alias, to be like other
67223         glibc code.
67224         The following changes to getcwd.c have effect only when used in
67225         gnulib; they have no effect inside glibc proper.
67226         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
67227         as alloca isn't used.
67228         (alloca, __alloca): Likewise.
67229         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
67230         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67231         unconditionally, as gnulib assumes C89 or better.
67232         Do not include <sys/param.h>.
67233         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
67234         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
67235         better.
67236         (NULL) [!defined NULL]: Remove; we assume C89 or better.
67237         Include <dirent.h> in a way that is compatible with modern Autoconf.
67238         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
67239         New macros, if not already defined.
67240         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
67241         Use "_LIBC", not "defined _LIBC", for consistency.
67242         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
67243         a mempcpy module.
67244         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
67245         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
67246         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
67247         credit only to Jim Meyering and adjust the copyright dates.
67248         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
67249         <stdlib.h>, <unistd.h>, "pathmax.h".
67250         Instead, include "xgetcwd.h" (first) and "getcwd.h".
67251         (INITIAL_BUFFER_SIZE): Remove.
67252         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
67253
67254 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67255
67256         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
67257         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
67258         Use the _ONCE methods, for efficiency.
67259         Check for fcntl.h.  In test program, include <errno.h>
67260         and <fcntl.h> if available.  Remove old K&R cruft from
67261         test program.  Check for common errors in GNU/Linux,
67262         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
67263         don't do AC_LIBOBJ, as that's getcwd.m4's job.
67264         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
67265         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
67266         name accordingly.
67267         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
67268         accommodate new getcwd.c.
67269         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
67270         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
67271         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
67272         that's all we need now.
67273
67274 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67275
67276         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
67277         argp-parse.c depends on getopt internals, that means we should
67278         always use our getopt, to be on the safe side.
67279         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
67280         order not to spoil the result of an eventual previous invocation
67281         of gl_GETOPT_SUBSTITUTE.
67282
67283 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67284
67285         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
67286         redefinition warnings. To avoid them, include the defines
67287         in `#if !defined __need_getopt ... #endif'. The only place
67288         where __getopt_argv_const is used is in definitions
67289         of getopt_long and getopt_long_only below, which are as well
67290         protected by `#ifndef __need_getopt'.
67291         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
67292         __need_getopt after including <stdio.h> and <unistd.h> These
67293         headers might have defined it.
67294
67295 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67296
67297         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
67298
67299 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67300
67301         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
67302         (futimens): New function, which uses futimes if available.
67303         (futimens, utimens): Support timespec==NULL, with same semantics
67304         as utime and utimens.
67305         * lib/utimens.h (futimens): New decl.
67306
67307 2004-11-23  Jim Meyering  <jim@meyering.net>
67308
67309         * lib/getopt_.h: Remove trailing blanks.
67310
67311 2004-11-23  Jim Meyering  <jim@meyering.net>
67312
67313         * lib/__fpending.c: Add comment.
67314
67315 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
67316
67317         * modules/canonicalize (Depends-on): Add xreadlink.
67318         Problem reported by James Youngman.
67319
67320 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67321
67322         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
67323         New macros.
67324         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
67325         optopt): Use them instead of invoking ## directly; otherwise, the
67326         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
67327
67328 2004-11-19  Bruno Haible  <bruno@clisp.org>
67329
67330         * lib/strtok_r.c: Move comments from here...
67331         * lib/strtok_r.h: ... to here.
67332
67333 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67334
67335         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
67336         implementations that mishandle size_t overflow.
67337
67338 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67339
67340         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
67341         might fail.  Problem reported by Yoann Vandoorselaere.
67342         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
67343         implementations that mishandle size_t overflow.
67344
67345 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67346
67347         * modules/canon-host (Depends-on): Add strdup.
67348
67349 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67350
67351         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
67352
67353 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67354
67355         * lib/canon-host.c: Include "strdup.h".
67356         (canon_host): Use getaddrinfo if available, so that IPv6 works.
67357         Use strdup instead of malloc/strcpy to duplicate strings.
67358
67359         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
67360         (human_space_before_unit): New constant.
67361         * lib/human.c (human_readable): Support it.
67362
67363         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
67364         (xgetcwd): Set errno correctly when failing.
67365         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
67366         the failure is actually due to a PATH_MAX problem.
67367
67368         Further getopt changes to make it more likely that glibc will
67369         buy the changes back.
67370         * lib/getopt.c (POSIXLY_CORRECT): New constant.
67371         (getopt): Use it, so to preserve glibc semantic
67372         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
67373         when compiling for libc.
67374         * lib/getopt_.h (__getopt_argv_const): Bring it back.
67375         (getopt_long, getopt_long_only): Use it.
67376
67377         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67378         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
67379         (getopt): Argv is now char * const *, as per standard.
67380         (_getopt_internal_r, _getopt_internal): Argv is now char **,
67381         not char *__getopt_argv_const *.
67382         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67383         _getopt_long_only_r): Likewise.
67384         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
67385         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67386         _getopt_long_r, _getopt_long_only_r): Likewise.
67387         * lib/getopt_.h (__getopt_argv_const): Remove.
67388         (getopt): Argv is now char * const *, as per standard.
67389
67390         * lib/getdate.y (tORDINAL): New token.
67391         (day, relunit): Allow it for relative times.
67392         (relative_time_table): Use tORDINAL for ordinals.
67393
67394 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67395
67396         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
67397         Document that "second" isn't allowed as an ordinal number.
67398
67399 2004-11-16  Jim Meyering  <jim@meyering.net>
67400
67401         * modules/closeout (Depends-on): Add fpending.
67402
67403 2004-11-15  Jim Meyering  <jim@meyering.net>
67404
67405         * lib/closeout.c: Include "__fpending.h" once again.
67406         Include <stdbool.h>.
67407         (close_stdout): Don't fail just because stdout was closed initially,
67408         since some programs don't write to stdout in the normal course of
67409         operation (other than --version and --help), and we don't want this
67410         function to make e.g. `touch file >&-' fail.
67411         But do fail if it was closed and someone has tried to write to it.
67412         E.g., `printf foo >&-' must fail.
67413
67414 2004-11-13  Jim Meyering  <jim@meyering.net>
67415
67416         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
67417
67418 2004-11-12  Simon Josefsson  <jas@extundo.com>
67419
67420         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
67421         small doc fix is still pending.
67422
67423 2004-11-11  Simon Josefsson  <jas@extundo.com>
67424
67425         * modules/strtok_r: New file.
67426
67427         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67428         strtok_r.
67429
67430 2004-11-11  Simon Josefsson  <jas@extundo.com>
67431
67432         * m4/strtok_r.m4: New file.
67433
67434         * m4/getopt.m4: Replace opterr.
67435
67436 2004-11-11  Simon Josefsson  <jas@extundo.com>
67437
67438         * lib/strtok_r.h, strtok_r.c: New file.
67439
67440 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67441
67442         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
67443         of replacing opterr, getopt, etc.  This should handle the
67444         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
67445
67446 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67447
67448         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
67449         we can stop lying to compilers about the constness of argv when we
67450         are compiled outside glibc.
67451         (getopt, getopt_long, getopt_long_only): Use it.
67452         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67453         _getopt_internal, getopt): Likewise.
67454         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67455         _getopt_long_only_r): Likewise.
67456         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67457         _getopt_long_r, _getopt_long_only_r): Likewise.
67458
67459         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
67460         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
67461         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
67462         the other external symbols.
67463         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
67464         declaration, since the above renaming now works around collisions.
67465
67466 2004-11-11  Jim Meyering  <jim@meyering.net>
67467
67468         * lib/linebreak.c: Remove trailing blanks.
67469         * lib/alloca_.h: Likewise.
67470         * lib/acosl.c: Likewise.
67471         * lib/euidaccess.c: Likewise.
67472         * lib/allocsa.h: Likewise.
67473
67474 2004-11-10  Simon Josefsson  <jas@extundo.com>
67475
67476         * m4/getaddrinfo.m4: New file.
67477
67478 2004-11-10  Simon Josefsson  <jas@extundo.com>
67479
67480         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
67481
67482 2004-11-10  Simon Josefsson  <jas@extundo.com>
67483
67484         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67485         getaddrinfo.
67486
67487         * modules/getaddrinfo: New file.
67488
67489 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67490
67491         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
67492
67493 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67494
67495         * lib/mktime.c (SHR): New macro, which is a portable
67496         substitute for >> that should work even on Crays.
67497         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
67498         Problem reported by Mark D. Baushke in
67499         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
67500         * lib/getdate.y (SHR): Likewise.
67501         (tm_diff): Use it.
67502         * lib/strftime.c (SHR): Likewise.
67503         (tm_diff): Use it.
67504         * lib/quotearg.c (struct quoting_options): Use unsigned int for
67505         quote_these_too, so that right shifts are well defined.  All uses
67506         changed.
67507
67508 2004-11-10  Jim Meyering  <jim@meyering.net>
67509
67510         Ensure that no close failure goes unreported.
67511         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
67512         return early when it seems there's nothing to flush.
67513         Don't include __fpending.h.
67514
67515 2004-11-10  Jim Meyering  <jim@meyering.net>
67516
67517         * modules/closeout (Depends-on): Remove fpending.
67518
67519 2004-11-10  Jim Meyering  <jim@meyering.net>
67520
67521         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
67522
67523 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67524
67525         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
67526         gl_FUNC_STRFTIME.
67527         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
67528         and AC_REQUIRE when possible, to avoid duplicate checks.
67529         Check for <wchar.h>.
67530
67531 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67532
67533         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
67534
67535 2004-11-09  Bruno Haible  <bruno@clisp.org>
67536
67537         * m4/sockpfaf.m4: New file.
67538
67539 2004-11-05  Bruno Haible  <bruno@clisp.org>
67540
67541         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
67542         Reported by Mark D. Baushke <mdb@cvshome.org>.
67543
67544 2004-11-04  Bruno Haible  <bruno@clisp.org>
67545
67546         2004-09-11  Bruno Haible  <bruno@clisp.org>
67547                 * allocsa.valgrind: New file.
67548         2004-02-06  Bruno Haible  <bruno@clisp.org>
67549                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
67550                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
67551                 Reported by Christopher Seip <chris.seip@hp.com>.
67552
67553 2004-11-04  Bruno Haible  <bruno@clisp.org>
67554
67555         * modules/allocsa (Files): Add lib/allocsa.valgrind.
67556         (Makefile.am): Distribute it.
67557
67558 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
67559
67560         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
67561         with errno == ERANGE if the buffer is too small.
67562         Problem reported by Mark D. Baushke.
67563
67564 2004-11-03  Albert Chin  <china@thewrittenword.com>
67565             Paul Eggert  <eggert@cs.ucla.edu>
67566
67567         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
67568         equivalent, substitute $ac_type for equivalent type rather than
67569         blindly using uint32_t *always* which won't work if uint32_t is not
67570         available.  Define _UINT32_T to work around typedef of uint32_t if
67571         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
67572         2.5.1.
67573
67574 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67575
67576         * m4/jm-macros.m4: Sync from coreutils.
67577         (gl_MACROS): Check for mbrlen, for pathchk.
67578         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
67579
67580 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67581
67582         * lib/xreadlink.c (MAXSIZE): New macro.
67583         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
67584         size does not exceed MAXSIZE.  Avoid cast.
67585         As suggested by Mark D. Baushke in
67586         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
67587         if readlink fails with buffer size just under MAXSIZE, try again
67588         with MAXSIZE.
67589
67590 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67591
67592         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
67593
67594 2004-11-02  Derek R. Price  <derek@ximbiot.com>
67595         and  Paul Eggert  <eggert@cs.ucla.edu>
67596
67597         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
67598         (get_date): Overparenthesize to avoid GCC warning.
67599
67600 2004-11-02  Bruno Haible  <bruno@clisp.org>
67601
67602         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
67603         returns void.
67604
67605 2004-11-02  Bruno Haible  <bruno@clisp.org>
67606
67607         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
67608         function returns void.
67609
67610 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67611
67612         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
67613         fflush_unlocked, flockfile, funlockfile, funlockfile,
67614         fputs_unlocked, putc_unlocked.
67615
67616 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67617
67618         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67619         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
67620         already declared.
67621
67622 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67623
67624         * modules/getdate (Files): Add doc/getdate.texi.
67625         (Depends-on): Add setenv, xalloc.
67626
67627 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67628
67629         * lib/getdate.y: Add support for TZ="foo" within a date string.
67630         Fix some bugs near time_t boundaries.  Reject dates with
67631         out-of-range components, e.g., "Sept 31".
67632         Include <stdlib.h>, "setenv.h", "xalloc.h".
67633         (ISDIGIT_LOCALE): Remove; unused.
67634         Note that the TZ and time functions used here are not reentrant.
67635         (mktime_ok, get_tz): New functions.
67636         (TZBUFSIZE): New constant.
67637         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
67638         This requires that we sometimes generate our own TZ="XXX..." setting.
67639
67640 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67641
67642         * doc/getdate.texi: New file, from coreutils with modifications for
67643         the new TZ parsing.
67644
67645 2004-10-27  Derek R. Price  <derek@ximbiot.com>
67646
67647         * lib/mktime.c (not_equal_tm): Remove redundant check.
67648
67649 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67650
67651         * modules/regex (lib_SOURCES): Add regex.c.
67652         Reported by James Youngman in
67653         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
67654
67655 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67656
67657         * lib/getdate.y: Use Bison 1.875 features, and some minor
67658         code cleanups.  This change does not affect semantics.
67659         Don't include <stdlib.h>; no longer needed.
67660         Don't include unlocked-io.h; only the "#if TEST" code uses
67661         stdio, and performance isn't crucial there.
67662         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
67663         Bison 1.875 features as described below.
67664         All uses of "PC." replaced by "pc->".
67665         (YYSTYPE): Add a forward declaration.
67666         (yylex, yyerror): Use full prototypes in forward decls.
67667         Use "%pure-parser" rather than obsolescent "%pure_parser".
67668         Use %parse-param and %lex-param instead of obsolescent
67669         YYPARSE_PARAM and YYLEX_PARAM.
67670         (meridian_table, month_and_day_table, time_units_table,
67671         relative_time_table, time_zone_table, military_table,
67672         lookup_zone, lookup_word, get_date):
67673         Use NULL instead of 0 where appropriate.
67674         (to_hour): Avoid abort (), to avoid a dependency on
67675         stdlib.h.
67676         (yyerror, yylex): Now accepts parser_control * arg.
67677         (main) [TEST]: Use '\0' rather than 0 for char.
67678
67679 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67680
67681         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
67682
67683 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67684
67685         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
67686         It's now the caller's responsibility to handle the case where
67687         !HAVE_GETPAGESIZE && !defined getpagesize.
67688
67689         * lib/mktime.c (leapyear): Arg is long int, not int.
67690
67691 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67692
67693         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67694
67695 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67696
67697         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67698         missing.  Problem reported by James Youngman.
67699
67700 2004-10-16  Simon Josefsson  <jas@extundo.com>
67701
67702         * gnulib-tool: Fix comments.  Fix parse problem.
67703         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67704
67705 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67706
67707         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67708         implementation of getopt_long.  Problem reported by Alexander Taler in:
67709         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67710
67711 2004-10-15  Bruno Haible  <bruno@clisp.org>
67712
67713         * gnulib-tool: Untabify. Initialize supplied_libname.
67714         (func_usage): More homogenous output.
67715         (func_modules_transitive_closure, func_modules_to_filelist,
67716         func_emit_lib_Makefile_am): New functions.
67717         (func_import): New function, extracted from big case statement. Use
67718         func_get_license, func_modules_transitive_closure,
67719         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67720         opt_lgpl. Don't use test -a, as it's not portable.
67721         (func_create_testdir): Use func_modules_transitive_closure,
67722         func_modules_to_filelist, func_emit_lib_Makefile_am.
67723
67724 2004-10-15  Bruno Haible  <bruno@clisp.org>
67725
67726         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67727
67728 2004-10-15  Bruno Haible  <bruno@clisp.org>
67729
67730         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67731         the portions belonging to each module.
67732         Suggested by Derek Robert Price <derek@ximbiot.com>.
67733
67734 2004-10-12  Simon Josefsson  <jas@extundo.com>
67735
67736         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67737         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67738         to real functions.
67739
67740 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67741
67742         * modules/vsnprintf: New file.
67743
67744 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67745
67746         * m4/vsnprintf.m4: New file.
67747
67748 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67749
67750         * lib/vsnprintf.h: New file.
67751         * lib/vsnprintf.c: New file.
67752
67753 2004-10-11  Bruno Haible  <bruno@clisp.org>
67754
67755         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67756         vsnprintf.
67757
67758 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67759
67760         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67761
67762 2004-10-07  Bruno Haible  <bruno@clisp.org>
67763
67764         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67765         fits into the provided buffer.
67766
67767 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67768
67769         * lib/diacrit.c, diacrit.h: Add GPL notice.
67770
67771         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67772         notice.
67773         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67774         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67775         This avoids a potential constant-folding bug.
67776
67777 2004-10-05  Bruno Haible  <bruno@clisp.org>
67778
67779         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67780         for the declaration of strsep.
67781
67782 2004-10-05  Bruno Haible  <bruno@clisp.org>
67783
67784         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67785
67786 2004-10-04  Simon Josefsson  <jas@extundo.com>
67787
67788         * modules/memmem: New file.
67789         * tests/test-memmem.c: New file.
67790         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67791
67792 2004-10-04  Simon Josefsson  <jas@extundo.com>
67793
67794         * m4/memmem.m4: New file.
67795
67796 2004-10-04  Simon Josefsson  <jas@extundo.com>
67797
67798         * lib/memmem.h: New file.
67799         * lib/memmem.c: New file, taken from glibc.
67800
67801 2004-10-04  Simon Josefsson  <jas@extundo.com>
67802
67803         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67804         '#ifdef USE_UNLOCKED_IO'.
67805
67806 2004-10-04  Simon Josefsson  <jas@extundo.com>
67807
67808         * config/srclist.txt: Add memmem from glibc.
67809
67810 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67811
67812         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67813
67814         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67815         modules/exclude, modules/getdate, modules/getline,
67816         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67817         modules/getusershell, modules/linebuffer, modules/md5,
67818         modules/mountlist, modules/posixtm, modules/readtokens,
67819         modules/readutmp, modules/regex, modules/sha1,
67820         modules/version-etc, modules/yesno:
67821         Remove dependency on unlocked-io.
67822
67823 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67824
67825         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67826
67827         * m4/unlocked-io.m4: Add copyright notice.
67828         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67829
67830 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67831
67832         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67833         * lib/xmalloc.c (xmemdup): Likewise.
67834         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67835         XFREE): Remove these long-obsolescent macros.
67836         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67837         * lib/xstrdup.c: Remove.
67838
67839         * lib/regex.c (re_comp): Cast gettext return value to char *,
67840         Problem reported by Martin Neitzel via Mark D. Baushke.
67841
67842 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67843
67844         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67845         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67846         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67847         regex.c, sha1.c, version-etc.c, yesno.c:
67848         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67849         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67850         the includer's responsibility.
67851
67852         Sync from coreutils.
67853
67854         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67855         points to the start of a string, as the C Standard says the
67856         resulting behavior is undefined.
67857
67858         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67859         simple -> simple_backups, numbered_existing ->
67860         numbered_existing_backups, numbered -> numbered_backups
67861         to avoid shadowing problems.  All uses changed.
67862         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67863         * lib/backupfile.c (check_extension, numbered_backup):
67864         Rename locals to avoid shadowing 'basename'.
67865         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67866         once.
67867
67868         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67869         * lib/.cvsignore: Add getopt.h.
67870
67871 2004-10-04  Bruno Haible  <bruno@clisp.org>
67872
67873         * modules/README: New file.
67874         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67875         not a module.
67876
67877 2004-10-02  Jim Meyering  <jim@meyering.net>
67878
67879         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67880
67881 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67882
67883         * modules/strsep: New file.
67884
67885 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67886
67887         * m4/strsep.m4: New file.
67888
67889 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67890
67891         * lib/strsep.h: New file.
67892         * lib/strsep.c: New file.
67893
67894 2004-10-01  Simon Josefsson  <jas@extundo.com>
67895
67896         * lib/snprintf.c (snprintf): Handle size==0.
67897
67898 2004-10-01  Simon Josefsson  <jas@extundo.com>
67899             Bruno Haible  <bruno@clisp.org>
67900
67901         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67902         (snprintf): Declare 'args'.
67903
67904 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67905
67906         * lib/snprintf.c: Remove comments as to why each header is needed.
67907
67908 2004-10-01  Bruno Haible  <bruno@clisp.org>
67909
67910         * MODULES.html.sh: Add strsep.
67911
67912 2004-09-30  Simon Josefsson  <jas@extundo.com>
67913
67914         * modules/snprintf: New file.
67915
67916 2004-09-30  Simon Josefsson  <jas@extundo.com>
67917
67918         * m4/snprintf.m4: New file.
67919
67920 2004-09-30  Simon Josefsson  <jas@extundo.com>
67921
67922         * lib/snprintf.h, lib/snprintf.c: New files.
67923
67924 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67925
67926         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
67927         (hol_entry_help): Never translate an empty string.
67928         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
67929         * lib/argp.h (OPTION_NO_TRANS): New option.
67930
67931 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67932
67933         * modules/argp (Maintainer): Replace Simon Josefsson
67934         by Sergey Poznyakoff.
67935
67936 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67937
67938         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
67939         changes merged back into glibc.
67940
67941 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67942
67943         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
67944
67945 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67946
67947         * lib/xvasprintf.c: Include xalloc.h.
67948         (xvasprintf): Use xalloc_die, not xmalloc_die.
67949
67950 2004-09-29  Bruno Haible  <bruno@clisp.org>
67951
67952         * modules/alloca-opt: New file, derived from modules/alloca.
67953         * modules/allocsa: Depend on alloca-opt instead of alloca.
67954         * modules/setenv: Likewise.
67955         * modules/vasnprintf: Likewise.
67956         * MODULES.html.sh: Add alloca-opt.
67957
67958 2004-09-28  Simon Josefsson  <jas@extundo.com>
67959
67960         * gnulib-tool: New parameter --lgpl, to asseert that modules are
67961         LGPL, and to replace license template from GPL to LGPL.
67962
67963 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67964
67965         * modules/dummy: Change license to LGPL.
67966
67967 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67968
67969         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
67970
67971 2004-09-24  Simon Josefsson  <jas@extundo.com>
67972
67973         * modules/minmax (License): Change from GPL to LGPL.
67974
67975 2004-09-23  Simon Josefsson  <jas@extundo.com>
67976
67977         * gnulib-tool (--import): Typo.
67978
67979 2004-09-23  Simon Josefsson  <jas@extundo.com>
67980
67981         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
67982
67983 2004-09-22  Bruno Haible  <bruno@clisp.org>
67984
67985         * modules/*: Add 'License' field.
67986         * gnulib-tool: Accept --extract-license option.
67987         (func_get_license): New function.
67988
67989 2004-09-21  Bruno Haible  <bruno@clisp.org>
67990
67991         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
67992         Reported by Simon Josefsson.
67993
67994 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67995
67996         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
67997         gl_AC_TYPE_LONG_LONG.
67998
67999 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68000
68001         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
68002
68003 2004-09-18  Simon Josefsson  <jas@extundo.com>
68004         and  Paul Eggert  <eggert@cs.ucla.edu>
68005
68006         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
68007         calls with autoreconf.  Define GL_LIB.
68008
68009 2004-09-14  Karl Berry  <karl@gnu.org>
68010
68011         * config/srclist.txt: unsync setenv.c, sigh.
68012
68013 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68014
68015         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
68016         Problem reported by Bruno Haible in:
68017         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
68018
68019 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68020
68021         * config/srclist.txt: Comment out argp-pvh.c.
68022
68023 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
68024
68025         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
68026         in case some system header has #define'd it.  Problem reported by
68027         Soeren D. Schulze in
68028         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
68029
68030 2004-09-09  Karl Berry  <karl@gnu.org>
68031
68032         * regex.[ch]: delete from the root.  These were supposed to be
68033                 synced with emacs cvs, but this has not happened for about
68034                 a year, and anyway nothing else uses emacs regex.[ch].
68035                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
68036                 lib/regex[.ch] is untouched.
68037
68038 2004-09-09  Bruno Haible  <bruno@clisp.org>
68039
68040         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
68041
68042 2004-09-09  Bruno Haible  <bruno@clisp.org>
68043
68044         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
68045         modifications.
68046         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
68047
68048 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68049
68050         * modules/xvasprintf: New file.
68051         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
68052
68053 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68054
68055         * lib/xvasprintf.h: New file.
68056         * lib/xvasprintf.c: New file.
68057         * lib/xasprintf.c: New file.
68058
68059 2004-09-08  Bruno Haible  <bruno@clisp.org>
68060
68061         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
68062
68063 2004-09-08  Bruno Haible  <bruno@clisp.org>
68064
68065         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
68066         length is > INT_MAX.
68067         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
68068         more.
68069
68070 2004-09-08  Bruno Haible  <bruno@clisp.org>
68071
68072         * lib/stdint_.h: New file, taken from GNU clisp.
68073
68074 2004-09-08  Bruno Haible  <bruno@clisp.org>
68075             Oskar Liljeblad  <oskar@osk.mine.nu>
68076
68077         * modules/stdint: New file.
68078         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
68079
68080 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68081
68082         Import from coreutils.
68083         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
68084         strings on unbounded length.  alloca's performance benefits aren't
68085         that important here.
68086         (V_STRDUP): Remove.
68087         (parse_with_separator): New function, with most of the internals
68088         of the old parse_user_spec.  Allow user to omit both user and group,
68089         for compatibility with FreeBSD.
68090         Clone only the user name, not the entire spec.
68091         Do not set *uid, *gid unless entirely successful.
68092         Avoid memory leak in some failing cases.
68093         Fix regression for USER.GROUP reported by Dmitry V. Levin in
68094         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
68095         (parse_user_spec): Rewrite to use parse_with_separator.
68096
68097 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68098
68099         * modules/userspec: Don't depend on alloca.
68100
68101 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68102
68103         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
68104
68105 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68106
68107         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
68108         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
68109         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
68110
68111 2004-08-16  Simon Josefsson  <jas@extundo.com>
68112
68113         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
68114         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
68115         Add --dry-run for --import.
68116         Let user provided command line parameters override configure.ac
68117         settings.
68118
68119 2004-08-12  Simon Josefsson  <jas@extundo.com>
68120
68121         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
68122         as discussed with Paul Eggert in threads rooted at
68123         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
68124         and
68125         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
68126         Before, the test was empty, and relied on ELIDE_CODE in source
68127         code.)
68128         (gl_PREREQ_GETOPT): New macro.
68129         (gl_GETOPT): Use them.
68130
68131 2004-08-12  Simon Josefsson  <jas@extundo.com>
68132
68133         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
68134         * lib/getopt_.h: Renamed from getopt.h.
68135
68136 2004-08-12  Simon Josefsson  <jas@extundo.com>
68137
68138         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
68139         Change default library name from libfoo to libgnu.
68140         Now, if you have a configure.ac that says:
68141                 gl_SOURCE_BASE(gl)
68142                 gl_M4_BASE(gl/m4)
68143                 gl_MODULES(error getopt etcetera)
68144                 gl_INIT
68145         you can import all you need by running:
68146                 ../gnulib/gnulib-tool --import
68147
68148         * modules/getopt (Files): Rename getopt.h to getopt_.h.
68149         (Makefile.am): Rewrite, use logic from argz.
68150         (Include): Use <getopt.h> instead of "getopt.h".
68151
68152 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68153
68154         * modules/argp (Files): Add m4/unlocked-io.m4.
68155         (Depends-on): Add extensions.
68156
68157 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68158
68159         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
68160         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
68161         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
68162         Check for program_invocation_name, program_invocation_short_name,
68163         flockfile, funlockfile, features.h, _getopt_long_only_r.
68164
68165 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68166
68167         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
68168         its complicated substitute.
68169         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
68170         and program_invocation_name.
68171         (__argp_basename) [!_LIBC]: Remove; the only use was
68172         replaced by its body.
68173         (__argp_short_program_name): Change condition from
68174         !defined __argp_short_program_name to
68175         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
68176         to match argp-namefrob.h.
68177         (__argp_failure): Don't assume strerror_r returns char *.
68178         * lib/argp-parse.c (N_): Define unconditionally.
68179         (argp_default_options): Fill out initializers with 0 to avoid
68180         gcc warnings.
68181
68182 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68183
68184         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
68185         getopt1.c.
68186
68187 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68188
68189         Merge from coreutils.
68190
68191         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
68192
68193         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
68194         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
68195
68196 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68197
68198         Merge from coreutils.
68199
68200         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
68201         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
68202         for Reliant Unix 5.43.
68203
68204         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
68205         (union fooround): Use uintmax_t, not long int.
68206         The rest is a merge from libc:
68207         [defined _LIBC]: Include <shlib-compat.h>.
68208         (_obstack) [defined _LIBC]: Remove after 2.3.4.
68209
68210         * lib/settime.c (settime): Recode to avoid warning with
68211         Sun Forte C 6U2.
68212
68213         * lib/strverscmp.c: Convert to UTF-8.
68214
68215 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68216
68217         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68218         m4/uintmax_t.m4.
68219
68220 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68221
68222         * modules/xalloc-die: New file.
68223         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
68224
68225         * modules/md5 (Files): Add m4/uint32_t.m4.
68226         * modules/sha1: Renamed from modules/sha.
68227         (Files):
68228         Rename lib/sha.h to lib/sha1.h.
68229         Rename lib/sha.c to lib/sha1.c.
68230         Rename m4/sha.m4 to m4/sha1.m4.
68231         (lib_SOURCES): Likewise.
68232         (configure.ac): Rename gl_SHA to gl_SHA1.
68233         (Include): sha.h -> sha1.h.
68234
68235 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68236
68237         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
68238         * m4/sha1.m4: Renamed from sha.m4.
68239         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
68240
68241 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68242
68243         * lib/obstack.h (obstack_empty_p):
68244         Don't assume that chunk->contents is suitably aligned.
68245         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
68246         Likewise. Problem reported by Benno in
68247         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
68248
68249         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
68250         readable.  This could be improved further but it'd take some work.
68251
68252 2004-08-08  Simon Josefsson  <jas@extundo.com>
68253
68254         * modules/xgethostname (Depends-on): Remove exit and error (not
68255         used).
68256
68257         * modules/getpass-gnu: Add getpass.h.
68258         (Depends-on): Add stdbool.
68259         * modules/getpass: Add getpass.h.
68260
68261 2004-08-08  Simon Josefsson  <jas@extundo.com>
68262
68263         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
68264         Check getpass declaration.
68265
68266 2004-08-08  Simon Josefsson  <jas@extundo.com>
68267
68268         * lib/xgethostname.c: Don't include error.h (not used).
68269
68270         * lib/getpass.h: Add.
68271         * lib/getpass.c: Include getpass.h first.
68272
68273 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
68274
68275         * lib/xalloc-die.c: New file.
68276         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
68277         All uses removed.
68278         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
68279         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
68280         xalloc-die.c.
68281         (_, N_, xalloc_die): Move to xalloc-die.c.
68282         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
68283         so that we needn't mess with xalloc_msg_memory_exhausted.
68284
68285         * lib/sha1.h: Renamed from sha.h.
68286         (SHA1_H): Renamed from _SHA_H.
68287         (sha1_ctx): Renamed from sha_ctx.
68288         (sha1_init_ctx): Renamed from sha_init_ctx.
68289         (sha1_process_block): Renamed from sha_process_block.
68290         (sha1_process_bytes): Renamed from sha_process_bytes.
68291         (sha1_finish_ctx): Renamed from sha_finish_ctx.
68292         (sha1_read_ctx): Renamed from sha_read_ctx.
68293         (sha1_stream): Renamed from sha_stream.
68294         (sha1_buffer): Renamed from sha_buffer.
68295         * lib/sha1.c: Likewise; renamed from sha.c.
68296         Do not include <sys/types.h>.
68297         Include <stddef.h> rather than <stdlib.h>.
68298
68299 2004-08-08  Bruno Haible  <bruno@clisp.org>
68300
68301         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
68302         FILESYSTEM_PREFIX_LEN.
68303         * lib/progreloc.c: Likewise.
68304         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
68305
68306 2004-08-06  Simon Josefsson  <jas@extundo.com>
68307
68308         * modules/progname (Depends-on): Don't depend on stdbool.
68309
68310 2004-08-06  Simon Josefsson  <jas@extundo.com>
68311
68312         * modules/getsubopt: New file.
68313         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68314         getsubopt.
68315
68316 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68317
68318         More merge from coreutils.
68319
68320         * m4/utimens.m4, m4/utimecmp.m4: New files.
68321         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
68322         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
68323         prereq.m4, sha.m4: Import changes from coreutils.
68324
68325 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68326
68327         More merge from coreutils.
68328         * modules/raise, modules/readtokens0, modules/utimens:
68329         * modules/utimecmp, module/xnanosleep: New files.
68330         * modules/strftime: Add lib/strftime.h.
68331         Change include from <time.h> to "strftime.h".
68332         * modules/yesno: Add lib/yesno.h.
68333         * modules/backupfile: Remove lib/addext.c.
68334         * modules/euidaccess: Add stat-macros.h.
68335         * modules/canonicalize, modules/euidaccess,
68336         modules/filemode, modules/lchown, modules/makepath,
68337         modules/rmdir, modules/stat: Likewise.
68338
68339 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68340
68341         Merge from tar.
68342         * lib/argp-help.c (make_hol, hol_append): Don't assume that
68343         SIZE_MAX is a valid preprocessor constant.
68344         (__argp_basename): Change from "#ifndef _LIBC"
68345         to "#ifndef __argp_short_program_name", so that
68346         we don't compile these functions for tar.
68347
68348         More merges from coreutils.
68349         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
68350         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
68351         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
68352         * lib/addext.c: Remove; no longer needed.
68353         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
68354         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
68355         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
68356         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
68357         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
68358         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
68359         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
68360         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
68361         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
68362         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
68363         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
68364         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
68365         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
68366         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
68367         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
68368         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
68369         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
68370         Import changes from coreutils.
68371
68372 2004-08-05  Simon Josefsson  <jas@extundo.com>
68373
68374         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
68375
68376 2004-08-05  Simon Josefsson  <jas@extundo.com>
68377
68378         * m4/getsubopt.m4: New file.
68379
68380 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68381
68382         Merge from coreutils.
68383
68384         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
68385         * m4/getcwd-path-max.m4: New files.
68386
68387         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
68388         FILESYSTEM_PREFIX_LEN ->
68389         FILE_SYSTEM_PREFIX_LEN.
68390         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
68391         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
68392         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
68393         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
68394
68395         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
68396         prerequisite modules now handle the DOS stuff.
68397         Don't check for unistd.h.
68398
68399 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68400
68401         Merge from coreutils.
68402
68403         * lib/.gdb-history: Remove; this doesn't belong here.
68404
68405         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
68406         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
68407         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
68408         * lib/getcwd.c: New files.
68409
68410         * lib/dirname.h: Include <stdbool.h>.
68411         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
68412         for consistency with POSIX terminology.  All uses changed.
68413         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
68414         (strip_trailing_slashes): Use bool for booleans.
68415         * lib/stripslash.c (strip_trailing_slashes): Likewise.
68416
68417         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
68418         sometimes returns a positive errno value even when it succeeds.
68419         (print_errno_message) [!LIBC]: Fall back on strerror if
68420         __strerror_r fails.
68421
68422         * lib/path-concat.c (mempcpy): Don't define if a system header defines
68423         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
68424         (longest_relative_suffix): New function.
68425         (path_concat): Use it.  Assume first argument is not NULL.
68426         Port to DOS.  Omit redundant separators.
68427         Report an error instead of returning NULL.
68428         Use mempcpy instead of memcpy.
68429         (xpath_concat): Remove: not declared or used.
68430
68431         * lib/same.h: Include <stdbool.h>
68432         (same_name): Return bool, not int.
68433         * lib/same.c (same_name): Likewise.
68434         (errno): Don't declare; we assume C89 or better now.
68435
68436         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
68437         if not already defined.
68438
68439         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
68440         * lib/dup-safer.c (errno): Likewise.
68441
68442 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68443
68444         Merge from coreutils.
68445         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
68446         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
68447         * modules/path-concat: Don't depend on strdup.
68448
68449 2004-08-03  Simon Josefsson  <jas@extundo.com>
68450
68451         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
68452         * lib/progname.h: Don't include stdbool.h.
68453
68454 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68455
68456         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
68457         * MODULES.html.sh (func_all_modules): Remove fatal.
68458
68459 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68460
68461         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
68462
68463 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68464
68465         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
68466         working.
68467
68468 2004-08-02  Simon Josefsson  <jas@extundo.com>
68469
68470         * lib/getsubopt.h: New file, with comments from Bruno Haible.
68471         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
68472         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
68473
68474 2004-08-01  Simon Josefsson  <jas@extundo.com>
68475
68476         * lib/xgetdomainname.c: Include stdlib.h, for free().
68477
68478 2004-07-19  Bruno Haible  <bruno@clisp.org>
68479
68480         * MODULES.html.sh (func_all_modules): Add dummy.
68481
68482 2004-07-16  Simon Josefsson  <jas@extundo.com>
68483
68484         * modules/dummy: New file.
68485
68486 2004-07-16  Simon Josefsson  <jas@extundo.com>
68487
68488         * lib/dummy.c: New file.
68489
68490 2004-07-16  Bruno Haible  <bruno@clisp.org>
68491
68492         * lib/backupfile.h: Add extern "C" for C++.
68493         * lib/closeout.h: Likewise.
68494         * lib/copy-file.h: Likewise.
68495         * lib/findprog.h: Likewise.
68496         * lib/full-write.h: Likewise.
68497         * lib/pathname.h: Likewise.
68498         * lib/progname.h: Likewise.
68499         * lib/stpcpy.h: Likewise.
68500         * lib/stpncpy.h: Likewise.
68501         * lib/strcase.h: Likewise.
68502         * lib/strstr.h: Likewise.
68503         * lib/xalloc.h: Likewise.
68504
68505         * lib/mbswidth.h: Add extern "C" for C++.
68506         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
68507
68508 2004-07-13  Robert Millan  <robertmh@gnu.org>
68509
68510         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
68511
68512 2004-07-09  Simon Josefsson  <jas@extundo.com>
68513
68514         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
68515         failed without this.)
68516
68517 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68518
68519         * modules/chown (Files): Add lib/fchown-stub.c, since
68520         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
68521
68522 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68523
68524         * lib/fchown-stub.c: New file.
68525
68526 2004-06-24  Jim Meyering  <jim@meyering.net>
68527
68528         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
68529
68530 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68531
68532         * modules/argz: Omit "#include".
68533
68534         * MODULES.html.sh (func_all_modules): Add calloc, to match
68535         2004-06-01 addition of calloc module.
68536
68537 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68538
68539         * m4/argz.m4: New file, which is autoupdated from libtool.
68540
68541 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68542
68543         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
68544         libtool.
68545
68546 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68547
68548         * config/srclist-update: Don't insist on "USA." before the
68549         close-comment, as libtool omits the period and puts the */ on a
68550         separate line.
68551         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
68552         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
68553
68554 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
68555
68556         * modules/argz: New file.
68557         * MODULES.html.sh (func_all_modules): Add argz.
68558
68559 2004-06-12  Jim Meyering  <jim@meyering.net>
68560         and  Paul Eggert  <eggert@cs.ucla.edu>
68561
68562         * modules/hash (Files): Add lib/xalloc.h.
68563         * modules/pipe (Depends-on): Add wait-process.
68564         * modules/stat (Depends-on): Add xalloc.
68565         * modules/userspec (Files): Add lib/userspec.h.
68566         * modules/xstrto
68567
68568         Upgrade from gettext-0.13.
68569         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
68570         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
68571         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
68572
68573 2004-06-10  Jim Meyering  <jim@meyering.net>
68574
68575         * lib/calloc.c: New file.
68576
68577 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68578
68579         * lib/getdate.y (yylex): Allow space between sign and number.
68580         Problem reported by Dan Jacobson.
68581
68582 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68583
68584         Merge from coreutils CVS.
68585
68586         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
68587         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
68588         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
68589         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
68590         xstrtol.m4: Fix copyright date and/or serial number.
68591
68592         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
68593         See if we need an fchown replacement.
68594         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
68595         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
68596         and use the replacement function if we detect either defect.
68597
68598         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
68599         gl_UTIMECMP.
68600
68601 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68602         and  Jim Meyering  <jim@meyering.net>
68603
68604         Merge from coreutils CVS.
68605
68606         * lib/stat-macros.h: New file, with contents from file-type.h
68607         and coreutils' system.h.
68608         * lib/file-type.c: Include "stat-macros.h".
68609         * lib/file-type.h (file_type): Move all macro definitions to new file,
68610         stat-macros.h.
68611
68612         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
68613         Wrap old code with this conditional.
68614         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
68615         function that does not dereference symlinks.
68616         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
68617
68618         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
68619         dependency problems.
68620         (xreadlink): Accept new arg SIZE, for efficiency.
68621         All decls and uses changed.
68622         * lib/xreadlink.h: Include <stddef.h>, for size_t.
68623
68624         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
68625         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
68626
68627         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
68628         sysexits.h.
68629
68630 2004-06-01  Jim Meyering  <jim@meyering.net>
68631
68632         * m4/calloc.m4: New file.
68633
68634 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
68635
68636         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
68637         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
68638         Also, fix a typo in a diagnostic.
68639
68640 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68641
68642         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
68643         or AC_FUNC_REALLOC.
68644
68645 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68646
68647         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
68648         macros to be defined.
68649         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
68650         the allocator returns NULL because the requested size is zero.
68651
68652 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68653
68654         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
68655         var.  Add comment explaining why libc still defines it.  This
68656         merges the following patch from glibc:
68657         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
68658
68659 2004-05-20  Andreas Schwab  <schwab@suse.de>
68660
68661         * m4/free.m4: Replace free if it not known to work, not the other
68662         way round.
68663
68664 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68665
68666         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
68667         present in glibc since revision 1.1 of this file.
68668         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
68669         obstack_alignment_mask, obstack_alloc, obstack_base,
68670         obstack_blank, obstack_blank_fast, obstack_chunk_size,
68671         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
68672         obstack_grow0, obstack_init, obstack_int_grow,
68673         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
68674         obstack_next_free, obstack_object_size, obstack_ptr_grow,
68675         obstack_ptr_grow_fast, obstack_room): Remove declarations of
68676         nonexistent functions.
68677
68678 2004-05-18  Karl Berry  <karl@gnu.org>
68679
68680         * config/srclist.txt: break link for vasnprintf.c.
68681
68682 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68683
68684         Port obstack to the AS/400, where pointers are 16 bytes wide and
68685         you cannot cast an integer to a valid pointer.  This patch is
68686         currently waiting to be integrated into glibc; see
68687         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
68688
68689         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
68690         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68691         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68692         (struct obstack): temp member is now a union of a pointer and
68693         an integer, instead of an integer.  All integer uses changed.
68694         This does not affect the physical layout of struct obstack,
68695         except on hosts (like the AS/400) where the size or alignment of
68696         void * is greater than that of ptrdiff_t.
68697         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68698         __STDC__)]: Store temporary in pointer member of union, not
68699         integer member.
68700         * lib/obstack.c: Include <stddef.h>, for offsetof.
68701         (struct fooalign): Remove; it doesn't need a name.
68702         (union fooround): Change double to long double, and add void *.
68703         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68704         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68705         not a macro.  Hence the values are always int; so remove all
68706         casts-to-int in uses.
68707
68708 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68709
68710         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68711         we can get this patch merged into glibc.
68712
68713 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68714             Paul Eggert  <eggert@cs.ucla.edu>
68715
68716         * m4/argp: Depend on alloca.
68717
68718 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68719             Paul Eggert  <eggert@cs.ucla.edu>
68720
68721         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68722         freecoding.
68723
68724 2004-05-17  Bruno Haible  <bruno@clisp.org>
68725
68726         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68727         precision that consists of a '.' followed by an empty digit string.
68728         Patch by Tor Lillqvist <tml@iki.fi>.
68729
68730 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68731
68732         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68733         for backward compatibility with older code.  We need our own
68734         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68735         it under some other name, and our alloca.h will define it.
68736
68737 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68738             Derek Price  <derek@ximbiot.com>
68739
68740         * lib/alloca.c: Include <alloca.h>, to get our interface.
68741         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68742         include <alloca.h> first.  Use C89 prototype for alloca; this
68743         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68744         Use #elif for simplicity, since we can assume C89 now.
68745         Don't try to source the system alloca.h since it will not be found
68746         and to prevent recursively including its replacement.
68747         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68748         * lib/regex.c: Likewise.
68749
68750 2004-05-16  Derek Price  <derek@ximbiot.com>
68751             Paul Eggert  <eggert@cs.ucla.edu>
68752
68753         getline cleanup.  This changes the getndelim2 API: both order of
68754         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68755         no delimiter).
68756
68757         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68758         interface does that.
68759         (getline): Always use getdelim, so that we don't have two
68760         copies of this code.
68761         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68762         if available.
68763         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68764         (GETNDELIM2_MAXIMUM): New macro.
68765         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68766         instead of the old practice of delim2==0.  All callers changed.
68767         Return -1 on overflow, instead of returning junk.
68768         Do not set *linesize unless allocation succeeds.
68769         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68770         that we include sys/types.h.
68771         * lib/getnline.h: Likewise.
68772         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68773         (getndelim2): Reorder arguments.
68774         * lib/getnline.c (getnline, getndelim):
68775         Don't discard the NMAX argument.
68776         (getnline): Invoke getndelim, to avoid code duplication.
68777         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68778         of (size_t) -1 by callers of the getnline family.
68779
68780 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68781
68782         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68783         Check for gettimeofday.
68784         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68785         Check for settimeofday, stime.
68786
68787 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68788
68789         * lib/nanosleep.c (suspended): Change its type from int to
68790         sig_atomic_t volatile.
68791         (first_call): Make it private to rpl_nanosleep, and have it
68792         be zero initially as that's a bit faster.
68793         (my_usleep): Round up fractional times instead of truncating them,
68794         as this is the usual meaning for 'sleep'.
68795
68796         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68797         doesn't work.
68798         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68799         (ENOSYS): Define if not defined.
68800         (settime): Fall back on stime if it exists and settimeofday fails.
68801         But don't bother with fallbacks if a method fails with errno == EPERM.
68802
68803 2004-05-11  Jim Meyering  <jim@meyering.net>
68804
68805         Prior to this change, the save_cwd caller required read access to the
68806         current directory on most systems (ones with the fchdir function).
68807
68808         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68809         fails, try write-only, and finally, resort to using xgetcwd.
68810
68811 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68812
68813         * lib/obstack.c, obstack.h: Import changes from libc.
68814
68815 2004-04-28  Bruno Haible  <bruno@clisp.org>
68816
68817         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68818         also implicitly appends .exe to executables.
68819         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68820         accepts Windows pathnames.
68821         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68822         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68823         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68824         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68825         Reported by Derek Robert Price <derek@ximbiot.com>.
68826
68827 2004-04-21  Karl Berry  <karl@gnu.org>
68828
68829         * config/srclist.txt (localcharset.c): break sync.
68830
68831 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68832
68833         * m4/host-os.m4: Add a copyright notice.
68834
68835 2004-04-20  Jim Meyering  <jim@meyering.net>
68836
68837         Change UTILS_ to gl_ in AC_DEFINE'd names.
68838         Change utils_- and jm_-prefixed variables, too.
68839         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68840         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68841         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68842
68843         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68844         Don't emit trailing blanks.
68845         Also rename jm_-prefixed variables to have gl_ prefix.
68846
68847         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68848         Also rename jm_-prefixed variables to have gl_ prefix.
68849
68850         * m4/jm-macros.m4: Reflect the renamings.
68851         * m4/prereq.m4: Likewise.
68852
68853 2004-04-20  Jim Meyering  <jim@meyering.net>
68854
68855         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68856         memory.
68857
68858 2004-04-20  Jim Meyering  <jim@meyering.net>
68859             Bruno Haible  <bruno@clisp.org>
68860
68861         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68862         memory when realloc fails.
68863
68864 2004-04-19  Jim Meyering  <jim@meyering.net>
68865
68866         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68867         now that readutmp.c may call `free (0)'.
68868
68869 2004-04-19  Bruno Haible  <bruno@clisp.org>
68870
68871         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68872         * m4/inttypes_h.m4: Likewise.
68873         * m4/stdint_h.m4: Likewise.
68874         * m4/intmax_t.m4: Likewise.
68875         * m4/uintmax_t.m4: Likewise.
68876
68877 2004-04-18  Jim Meyering  <jim@meyering.net>
68878
68879         * m4/prereq.m4: Don't forbid jm_ prefix.
68880
68881         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68882         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68883         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68884         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68885         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68886         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68887         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68888         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68889         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68890         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68891         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68892         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68893         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68894         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68895         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68896         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68897         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68898         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68899         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68900
68901 2004-04-18  Jim Meyering  <jim@meyering.net>
68902
68903         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68904         failure, don't leak memory and do call END_UTMP_ENT.
68905
68906 2004-04-16  Jim Meyering  <jim@meyering.net>
68907
68908         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68909         coreutils' stat program.
68910         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68911
68912 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68913
68914         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68915         C89.
68916         (CHAR_BIT): Remove, since we assume C89.
68917         Include <stdint.h> if available, as per current Autoconf CVS advice.
68918
68919 2004-03-31  Jim Meyering  <jim@meyering.net>
68920
68921         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68922         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68923         * m4/xalloc.m4: Likewise.
68924
68925 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68926
68927         Merge from coreutils.
68928
68929         * m4/inttostr.m4: New file.
68930         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
68931         Require AM_STDBOOL_H and gl_TIMESPEC instead.
68932         Require gl_CLOCK_TIME.
68933         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
68934
68935 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68936
68937         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
68938         not bool, to be more consistent with Unix conventions.
68939         Suggested by Bruno Haible.
68940
68941         Merge from coreutils.
68942
68943         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
68944         * lib/umaxtostr.c: New files.
68945
68946         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
68947         the usual <time.h> dance.
68948         (get_date): Change signature to support fractional time stamps.
68949         All callers changed.
68950         * lib/getdate.y: Include "getdate.h" first, as we can now
68951         assume C89 and don't need to worry about 'const'.
68952         Similarly, include "unlocked-io.h" near start, not in middle.
68953         Include <limits.h>.
68954         (textint.value): Use long int rather than int.
68955         (textint.digits): Use size_t rather than int.
68956         (BILLION, LOG10_BILLION): New constants.
68957         (parser_control): New member rel_ns.  Members day_ordinal,
68958         time_zone, month, day, hour, minutes, rel_year, rel_month,
68959         rel_day, rel_hour, rel_minutes, rel_seconds
68960         are now long int, not int.  Member seconds is now struct timespec,
68961         not int.  New member timespec_seen.  Members dates_seen, days_seen,
68962         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
68963         not int.
68964         (%union.intval): Now long int, not int.
68965         New member timespec.
68966         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
68967         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
68968         (spec): Now is a timespec or an item list.
68969         (timespec, items): New nonterminals.
68970         (time, rel, relunit, number, get_date):
68971         Add support for fractional seconds.
68972         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
68973         (gmtime, localtime, mktime): Remove decls; not needed with C89.
68974         (to_hour): First arg is now long int, not int.
68975         (to_year): Returns long int, not int.
68976         Don't treat year -70 like 70.
68977         (tm_diff): Returns long int, not int.
68978         (lookup_word): Use bool instead of int when appropriate.
68979         (yylex): Use size_t for count, not int.
68980         Detect overflow when parsing large integer constants.
68981         Add support for fractions.
68982         (get_date): Make pointers 'const' if possible.
68983         Use more-portable code to detect integer overflow.
68984         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
68985         Don't use ctime; it's not reliable if the year has >4 digits.
68986
68987         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
68988         This is for compatibility with BSD.
68989
68990         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
68991         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
68992         From coreutils' system.h.
68993
68994         * lib/userspec.c: Don't include "posixver.h".
68995         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
68996         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
68997         compatible extension.  Simplify code by removing a boolean int
68998         that was always nonzero if a string was nonnull.
68999
69000 2004-03-30  Jim Meyering  <jim@meyering.net>
69001
69002         Merge from coreutils.
69003
69004         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
69005         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
69006         on some systems one must include <grp.h> before it.
69007         Reported by Christian Krackowizer.
69008
69009 2004-03-30  Jim Meyering  <jim@meyering.net>
69010
69011         Merge from coreutils.
69012
69013         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
69014
69015         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
69016         an empty input stream.
69017
69018         * lib/readtokens.c: Include <stdbool.h>.
69019         (readtoken): Use `size_t' rather than int/long.
69020         All callers adjusted.
69021         Use `bool' rather than `int' where appropriate.
69022         Use memset rather than an explicit loop.
69023         Use x2nrealloc rather than xrealloc.
69024         Allow the use of `\0' as a delimiter.
69025         (readtokens): Likewise.
69026         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
69027
69028 2004-03-30  Jim Meyering  <jim@meyering.net>
69029
69030         * m4/realloc.m4: Remove file, since now it does no more than
69031         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
69032         the `configure.ac' section of module/realloc.
69033         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
69034
69035 2004-03-30  Bruno Haible  <bruno@clisp.org>
69036
69037         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
69038         nonnull.
69039
69040 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69041
69042         Merge changes to getloadavg.c from coreutils and Emacs.
69043
69044         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
69045         Define to an expression, not to the empty string.
69046         Include cloexec.h and xalloc.h.
69047         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
69048         Use set_cloexec_flag rather than rolling our own.
69049         * lib/cloexec.c, lib/cloexec.h: New files.
69050
69051 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69052
69053         * m4/cloexec.m4: New file.
69054
69055 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69056
69057         * lib/getopt.h: Sync with libc CVS.
69058
69059 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69060             Bruno Haible  <bruno@clisp.org>
69061
69062         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
69063         mbswidth.
69064
69065 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69066             Bruno Haible  <bruno@clisp.org>
69067
69068         * lib/mbswidth.h: Include <wchar.h> only if
69069         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
69070         <wchar.h>.
69071         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
69072
69073 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69074
69075         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
69076         Sync with libc CVS.
69077         * lib/getopt_int.h: New file, also synced from libc.
69078
69079 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69080
69081         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
69082         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
69083         Bring back getopt.c, getopt.h, getopt1.c.
69084
69085 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69086
69087         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
69088         All uses changed.  Check for sa_sigaction member; this fixes
69089         a bug first reported by Jason Andrade in
69090         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69091
69092 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69093
69094         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
69095         '#if' expressions.  Unlike the code it replaces, it does not
69096         depend on (defined _SC_PAGESIZE).  However, it does depend on
69097         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
69098         first reported by Jason Andrade in
69099         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69100
69101 2004-02-25  Simon Josefsson  <jas@extundo.com>
69102
69103         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
69104
69105 2004-02-25  Simon Josefsson  <jas@extundo.com>
69106
69107         * lib/strdup.h: New file.
69108         * lib/strdup.c: Include it.
69109         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
69110         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
69111
69112 2004-02-23  Karl Berry  <karl@gnu.org>
69113
69114         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
69115         (from fencepost.gnu.org:/gd/gnuorg).
69116
69117 2004-02-23  Karl Berry  <karl@gnu.org>
69118
69119         * config/srclistvars.sh (GNUORG) [karl]: redefine.
69120         * config/srclist.txt: add maintain/standards documents.
69121
69122 2004-02-18  Bruno Haible  <bruno@clisp.org>
69123
69124         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
69125         Reported by Derek Robert Price <derek@ximbiot.com>.
69126
69127 2004-02-16  Karl Berry  <karl@gnu.org>
69128
69129         * config/mkinstalldirs, install-sh: update from automake.
69130
69131 2004-02-06  Karl Berry  <karl@gnu.org>
69132
69133         * m4/po.m4: update from gettext 0.14.1.
69134
69135 2004-02-06  Karl Berry  <karl@gnu.org>
69136
69137         * lib/config.charset: update from gettext 0.14.1.
69138
69139 2004-02-05  Paul Eggert  <eggert@twinsun.com>
69140
69141         Add comments and code, prompted by suggestions from Bruno Haible
69142         for sh-quote.
69143         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
69144         describing the enum quoting_style values.
69145         * lib/quotearg.c (quotearg_alloc): New function.
69146         (quotearg_buffer_restyled): Treat lone { and } as special.
69147         Treat = as special.  Work around bug with older shells
69148         that "see" a '\' that is really the 2nd byte of a multibyte char.
69149         Quote empty string with shell_quoting_style.
69150
69151 2004-02-03  Bruno Haible  <bruno@clisp.org>
69152
69153         * m4/pipe.m4: New file, from GNU gettext.
69154
69155 2004-02-03  Bruno Haible  <bruno@clisp.org>
69156
69157         * lib/pipe.h: New file, from GNU gettext.
69158         * lib/pipe.c: New file, from GNU gettext.
69159
69160 2004-01-27  Bruno Haible  <bruno@clisp.org>
69161
69162         * m4/execute.m4: New file, from GNU gettext.
69163
69164 2004-01-27  Bruno Haible  <bruno@clisp.org>
69165
69166         * lib/execute.h: New file, from GNU gettext.
69167         * lib/execute.c: New file, from GNU gettext.
69168         * lib/w32spawn.h: New file, from GNU gettext.
69169
69170 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69171
69172         Merge from diffutils.
69173
69174         * lib/file-type.c (file_type): Add typed memory objects.
69175         * lib/file-type.h (S_TYPEISTMO): New macro.
69176
69177         * lib/c-stack.h (c_stack_action): Remove argv argument.
69178         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
69179         (die): Don't calculate message unless segv_action returns.
69180         (get_stack_location, min_address_from_argv, max_address_from_argv,
69181         volatile stack_base, volatile_stack_size): Remove.
69182         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
69183         that every segmentation violation is a stack overflow.  (Ouch!)
69184         See Debian bug 136249 (still outstanding) for more info about why
69185         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
69186
69187 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69188
69189         Exit-status fix from coreutils.
69190
69191         Use exit_failure consistently in place of EXIT_FAILURE,
69192         so that program exit statuses are consistent on failure.
69193
69194         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
69195         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
69196         * lib/argmatch.h: Comment fix to match the above.
69197         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
69198         Now a macro referring to exit_failure, instead of a separate
69199         variable.  Include "exitfail.h" to get it.
69200         * lib/xstrtol.h: Include "exitfail.h".
69201         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
69202
69203         * lib/long-options.c (parse_long_options): Use prototype
69204         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
69205         for clarity.
69206
69207 2004-01-21  Jim Meyering  <jim@meyering.net>
69208
69209         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
69210         so as not to conflict with a different-sized __mktime_internal
69211         function in GNU libc.
69212         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
69213         Problem building statically-linked `ls' reported by Michael Brunnbauer.
69214
69215 2004-01-20  Karl Berry  <karl@gnu.org>
69216
69217         * config/config.guess: update from config.
69218
69219         * config/srclistvars.sh: GNUWWWLICENSES for karl.
69220
69221 2004-01-20  Bruno Haible  <bruno@clisp.org>
69222
69223         Safer stack allocation.
69224         * lib/setenv.c: Include allocsa.h.
69225         (alloca): Remove fallback definition.
69226         (freea): Remove macro.
69227         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
69228         instead of freea.
69229
69230 2004-01-20  Bruno Haible  <bruno@clisp.org>
69231
69232         * m4/eealloc.m4: New file, from GNU gettext.
69233
69234 2004-01-20  Bruno Haible  <bruno@clisp.org>
69235
69236         * m4/allocsa.m4: New file, from GNU gettext.
69237
69238 2004-01-20  Bruno Haible  <bruno@clisp.org>
69239
69240         * lib/xallocsa.h: New file, from GNU gettext.
69241         * lib/xallocsa.c: New file, from GNU gettext.
69242
69243 2004-01-20  Bruno Haible  <bruno@clisp.org>
69244
69245         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
69246
69247 2004-01-20  Bruno Haible  <bruno@clisp.org>
69248
69249         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
69250         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
69251         specially.
69252
69253 2004-01-20  Bruno Haible  <bruno@clisp.org>
69254
69255         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
69256         patch.
69257
69258 2004-01-20  Bruno Haible  <bruno@clisp.org>
69259
69260         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
69261
69262 2004-01-20  Bruno Haible  <bruno@clisp.org>
69263
69264         * lib/eealloc.h: New file.
69265
69266 2004-01-20  Bruno Haible  <bruno@clisp.org>
69267
69268         * lib/binary-io.h: Avoid warnings on Cygwin.
69269
69270 2004-01-20  Bruno Haible  <bruno@clisp.org>
69271
69272         * lib/allocsa.h: New file, from GNU gettext.
69273         * lib/allocsa.c: New file, from GNU gettext.
69274
69275 2004-01-18  Karl Berry  <karl@gnu.org>
69276
69277         * doc/gpl.texi, doc/lgpl.texi: new files.
69278
69279 2004-01-18  Karl Berry  <karl@gnu.org>
69280
69281         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
69282         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
69283
69284 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69285
69286         Merge from coreutils.
69287
69288         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
69289         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
69290         (gl_DEFAULT_POSIX2_VERSION): Move
69291         the documentation from 'configure' into 'config.hin',
69292         so that 'configure --help' isn't burdened by it and
69293         we don't have to worry about its formatting there.
69294         Reword the documentation so that it's more succinct
69295         and can be run together into a single paragraph.
69296         * m4/same.m4 (gl_SAME): Check for pathconf.
69297
69298 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69299
69300         Merge from coreutils.
69301
69302         * lib/posixver.c: Include posixver.h.
69303
69304         * lib/same.c: Include <stdbool.h>, <limits.h>.
69305         (_POSIX_NAME_MAX): Define if not defined.
69306         (MIN): New macro.
69307         (same_name): If file names are silently truncated, report
69308         that the file names are the same if they are the same after
69309         the silent truncation.
69310
69311         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
69312         conversion function.
69313         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
69314         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
69315         longer needed.
69316
69317 2004-01-15  Jim Meyering  <jim@meyering.net>
69318
69319         Merge from coreutils.
69320
69321         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
69322         if no library is required.
69323         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
69324         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
69325         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
69326         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
69327         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
69328         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
69329         value, $ac_cv_search_crypt, if it's "none required".
69330         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
69331         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
69332         not gl_FUNC_GETLOADAVG.
69333         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
69334         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
69335
69336 2004-01-15  Jim Meyering  <jim@meyering.net>
69337
69338         Merge from coreutils.
69339
69340         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
69341         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
69342         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
69343
69344         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
69345         optional configure-time default.
69346
69347         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69348
69349         * lib/xreadlink.c (xreadlink): Correct outdated comment.
69350
69351 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
69352
69353         Merge from coreutils.
69354
69355         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
69356         value, $ac_cv_search_nanosleep, if it's "none required".
69357
69358 2004-01-14  Paul Eggert  <eggert@twinsun.com>
69359
69360         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
69361         with like-named macro in fnmatch.c.
69362         (EXT): Use an internal constant instead.
69363
69364         Merge fnmatch patches from glibc.
69365         * lib/fnmatch.c (mbsinit): Remove define.
69366         Add libc_hidden_ver (__fnmatch, fnmatch).
69367         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
69368         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
69369
69370 2004-01-14  Karl Berry  <karl@gnu.org>
69371
69372         * config/install-sh: update from automake.
69373
69374 2004-01-13  Karl Berry  <karl@gnu.org>
69375
69376         * config/install-sh: update from automake.
69377
69378 2004-01-09  Karl Berry  <karl@gnu.org>
69379
69380         * config/install-sh: update from automake.
69381
69382 2004-01-05  Karl Berry  <karl@gnu.org>
69383
69384         * config/config.{sub,guess}: update from config.
69385
69386 2003-12-31  Karl Berry  <karl@gnu.org>
69387
69388         * config/depcomp: update from automake.
69389
69390 2003-12-14  Karl Berry  <karl@gnu.org>
69391
69392         * lib/config.charset: update from gettext-runtime.
69393
69394 2003-12-03  Paul Eggert  <eggert@twinsun.com>
69395
69396         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
69397         Bug reported by Alfred M. Szmidt.
69398
69399 2003-12-03  Bruno Haible  <bruno@clisp.org>
69400
69401         * m4/gettext.m4: Upgrade from gettext-0.13.
69402         * m4/po.m4: Upgrade from gettext-0.13.
69403         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
69404         * m4/intmax.m4: New file, from gettext-0.13.
69405         * m4/printf-posix.m4: New file, from gettext-0.13.
69406
69407 2003-11-29  Karl Berry  <karl@gnu.org>
69408
69409         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
69410
69411 2003-11-25  Paul Eggert  <eggert@twinsun.com>
69412             Bruno Haible  <bruno@clisp.org>
69413
69414         * lib/printf-parse.h: Don't include sys/types.h.
69415         (ARG_NONE): New macro.
69416         (char_directive): Change type of *arg_index fields to size_t.
69417         * lib/printf-parse.c: Don't include sys/types.h.
69418         (SSIZE_MAX): Remove macro.
69419         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
69420         Remove unnecessary overflow check.
69421         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
69422         fields.
69423
69424 2003-11-25  Bruno Haible  <bruno@clisp.org>
69425
69426         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
69427
69428 2003-11-25  Bruno Haible  <bruno@clisp.org>
69429
69430         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
69431         gt_TYPE_SSIZE_T.
69432
69433 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69434
69435         * modules/alloca: Remove dependency on xalloc.
69436
69437 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69438
69439         * lib/alloca.c: Remove dependency on xalloc module.
69440         (xalloc_die): Remove.
69441         (memory_full) [!defined emacs]: New macro.
69442         [!defined emacs]: Don't include xalloc.h.
69443         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
69444         address arithmetic overflows.  Change datatypes a bit to avoid
69445         unnecessary casts.
69446
69447 2003-11-22  Jim Meyering  <jim@meyering.net>
69448
69449         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
69450         s/size/size_t/.
69451
69452 2003-11-21  Karl Berry  <karl@gnu.org>
69453
69454         * config/config.{sub,guess}: update from config.
69455
69456 2003-11-18  Karl Berry  <karl@gnu.org>
69457
69458         * config/config.{sub,guess}: update from config.
69459
69460         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
69461
69462 2003-11-17  Paul Eggert  <eggert@twinsun.com>
69463
69464         * README: Mention that S+T cannot overflow if S is the size of
69465         an existing object and T is sufficiently small.
69466
69467 2003-11-17  Jim Meyering  <jim@meyering.net>
69468
69469         On systems without utime and without a utimes function capable of
69470         dealing with a NULL struct utimbuf* argument, this utime replacement
69471         could -- in unusual circumstances -- leak a file descriptor.
69472         * lib/utime.c: Include <unistd.h> and <errno.h>.
69473         (utime_null): Be sure to close `fd' and to preserve errno.
69474         Reported by Geoff Collyer via Arnold Robbins.
69475
69476 2003-11-17  Bruno Haible  <bruno@clisp.org>
69477
69478         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
69479         (Depends-on): Add xsize.
69480
69481 2003-11-17  Bruno Haible  <bruno@clisp.org>
69482
69483         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
69484
69485 2003-11-17  Bruno Haible  <bruno@clisp.org>
69486
69487         * lib/vasnprintf.c (alloca): Remove fallback definition.
69488         (freea): Remove definition.
69489         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
69490         Reported by Paul Eggert.
69491
69492 2003-11-16  Paul Eggert  <eggert@twinsun.com>
69493             Bruno Haible  <bruno@clisp.org>
69494
69495         Protect against address arithmetic overflow.
69496         * lib/printf-args.h: Include stddef.h.
69497         (arguments): Change type of field 'count' to size_t.
69498         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
69499         'unsigned int' where appropriate.
69500         * lib/printf-parse.h: Include sys/types.h.
69501         (char_directive): Change type of *arg_index fields to ssize_t.
69502         (char_directives): Change type of fields 'count', max_*_length to
69503         size_t.
69504         * lib/printf-parse.c: Include sys/types.h and xsize.h.
69505         (SSIZE_MAX): Define fallback value.
69506         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
69507         instead of 'int' where appropriate. Check a_allocated, d_allocated
69508         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
69509         * lib/vasnprintf.c: Include xsize.h.
69510         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
69511         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
69512         overflow. Avoid wraparound when converting a width or precision from
69513         decimal to binary.
69514
69515 2003-11-16  Bruno Haible  <bruno@clisp.org>
69516
69517         Update from GNU gettext.
69518         * lib/printf-parse.c: Generalize to it can be compiled for wide
69519         strings.
69520         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
69521         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
69522         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
69523         SNPRINTF): New macros.
69524         Don't include <alloca.h> if the file is used inside libintl.
69525         (local_wcslen): New function, for Solaris 2.5.1.
69526         (VASNPRINTF): Use it instead of wcslen.
69527
69528 2003-11-16  Bruno Haible  <bruno@clisp.org>
69529
69530         * lib/xsize.h (xmax): New function.
69531         (xsum, xsum3, xsum4): Declare as "pure" functions.
69532
69533 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69534
69535         * modules/xalloc (Files): Undo latest change, since xalloc.h
69536         no longer needs SIZE_MAX or PTRDIFF_MAX.
69537
69538 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69539
69540         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
69541         gl_PTRDIFF_MAX.
69542
69543 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69544
69545         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
69546         "return", to pacify some unknown compiler.  Problem reported
69547         by Joerg Schilling.
69548
69549 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69550
69551         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
69552         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
69553         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
69554         heuristic is just as accurate as far as we know, and it removes a
69555         dependency on size_max.m4 and ptrdiff_max.m4.
69556
69557 2003-11-11  Bruno Haible  <bruno@clisp.org>
69558
69559         * modules/xsize (Files): Add m4/size_max.m4.
69560         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
69561
69562 2003-11-11  Bruno Haible  <bruno@clisp.org>
69563
69564         * m4/size_max.m4: New file.
69565         * m4/ptrdiff_max.m4: New file.
69566         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
69567         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
69568         (gl_XALLOC): Invoke it.
69569
69570 2003-11-11  Bruno Haible  <bruno@clisp.org>
69571
69572         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
69573         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
69574         defined.
69575
69576 2003-11-10  Paul Eggert  <eggert@twinsun.com>
69577
69578         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
69579         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
69580         rejected some allocations of exactly SIZE_MAX - 2 bytes.
69581         From Bruno Haible.
69582         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
69583         not (size_t) -1, since it's defined here.
69584
69585 2003-11-09  Karl Berry  <karl@gnu.org>
69586
69587         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
69588
69589 2003-11-06  Paul Eggert  <eggert@twinsun.com>
69590
69591         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
69592         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
69593         Reject sizes of exactly SIZE_MAX bytes.
69594         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
69595         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
69596
69597 2003-11-05  Bruno Haible  <bruno@clisp.org>
69598
69599         * lib/xsize.h: Include limits.h, to avoid a possible collision with
69600         SIZE_MAX defined in <limits.h> on Solaris.
69601
69602 2003-11-04  Jim Meyering  <jim@meyering.net>
69603
69604         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
69605         variable names, rather than @VAR@.
69606         * modules/poll: Likewise.
69607
69608 2003-11-04  Bruno Haible  <bruno@clisp.org>
69609
69610         * modules/xsize: New file.
69611         * modules/linebreak: Depend on xsize.
69612         * MODULES.html.sh (func_all_modules): Add xsize.
69613
69614 2003-11-04  Bruno Haible  <bruno@clisp.org>
69615
69616         * m4/xsize.m4: New file.
69617
69618 2003-11-04  Bruno Haible  <bruno@clisp.org>
69619
69620         * lib/xsize.h: New file.
69621         * lib/linebreak.c: Include xsize.h.
69622         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
69623         argument for overflow.
69624         Suggested by Paul Eggert.
69625
69626 2003-11-03  Karl Berry  <karl@gnu.org>
69627
69628         * config/config.{guess,sub}: update from config.
69629
69630 2003-11-03  Jim Meyering  <jim@meyering.net>
69631
69632         * modules/userspec (lib_SOURCES): Add userspec.h.
69633         (Include): Add "userspec.h".
69634         Improve description.
69635
69636 2003-11-03  Jim Meyering  <jim@meyering.net>
69637
69638         * lib/userspec.c: Include "userspec.h".
69639         * lib/userspec.h: New file.
69640
69641 2003-11-03  Bruno Haible  <bruno@clisp.org>
69642
69643         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
69644
69645 2003-11-03  Bruno Haible  <bruno@clisp.org>
69646
69647         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
69648         available, to avoid (extremely rare) race condition.
69649         Suggested by Paul Eggert.
69650
69651 2003-11-02  Karl Berry  <karl@gnu.org>
69652
69653         * config/srclist.txt (vasprintf.c): sync broken, sigh.
69654
69655 2003-10-31  Paul Eggert  <eggert@twinsun.com>
69656
69657         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
69658         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
69659         (read_filesystem_list): Set and use me_type_malloced.
69660         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
69661         whatever the type happens to be), for brevity and consistency.
69662         Check for size calculation overflow on Alphas running OSF/1.
69663
69664 2003-10-31  Jim Meyering  <jim@meyering.net>
69665
69666         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
69667
69668         * lib/linebuffer.c: Include <string.h> for declaration of memset.
69669
69670 2003-10-30  Paul Eggert  <eggert@twinsun.com>
69671             Bruno Haible  <bruno@clisp.org>
69672
69673         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
69674         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
69675
69676 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69677
69678         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
69679         netbsd*-gnu*.  Suggested by Robert Millan.
69680
69681 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69682
69683         * modules/group-member: Depend on stdbool.
69684
69685 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69686
69687         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
69688
69689 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69690
69691         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69692         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69693         after the 'gnu' in these cases.  This fixes some bugs in the
69694         previous change, and is based on suggestions by Robert Millan.
69695
69696 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69697
69698         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69699         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69700         no longer needed.
69701         * lib/quotearg.c (quotearg_n_options): Use it.
69702         * lib/group-member.c: Include <stdbool.h>.
69703         (free_group_info): Arg is now const *; don't free arg.
69704         (get_group_info): Now returns bool and accepts struct group_info *,
69705         rather than returning a malloc'ed struct group_info *.
69706         All uses changed.  Check for overflow in internal size calculation.
69707
69708         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69709         rather than xmalloc/xrealloc.
69710         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69711         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69712         conformance bug: the old code used a pointer after freeing the
69713         storage that it addressed.
69714         * lib/hash.c (hash_initialize): Simplify the code by using
69715         xalloc_oversized rather than doing it by hand.
69716         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69717         the buffer preserved.  Use free and xmalloc instead.
69718         * lib/quotearg.c (quotearg_n_options): Likewise.
69719         Use a simpler test for size overflow.  Don't use xalloc_oversized
69720         because unsigned int might be wider than size_t (!); this suggests
69721         that we should switch from unsigned int to size_t for slot numbers.
69722
69723 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69724
69725         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69726         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69727         NetBSD kernels.  Requested by Richard Stallman.
69728
69729 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69730
69731         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69732         to allocate the returned structure.  Do not allocate a subarray,
69733         as x2nrealloc will do that.
69734         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69735         instead of xnrealloc.
69736         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69737
69738 2003-10-27  Bruno Haible  <bruno@clisp.org>
69739
69740         * lib/stdbool_.h: Better support for BeOS.
69741
69742 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69743
69744         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69745         now uses inline.
69746
69747 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69748
69749         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69750         callers that want to do their own size-overflow checking.  Include
69751         <stdbool.h>, since xalloc_oversized returns bool.
69752         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69753         to use xalloc_oversized.
69754
69755         Add two functions x2realloc, x2nrealloc, for programs that grow
69756         arrays dynamically by doubling their sizes.
69757         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69758         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69759         New functions.
69760
69761         Port to C99 semantics for 'inline' of external functions.
69762         Bug reported by Bruno Haible.
69763         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69764         with the old contents of xnmalloc.
69765         (xnmalloc, xmalloc): Use it.
69766         (xnrealloc_inline): New static inline function,
69767         with the old contents of xnrealloc.
69768         (xnrealloc, xrealloc): Use it.
69769
69770         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69771         that.
69772
69773 2003-10-26  Karl Berry  <karl@gnu.org>
69774
69775         * config/srclist.txt (COPYING.DOC): no longer available from
69776         /gd/gnuorg; don't know where the ultimate source is.
69777
69778 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69779
69780         Fix several address-calculation bugs in the hash modules,
69781         plus some minor code cleanup.
69782
69783         * lib/hash.h: Include <stdbool.h>, for bool.
69784         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69785         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69786         hash_get_n_entries, hash_get_max_bucket_length,
69787         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69788         hash_rehash): Use size_t rather than unsigned.
69789         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69790         hash_get_n_buckets_used, hash_get_n_entries,
69791         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69792         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69793         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69794         Likewise.
69795         (SIZE_MAX): Define if not defined.
69796         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69797         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69798         hash_print):
69799         Use const * when possible.
69800         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69801         (check_tuning): Fix bug: if tuning parameters were very close to
69802         0 or 1, rounding errors could have caused subscript violations.
69803         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69804         (hash_initialize): Add 'fail:' label
69805         to free table and return NULL, and use it to simplify code.
69806         Use calloc rather than clearing the storage ourself.
69807         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69808         buffer size calculations.
69809         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69810         Include <stddef.h>, for size_t.
69811         * lib/hash-pjw.c (hash_pjw): Likewise.
69812         Switch to method described by Bruno Haible.
69813         Include <limits.h>, for CHAR_BIT.
69814         (SIZE_BITS): New macro.
69815
69816 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69817
69818         * m4/getline.m4 (AM_FUNC_GETLINE):
69819         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69820         hosts.  Problem reported by Derek Robert Price in
69821         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69822         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69823         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69824
69825 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69826
69827         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69828         ceiling the allocation at NMAX bytes rather than silently
69829         discarding input bytes before NMAX is reached.  This makes
69830         a difference only if NMAX exceeds SIZE_MAX / 2.
69831
69832         * lib/obstack.c: Merge from glibc.
69833         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69834         Add libc_hidden_def (_obstack_newchunk).
69835         (_obstack_free) [! defined _LIBC]: Remove.
69836         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69837         a clone of the function body.
69838         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69839         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69840
69841         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69842         glibc.
69843         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69844         arg to memcpy.
69845
69846         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69847         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69848         Don't use lvalue casts, as GCC plans to remove support for them
69849         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69850         was also present in the non-GCC version, indicating that this
69851         code had always been buggy and had never been widely used.
69852         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69853         Use the fast variant of each macro, rather than copying the
69854         definiens of the fast variant; that way, we'll be more likely to
69855         catch future bugs in the fast variants.
69856
69857 2003-10-20  Bruno Haible  <bruno@clisp.org>
69858
69859         * modules/wait-process: New file.
69860         * MODULES.html.sh (func_all_modules): Add wait-process.
69861
69862 2003-10-20  Bruno Haible  <bruno@clisp.org>
69863
69864         * m4/wait-process.m4: New file.
69865
69866 2003-10-20  Bruno Haible  <bruno@clisp.org>
69867
69868         * lib/wait-process.h: New file, from GNU gettext.
69869         * lib/wait-process.c: New file, from GNU gettext.
69870
69871 2003-10-19  Jim Meyering  <jim@meyering.net>
69872
69873         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69874         HPUX 10.20.
69875
69876 2003-10-18  Karl Berry  <karl@gnu.org>
69877
69878         * config/config.guess: update from config.
69879
69880 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69881
69882         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69883         (getgroups): First arg is int, not size_t.
69884         Don't let 'free' mangle errno.
69885
69886 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69887
69888         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69889
69890 2003-10-16  Karl Berry  <karl@gnu.org>
69891
69892         * config/config.{guess,sub}: update from config.
69893
69894 2003-10-16  Jim Meyering  <jim@meyering.net>
69895
69896         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69897         memcpy.
69898
69899 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69900
69901         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69902         (SIZE_MAX): Remove.
69903         (new_exclude, add_exclude_file): Initial size no longer needs to
69904         be a power of 2.
69905         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69906         our own address arithmetic overflow checking.
69907
69908         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69909         (fnmatch): Do not alloca more than 2000 wide characters;
69910         instead, use malloc for large buffers.
69911         Check for address arithmetic overflow, and return -1
69912         with errno set to ENOMEM in that case.
69913         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69914         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69915         instead, return -1.  Check for address arithmetic overflow.
69916
69917 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69918
69919         Handle invalid suffixes and overflow independently, so that
69920         callers can treat them independently as needed.  Fix some bugs in
69921         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69922         suffix for a human-readable blocksize.  The major caller-visible
69923         change is the addition of a new
69924         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69925         that both overflow and suffix chars were found.
69926
69927         * lib/human.c (humblock): Don't check separately for invalid suffix
69928         char; that is xstrtoumax's job (now that its bug is fixed).
69929         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
69930         INTMAX_MAX]: New macros.
69931         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
69932         TYPE_MAXIMUM): New macros.
69933         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
69934         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
69935         if overflow occurs, as it's what __strtol does and it's more useful
69936         in practice.
69937         (__xstrtol): If __strtol reports some error other than ERANGE,
69938         reflect it to the caller as LONGINT_INVALID.  If it reports
69939         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
69940         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
69941         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
69942         value.
69943         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
69944         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
69945         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
69946         [defined UINTMAX_MAX]: New macros.
69947
69948 2003-10-14  Bruno Haible  <bruno@clisp.org>
69949
69950         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
69951
69952 2003-10-14  Bruno Haible  <bruno@clisp.org>
69953
69954         * m4/sig_atomic_t: New file, from GNU gettext.
69955         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
69956
69957 2003-10-14  Bruno Haible  <bruno@clisp.org>
69958
69959         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
69960         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
69961         Also use volatile where needed.
69962
69963 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69964
69965         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
69966         Change maintainer from Bruno Haible to 'all'.
69967
69968 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69969
69970         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
69971
69972 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69973
69974         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
69975         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
69976         and define in terms of the other primitives.
69977         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
69978         (SIZE_MAX): Define if not already defined.
69979         (array_size_overflow): New function.
69980         (xalloc_die): Abort instead of exiting if 'error' returns.
69981         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
69982         (xmalloc, xrealloc): Use them.
69983         (xcalloc): Check for address arithmetic overflow.
69984         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
69985         a bit faster than strcpy.
69986
69987 2003-10-10  Simon Josefsson  <jas@extundo.com>
69988
69989         * modules/argp (Depends-on): Add restrict and strcase.
69990
69991 2003-10-10  Simon Josefsson  <jas@extundo.com>
69992
69993         * m4/argp.m4: Add AC_C_INLINE.
69994
69995 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69996
69997         Merge getpass from libc, plus a few fixes.
69998
69999         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
70000         Include <stdbool.h>.
70001         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
70002         __fsetlocking to empty.
70003         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
70004         do include <bits/libc-lock.h>.
70005         Do not include <fcntl.h>; not needed.
70006         [_LIBC]: Include <wchar.h>.
70007         (NOTCANCEL_MODE): New macro.
70008         (flockfile, funlockfile) [_LIBC]: New macros.
70009         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
70010         [!_LIBC]: New macros.
70011         (call_fclose): New function.
70012         (getpass): Use it.  Save tty stream separately; this simplifies the
70013         code and makes it more reliable if stdin happens to equal stdout.
70014         Invoke __fsetlocking on tty.
70015         Handle thread cancellation if needed.
70016         Namespace cleanup (use __tcgetattr, __getline).
70017         Use bool for Booleans.
70018         [USE_IN_LIBIO]: Handle wide streams.
70019         [!_LIBC]: Unconditionally do the fseek, since we don't know what
70020         stream might go where.
70021
70022         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
70023         doesn't have to include <stdio.h> before us.
70024         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
70025         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
70026         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
70027         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
70028         if not declared, so that we can use getpass.c code from libc without
70029         rewriting it.
70030         (flockfile, ftrylockfile, funlockfile): New macros.
70031
70032 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70033
70034         * modules/getpass: Depend on stdbool.
70035
70036 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70037
70038         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
70039
70040 2003-10-07  Karl Berry  <karl@gnu.org>
70041
70042         * config/config.{guess,sub}: update from config.
70043
70044 2003-10-06  Jim Meyering  <jim@meyering.net>
70045             Bruno Haible  <bruno@clisp.org>
70046
70047         This lets translators provide better translations for the
70048         "Written by ..." part of --version output.
70049         * lib/version-etc.h: Include stdarg.h.
70050         (version_etc_copyright): Declare as readonly.
70051         (version_etc): Make this function variadic with a NULL-terminated list
70052         of author name strings.
70053         (version_etc_va): New declaration.
70054         * lib/version-etc.c: Include stdarg.h, stdlib.h.
70055         (version_etc_copyright): Declare as readonly.
70056         (version_etc_va): New function. Provide a different translatable string
70057         for each possible number of authors < 10. Abbreviate when there are 10
70058         authors or more.
70059         (version_etc): Make this function variadic. Call version_etc_va.
70060         Suggestion from Gary V. Vaughan.
70061
70062         * lib/long-options.h (parse_long_options): Change prototype: the
70063         authors string is moved to the end and becomes variadic.
70064         * lib/long-options.c: Include stdarg.h.
70065         (parse_long_options): Make this function variadic, too.
70066         Call version_etc_va, not version_etc.
70067
70068 2003-10-06  Bruno Haible  <bruno@clisp.org>
70069
70070         * modules/version-etc-2: Remove file.
70071         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
70072
70073 2003-10-06  Bruno Haible  <bruno@clisp.org>
70074
70075         * modules/fatal-signal: New file.
70076         * MODULES.html.sh (func_all_modules): Add fatal-signal.
70077
70078 2003-10-06  Bruno Haible  <bruno@clisp.org>
70079
70080         * m4/fatal-signal.m4: New file.
70081         * m4/signalblocking.m4: New file, from GNU gettext.
70082
70083 2003-10-06  Bruno Haible  <bruno@clisp.org>
70084
70085         * lib/version-etc-2.h: Remove file.
70086         * lib/version-etc-2.c: Remove file.
70087
70088 2003-10-06  Bruno Haible  <bruno@clisp.org>
70089
70090         * lib/fatal-signal.h: New file, from GNU gettext.
70091         * lib/fatal-signal.c: New file, from GNU gettext.
70092
70093 2003-10-05  Paul Eggert  <eggert@twinsun.com>
70094
70095         * README: Rework advice for preventing empty .o files.
70096         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
70097         not <sys/types.h>.
70098
70099 2003-10-04  Karl Berry  <karl@gnu.org>
70100
70101         * lib/argp*: update from libc.
70102
70103 2003-10-04  Karl Berry  <karl@gnu.org>
70104
70105         * config/config.{guess,sub}: update from config.
70106
70107 2003-10-02  Bruno Haible  <bruno@clisp.org>
70108
70109         * modules/lchown (Include): Add lchown.h.
70110         * modules/time_r (Include): Use "..." syntax.
70111         * modules/xgetdomainname (Include): Add xgetdomainname.h.
70112
70113 2003-10-01  Simon Josefsson  <jas@extundo.com>
70114
70115         * MODULES.html.sh (func_all_modules): Move gethostname from section
70116         'based on' to section 'lacking' POSIX:2001.
70117
70118 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
70119
70120         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
70121         to output mode on the same stream.
70122
70123 2003-09-29  Paul Eggert  <eggert@twinsun.com>
70124
70125         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
70126         Fix arg typo in previous patch.
70127
70128 2003-09-28  Jim Meyering  <jim@meyering.net>
70129
70130         * lib/error.c: Correct cpp indentation.
70131
70132 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70133
70134         * modules/free: New file.
70135
70136 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70137
70138         * m4/free.m4: New file.
70139
70140 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70141
70142         * lib/minmax.h (MIN, MAX)
70143         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
70144         Omit the special code that used __typeof__, since we worry that
70145         it could be more trouble than it's worth.  See:
70146         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
70147         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
70148
70149         * lib/free.c: New file.
70150
70151 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
70152
70153         Trivial fixes to Makefile.am parts of module listings.
70154         * modules/strstr: Append strstr.h to lib_SOURCES.
70155         * modules/strcase: Likewise, for strcase.h.
70156
70157 2003-09-27  Karl Berry  <karl@gnu.org>
70158
70159         * config/mkinstalldirs: update from automake.
70160
70161 2003-09-26  Paul Eggert  <eggert@twinsun.com>
70162
70163         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
70164         (error_tail): Do not loop, reallocating temporary buffer, since
70165         the output cannot contain more wide characters than the input
70166         contains bytes, the size must be big enough already.  This avoids
70167         one potential size overflow calculation.  Check for size overflow
70168         when calculating temporary buffer size.  Free temporary buffer
70169         when done, if it was allocated with malloc; this plugs a memory
70170         leak.  Remove casts from void * to pointers, that are no longer
70171         needed now that we're assuming C89 or better.
70172
70173         Merge error changes from glibc.
70174
70175         * lib/error.c, error.h: Update copyright notice header to match glibc.
70176         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
70177         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
70178         Disable cancellation while printing error.
70179         * lib/error.h: Prepend __ to parameter names.
70180
70181 2003-09-26  Jim Meyering  <jim@meyering.net>
70182
70183         * lib/error.c (error_tail): Move some declarations
70184         into inner scope where the local variables are used.
70185
70186 2003-09-26  Bruno Haible  <bruno@clisp.org>
70187
70188         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
70189         stpncpy().
70190         Don't define stpncpy through config.h; it's now done through stpncpy.h.
70191
70192 2003-09-26  Bruno Haible  <bruno@clisp.org>
70193
70194         * lib/stpncpy.h (gnu_stpncpy): New declaration.
70195         (stpncpy): Define as alias for gnu_stpncpy.
70196         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
70197
70198 2003-09-25  Simon Josefsson  <jas@extundo.com>
70199
70200         * lib/xgetdomainname.h: New file.
70201         * lib/xgetdomainname.c: New file.
70202
70203 2003-09-25  Simon Josefsson  <jas@extundo.com>
70204             Bruno Haible  <bruno@clisp.org>
70205
70206         * modules/getdomainname: New file.
70207         * modules/xgetdomainname: New file.
70208         * MODULES.html.sh (func_all_modules): Add getdomainname,
70209         xgetdomainname.
70210
70211 2003-09-25  Simon Josefsson  <jas@extundo.com>
70212             Bruno Haible  <bruno@clisp.org>
70213
70214         * m4/getdomainname.m4: New file.
70215
70216 2003-09-25  Simon Josefsson  <jas@extundo.com>
70217             Bruno Haible  <bruno@clisp.org>
70218
70219         * lib/getdomainname.h: New file.
70220         * lib/getdomainname.c: New file.
70221
70222 2003-09-25  Karl Berry  <karl@gnu.org>
70223
70224         * lib/argp-fmtstream.c, argp-help.c: update from libc.
70225
70226 2003-09-25  Karl Berry  <karl@gnu.org>
70227
70228         * config/install-sh: update from automake.
70229
70230 2003-09-25  Bruno Haible  <bruno@clisp.org>
70231
70232         * modules/version-etc-2: New file, from modules/version-etc with
70233         modifications.
70234         * MODULES.html.sh (func_all_modules): Add version-etc-2.
70235
70236 2003-09-25  Bruno Haible  <bruno@clisp.org>
70237
70238         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
70239         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
70240
70241 2003-09-24  Simon Josefsson  <jas@extundo.com>
70242
70243         * modules/xgethostname: Add xgethostname.h.
70244
70245 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70246
70247         * lib/linebuffer.c (freebuffer): Don't free the argument, just
70248         the buffer associated with the argument.  Bug reported by
70249         Simon Josefsson.
70250
70251 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70252
70253         * README: Document assumptions that 'int' is at least 32 bits
70254         wide, that integer arithmetic is 2's complement without overflow,
70255         that there are no holes in integer values, that adding sizes of
70256         two nonoverlapping objects can't overflow, and that all-bits-zero
70257         yields scalar zero.  Fix spelling and capitalization typos.
70258
70259 2003-09-19  Karl Berry  <karl@gnu.org>
70260
70261         * lib/argp.h: update from libc.
70262
70263 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70264
70265         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
70266         to avoid spurious warnings like "AC_RUN_IFELSE was called before
70267         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
70268
70269 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70270
70271         * gnulib-tool: Use "test -h", not "test -L", for portability
70272         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
70273         (tags_regexp): Remove, since \| doesn't conform to POSIX.
70274         (sed_extract_prog): Issue s commands one-by-one, rather than
70275         using \| in one s command.
70276
70277 2003-09-16  Paul Eggert  <eggert@twinsun.com>
70278
70279         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
70280         input error, instead of returning NULL the next time we are called
70281         (and therefore losing track of errno).
70282
70283 2003-09-16  Bruno Haible  <bruno@clisp.org>
70284
70285         * gnulib-tool (func_create_testdir): Warn about duplicated
70286         dependencies.
70287
70288 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70289
70290         * modules/argmatch, modules/fatal, modules/obstack,
70291         modules/xalloc, modules/xgethostname: Sort dependencies by
70292         importance, not alphabetically.
70293
70294 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70295
70296         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
70297         fails, so that the caller gets the proper errno.
70298
70299         * lib/readutmp.c (read_utmp): Likewise.
70300         Check for fstat error.  Close stream and free storage
70301         when failing.
70302
70303 2003-09-14  Karl Berry  <karl@gnu.org>
70304
70305         * config/srclist.txt (strdup.c): disable for c89 changes.
70306
70307 2003-09-14  Jim Meyering  <jim@meyering.net>
70308
70309         * lib/getloadavg.c: Correct cpp indentation.
70310         * lib/strdup.c: Likewise.
70311         * lib/vasnprintf.c: Likewise.
70312
70313 2003-09-14  Bruno Haible  <bruno@clisp.org>
70314
70315         * modules/fwriteerror: New file.
70316         * MODULES.html.sh (func_all_modules): Add fwriteerror.
70317
70318 2003-09-14  Bruno Haible  <bruno@clisp.org>
70319
70320         * lib/fwriteerror.h: New file.
70321         * lib/fwriteerror.c: New file.
70322
70323 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70324
70325         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
70326         modules/xgethostname, modules/xalloc: Depend on exit.
70327
70328 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70329
70330         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
70331
70332         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
70333         and AC_MINIX, too, so that their extensions are available.
70334
70335         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
70336         This macro has been superseded by gl_BACKUPFILE.
70337
70338         More patches to assume C89 or better.
70339
70340         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
70341
70342         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
70343         unconditionally.
70344         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
70345         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
70346         Include <string.h>, <stdlib.h> unconditionally.
70347         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
70348         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
70349         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
70350         headers or for string.h.
70351         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
70352         or strtoul.
70353
70354         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
70355         headers.
70356         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
70357         * m4/userspec.m4 (gl_USERSPEC): Likewise.
70358         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
70359         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
70360         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70361         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
70362         memcpy, memset.
70363         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
70364         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
70365         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
70366         strtol.
70367         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
70368         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
70369         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
70370         strtoul.
70371
70372 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70373
70374         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
70375         * lib/obstack.c [!defined _LIBC]: Likewise.
70376         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
70377         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
70378         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
70379
70380         More changes to assume C89 or better.
70381
70382         * lib/error.c (error_tail): Assume vprintf.
70383
70384         * lib/argmatch.c (getenv): Remove decl.
70385         * lib/progreloc.c (get_full_program_name): Define via prototype.
70386         * lib/setenv.c (clearenv): Likewise.
70387         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
70388         needed.
70389         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
70390         (malloc, memcpy): Remove decls.
70391         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
70392         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
70393         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70394         (memcpy): Remove macro.
70395         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
70396         (__P): Remove.  All uses removed.
70397         (PTR): Remove.  All uses changed to void *.
70398         (CHAR_BIT, NULL): Remove.
70399         (spaces, zeros, memset_space, memset_zero)
70400         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
70401         Remove.
70402         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
70403         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
70404         Define with prototype.
70405         Remove now-unnecessary prototype decl.
70406         (extra_args_spec): Assume ANSI C.  All uses changed.
70407         (extra_args_spec_iso): Remove.
70408         (my_strftime, emacs_strftimeu): Define via prototype.
70409         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
70410         unconditionally.
70411         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
70412         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
70413         (strtoul, strtol): Remove decls.
70414         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
70415         LONG_MAX): Remove.
70416         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70417         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
70418         (LOCALE_PARAM_PROTO): New macro.
70419         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
70420         (INTERNAL (strtol), strtol): Define with a prototype.
70421         (PARAMS): Remove.  All uses removed.
70422         * lib/tempname.c: Include <string.h> unconditionally.
70423         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
70424         * lib/xgethostname.c (main): Define with a prototype.
70425         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
70426         Include <stdlib.h> unconditionally.
70427         (calloc, malloc, realloc, free): Remove decls.
70428         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
70429         Include <stdlib.h> unconditionally.  Sort include file names.
70430         (strtod): Remove.
70431         (xstrtod): Define with a prototype.
70432         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
70433         (strtol, strtoul): Remove decls.
70434
70435 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70436
70437         More patches to assume C89 or better.
70438         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
70439         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
70440         string.h, memchr, STDC_HEADERS.
70441
70442 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70443
70444         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
70445         Include <stdlib.h>, <string.h> unconditionally.
70446         Remove now-unnecessary cast to char *.
70447         * lib/strnlen.c: Include <string.h> unconditionally.
70448         * lib/yesno.c (yesno): Define with a prototype.
70449
70450 2003-09-11  Bruno Haible  <bruno@clisp.org>
70451
70452         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
70453
70454 2003-09-10  Jim Meyering  <jim@meyering.net>
70455
70456         * lib/error.c: Correct indentation of cpp directives.
70457
70458 2003-09-10  Bruno Haible  <bruno@clisp.org>
70459
70460         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
70461         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
70462         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
70463         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
70464         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
70465         <stdlib.h> and <string.h> checks.
70466         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
70467         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
70468
70469 2003-09-10  Bruno Haible  <bruno@clisp.org>
70470
70471         * lib/strcspn.c: Include <string.h> unconditionally.
70472         * lib/strpbrk.c: Include <string.h> unconditionally.
70473         * lib/strstr.c: Include <string.h> unconditionally.
70474         * lib/unicodeio.c: Include <string.h> unconditionally.
70475         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
70476         * lib/unsetenv.c: Likewise.
70477         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
70478         * lib/yesno.c: Include <stdlib.h> unconditionally.
70479         (rpmatch): Add prototype.
70480
70481 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70482
70483         More patches to assume C89 or better.
70484         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
70485         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
70486         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
70487         or for string.h.
70488         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
70489         stdlib.h.
70490         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
70491         C headers.
70492         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
70493         string.h.
70494         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
70495         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
70496         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
70497         or for string.h.
70498         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
70499         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
70500         C headers.
70501         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
70502         memcpy.
70503         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
70504         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
70505         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
70506         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
70507         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
70508         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
70509         string.h, free.
70510         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
70511         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
70512         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
70513         C headers, or for string.h.
70514         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
70515         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
70516         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
70517         headers, memory.h, stdlib.h, string.h, strings.h.
70518         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
70519         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
70520         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
70521         strchr.
70522         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
70523         headers, memory.h, string.h.
70524         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
70525         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
70526         free.
70527         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
70528         headers.
70529         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
70530         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
70531         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
70532         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
70533         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
70534
70535 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70536
70537         More K&R removal.
70538
70539         * lib/acosl.c (main): Use a prototype.
70540         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
70541         tanl.c: Likewise.
70542
70543         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
70544
70545         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
70546         (getopt, etopt_long, getopt_long_only, _getopt_internal)
70547         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
70548         with a prototype.
70549         * lib/getopt.c (const): Remove macro.
70550         Include <string.h> unconditionally.
70551         (my_index): Remove; all uses changed to strchr.
70552         (strlen): Remove decl.
70553         (exchange): Remove forward decl; no longer needed.
70554         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
70555         Define with prototype.
70556         * lib/getopt1.c (const): Remove macro.
70557         (getopt_long, getopt_long_only, main): Define with prototype.
70558
70559         * lib/getugroups.c: Include <string.h> unconditionally.
70560
70561         * lib/getusershell.c: Include <stdlib.h> unconditionally.
70562         (getusershell, setusershell, endusershell, readname, main):
70563         Define with prototypes.
70564
70565         * lib/group-member.c: Include group-member.h first.
70566         Include <stdlib.h> unconditionally.
70567
70568         * lib/hard-locale.c: Include hard-locale.h first.
70569         Include <stdlib.h>, <string.h> unconditionally.
70570
70571         * lib/hash.c (free, malloc): Remove decls.
70572         Include <stdlib.h> unconditionally.
70573
70574         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
70575         (getenv): Do not declare.
70576
70577         * lib/idcache.c: Include <string.h> unconditionally.
70578
70579         * lib/long-options.c: Include long-options.h first, to test interface.
70580         Include <stdlib.h> unconditionally.
70581
70582         * lib/makepath.c: Include makepath.h first, to test interface.
70583         Include <stdlib.h> and <string.h> unconditionally.
70584
70585         * lib/linebuffer.c: Include <stdlib.h>.
70586         (free): Remove decl.
70587
70588         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
70589         stddef.h. rpl_malloc returns void *, not char *.
70590         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
70591         prototype.
70592
70593         * lib/md5.h: Include <limits.h> unconditionally.
70594         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
70595         (__P): Remove; all uses removed.
70596         * lib/md5.c: Include "md5.h" first.
70597         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
70598         md5_buffer, md5_process_bytes, md5_process_block):
70599         Define with prototypes.
70600         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
70601         * lib/sha.c: Include "sha.h" first.
70602         Include <stdlib.h>, <string.h> unconditionally.
70603
70604         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
70605         * lib/memcmp.c (__ptr_t): Likewise.
70606         * lib/memrchr.c (__ptr_t): Likewise.
70607         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
70608         Include <string.h> unconditionally.
70609         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
70610         * lib/memchr.c: Include <stdlib.h> unconditionally.
70611         * lib/memchr.c (LONG_MAX): Remove.
70612         * lib/memrchr.c (LONG_MAX): Likewise.
70613         * lib/memchr.c (__memchr): Define via a prototype.
70614         * lib/memrchr.c (__memrchr): Likewise.
70615         * lib/memcmp.c (__P): Remove, and remove all uses.
70616         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
70617         Remove forward decls; no longer needed.
70618         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
70619         Use types required by C89 in prototype.
70620
70621         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
70622         * lib/savedir.c: Likewise.
70623         * lib/mkdir.c (free): Remove decl.
70624         * lib/rmdir.c (rmdir): Define with a prototype.
70625         * lib/savedir.c: Include savedir.h first, to test interface.
70626
70627         * lib/mktime.c (STDC_HEADERS): Remove.
70628         Include <stdlib.h>, <string.h> unconditionally.
70629
70630         * lib/modechange.c: Include <stdlib.h> unconditionally.
70631         (malloc): Remove decl.
70632
70633         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
70634         (free): Remove decl.
70635
70636         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
70637         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
70638         (This type really should be intptr_t, but that's a C99ism.)
70639         (_obstack_memcpy): Remove: all uses changed to memcpy.
70640         Include <string.h> unconditionally.
70641         (struct obstack): Assume __STDC__ for types of members
70642         chunkfun, freefun, extra_arg.
70643         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
70644         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
70645         obstack_begin, obstack_specify_allocation,
70646         obstack_specify_allocation_with_arg, obstack_chunkfun,
70647         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
70648         Remove unprototyped decls and the macros that use them.
70649         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
70650         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
70651         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
70652         (defined __STDC__ && __STDC__)]:
70653         Remove nonprototyped code.
70654         Include <stdlib.h> unconditionally.
70655         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
70656         _obstack_allocated_p, _obstack_free, obstack_free,
70657         _obstack_memory_used, print_and_abort):
70658         Define using prototypes.
70659         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
70660         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
70661         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
70662         obstack_next_free, obstack_object_size, obstack_room) [0]:
70663         Remove unused, unprototyped code.
70664
70665         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
70666
70667         * lib/physmem.c (physmem_total, physmem_available, main): Define
70668         with prototypes.
70669
70670         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
70671         (main): Define with a prototype.
70672
70673         * lib/posixver.c (getenv): Remove decl.
70674
70675         * lib/putenv.c (malloc): Returns void *, not char *.
70676         Include <string.h> unconditionally.
70677         (strchr, memcpy, NULL): Do not define.
70678
70679         * lib/readtokens.c: Include readtokens.h first, to test interface.
70680         Include <stdlib.h>, <string.h> unconditionally.
70681         (init_tokenbuffer): Define with a prototype.
70682
70683         * lib/regex.c (PARAMS): Remove.  All uses removed.
70684         All uses of _RE_ARGS removed, too.
70685         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70686         unconditionally.
70687         (bzero): Assume memset exists.
70688         (memcmp, memcpy, NULL): Remove.
70689         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
70690         char, or assignments to local vars of type signed char.
70691         (init_syntax_once, PREFIX(extract_number_and_incr),
70692         PREFIX(print_partial_compiled_pattern),
70693         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70694         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70695         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70696         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70697         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70698         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70699         wcs_compile_range, byte_compile_range, truncate_wchar,
70700         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70701         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70702         count_mbs_length, wcs_re_match_2_internal,
70703         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70704         PREFIX(alt_match_null_string_p),
70705         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70706         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70707         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70708         now-unnecessary declaration, if any.
70709         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70710         regcomp, regexec):
70711         Remove now-unnecessary casts among pointer types.
70712         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70713
70714         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70715         (free): Remove decl.
70716
70717         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70718
70719         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70720         (free): Remove decl.
70721
70722         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70723         * lib/xgetcwd.c: Likewise.
70724
70725         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70726         (free): Remove decl.
70727
70728         * lib/strchrnul.c (strchrnul): Define with a prototype.
70729         Fix bug: c_in was not converted to char before searching.
70730
70731         The following changes are not K&R related:
70732
70733         * lib/group-member.h: Include <sys/types.h>, so that this file is
70734         self-contained.
70735         * lib/makepath.h: Likewise.
70736
70737         * lib/getusershell.c (readname, default_index, line_size, readname):
70738         Use size_t, not int, for sizes.
70739         (readname): If the size overflows, report an error instead of
70740         looping forever.
70741
70742 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70743
70744         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70745         libc.
70746
70747 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70748
70749         * README: New section: portability guidelines.
70750
70751 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70752
70753         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70754         C89 spec.
70755
70756 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70757
70758         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70759
70760 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70761
70762         Assume C89 or better; remove K&R cruft.
70763         A few of these changes were first proposed by Derek Robert Price
70764         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70765
70766         * lib/addext.c: Include <string.h> unconditionally.
70767         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70768         Don't declare getenv or malloc.
70769
70770         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70771         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70772         (NULL): Remove.
70773         (find_stack_direction, alloca): Use prototypes.
70774
70775         * lib/atexit.c (atexit): Define using a prototype.
70776
70777         * lib/basename.c, dirname.c, stripslash.c:
70778         Include <string.h> unconditionally.
70779
70780         * lib/bcopy.c: Include <stddef.h>.
70781         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70782
70783         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70784
70785         * lib/error.h (error, error_at_line, error_print_progname)
70786         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70787         * lib/error.c: Include error.h first, to check interface.
70788         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70789         (VA_START): Remove; all uses changeed to va_start.
70790         (exit, strerror): Remove decls.
70791         (error_print_progname): Prototype uncondionally.
70792         Don't include <errno.h>; no longer needed.
70793         (private_strerror): Remove.
70794         (error_tail): Always define.
70795         (error, error_at_line): Assume C89 or better; always use prototypes.
70796         * lib/fatal.c: Include "fatal.h" first, to test interface.
70797         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70798         (VA_START): Remove; all uses changed to va_start.
70799         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70800         this case.
70801         (exit): Remove decl.
70802         (fatal): Prototype unconditionally.  Assume va_start works.
70803         Abort at end, to pacify gcc.
70804
70805         * lib/euidaccess.c (main): Define with a prototype.
70806
70807         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70808
70809         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70810
70811         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70812         prototypes.
70813         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70814         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70815         (getenv): Remove decl.
70816         (fnmatch): Define using a prototype.
70817         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70818         (FCT): Define using a prototype.
70819
70820         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70821
70822         * lib/gethostname.c: Include <stddef.h>.
70823         (gethostname): Define with prototype.  Length is size_t, not int.
70824
70825 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70826
70827         Assume C89 or better; remove K&R cruft.
70828         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70829         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70830         string.h, getenv, malloc.
70831         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70832         headers.
70833         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70834         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70835         do not check for strerror.
70836         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70837         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70838         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70839         do not check for doprnt or vprintf.
70840         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70841         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70842
70843 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70844
70845         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70846         getversion.c should have been removed then, but was accidentally
70847         preserved.
70848
70849         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70850         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70851
70852 2003-09-08  Karl Berry  <karl@gnu.org>
70853
70854         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70855                 config, forget about prep.
70856
70857         * config/depcomp, missing: update from automake.
70858
70859 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70860
70861         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70862         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70863
70864 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70865
70866         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70867         copy_tm_result.  Bug reported by Simon Josefsson in
70868         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70869
70870 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70871
70872         * m4/time_r.m4: New file.
70873         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70874         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70875         is. Check for timegm declaration.
70876         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70877         Do not check for gmtime_r.
70878         Replace mktime if __mktime_internal does not exist and if mktime
70879         hasn't been replaced already.
70880
70881 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70882
70883         * lib/time_r.c, lib/time_r.h: New files.
70884
70885         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70886         __localtime_r.
70887         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70888         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70889
70890         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70891         __gmtime_r.
70892         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70893         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70894         Include <time_r.h>.
70895
70896         * lib/timegm.c: Switch to glibc implementation, with the following
70897         changes:
70898         [defined HAVE_CONFIG_H]: Include <config.h>.
70899         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70900         (__mktime_internal) [!defined _LIBC]: New decl.
70901         (__gmtime_r) [!defined _LIBC]: New macro and function.
70902         (timegm): Use a prototype, since gnulib assumes C89.
70903         Do not bother declaring tmp to be const, as it's not really usefu.
70904         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70905         (timegm): Declare only if HAVE_DECL_TIMEGM.
70906
70907 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70908
70909         * MODULES.html.sh (func_all_modules): Add time_r.
70910         * modules/time_r: New file.
70911         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70912         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70913
70914 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70915
70916         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70917         Bug reported by Lute Kamstra in
70918         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70919
70920         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70921         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70922         course with correspondingly smaller numbers for tomorrow and
70923         yesterday.  From Tadayoshi Funaba.  Originally installed into
70924         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70925         coreutils merge?).
70926
70927 2003-08-31  Simon Josefsson  <jas@extundo.com>
70928
70929         * modules/timegm: New file.
70930         * MODULES.html.sh (func_all_modules): Add timegm.
70931
70932 2003-08-31  Simon Josefsson  <jas@extundo.com>
70933
70934         * m4/timegm.m4: New file.
70935
70936 2003-08-31  Simon Josefsson  <jas@extundo.com>
70937
70938         * lib/timegm.h: New file.
70939         * lib/timegm.c: New file.  Based on
70940         wget-1.8.2/src/http.c:mktime_from_utc.
70941
70942 2003-08-31  Karl Berry  <karl@gnu.org>
70943
70944         * lib/argp.h: update from libc.
70945
70946 2003-08-28  Bruno Haible  <bruno@clisp.org>
70947
70948         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
70949         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
70950         followed by '#define fnmatch fnmatch_posix' gives an error.
70951
70952 2003-08-28  Bruno Haible  <bruno@clisp.org>
70953
70954         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
70955         warning on QNX, which defines O_BINARY to 000000.
70956
70957 2003-08-27  Jim Meyering  <jim@meyering.net>
70958
70959         * m4/mkstemp.m4: Require that the system mkstemp be able to create
70960         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
70961         would fail after 32.  Reported by Danny Levinson.  Details here:
70962         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
70963
70964 2003-08-24  Bruno Haible  <bruno@clisp.org>
70965
70966         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
70967         MSVC7 <stdio.h> is included later.
70968
70969 2003-08-22  Simon Josefsson  <jas@extundo.com>
70970
70971         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
70972
70973 2003-08-20  Karl Berry  <karl@gnu.org>
70974
70975         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
70976
70977 2003-08-20  Bruno Haible  <bruno@clisp.org>
70978
70979         * modules/progname: New file.
70980         * MODULES.html.sh (func_all_modules): Add progname.
70981
70982 2003-08-20  Bruno Haible  <bruno@clisp.org>
70983
70984         * lib/progname.h: New file, from GNU gettext.
70985         * lib/progname.c: New file, from GNU gettext.
70986         * lib/progreloc.c: New file, from GNU gettext.
70987
70988 2003-08-19  Jim Meyering  <jim@meyering.net>
70989
70990         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
70991         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
70992
70993 2003-08-19  Bruno Haible  <bruno@clisp.org>
70994
70995         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
70996         more.
70997
70998 2003-08-19  Bruno Haible  <bruno@clisp.org>
70999
71000         * lib/xstrdup.c: Assume <string.h> exists.
71001
71002 2003-08-18  Paul Eggert  <eggert@twinsun.com>
71003
71004         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
71005         in makefile rules.
71006
71007 2003-08-18  Jim Meyering  <jim@meyering.net>
71008
71009         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
71010         * m4/lib-ld.m4: Likewise.
71011
71012 2003-08-18  Jim Meyering  <jim@meyering.net>
71013
71014         * lib/setenv.h: Indent nested cpp directive.
71015         * lib/vasnprintf.c: Remove trailing blanks.
71016
71017 2003-08-17  Simon Josefsson  <jas@extundo.com>
71018
71019         * modules/xstrndup: New file.
71020         * MODULES.html.sh (func_all_modules): Add xstrndup.
71021
71022 2003-08-17  Simon Josefsson  <jas@extundo.com>
71023
71024         * modules/argp: Fix autoconf macro name. Add more dependencies.
71025
71026 2003-08-17  Simon Josefsson  <jas@extundo.com>
71027
71028         * m4/xstrndup.m4: New file.
71029
71030 2003-08-17  Simon Josefsson  <jas@extundo.com>
71031
71032         * m4/argp.m4: New file.
71033
71034 2003-08-17  Simon Josefsson  <jas@extundo.com>
71035             Bruno Haible  <bruno@clisp.org>
71036
71037         * lib/xstrndup.h: New file.
71038         * lib/xstrndup.c: New file.
71039
71040 2003-08-17  Bruno Haible  <bruno@clisp.org>
71041
71042         * modules/strndup (Files, Include): Add lib/strndup.h.
71043
71044 2003-08-17  Bruno Haible  <bruno@clisp.org>
71045
71046         * modules/euidaccess (Files): Add lib/euidaccess.h.
71047
71048 2003-08-17  Bruno Haible  <bruno@clisp.org>
71049
71050         * lib/strndup.h: New file.
71051
71052 2003-08-17  Bruno Haible  <bruno@clisp.org>
71053
71054         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
71055         like AC_GNU_SOURCE.
71056         * modules/extensions (configure.ac): Comment out the invocation of
71057         gl_USE_SYSTEM_EXTENSIONS.
71058
71059 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71060
71061         Merges from coreutils, etc.
71062         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
71063         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
71064         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
71065         fixing a typo.
71066         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
71067         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
71068
71069 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71070
71071         Document merge from coreutils.
71072         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
71073         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
71074         * modules/utime: Add m4/utimes-null.m4.
71075
71076 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71077
71078         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
71079         space, undoing this 2003-08-12 change:
71080         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71081
71082 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71083
71084         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
71085         strtoul.c from libc, undoing this 2003-08-12 change:
71086         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71087
71088 2003-08-16  Jim Meyering  <jim@meyering.net>
71089
71090         Merges from coreutils.
71091         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
71092         prefix.  Adjust cache variables similarly.  Create 500 rather than
71093         just 300 files, to exercise bug on Darwin6.5, too.
71094         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
71095         $missing_dir.
71096         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
71097         AM_SYS_POSIX_TERMIOS.
71098         Reported by mkc@mathdogs.com.
71099         Also change use of $am_cv_sys_posix_termios
71100         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
71101         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
71102         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
71103         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
71104         in /proc/mounts until it finds one with matching device number.  This
71105         is unnecessary when the FILE argument *is* a mount point.  No stat call
71106         is necessary in that case.  So, disable the statvfs-testing code on
71107         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
71108         as RedHat bug# 84846.
71109         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71110         to 1MB, so as not to render systems with no stack size limit (e.g.,
71111         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71112         Include <unistd.h>.  On some systems,
71113         it is required for the definition of _SC_PAGESIZE.
71114
71115 2003-08-16  Jim Meyering  <jim@meyering.net>
71116
71117         Merge from coreutils.
71118         * lib/xstrtoimax.c: #else #if -> #elif.
71119         * lib/xstrtoumax.c: Likewise.
71120
71121 2003-08-16  Jim Meyering  <jim@meyering.net>
71122
71123         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
71124         * m4/utimes.m4: Removed.
71125         * m4/utimes-null.m4: Renamed from utimes.m4.
71126
71127         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71128         to 1MB, so as not to render systems with no stack size limit (e.g.,
71129         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71130         Include <unistd.h>.  On some systems,
71131         it is required for the definition of _SC_PAGESIZE.
71132
71133 2003-08-16  Jim Meyering  <jim@meyering.net>
71134         and Paul Eggert  <eggert@cs.ucla.edu>
71135
71136         Merges from coreutils, etc.
71137
71138         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
71139         using the latest version from cvs.  This avoids problems with #line
71140         directives using a vendor (Sun) compiler.
71141         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
71142         Don't set GETGROUPS_LIB here; now it's
71143         done via getgroups.m4's wrapper function.
71144         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
71145         rather than just in sh-util/configure.in, so that the
71146         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
71147         same.
71148         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
71149         AC_FUNC_GETLOADAVG where to find getloadavg.c.
71150         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
71151         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
71152         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
71153         Remove code that is now done by the newly-required macros.
71154         Append $(EXEEXT) to DF_PROG.
71155         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
71156         Do not invoke or require the following here,
71157         since prereq.m4 or some gnulib .m4 now does this for us:
71158         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
71159         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
71160         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
71161         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
71162         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
71163         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
71164         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
71165         AC_FUNC_OBSTACK.
71166         Do not replace the following functions, as this is now the job
71167         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
71168         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
71169         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
71170         atexit getpass, strdup, getpagesize.
71171         Replace 'raise'.
71172         Do not check for the following functions, as this is now the job
71173         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
71174         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
71175         setregid.
71176         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
71177         Check for sys/sysctl.h.
71178         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
71179         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
71180         of checking for ssize_t ourselves.
71181
71182         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
71183         Require every macro that gnulib/modules/* suggests for us.
71184         (jm_PREREQ_ADDEXT): New macro.
71185         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
71186         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
71187
71188         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
71189         (gl_PHYSMEM): Use it.
71190         Also check for `table' function.
71191         Check for new headers and functions.
71192         Add check for sys/sysmp.h.
71193         With suggestions from Kaveh Ghazi.
71194         Ignore headers that are present but cannot be compiled.  This
71195         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
71196         C 5.4.
71197
71198 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71199
71200         Document merge from coreutils.
71201         * modules/userspec: Depend on posixver.
71202         * modules/strftime: Depend on tzset.
71203
71204 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71205
71206         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
71207         rather than tab, after '#' in shell-script copyright notices.
71208         Suggested by Bruno Haible.
71209
71210 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71211
71212         * config/srclist-update: Use three spaces, rather than tab, after '#'
71213         in shell-script copyright notices.  Suggested by Bruno Haible.
71214         Remove unnecessary parenthesization in regular expression.
71215
71216 2003-08-15  Jim Meyering  <jim@meyering.net>
71217
71218         Merge from coreutils.
71219         * lib/xgethostname.c: Include <stdlib.h>.
71220         (xghostname): Don't exit for anything other than memory-related
71221         failure; just return NULL.
71222         * lib/userspec.c: Include "posixver.h".
71223         (parse_user_spec): Accept `.' as a separator only
71224         in pre-POSIX-200112 mode.
71225         * lib/strtoimax.c: Use #elif rather than #else #if.
71226         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
71227         Remove function, now that we can rely on a working tzset function.
71228         [!_LIBC]: Ensure that the required autoconf test has been run.
71229         [!defined _NL_CURRENT && HAVE_STRFTIME]:
71230         Use underlying_strftime for %r.
71231         * lib/sha.c: Merge in some clean-up and optimization changes from
71232         glibc.
71233         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
71234         Ensure that it is a multiple of 64.
71235         Rearrange loop exit tests so as to avoid performing an
71236         additional fread after encountering an error or EOF.
71237         * lib/realloc.c: Update copyright date.
71238
71239 2003-08-15  Jim Meyering  <jim@meyering.net>
71240         and Paul Eggert  <eggert@twinsun.com>
71241
71242         Merge from coreutils.
71243         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
71244         member but strut utmpx does not.  Needed for AIX 4.3.3.
71245         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
71246
71247 2003-08-15  Jim Meyering  <jim@meyering.net>
71248         and Paul Eggert  <eggert@cs.ucla.edu>
71249
71250         Merges from coreutils, etc.
71251         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
71252         Require gl_FUNC_TZSET_CLOBBER.
71253         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
71254         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
71255         members.
71256
71257 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71258
71259         Help the merge from coreutils.
71260         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
71261         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
71262         * m4/tzset.m4: Use it too.
71263
71264 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71265
71266         * modules/tzset: New file.
71267
71268 2003-08-14  Jim Meyering  <jim@meyering.net>
71269
71270         Merges from coreutils.
71271         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
71272         variable names, rather than @FNMATCH_H@.
71273         * modules/alloca: Likewise for $(ALLOCA_H).
71274
71275         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
71276         the three copies of the literal target, `fnmatch.h'.
71277         * modules/alloca (alloca.h): Likewise.
71278
71279 2003-08-14  Jim Meyering  <jim@meyering.net>
71280
71281         Merge from coreutils.
71282         * m4/tzset.m4: New file.
71283         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
71284         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
71285         otherwise, AIX 5.1 systems would end up using the latter.
71286         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
71287         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
71288         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
71289         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
71290
71291 2003-08-14  Jim Meyering  <jim@meyering.net>
71292
71293         Merge from coreutils.
71294         * lib/obstack.h: Whitespace changes.
71295         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
71296         and xcalloc return values.
71297         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
71298         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
71299         hang on OSF/1 5.1 for DIR on both local and remote file systems.
71300         Reported by (and fix confirmed by) Nelson H. F. Beebe.
71301         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71302         error from mntctl.
71303         Use mntctl's return value to drive the entry-processing loop, since
71304         we can't rely on the value of the vmt_length member in the last
71305         entry.  On some systems doing so could result in exhausting
71306         virtual memory.  Based in part on a patch from Mike Jetzer.
71307
71308 2003-08-14  Jim Meyering  <jim@meyering.net>
71309         and Paul Eggert  <eggert@twinsun.com>
71310
71311         Merges from coreutils, plus other fixes.
71312         * lib/physmem.c: Merge in portability changes from gcc/libiberty
71313         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
71314         for credits and details.  Thanks to Kaveh Ghazi for helping
71315         to keep these files in sync.
71316         (ARRAY_SIZE): Define it.
71317         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
71318         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
71319         (memcasecmp): Don't assume size_t fits in unsigned int.
71320         Remove casts and duplicate code.
71321         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
71322         (memcpy): Remove definition.
71323         Merge in some clean-up and optimization changes from glibc.
71324         [BLOCKSIZE]: Move definition to top of file.
71325         Ensure that it is a multiple of 64.
71326         Rearrange loop exit tests so as to avoid performing an
71327         additional fread after encountering an error or EOF.
71328         * lib/md5.h (md5_uintptr): Define.
71329         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
71330         return to the initial working directory.  Preserve errno
71331         for caller.
71332         * lib/idcache.c: Include "xalloc.h".
71333         (xmalloc, xrealloc): Remove decls.
71334         (getuser): Remove casts no longer required in C89.
71335         * lib/human.c: Include stdio.h, for sprintf.
71336         * lib/group-member.c: Include "xalloc.h".
71337         (xmalloc, xrealloc): Remove decls.
71338         (get_group_info): Remove casts no longer required in C89.
71339         * lib/getusershell.c (readname): Remove casts no longer required in
71340         C89.
71341         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
71342         * lib/getline.c: Whitespace fix, from coreutils.
71343
71344 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71345
71346         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
71347         Check for isascii.
71348
71349         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71350         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71351         Undo previous (whitespace-only) change.
71352
71353 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71354
71355         * lib/exclude.c: Include <ctype.h>
71356         (IN_CTYPE_DOMAIN): New macro.
71357         (is_space): New fn.
71358         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
71359         and empty lines.
71360
71361         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71362         Undo previous (whitespace-only) change.
71363
71364 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71365
71366         * config/srclist-update: Change update back to the old behavior,
71367         leaving whitespace alone.  Use one 'sed' command rather than a
71368         pipeline.
71369         (fixlicense): Now a variable, not a function.
71370         (remove_trailing_blanks): Remove.
71371         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
71372         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71373         Undo previous (whitespace-only) change.
71374
71375 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71376
71377         Merge from coreutils.
71378         * modules/euidaccess: Add lib_SOURCES, include for new
71379         file euidaccess.h
71380
71381 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71382
71383         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71384         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71385         Normalize leading white space and remove trailing white space.
71386
71387         Merge from coreutils
71388         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
71389
71390         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
71391         0.12.1.  These files are now being upgraded automatically by
71392         ../config/srclist-update.
71393
71394 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71395
71396         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71397         Normalize leading white space and remove trailing white space.
71398         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
71399         notice, as per ../config/srclist-update.
71400
71401         Merge from coreutils.
71402         * lib/euidaccess.h: New file.
71403         * lib/euidaccess.c: Include it.
71404         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
71405         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
71406         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
71407
71408 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71409
71410         * config/srclist-update: Add copyright notice.
71411         (remove_id_lines, remove_trailing_blanks): New constants.
71412         (fixfile): Use them to normalize spacing a bit in copied files.
71413         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71414         Normalize leading white space and remove trailing white space.
71415
71416         * config/texinfo.tex: Sync with texinfo.
71417
71418         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
71419         strtoul.c from libc, to merge coreutils whitespace changes.
71420
71421         * config/srclist.txt: Get the following m4 files from gettext:
71422         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
71423         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
71424         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
71425         wint_t.m4.
71426
71427 2003-08-12  Karl Berry  <karl@gnu.org>
71428
71429         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
71430         been made.
71431
71432 2003-08-11  Paul Eggert  <eggert@twinsun.com>
71433
71434         * modules/gnu-source, m4/gnu-source.m4:
71435         Remove; we're assuming Autoconf 2.54 or later now.
71436         Suggested by Bruno Haible.
71437         * MODULES.html.sh (func_all_modules): Remove gnu-source.
71438
71439 2003-08-11  Bruno Haible  <bruno@clisp.org>
71440
71441         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
71442
71443 2003-08-11  Bruno Haible  <bruno@clisp.org>
71444
71445         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
71446         (vasnprintf): Use it instead of wcslen.
71447
71448 2003-08-11  Bruno Haible  <bruno@clisp.org>
71449
71450         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
71451         value to ensure that _Bool promotes to int. Use #define for _Bool when
71452         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
71453
71454 2003-08-10  Karl Berry  <karl@gnu.org>
71455
71456         * lib/regex.h: update from libc (whitespace fix).
71457
71458 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71459
71460         Merge some files from coreutils.  These changes were
71461         originally made by Jim Meyering.
71462         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
71463         many older Unixes require this.
71464         * lib/alloca.c (alloca): Remove cast to argument of free;
71465         no longer needed in C89.
71466         * lib/alloca_.h, regex.h: Fix white space to match
71467         what GNU indent does.
71468
71469 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71470
71471         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
71472         apparently Emacs's Unicode mode got confused before my 2003-08-05
71473         checkin.
71474
71475 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71476
71477         * m4/extensions.m4: New file.
71478         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
71479         Require gl_USE_SYSTEM_EXTENSIONS.
71480         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
71481         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
71482
71483 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71484
71485         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
71486         * modules/extensions, modules/gnu-source: New files.
71487         * modules/timespec, modules/unlocked-io: Depend on extensions.
71488
71489 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71490
71491         * modules/restrict: New file.
71492         * MODULES.html.sh (func_all_modules): Add restrict.
71493         * modules/regex: Depend on restrict.
71494
71495 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71496
71497         * m4/restrict.m4: New file.
71498         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
71499
71500 2003-08-07  Bruno Haible  <bruno@clisp.org>
71501
71502         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
71503         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
71504
71505 2003-08-07  Bruno Haible  <bruno@clisp.org>
71506
71507         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
71508         makes the module 'getndelim2' compatible with the module 'getline'.
71509
71510 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71511
71512         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
71513         byte with "\201" to avoid glitches when editing that source file
71514         with multi-gnome-terminal.
71515
71516 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71517
71518         * lib/bumpalloc.h: Remove.
71519
71520 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71521
71522         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
71523         * modules/bumpalloc: Remove.
71524
71525 2003-08-04  Paul Eggert  <eggert@twinsun.com>
71526
71527         * lib/getloadavg.c: Change copyright notice and spacing to conform to
71528         GNU coding style.
71529
71530         Merge from coreutils.
71531         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
71532         1. From glibc.
71533         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
71534         from Karl Berry, implemented by Jim Meyering.
71535         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
71536         from Dmitry V. Levin.
71537         Remove anachronistic cast of xrealloc.
71538         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
71539         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
71540         type. Otherwise, it wouldn't compile with at least /bin/cc on
71541         ymp-cray-unicos9.0.2.X.
71542         Combine two mostly-identical uses of alloca into one.
71543         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
71544
71545 2003-08-04  Dave Love  <d.love@dl.ac.uk>
71546
71547         [From Emacs.]
71548
71549         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
71550         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
71551         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
71552         obsolete NLIST_NAME_UNION.
71553         [__GNU__]: Undef BSD and FSCALE.
71554         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
71555
71556 2003-08-03  Paul Eggert  <eggert@twinsun.com>
71557
71558         * lib/stdbool_.h (_Bool): Make it signed char, instead of
71559         an enum type, so that it's guaranteed to promote to int.  See:
71560         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
71561
71562 2003-08-03  Karl Berry  <karl@gnu.org>
71563
71564         * config/depcomp: update from automake.
71565
71566 2003-07-31  Paul Eggert  <eggert@twinsun.com>
71567
71568         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
71569         (strerror): Don't assume that a printable int fits in 14 bytes.
71570
71571 2003-07-31  Bruno Haible  <bruno@clisp.org>
71572
71573         * modules/getpass-gnu: New file.
71574         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
71575
71576 2003-07-31  Bruno Haible  <bruno@clisp.org>
71577
71578         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
71579
71580 2003-07-24  Karl Berry  <karl@gnu.org>
71581
71582         * config/missing: update from automake.
71583
71584 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
71585             Bruno Haible  <bruno@clisp.org>
71586
71587         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
71588         * lib/getline.c (getline, getdelim): Likewise.
71589         Remove _GNU_SOURCE define; now it's defined in config.h through
71590         m4/getline.m4.
71591
71592 2003-07-23  Karl Berry  <karl@gnu.org>
71593
71594         * config/config.sub: update from prep.
71595
71596 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71597
71598         * modules/xalloc (Depends-on): Add exitfail.
71599         * modules/xmemcoll: Likewise.
71600
71601 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71602
71603         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
71604         over-parenthesization in macros.
71605
71606         Sync with coreutils.
71607
71608         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
71609         required by C99.
71610
71611         Use `exit_failure' for xalloc and xmemcoll instead of their own
71612         private exit-failure variables.
71613         * lib/xalloc.h (xalloc_exit_failure): Remove.
71614         * lib/xmalloc.c: Likewise.  Include exitfail.h.
71615         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
71616         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
71617         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
71618         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
71619
71620 2003-07-20  Jim Meyering  <jim@meyering.net>
71621
71622         * modules/closeout (Depends-on): Add exitfail.
71623         Suggestion from Bruno Haible.
71624
71625 2003-07-19  Karl Berry  <karl@gnu.org>
71626
71627         * config/config.sub: update from prep.
71628
71629 2003-07-18  Paul Eggert  <eggert@twinsun.com>
71630
71631         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
71632         Remove.
71633         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
71634         to test that it can stand by itself.  Include "exitfail.h".
71635         Clients should set exit_failure instead.
71636         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
71637
71638 2003-07-18  Bruno Haible  <bruno@clisp.org>
71639
71640         * modules/getndelim2: New file.
71641         * modules/getline: Share files with module getndelim2.
71642         * modules/getnline: Depend on getndelim2 instead of sharing files with
71643         it. Add getnline.c to lib_SOURCES.
71644         * MODULES.html.sh (func_all_modules): Add getndelim2.
71645
71646 2003-07-18  Bruno Haible  <bruno@clisp.org>
71647
71648         * m4/getndelim2.m4: New file.
71649         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
71650         invoke gl_PREREQ_GETNDELIM2.
71651         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
71652         gl_PREREQ_GETNDELIM2.
71653         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
71654         gl_GETNDELIM2.
71655
71656 2003-07-18  Bruno Haible  <bruno@clisp.org>
71657
71658         * lib/getndelim2.h: New file.
71659         * lib/getndelim2.c: Make into a module of its own. Include config.h,
71660         getndelim2.h.
71661         (getndelim2): Make non-static. Change return type to ssize_t.
71662         * lib/getline.h: Change argument names.
71663         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
71664         * lib/getnline.c: Include getndelim2.h.
71665
71666 2003-07-18  Andreas Schwab  <schwab@suse.de>
71667
71668         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
71669
71670 2003-07-17  Karl Berry  <karl@gnu.org>
71671
71672         * config/config.sub: update from prep.
71673
71674 2003-07-17  Bruno Haible  <bruno@clisp.org>
71675
71676         * modules/getnline: New file.
71677         * modules/getline: Add lib/getndelim2.c to source file list.
71678         * MODULES.html.sh (func_all_modules): Add getnline.
71679
71680 2003-07-17  Bruno Haible  <bruno@clisp.org>
71681
71682         * m4/getnline.m4: New file.
71683
71684 2003-07-17  Bruno Haible  <bruno@clisp.org>
71685
71686         * m4/Makefile.am.in: Remove file.
71687         * m4/Makefile.am: Remove file.
71688         * m4/Makefile.in: Remove file.
71689
71690 2003-07-17  Bruno Haible  <bruno@clisp.org>
71691
71692         * lib/getnline.h: New file.
71693         * lib/getnline.c: New file.
71694         * lib/getndelim2.c: New file, extracted from getline.c.
71695         (getndelim2): Renamed from getdelim2, with added nmax argument.
71696         * lib/getline.c: Include getndelim2.c.
71697         (getdelim2): Moved out to getndelim2.c.
71698         (getline, getdelim): Update.
71699
71700 2003-07-17  Bruno Haible  <bruno@clisp.org>
71701
71702         * lib/Makefile.am: Remove file.
71703         * lib/Makefile.in: Remove file.
71704
71705 2003-07-17  Bruno Haible  <bruno@clisp.org>
71706
71707         * configure.in: Remove file.
71708         * Makefile.in: Remove file.
71709
71710 2003-07-17  Bruno Haible  <bruno@clisp.org>
71711
71712         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71713
71714 2003-07-16  Karl Berry  <karl@gnu.org>
71715
71716         * config/srclist-update: was running fixlicense twice, which caused
71717                 texinfo.tex to be nullified for some reason.  Simplify,
71718                 $gplsrc is no longer needed as far as I can see?
71719
71720 2003-07-16  Jim Meyering  <jim@meyering.net>
71721
71722         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71723
71724 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71725
71726         * config/srclist.txt: Get the following files from gettext-runtime/intl
71727         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71728         ref-del.sin.  From Bruno Haible.
71729         * config/srclist-update (fixfile): Change grep pattern again, since the
71730         previous fix didn't work (there was another trailing $).  Use
71731         '[$]' to escape the $s.
71732
71733 2003-07-15  Karl Berry  <karl@gnu.org>
71734
71735         * lib/vasnprintf.c: update from gettext.
71736
71737 2003-07-15  Karl Berry  <karl@gnu.org>
71738
71739         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71740         gets expanded when surrounded by '$'.
71741
71742 2003-07-15  Jim Meyering  <jim@meyering.net>
71743
71744         * modules/save-cwd: Don't depend on error.  From Derek Price.
71745
71746 2003-07-15  Jim Meyering  <jim@meyering.net>
71747
71748         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71749
71750 2003-07-14  Simon Josefsson  <jas@extundo.com>
71751
71752         * modules/mempcpy: New file.
71753         * MODULES.html.sh (func_all_modules): Add mempcpy.
71754
71755 2003-07-14  Simon Josefsson  <jas@extundo.com>
71756
71757         * m4/mempcpy.m4: New file.
71758
71759 2003-07-14  Simon Josefsson  <jas@extundo.com>
71760
71761         * lib/mempcpy.h: New file.
71762         * lib/mempcpy.c: New file.
71763
71764 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71765
71766         * modules/getdate, modules/posixtm: Depend on mktime.
71767
71768 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71769
71770         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71771         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71772         unicodeio.c, unicodeio.h, unlocked-io.h:
71773         Switch from LGPL to GPL.
71774
71775 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71776
71777         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71778         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71779         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71780         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71781         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71782         updated automatically by ../config/srclist-update.  This changes
71783         their license from LPGL to GPL.
71784
71785 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71786
71787         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71788         assumed to refer to the root of the most recent stable gettext version.
71789         * config/srclistvars.sh: Add defaults for eggert.
71790         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71791         Match "This program" as well as "The program".  This is needed
71792         for gettext.
71793
71794 2003-07-14  Jim Meyering  <jim@meyering.net>
71795
71796         Don't emit diagnostics.  Let callers do that.
71797         * lib/save-cwd.c: Don't include "error.h".
71798         (save_cwd): Don't call error.  Ensure that errno is valid
71799         when returning nonzero.
71800
71801         * lib/save-cwd.h (restore_cwd): Update prototype.
71802         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71803         Simplify.  Don't call error upon failure.  Let callers do that.
71804         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71805         when auditing is enabled.  But don't bother updating the #if.
71806
71807 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71808
71809         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71810         it breaks C++ compilation.
71811         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71812
71813 2003-07-10  Simon Josefsson  <jas@extundo.com>
71814
71815         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71816
71817 2003-07-10  Jim Meyering  <jim@meyering.net>
71818
71819         * m4/clock_time.m4: Remove trailing blank.
71820         * m4/intmax_t.m4: Likewise.
71821
71822 2003-07-10  Jim Meyering  <jim@meyering.net>
71823
71824         * lib/vasnprintf.c: Remove trailing blanks.
71825         Make cpp indentation consistent.
71826
71827 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71828
71829         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71830         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71831         Switch from LGPL to GPL.
71832
71833 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71834
71835         * config/srclist.txt: Sort sublists.  Add
71836         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71837         that differ from gnulib for one reason or another; we'd like this list
71838         to be smaller but for now let's document what we have.
71839
71840 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71841
71842         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71843         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71844         and sweeter "eval x=$x".
71845         * config/srclist.txt: Get lib/argp* from glibc.
71846
71847 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71848
71849         * lib/mktime.c: Fix some boundary cases and remove need for floating
71850         point.
71851
71852         Issue a compile-time diagnostic if time_t is floating point, or if
71853         two's complement arithmetic is not in effect, or if arithmetic
71854         right shift does not propagate the sign.  These assumptions were
71855         all in the original code but they weren't checked.
71856
71857         (TIME_T_MIDPOINT, verify): New macros.
71858         (__isleap): Remove; it has integer overflow problems.
71859         (leapyear): New function, without those problems.
71860         (ydhms_tm_diff): Remove; splitting into two parts.
71861         (ydhms_diff): New function, containing the arithmetic part of
71862         the old ydhms_tm_diff function.  Issue a compile-time
71863         diagnostic if we are not using C99 integer division.
71864         Avoid casts when possible.
71865         (guess_time_tm): New function, containing the checking part of
71866         the old ydhms_tm_diff function.  Return the new value, rather than
71867         the difference between it and the old.  Accept a new argument T
71868         so that *T specifies the old value.  Check for overflow in the result.
71869
71870         (__mktime_internal): Use a time_t offset, not a long int offset.
71871         This undoes the 2003-06-04 change, which is no longer needed now
71872         that we have better overflow checking.
71873         (localtime_offset): Likewise.
71874
71875         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71876         and long are 64-bit but int is only 32-bit.
71877         (ydhms_diff): Use long int to store year1 and yday1.
71878         Issue a compile-time diagnostic if long int is not wide enough.
71879
71880         (__mktime_internal): Use long int to store adjusted year and yday.
71881         Use plain C rather than preprocessor commands, if that doesn't
71882         affect efficiency.
71883         Check for overflow (and try to repair) after each probe
71884         rather than checking only at the very end.  This avoids some bugs
71885         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71886         does not equal GMT offset at maximum time).
71887         Use integer to check for overflow rather than floating point; this
71888         is more portable to non-IEEE hosts, and is a tad faster.
71889         When we detect that we are oscillating between two values,
71890         don't check whether tm_isdst has the requested value, since
71891         we already know the answer.  When tm_isdst has the wrong value,
71892         use a different heuristic to find the right one, based on the
71893         extreme values actually observed in practice in tz2003a,
71894         rather than the (overly optimistic) "previous 3 calendar quarters".
71895
71896         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71897         "T const" to accommodate glibc style.
71898         (check_result): Use less-confusing report format.  "long" -> "long int.
71899         (main): Likewise.
71900         Don't loop if the iteration overflows time_t.
71901         Allow a negative step in the iteration.
71902
71903 2003-07-06  Karl Berry  <karl@gnu.org>
71904
71905         * config/depcomp: update from automake.
71906         * config/config.sub: update from prep.
71907
71908 2003-07-03  Karl Berry  <karl@gnu.org>
71909
71910         * config/config.guess: update from prep.
71911
71912 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71913
71914         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71915         xreadlink.c now includes it unconditionally.
71916
71917 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71918
71919         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71920         having it depend on HAVE_SYS_TYPES_H.
71921
71922 2003-07-01  Bruno Haible  <bruno@clisp.org>
71923
71924         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71925         <sys/types.h> should be sufficient.
71926         Reported by Paul Eggert.
71927
71928 2003-06-26  Karl Berry  <karl@gnu.org>
71929
71930         * config/depcomp: update from automake.
71931
71932 2003-06-26  Bruno Haible  <bruno@clisp.org>
71933
71934         * modules/human: Depend on module stdbool.
71935
71936 2003-06-25  Bruno Haible  <bruno@clisp.org>
71937
71938         * modules/readlink: New file.
71939         * modules/xreadlink: Depend on it.
71940         * MODULES.html.sh (func_all_modules): Add readlink.
71941
71942 2003-06-25  Bruno Haible  <bruno@clisp.org>
71943
71944         * m4/readlink.m4: New file.
71945
71946 2003-06-25  Bruno Haible  <bruno@clisp.org>
71947
71948         * lib/readlink.c: New file.
71949
71950 2003-06-22  Karl Berry  <karl@gnu.org>
71951
71952         * config/srclist.txt: update mkinstalldirs from automake.
71953         * config/mkinstalldirs: update.
71954
71955 2003-06-22  Bruno Haible  <bruno@clisp.org>
71956
71957         Portability to mingw32.
71958         * m4/ssize_t.m4: New file, from GNU gettext.
71959         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
71960         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
71961
71962 2003-06-22  Bruno Haible  <bruno@clisp.org>
71963
71964         * modules/safe-read: Add m4/ssize_t.m4.
71965         * modules/xreadlink: Add m4/ssize_t.m4.
71966
71967 2003-06-20  Bruno Haible  <bruno@clisp.org>
71968
71969         Assume C89, so PARAMS isn't needed.
71970         * lib/unicodeio.h (PARAMS): Remove.
71971         * lib/unicodeio.c: Don't use PARAMS.
71972
71973 2003-06-18  Karl Berry  <karl@gnu.org>
71974
71975         * config/config.{guess,sub}: update from prep.
71976
71977 2003-06-18  Jim Meyering  <jim@meyering.net>
71978
71979         Merge changes from coreutils.
71980         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
71981         Remove explicit declarations of xmalloc and realloc.
71982         Include xalloc.h.
71983         (read_utmp): Remove anachronistic cast of xmalloc.
71984
71985 2003-06-17  Paul Eggert  <eggert@twinsun.com>
71986
71987         Assume C89, so PARAMS isn't needed.
71988         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
71989         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
71990         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
71991         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
71992         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
71993         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
71994         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
71995         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
71996         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
71997         lib/xstrtod.h, lib/xstrtol.h: Likewise.
71998         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
71999         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
72000         no longer needed. Anyway, config.h should always be included before any
72001         other file.
72002
72003 2003-06-11  Simon Josefsson  <jas@extundo.com>
72004
72005         * modules/sysexits: New file.
72006         * MODULES.html.sh (func_all_modules): Add sysexits.
72007
72008 2003-06-11  Simon Josefsson  <jas@extundo.com>
72009
72010         * lib/sysexit_.h: New file.
72011
72012 2003-06-11  Derek Price  <derek@ximbiot.com>
72013
72014         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
72015         necessary.
72016
72017 2003-06-11  Bruno Haible  <bruno@clisp.org>
72018
72019         * m4/sysexits.m4: New file.
72020
72021 2003-06-10  Simon Josefsson  <jas@extundo.com>
72022
72023         * lib/argp.h: New file, from glibc.
72024         * lib/argp-ba.c: New file, from glibc.
72025         * lib/argp-eexst.c: New file, from glibc.
72026         * lib/argp-fmtstream.c: New file, from glibc.
72027         * lib/argp-fmtstream.h: New file, from glibc.
72028         * lib/argp-fs-xinl.c: New file, from glibc.
72029         * lib/argp-help.c: New file, from glibc.
72030         * lib/argp-namefrob.h: New file, from glibc.
72031         * lib/argp-parse.c: New file, from glibc.
72032         * lib/argp-pv.c: New file, from glibc.
72033         * lib/argp-pvh.c: New file, from glibc.
72034         * lib/argp-xinl.c: New file, from glibc.
72035
72036 2003-06-10  Simon Josefsson  <jas@extundo.com>
72037
72038         * modules/strchrnul: New file.
72039
72040 2003-06-10  Simon Josefsson  <jas@extundo.com>
72041
72042         * modules/argp: New file.
72043
72044 2003-06-10  Simon Josefsson  <jas@extundo.com>
72045
72046         * m4/strchrnul.m4: New file.
72047
72048 2003-06-10  Simon Josefsson  <jas@extundo.com>
72049
72050         * lib/strchrnul.h: New file.
72051         * lib/strchrnul.c: New file.
72052
72053 2003-06-10  Bruno Haible  <bruno@clisp.org>
72054
72055         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
72056
72057 2003-06-07  Karl Berry  <karl@gnu.org>
72058
72059         * config/config.{guess,sub}: update from prep.
72060
72061 2003-06-07  Jim Meyering  <jim@meyering.net>
72062
72063         * modules/strtod: Use $(...) notation, not @...@ for
72064         AC_REPLACE'd variables.
72065         * modules/localcharset: Likewise.
72066
72067 2003-06-07  Jim Meyering  <jim@meyering.net>
72068
72069         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
72070         in place of my name in the copyright comment.
72071         Remove definition and uses of __P.
72072
72073         From coreutils.
72074         * lib/stat.c: Don't declare xmalloc explicitly.
72075         Instead, include "xalloc.h".
72076         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
72077         xrealloc, and xcalloc return values.
72078         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
72079         Improve comment.
72080         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
72081
72082 2003-06-07  Bruno Haible  <bruno@clisp.org>
72083
72084         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
72085         avoid AC_CONFIG_LINKS.
72086         * modules/fnmatch (Makefile.am): Use explicit creation rule for
72087         fnmatch.h, to avoid AC_CONFIG_LINKS.
72088         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
72089
72090 2003-06-07  Bruno Haible  <bruno@clisp.org>
72091
72092         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
72093         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
72094         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72095         directory.
72096         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
72097         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72098         directory.
72099
72100 2003-06-06  Jim Meyering  <jim@meyering.net>
72101
72102         Merge from coreutils.
72103         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
72104         Consolidate declarations and initializations of *_base* locals.
72105
72106         Merge from coreutils.
72107         This avoids a core dump on systems without GNU putenv,
72108         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
72109         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
72110         (unsetenv): New static function, from GNU libc.
72111         (rpl_putenv): Use it.
72112
72113         * lib/modechange.c: Remove trailing blanks.
72114
72115         Merge from coreutils.
72116         * lib/fsusage.c: Remove declaration of statfs.
72117         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
72118
72119         * lib/posixtm.c: Include <stdbool.h> unconditionally.
72120
72121 2003-06-06  Jim Meyering  <jim@meyering.net>
72122
72123         * lib/stdbool_.h: Renamed from stdbool.h.in.
72124
72125 2003-06-06  Jim Meyering  <jim@meyering.net>
72126             Bruno Haible  <bruno@clisp.org>
72127
72128         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
72129         Adjust Makefile.am snippet not to redirect directly to target.
72130         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
72131
72132 2003-06-05  Paul Eggert  <eggert@twinsun.com>
72133
72134         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
72135         mismatch, look in future quarters as well as past.  This fixes a
72136         bug when processing fall-backwards gaps immediately after a long
72137         period of daylight-saving time.
72138
72139         * lib/mktime.c: Assume freestanding C89 or better.
72140         (HAVE_LIMITS_H): Remove.  Assume it's 1.
72141         (__P): Remove; not used.
72142         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
72143         (mktime, not_equal_tm, print_tm, check_result,
72144         main): Use prototypes.  Use const * where appropriate.
72145         (main): Fix typo in testing code that uncovered by above changes.
72146         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
72147
72148 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72149
72150         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
72151         locale.h, localeconv.  This merges changes from coreutils.
72152
72153         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
72154         It can be removed after the next Autoconf is released.
72155         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
72156         needed.
72157
72158 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72159
72160         * lib/mktime.c: Fix Debian bug 177940
72161         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
72162         (localtime_offset): Now long int, not time_t, because we want it
72163         to be guaranteed to be signed.  All uses changed.
72164         (__mktime_internal): If overflow would occur when adding offset,
72165         don't add it.
72166
72167         Merge 'human' changes from coreutils.  Rewrite to support
72168         locale-specific notations like thousands separators.
72169         * lib/human.c: Simplify authorship notice.
72170         Include human.h immediately after config.h.
72171         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
72172         <limits.h>: Do not include, since human.h does.
72173         (SIZE_MAX, UINTMAX_MAX): New macros.
72174         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
72175         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
72176         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
72177         (power_letter): Renamed from suffixes.
72178         (generate_suffix_backwards): Remove.
72179         (adjust_value): Now takes int style (because of human.h changes)
72180         and long double value (for greater precision on some platforms).
72181         (group_number): New function.
72182         (human_readable): Use it.  Use integer options, not enum.
72183         Put the options before the sizes in the arg list.
72184         Support all the new options.
72185         The old human_readable function has been removed;
72186         use inttostr.h instead.
72187         (human_readable, default_block_size, humblock):
72188         Use uintmax_t, not int, for block sizes.
72189         (human_readable_inexact, block_size_types): Remove.
72190         (block_size_opts): New constant.
72191         (human_options): Renamed from human_block_size, with new signature
72192         that allows block sizes up to UINTMAX_MAX.  All callers changed.
72193         * lib/human.h: Add copyright and authorship notice.
72194         Include <limits.h> and <stdbool.h> unconditionally.
72195         (PARAMS): Remove.  All uses removed.
72196         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
72197         (enum human_inexact_style): Remove tag; now a nameless enum.
72198         (human_floor, human_ceiling, human_round_to_even): Now have
72199         values 2, 0, 1 rather than -1, 1, 0.
72200         (human_group_digits, human_suppress_point_zero, human_autoscale,
72201         human_base_1024, human_SI, human_B): New constants.
72202         (human_readable_inexact, human_block_size): Remove.
72203         (human_readable): Size args are now uintmax_t, not int.
72204         (human_options): New decl.
72205
72206         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
72207         unnecessary now that we assume C89 or better.  This change
72208         imported from coreutils.
72209
72210         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72211         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
72212         in the 2003-05-30 sync from glibc.
72213
72214         .h files should stand alone, but we shouldn't include <sys/types.h>
72215         if we can get away with just <stddef.h>.
72216
72217         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
72218         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
72219         rather than <sys/types.h>, as we merely need size_t.
72220         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
72221         to get size_t.
72222         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
72223         Include <stdio.h>, to get FILE.
72224         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
72225         memcasecmp.h has included <stddef.h> and all we need is size_t.
72226         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
72227         our interface, instead of including <sys/types.h>
72228
72229 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72230
72231         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
72232         now, as glibc mktime is buggy on non-glibc systems.
72233
72234 2003-06-03  Karl Berry  <karl@gnu.org>
72235
72236         * config/config.sub: update from prep.
72237
72238 2003-06-02  Paul Eggert  <eggert@twinsun.com>
72239
72240         [from coreutils]
72241         Fix some minor time-related bugs with POSIX time arguments.
72242         Some valid time stamps were being rejected (notably -1, and
72243         time stamps before 1900 on 64-bit hosts).  And some invalid
72244         time stamps were being accepted, e.g. September 31.
72245
72246         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
72247         that we can return (time_t) -1 successfully.
72248         * lib/posixtm.c: Likewise.
72249         [HAVE_STDBOOL_H]: Include <stdbool.h>.
72250         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
72251         (t): Remove static var.
72252         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
72253         of static var.  All uses changed.
72254         (year): Do not reject years before 1900; they can occur with
72255         64-bit time_t.
72256         (posix_time_parse): Do not check for out-of-range components;
72257         that is now the caller's responsibility, since our checks were
72258         only approximations.
72259         (posixtime): Use mktime to check for out-of-range components,
72260         since it knows them exactly.
72261         If mktime returns (time_t) -1, check whether an error actually occurred
72262         by invoking localtime on -1.
72263         (main) [TEST_POSIXTIME]: Check for input data errors, and report
72264         posixtime failures better.
72265         Improve the test data (in comments only).
72266
72267 2003-06-02  Karl Berry  <karl@gnu.org>
72268
72269         * config/mkinstalldirs (version): new variable.
72270         (--version): new option.
72271         (usage): improve message.
72272
72273 2003-05-30  Karl Berry  <karl@gnu.org>
72274
72275         * lib/mktime.c: update from libc.
72276
72277 2003-05-30  Bruno Haible  <bruno@clisp.org>
72278
72279         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
72280         * config/config.rpath: Upgrade to gettext-0.12.1.
72281
72282 2003-05-30  Bruno Haible  <bruno@clisp.org>
72283
72284         * m4/gettext.m4: Upgrade to gettext-0.12.1.
72285         * m4/nls.m4: New file, from gettext-0.12.1.
72286         * m4/po.m4: New file, from gettext-0.12.1.
72287         * m4/progtest.m4: Upgrade to gettext-0.12.1.
72288
72289 2003-05-30  Bruno Haible  <bruno@clisp.org>
72290
72291         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
72292         * lib/localcharset.h: Likewise.
72293         * lib/localcharset.c: Likewise.
72294
72295 2003-05-29  Karl Berry  <karl@gnu.org>
72296
72297         * config/config.rpath: update from gettext.
72298
72299 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72300
72301         Assume the headers required for C89 freestanding compilers.
72302         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
72303         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
72304         * m4/human.m4 (gl_HUMAN): Likewise.
72305         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
72306         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
72307         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72308         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
72309         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72310         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
72311
72312 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72313
72314         Assume the headers required for C89 freestanding compilers.
72315         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
72316         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
72317         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
72318         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
72319         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
72320         define, since <limits.h> is guaranteed to do that.
72321         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
72322         * lib/exclude.c: Include <stdbool.h> unconditionally.
72323         * lib/tempname.c: Include <stddef.h> unconditionally.
72324         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
72325         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
72326         <stddef.h> does that.
72327         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
72328         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
72329         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
72330         needed.
72331         * lib/xstrtol.c: Likewise.
72332         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
72333         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
72334
72335         * lib/addext.c (addext): Use assignment rather than cast, to avoid
72336         warnings on some platforms.
72337
72338         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72339         arbitrarily.
72340
72341 2003-05-26  Jim Meyering  <jim@meyering.net>
72342
72343         Merge in a change from coreutils:
72344         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
72345         that is guaranteed to be `no'.  Use `no_such_member' to indicate
72346         that condition, rather than `-1' which is slightly misleading.
72347         Change the name of the cache variable to have the gl_ prefix.
72348         Prompted by a patch from Richard Dawe for DJGPP.
72349
72350 2003-05-24  Karl Berry  <karl@gnu.org>
72351
72352         * config/config.guess: update from prep.
72353
72354 2003-05-22  Karl Berry  <karl@gnu.org>
72355
72356         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
72357
72358 2003-05-20  Karl Berry  <karl@gnu.org>
72359
72360         * config/config.guess: update from prep.
72361
72362 2003-05-18  Karl Berry  <karl@gnu.org>
72363
72364         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
72365         might actually be set by the user.
72366
72367         * config/depcomp, install-sh, mdate-sh: update from automake.
72368
72369 2003-05-17  Bruno Haible  <bruno@clisp.org>
72370
72371         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
72372         invalid expansion for AC_EGREP_CPP.
72373         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
72374         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
72375         Suggested by Akim Demaille <akim@epita.fr> in
72376         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
72377
72378 2003-05-12  Jim Meyering  <jim@meyering.net>
72379
72380         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
72381         the space-padded-by-default conversion specifiers, %e, %k, %l.
72382
72383 2003-05-12  Bruno Haible  <bruno@clisp.org>
72384
72385         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
72386         the string is longer than 4 KB.
72387
72388 2003-05-11  Karl Berry  <karl@gnu.org>
72389
72390         * config/config.{guess,sub}: update from prep.
72391
72392 2003-05-09  Bruno Haible  <bruno@clisp.org>
72393
72394         * modules/error: Add m4/strerror_r.m4 to file list.
72395
72396 2003-05-03  Bruno Haible  <bruno@clisp.org>
72397
72398         Upgrade to Unicode-4.0.
72399         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
72400         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
72401         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
72402         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
72403         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
72404         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
72405         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
72406         Change width of U+E0100..U+E01EF from 1 to 0.
72407
72408 2003-04-25  Jim Meyering  <jim@meyering.net>
72409
72410         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
72411         of type size_t, not int.
72412
72413 2003-04-25  Bruno Haible  <bruno@clisp.org>
72414
72415         * lib/copy-file.c: Include <stddef.h>, for size_t.
72416
72417 2003-04-21  Paul Eggert  <eggert@twinsun.com>
72418
72419         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
72420         code which expansion is under static control.  Patch imported from
72421         Akim Demaille's patch to Bison; see
72422         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
72423
72424 2003-04-14  Bruno Haible  <bruno@clisp.org>
72425
72426         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
72427
72428 2003-04-11  Jim Meyering  <jim@meyering.net>
72429
72430         Merge changes from Coreutils.
72431
72432         2003-03-22  Jim Meyering  <jim@meyering.net>
72433
72434         * lib/strftime.c (widen): Cast alloca return value to proper type.
72435
72436         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
72437
72438         From GNU libc.
72439         * lib/strftime.c (my_strftime): Handle very large width
72440         specifications for numeric values correctly.  Improve checks for
72441         overflow.
72442
72443         2003-01-19  Jim Meyering  <jim@meyering.net>
72444
72445         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
72446         definitions.
72447         (nl_get_alt_digit) [! defined my_strftime]: Define.
72448         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
72449         _nl_get_alt_digit and _nl_get_walt_digit.
72450
72451         * lib/strftime.c (my_strftime): Merge in locale-related changes from
72452         libc. These changes have no effect outside of _LIBC.
72453
72454 2003-04-10  Bruno Haible  <bruno@clisp.org>
72455
72456         * modules/findprog: New file.
72457         * MODULES.html.sh (func_all_modules): Add it.
72458
72459 2003-04-10  Bruno Haible  <bruno@clisp.org>
72460
72461         * m4/findprog.m4: New file.
72462         * m4/eaccess.m4: New file.
72463
72464 2003-04-10  Bruno Haible  <bruno@clisp.org>
72465
72466         * lib/findprog.h: New file, from GNU gettext.
72467         * lib/findprog.c: New file, from GNU gettext.
72468
72469 2003-04-05  Jim Meyering  <jim@meyering.net>
72470
72471         Merge changes from Coreutils.
72472
72473         * lib/exclude.h (PARAMS): Remove definition and uses.
72474         * lib/exclude.c: Remove uses of `PARAMS'.
72475
72476         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
72477         Add test-cases for DOS filenames. Declare program_name.
72478         (main): Set up program_name.  Patch by Rich Dawe.
72479
72480         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72481         error from mntctl.
72482         Use mntctl's return value to drive the entry-processing loop, since
72483         we can't rely on the value of the vmt_length member in the last
72484         entry.  On some systems doing so could result in exhausting
72485         virtual memory.  Based in part on a patch from Mike Jetzer.
72486
72487 2003-04-04  Bruno Haible  <bruno@clisp.org>
72488
72489         * modules/linebreak: New file.
72490         * MODULES.html.sh (func_all_modules): Add it.
72491
72492 2003-04-04  Bruno Haible  <bruno@clisp.org>
72493
72494         * m4/linebreak.m4: New file.
72495
72496 2003-04-04  Bruno Haible  <bruno@clisp.org>
72497
72498         * lib/linebreak.h: New file, from GNU gettext.
72499         * lib/linebreak.c: New file, from GNU gettext with slight
72500         modifications.
72501         * lib/lbrkprop.h: New file, from GNU gettext.
72502
72503 2003-04-03  Bruno Haible  <bruno@clisp.org>
72504
72505         * modules/utf8-ucs4: New file.
72506         * modules/utf16-ucs4: New file.
72507         * modules/ucs4-utf8: New file.
72508         * modules/ucs4-utf16: New file.
72509         * MODULES.html.sh (func_all_modules): Add them.
72510
72511 2003-04-03  Bruno Haible  <bruno@clisp.org>
72512
72513         * m4/utf-ucs4.m4: New file.
72514         * m4/ucs4-utf.m4: New file.
72515
72516 2003-04-03  Bruno Haible  <bruno@clisp.org>
72517
72518         * lib/utf8-ucs4.h: New file, from GNU gettext.
72519         * lib/utf16-ucs4.h: New file, from GNU gettext.
72520         * lib/ucs4-utf8.h: New file, from GNU gettext.
72521         * lib/ucs4-utf16.h: New file, from GNU gettext.
72522
72523 2003-04-02  Bruno Haible  <bruno@clisp.org>
72524
72525         * modules/binary-io: New file.
72526         * MODULES.html.sh (func_all_modules): Add it.
72527
72528 2003-04-02  Bruno Haible  <bruno@clisp.org>
72529
72530         * lib/binary-io.h: New file, from GNU gettext.
72531
72532 2003-04-01  Bruno Haible  <bruno@clisp.org>
72533
72534         * modules/pathname: New file.
72535         * MODULES.html.sh (func_all_modules): Add it.
72536
72537 2003-04-01  Bruno Haible  <bruno@clisp.org>
72538
72539         * lib/pathname.h: New file, from GNU gettext.
72540         * lib/concatpath.c: New file, from GNU gettext.
72541
72542 2003-03-30  Bruno Haible  <bruno@clisp.org>
72543
72544         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
72545
72546 2003-03-30  Bruno Haible  <bruno@clisp.org>
72547
72548         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
72549         function chown() doesn't exist.
72550
72551 2003-03-28  Bruno Haible  <bruno@clisp.org>
72552
72553         * modules/copy-file: New file.
72554         * MODULES.html.sh (func_all_modules): Add it.
72555
72556 2003-03-28  Bruno Haible  <bruno@clisp.org>
72557
72558         * m4/copy-file.m4: New file.
72559
72560 2003-03-28  Bruno Haible  <bruno@clisp.org>
72561
72562         * lib/copy-file.h: New file, from GNU gettext.
72563         * lib/copy-file.c: New file, from GNU gettext.
72564
72565 2003-03-18  Jim Meyering  <jim@meyering.net>
72566
72567         * lib/quote.c (quote_n): Fix typo in comment.
72568
72569 2003-03-18  Bruno Haible  <bruno@clisp.org>
72570
72571         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
72572         checking.
72573         * m4/onceonly_2_57.m4: Likewise.
72574
72575 2003-03-17  Bruno Haible  <bruno@clisp.org>
72576
72577         * m4/onceonly.m4: Require autoconf 2.54 or newer.
72578         (m4_quote): Remove macro.
72579         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
72580
72581 2003-03-14  Jim Meyering  <jim@meyering.net>
72582
72583         Merge changes from Coreutils.
72584         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
72585         to be const, in order to avoid warnings.
72586         (obstack_room): Likewise.
72587         (obstack_empty_p): Likewise.
72588
72589 2003-03-14  Bruno Haible  <bruno@clisp.org>
72590
72591         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
72592         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
72593
72594 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72595
72596         Merge changes from Bison.
72597         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
72598         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
72599         when compiling Bison 1.875's `bitset bset = obstack_alloc
72600         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
72601         * lib/hash.c: Include <stdbool.h> unconditionally.
72602
72603 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72604
72605         * m4/onceonly.m4 (m4_quote): New macro.
72606         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
72607         Quote AC_FOREACH variable-expansions properly.
72608
72609 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72610
72611         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
72612
72613 2003-03-09  Paul Eggert  <eggert@twinsun.com>
72614
72615         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
72616         Reported by Bruce Becker; see:
72617         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
72618
72619 2003-03-03  Paul Eggert  <eggert@twinsun.com>
72620             Bruno Haible  <bruno@clisp.org>
72621
72622         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
72623         Reported by John Hughes, see
72624         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
72625
72626 2003-02-20  Bruno Haible  <bruno@clisp.org>
72627
72628         * MODULES.html.sh (func_all_modules): Add poll.
72629
72630 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72631
72632         * modules/poll: New file.
72633
72634 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72635
72636         * lib/poll_.h: New file.
72637         * lib/poll.c: New file.
72638
72639 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72640
72641         * m4/poll.m4: New file.
72642
72643 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72644
72645         * modules/mathl: New file.
72646
72647 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72648
72649         * lib/mathl.h: New file.
72650         * lib/acosl.c: New file.
72651         * lib/asinl.c: New file.
72652         * lib/atanl.c: New file.
72653         * lib/ceill.c: New file.
72654         * lib/cosl.c: New file.
72655         * lib/expl.c: New file.
72656         * lib/floorl.c: New file.
72657         * lib/frexpl.c: New file.
72658         * lib/ldexpl.c: New file.
72659         * lib/logl.c: New file.
72660         * lib/sincosl.c: New file.
72661         * lib/sinl.c: New file.
72662         * lib/sqrtl.c: New file.
72663         * lib/tanl.c: New file.
72664         * lib/trigl.c: New file.
72665         * lib/trigl.h: New file.
72666
72667 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72668
72669         * m4/mathl.m4: New file.
72670
72671 2003-02-18  Bruno Haible  <bruno@clisp.org>
72672
72673         * MODULES.html.sh (func_all_modules): Add mathl.
72674
72675 2003-02-17  Bruno Haible  <bruno@clisp.org>
72676
72677         * modules/mkdtemp: New module.
72678         * MODULES.html.sh (func_all_modules): Add it.
72679
72680 2003-02-17  Bruno Haible  <bruno@clisp.org>
72681
72682         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
72683
72684 2003-02-17  Bruno Haible  <bruno@clisp.org>
72685
72686         * lib/mkdtemp.h: New file, from GNU gettext.
72687         * lib/mkdtemp.c: New file, from GNU gettext.
72688
72689 2003-02-02  Jim Meyering  <jim@meyering.net>
72690
72691         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72692         e.g. glibc-2.2.93.
72693
72694 2003-01-31  Bruno Haible  <bruno@clisp.org>
72695
72696         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72697         'rpl_rename'.
72698         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72699         'rpl_strnlen'.
72700         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72701         'rpl_strtod'.
72702         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72703         'rpl_utime'.
72704
72705 2003-01-31  Bruno Haible  <bruno@clisp.org>
72706
72707         * lib/rename.c: #undef rename before defining rpl_rename.
72708         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72709
72710 2003-01-30  Bruno Haible  <bruno@clisp.org>
72711
72712         * modules/vasnprintf, modules/vasprintf: New modules.
72713         * MODULES.html.sh (func_all_modules): Add them.
72714
72715 2003-01-30  Bruno Haible  <bruno@clisp.org>
72716
72717         * m4/signed.m4: New file, from GNU gettext.
72718         * m4/longdouble.m4: New file, from GNU gettext.
72719         * m4/wchar_t.m4: New file, from GNU gettext.
72720         * m4/wint_t.m4: New file, from GNU gettext.
72721         * m4/vasnprintf.m4: New file.
72722         * m4/vasprintf.m4: New file.
72723
72724 2003-01-30  Bruno Haible  <bruno@clisp.org>
72725
72726         * lib/printf-args.h: New file, from GNU gettext.
72727         * lib/printf-args.c: New file, from GNU gettext.
72728         * lib/printf-parse.h: New file, from GNU gettext.
72729         * lib/printf-parse.c: New file, from GNU gettext.
72730         * lib/vasnprintf.h: New file, from GNU gettext.
72731         * lib/vasnprintf.c: New file, from GNU gettext.
72732         * lib/asnprintf.c: New file, from GNU gettext.
72733         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72734         * lib/vasprintf.c: New file, from GNU gettext.
72735         * lib/asprintf.c: New file, from GNU gettext.
72736
72737 2003-01-29  Bruno Haible  <bruno@clisp.org>
72738
72739         * modules/stpncpy: New module.
72740         * MODULES.html.sh (func_all_modules): Add it.
72741
72742 2003-01-29  Bruno Haible  <bruno@clisp.org>
72743
72744         * m4/stpncpy.m4: New file.
72745
72746 2003-01-29  Bruno Haible  <bruno@clisp.org>
72747
72748         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72749         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72750
72751 2003-01-28  Bruno Haible  <bruno@clisp.org>
72752
72753         * modules/c-ctype: New module.
72754         * MODULES.html.sh (func_all_modules): Add it.
72755
72756 2003-01-28  Bruno Haible  <bruno@clisp.org>
72757
72758         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72759         Paul Eggert.
72760         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72761         Paul Eggert.
72762
72763 2003-01-27  Bruno Haible  <bruno@clisp.org>
72764
72765         * modules/xsetenv: New module.
72766         * MODULES.html.sh (func_all_modules): Add it.
72767
72768 2003-01-27  Bruno Haible  <bruno@clisp.org>
72769
72770         * lib/xsetenv.h: New file, from GNU gettext.
72771         * lib/xsetenv.c: New file, from GNU gettext.
72772
72773 2003-01-23  Jim Meyering  <jim@meyering.net>
72774
72775         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72776         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72777
72778 2003-01-23  Bruno Haible  <bruno@clisp.org>
72779
72780         * modules/minmax: New module.
72781         * MODULES.html.sh (func_all_modules): Add it.
72782
72783 2003-01-23  Bruno Haible  <bruno@clisp.org>
72784
72785         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72786         Eggert.
72787
72788 2003-01-22  Bruno Haible  <bruno@clisp.org>
72789
72790         * modules/exit: New module.
72791         * MODULES.html.sh (func_all_modules): Add it.
72792
72793 2003-01-22  Bruno Haible  <bruno@clisp.org>
72794
72795         * lib/exit.h: New file, from GNU gettext.
72796
72797 2003-01-19  Bruno Haible  <bruno@clisp.org>
72798
72799         * gnulib-tool: Recognize option --extract-maintainer.
72800         (func_get_maintainer): New function.
72801         * modules/*: Add Maintainer entry.
72802
72803 2003-01-16  Jim Meyering  <jim@meyering.net>
72804
72805         * m4/regex.m4: The `regex' struct is both input and output.
72806         Initialize it before each use.  Patch by Tim Waugh.
72807
72808 2003-01-16  Bruno Haible  <bruno@clisp.org>
72809
72810         * MODULES.html.sh: Add a table of contents. Add the module name as
72811         leftmost column. Add hyperlinks.
72812
72813 2003-01-15  Bruno Haible  <bruno@clisp.org>
72814
72815         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72816
72817 2003-01-15  Bruno Haible  <bruno@clisp.org>
72818
72819         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72820         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72821         suffix.
72822
72823 2003-01-15  Bruno Haible  <bruno@clisp.org>
72824
72825         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72826
72827 2003-01-15  Bruno Haible  <bruno@clisp.org>
72828
72829         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72830         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72831
72832 2003-01-14  Jim Meyering  <jim@meyering.net>
72833
72834         * lib/same.c (same_name): Tweak a comment.
72835
72836 2003-01-14  Bruno Haible  <bruno@clisp.org>
72837
72838         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72839         when a string comparison is sufficient.
72840
72841 2003-01-14  Bruno Haible  <bruno@clisp.org>
72842
72843         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72844         'unsigned int'.
72845
72846 2003-01-14  Bruno Haible  <bruno@clisp.org>
72847
72848         * lib/hash-pjw.c: Add comment about low quality of this function.
72849
72850 2003-01-13  Bruno Haible  <bruno@clisp.org>
72851
72852         * modules/stpcpy: Distribute lib/stpcpy.h.
72853         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72854
72855 2003-01-13  Bruno Haible  <bruno@clisp.org>
72856
72857         * modules/*: Add a description.
72858         * modules/strpbrk: Fix Makefile.am snippet.
72859         * modules/strtoimax: Fix dependencies.
72860         * modules/strtoumax: Likewise.
72861
72862 2003-01-13  Bruno Haible  <bruno@clisp.org>
72863
72864         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72865         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72866         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72867
72868 2003-01-13  Bruno Haible  <bruno@clisp.org>
72869
72870         * gnulib-tool (func_create_testdir): Store config/* files in the main
72871         directory.
72872         * config.rpath: Move to ...
72873         * config/config.rpath: ... here.
72874         * modules/gettext: Contains config/config.rpath, not config.rpath.
72875         * modules/iconv: Likewise.
72876
72877 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72878
72879         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72880         to avoid collisions with libcurses and libreadline.
72881
72882         * m4/getstr.m4: Remove.
72883         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72884
72885 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72886
72887         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72888         to avoid collisions with libcurses and libreadline.
72889
72890         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72891         * lib/getstr.h, getstr.c: Remove.
72892         * lib/getline.c: Include "getline.h", to check interface.
72893         Move body of old getstr.c here: this defines MIN_CHUNK and
72894         declares getdelim2, which is renamed from getstr.
72895         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72896
72897         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72898         All uses changed.
72899         * lib/linebuffer.h: Likewise.
72900         (readline): Remove backward-compatibility macro.
72901
72902 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72903
72904         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72905         to avoid collisions with libcurses and libreadline.
72906         * getstr: Remove.
72907         * MODULES.html.sh: Remove getstr.
72908         * modules/getline: Depend on unlocked-io, not getstr.
72909
72910 2003-01-12  Jim Meyering  <jim@meyering.net>
72911
72912         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72913
72914 2003-01-10  Bruno Haible  <bruno@clisp.org>
72915
72916         * modules/alloca: Change Makefile.am requirements. Simplify Include
72917         requirements. Add lib/alloca_.h to file list.
72918
72919 2003-01-10  Bruno Haible  <bruno@clisp.org>
72920
72921         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72922
72923 2003-01-10  Bruno Haible  <bruno@clisp.org>
72924
72925         * lib/alloca_.h: New file.
72926         * lib/getdate.y: Unconditionally include alloca.h.
72927         * lib/makepath.c: Likewise.
72928         * lib/setenv.c: Likewise.
72929         * lib/userspec.c: Likewise.
72930
72931 2003-01-09  Karl Berry  <karl@gnu.org>
72932
72933         * MODULES.html.sh: include `dirname $0` in PATH, to find
72934         gnulib-tool.
72935
72936 2003-01-09  Bruno Haible  <bruno@clisp.org>
72937
72938         * modules/stdbool: Change configure.ac, Makefile.am requirements.
72939         Simplify Include requirements. Add lib/stdbool.h.in to file list.
72940
72941 2003-01-09  Bruno Haible  <bruno@clisp.org>
72942
72943         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
72944
72945 2003-01-09  Bruno Haible  <bruno@clisp.org>
72946
72947         * lib/stdbool.h.in: New file.
72948
72949 2003-01-09  Bruno Haible  <bruno@clisp.org>
72950
72951         * gnulib-tool (func_all_modules): Ignore files ending in ~.
72952         * MODULES.html.sh: Likewise.
72953
72954 2003-01-08  Jim Meyering  <jim@meyering.net>
72955
72956         * lib/full-write.c: Undefine and define-away `const' after inclusion
72957         of errno.h, not before.  Suggestion from Bruno Haible.
72958
72959 2003-01-08  Bruno Haible  <bruno@clisp.org>
72960
72961         * modules/full-read: Depend on full-write.
72962
72963 2003-01-08  Bruno Haible  <bruno@clisp.org>
72964
72965         * lib/safe-read.c: Include specification header first, to ensure its
72966         selfcontainedness.
72967         * lib/full-write.c: Likewise.
72968
72969 2003-01-07  Jim Meyering  <jim@meyering.net>
72970
72971         * lib/full-write.c: Rework so that it may serve to define full_read,
72972         too.
72973         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
72974
72975 2003-01-07  Bruno Haible  <bruno@clisp.org>
72976
72977         * lib/strtoimax.c: Include <stdint.h> as an alternative to
72978         <inttypes.h>.
72979         * lib/xstrtol.h: Likewise.
72980         * lib/xstrtoimax.c: Likewise.
72981         * lib/xstrtoumax.c: Likewise.
72982         * lib/human.h: Likewise.
72983
72984         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
72985         on systems that have <inttypes.h> but not <stdint.h>.
72986
72987 2003-01-07  Bruno Haible  <bruno@clisp.org>
72988
72989         * MODULES.html.sh: Add copyright notice.
72990         (missed_files): Omit CVS directory entries.
72991         (func_module): Make it work with sed-3.02.
72992         * MODULES.txt: Remove file.
72993
72994 2003-01-06  Jim Meyering  <jim@meyering.net>
72995
72996         * lib/version-etc.c: Update year in translatable copyright string.
72997
72998 2003-01-03  Karl Berry  <karl@gnu.org>
72999
73000         * config/config.{guess,sub}: update from prep.
73001
73002 2003-01-02  Karl Berry  <karl@gnu.org>
73003
73004         * doc/COPYING.DOC: belatedly updated to 1.2.
73005
73006 2003-01-01  Karl Berry  <karl@gnu.org>
73007
73008         * gnulib-tool (func_verify_module): report module name $module in
73009         error message, not $1.
73010         * gnulib-tool (create-testdir): don't complain if destdir couldn't
73011         be created, only if it doesn't exist.
73012         * gnulib-tool (last_checkin_date): don't expand the $Date here.
73013
73014 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73015
73016         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
73017
73018 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73019
73020         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
73021         memcmp if strcoll doesn't work.
73022
73023 2002-12-31  Bruno Haible  <bruno@clisp.org>
73024
73025         * lib/utime.c (utime_null): No need to call ftruncate if the file was
73026         nonempty.
73027
73028 2002-12-31  Bruno Haible  <bruno@clisp.org>
73029
73030         * lib/memcoll.c (STRCOLL): New macro.
73031         (memcoll): Use it.
73032
73033 2002-12-31  Bruno Haible  <bruno@clisp.org>
73034
73035         * lib/localcharset.h: New file.
73036         * lib/localcharset.c: Include it.
73037         * lib/unicodeio.c: Likewise.
73038
73039 2002-12-31  Bruno Haible  <bruno@clisp.org>
73040
73041         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
73042         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
73043
73044 2002-12-31  Bruno Haible  <bruno@clisp.org>
73045
73046         * lib/getline.h: Include <stddef.h>, for size_t.
73047
73048         * lib/unicodeio.h: Include <stddef.h>, for size_t.
73049         * lib/unicodeio.c: Don't include <stddef.h>.
73050
73051 2002-12-31  Bruno Haible  <bruno@clisp.org>
73052
73053         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
73054         HAVE_TM_ZONE.
73055
73056 2002-12-24  Karl Berry  <karl@gnu.org>
73057
73058         * config/config.guess: update from prep.
73059
73060 2002-12-24  Bruno Haible  <bruno@clisp.org>
73061
73062         General infrasructure.
73063         * m4/README: Rewritten.
73064         * m4/onceonly.m4: New file.
73065         * m4/onceonly_2_57.m4: New file.
73066
73067         Module atexit.
73068         * m4/atexit.m4: New file.
73069
73070         Module strtod.
73071         * m4/strtod.m4: New file.
73072
73073         Module strtol.
73074         * m4/strtol.m4: New file.
73075
73076         Module strtoul.
73077         * m4/strtoul.m4: New file.
73078
73079         Module memchr.
73080         * m4/memchr.m4: New file.
73081
73082         Module memcmp.
73083         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
73084         (jm_FUNC_MEMCMP): Invoke it.
73085
73086         Module memcpy.
73087         * m4/memcpy.m4: New file.
73088
73089         Module memmove.
73090         * m4/memmove.m4: New file.
73091
73092         Module memset.
73093         * m4/memset.m4: New file.
73094
73095         Module strcspn.
73096         * m4/strcspn.m4: New file.
73097
73098         Module strpbrk.
73099         * m4/strpbrk.m4: New file.
73100
73101         Module strstr.
73102         * m4/strstr.m4: New file.
73103
73104         Module strerror.
73105         * m4/strerror.m4: New file.
73106
73107         Module mktime.
73108         * m4/mktime.m4: Renamed from jm-mktime.m4.
73109         (gl_PREREQ_MKTIME): New macro.
73110         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
73111
73112         Module malloc.
73113         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
73114         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
73115         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
73116
73117         Module realloc.
73118         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
73119         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
73120         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
73121
73122         Module strftime.
73123         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
73124         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
73125         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
73126         gl_TM_GMTOFF.
73127         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
73128
73129         Module xalloc.
73130         * m4/xalloc.m4: New file.
73131
73132         Module alloca.
73133         * m4/alloca.m4: New file.
73134
73135         Module putenv.
73136         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
73137         (jm_FUNC_PUTENV): Invoke it.
73138
73139         Module setenv.
73140         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
73141         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
73142         when invoked twice.
73143         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
73144         gt_FUNC_SETENV.
73145
73146         Module memrchr.
73147         * m4/memrchr.m4: New file.
73148
73149         Module stpcpy.
73150         * m4/stpcpy.m4: New file.
73151
73152         Module strcase.
73153         * m4/strcase.m4: New file.
73154
73155         Module strdup.
73156         * m4/strdup.m4: New file.
73157
73158         Module strnlen.
73159         * m4/strnlen.m4: New file.
73160
73161         Module strndup.
73162         * m4/strndup.m4: New file.
73163
73164         Module xstrtod.
73165         * m4/xstrtod.m4: New file.
73166
73167         Module xstrtol.
73168         * m4/xstrtol.m4: New file.
73169
73170         Module getdate.
73171         * m4/getdate.m4: New file.
73172
73173         Module unlocked-io.
73174         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
73175         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
73176         * m4/jm-glibc-io.m4n: Remove file.
73177
73178         Module long-options.
73179         * m4/long-options.m4: New file.
73180
73181         Module md5.
73182         * m4/md5.m4: New file.
73183
73184         Module sha.
73185         * m4/sha.m4: New file.
73186
73187         Module getstr.
73188         * m4/getstr.m4: New file.
73189
73190         Module getline.
73191         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
73192         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
73193         <sys/types.h>, for size_t. Use the function name gnu_getline, not
73194         simply getline. Infoke gl_PREREQ_GETLINE.
73195
73196         Module obstack.
73197         * m4/obstack.m4: New file.
73198
73199         Module hash.
73200         * m4/hash.m4: New file.
73201
73202         Module readtokens.
73203         * m4/readtokens.m4: New file.
73204
73205         Module strverscmp.
73206         * m4/strverscmp.m4: New file.
73207
73208         Module stdbool.
73209         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
73210         OSF/1.
73211
73212         Module strtoll.
73213         * m4/strtoll.m4: New file.
73214
73215         Module strtoull.
73216         * m4/strtoull.m4: New file.
73217
73218         Module strtoimax.
73219         * m4/strtoimax.m4: New file.
73220
73221         Module strtoumax.
73222         * m4/strtoumax.m4: New file.
73223
73224         Module xstrtoimax.
73225         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
73226         jm_AC_PREREQ_XSTRTOIMAX.
73227         Moved the strtol prerequisites to strtol.m4.
73228         Moved the strtoll prerequisites to strtoll.m4.
73229         Moved the strtoimax prerequisites to strtoimax.m4.
73230
73231         Module xstrtoumax.
73232         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
73233         jm_AC_PREREQ_XSTRTOUMAX.
73234         Moved the strtoul prerequisites to strtoul.m4.
73235         Moved the strtoull prerequisites to strtoull.m4.
73236         Moved the strtoumax prerequisites to strtoumax.m4.
73237
73238         Module chown.
73239         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
73240         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
73241
73242         Module dup2.
73243         * m4/dup2.m4: New file.
73244
73245         Module ftruncate.
73246         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
73247         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
73248
73249         Module getgroups.
73250         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
73251         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
73252
73253         Module gettimeofday.
73254         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
73255         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
73256         gl_PREREQ_GETTIMEOFDAY.
73257
73258         Module mkdir.
73259         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
73260         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
73261
73262         Module mkstemp.
73263         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
73264         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
73265         jm_AC_TYPE_UINTMAX_T.
73266         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
73267
73268         Module stat.
73269         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
73270         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
73271
73272         Module lstat.
73273         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
73274         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
73275
73276         Module timespec.
73277         * m4/timespec.m4 (gl_TIMESPEC): New macro.
73278         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
73279         * m4/st_mtim.m4: Indentation.
73280
73281         Module nanosleep.
73282         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
73283         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
73284         gl_PREREQ_NANOSLEEP.
73285
73286         Module regex.
73287         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
73288         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
73289         (gl_REGEX): New macro.
73290
73291         Module rename.
73292         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
73293         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
73294
73295         Module rmdir.
73296         * m4/rmdir.m4: New file.
73297
73298         Module utime.
73299         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
73300         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
73301         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
73302
73303         Module dirname.
73304         * m4/dirname.m4: New file.
73305
73306         Module getopt.
73307         * m4/getopt.m4: New file.
73308
73309         Module unistd-safer.
73310         * m4/unistd-safer.m4: New file.
73311
73312         Module fnmatch.
73313         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
73314         declaration.
73315         (gl_PREREQ_FNMATCH_EXTRA): New macro.
73316         (gl_FUNC_FNMATCH_POSIX): New macro.
73317         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
73318         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
73319         simply fnmatch.
73320
73321         Module exclude.
73322         * m4/exclude.m4: New file.
73323
73324         Module human.
73325         * m4/human.m4: New file.
73326
73327         Module acl.
73328         * m4/acl.m4: Nop.
73329
73330         Module backupfile.
73331         * m4/backupfile.m4: New file.
73332         * m4/d-ino.m4: Indentation.
73333
73334         Module fsusage.
73335         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
73336         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
73337         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
73338
73339         Module dirfd.
73340         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
73341         requirements.
73342
73343         Module euidaccess.
73344         * m4/euidaccess.m4: New file.
73345
73346         Module file-type.
73347         * m4/file-type.m4: New file.
73348
73349         Module fileblocks.
73350         * m4/fileblocks.m4: New file.
73351
73352         Module filemode.
73353         * m4/filemode.m4: New file.
73354
73355         Module isdir.
73356         * m4/isdir.m4: New file.
73357
73358         Module lchown.
73359         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
73360         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
73361
73362         Module makepath.
73363         * m4/makepath.m4: New file.
73364
73365         Module modechange.
73366         * m4/modechange.m4: New file.
73367
73368         Module mountlist.
73369         * m4/mountlist.m4: New file.
73370         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
73371         Indentation.
73372
73373         Module path-concat.
73374         * m4/path-concat.m4: New file.
73375
73376         Module pathmax.
73377         * m4/pathmax.m4: New file.
73378
73379         Module same.
73380         * m4/same.m4: New file.
73381
73382         Module save-cwd.
73383         * m4/save-cwd.m4: New file.
73384
73385         Module savedir.
73386         * m4/savedir.m4: New file.
73387
73388         Module xgetcwd.
73389         * m4/xgetcwd.m4: New file.
73390         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
73391
73392         Module xreadlink.
73393         * m4/xreadlink.m4: New file.
73394
73395         Module safe-read.
73396         * m4/safe-read.m4: New file.
73397
73398         Module safe-write.
73399         * m4/safe-write.m4: New file.
73400
73401         Module closeout.
73402         * m4/closeout.m4: New file.
73403
73404         Module stdio-safer.
73405         * m4/stdio-safer.m4: New file.
73406
73407         Module getpass.
73408         * m4/getpass.m4: New file.
73409
73410         Module getugroups.
73411         * m4/getugroups.m4: New file.
73412
73413         Module group-member.
73414         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
73415         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
73416
73417         Module idcache.
73418         * m4/idcache.m4: New file.
73419
73420         Module userspec.
73421         * m4/userspec.m4: New file.
73422
73423         Module gettime.
73424         * m4/clock_time.m4: New file.
73425         * m4/gettime.m4: New file.
73426
73427         Module settime.
73428         * m4/settime.m4: New file.
73429
73430         Module posixtm.
73431         * m4/posixtm.m4: New file.
73432
73433         Module gethostname.
73434         * m4/gethostname.m4: New file.
73435
73436         Module canon-host.
73437         * m4/canon-host.m4: New file.
73438
73439         Module gettext.
73440         * m4/codeset.m4: New file, from gettext-0.11.5.
73441         * m4/gettext.m4: New file, from gettext-0.11.5.
73442         * m4/glibc21.m4: New file, from gettext-0.11.5.
73443         * m4/iconv.m4: New file, from gettext-0.11.5.
73444         * m4/intdiv0.m4: New file, from gettext-0.11.5.
73445         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
73446         * m4/inttypes.m4: New file, from gettext-0.11.5.
73447         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
73448         * m4/isc-posix.m4: New file, from gettext-0.11.5.
73449         * m4/lcmessage.m4: New file, from gettext-0.11.5.
73450         * m4/lib-ld.m4: New file, from gettext-0.11.5.
73451         * m4/lib-link.m4: New file, from gettext-0.11.5.
73452         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
73453         * m4/progtest.m4: New file, from gettext-0.11.5.
73454         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
73455         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
73456         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
73457
73458         Module localcharset.
73459         * m4/localcharset.m4: New file.
73460
73461         Module hard-locale.
73462         * m4/hard-locale.m4: New file.
73463
73464         Module mbswidth.
73465         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
73466         onceonly macros.
73467         * m4/mbrtowc.m4: Add comment.
73468
73469         Module memcasecmp.
73470         * m4/memcasecmp.m4: New file.
73471
73472         Module memcoll.
73473         * m4/memcoll.m4: New file.
73474
73475         Module unicodeio.
73476         * m4/unicodeio.m4: New file.
73477
73478         Module rpmatch.
73479         * m4/rpmatch.m4: New file.
73480
73481         Module yesno.
73482         * m4/yesno.m4: New file.
73483
73484         Module exitfail.
73485         * m4/exitfail.m4: New file.
73486
73487         Module c-stack.
73488         * m4/c-stack.m4 (gl_C_STACK): New macro.
73489         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
73490
73491         Module error.
73492         * m4/error.m4 (gl_ERROR): New macro.
73493         (jm_PREREQ_ERROR): Use onceonly macros.
73494
73495         Module fatal.
73496         * m4/fatal.m4: New file.
73497
73498         Module getloadavg.
73499         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
73500         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
73501
73502         Module getpagesize.
73503         * m4/getpagesize.m4: New file.
73504
73505         Module getusershell.
73506         * m4/getusershell.m4: New file.
73507
73508         Module physmem.
73509         * m4/physmem.m4: New file.
73510
73511         Module posixver.
73512         * m4/posixver.m4: New file.
73513
73514         Module quotearg.
73515         * m4/quotearg.m4: New file.
73516
73517         Module quote.
73518         * m4/quote.m4: New file.
73519
73520         Module readutmp.
73521         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
73522
73523         Module sig2str.
73524         * m4/sig2str.m4: New file.
73525
73526         Other.
73527         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
73528         ulonglong.m4.
73529         * m4/intmax_t.m4: New file.
73530         * m4/d-type.m4: Indentation.
73531         * m4/jm-macros.m4: Update.
73532         * m4/prereq.m4 (jm_PREREQ): Update.
73533         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
73534         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
73535         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
73536         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
73537         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
73538         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
73539         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
73540         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
73541         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
73542         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
73543         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
73544         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
73545         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
73546         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
73547         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
73548         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
73549         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
73550         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
73551         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
73552
73553 2002-12-24  Bruno Haible  <bruno@clisp.org>
73554
73555         * MODULES.txt: Update according to m4/ changes.
73556
73557         Module gettext.
73558         * config.rpath: New file, from gettext-0.11.5.
73559
73560         * modules/*: New module descriptions.
73561         * gnulib-tool: New file.
73562         * MODULES.html.sh: New file.
73563
73564 2002-12-21  Karl Berry  <karl@gnu.org>
73565
73566         * doc/fdl.texi: update to version 1.2.
73567
73568 2002-12-19  Karl Berry  <karl@gnu.org>
73569
73570         * config/config.guess: update from prep.
73571
73572 2002-12-18  Bruno Haible  <bruno@clisp.org>
73573
73574         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
73575         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
73576
73577 2002-12-17  Bruno Haible  <bruno@clisp.org>
73578
73579         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
73580         stdlib.h, string.h.
73581
73582 2002-12-17  Bruno Haible  <bruno@clisp.org>
73583
73584         * lib/canon-host.c (strdup): Remove unused declaration.
73585
73586         * lib/fsusage.c: Include full_read.h.
73587         (get_fs_usage): Use full_read instead of safe_read.
73588
73589         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
73590
73591 2002-12-12  Karl Berry  <karl@gnu.org>
73592
73593         * config/config.guess: update from prep.
73594
73595 2002-12-11  Bruno Haible  <bruno@clisp.org>
73596
73597         * m4/setenv.m4: New file, from gettext-0.11.5.
73598
73599 2002-12-11  Bruno Haible  <bruno@clisp.org>
73600
73601         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
73602         not unsetenv().
73603         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
73604         modifications:
73605
73606         2002-12-11  Bruno Haible  <bruno@clisp.org>
73607
73608                 * setenv.c (alloca): Fall back to malloc.
73609                 (freea): New macro.
73610                 (setenv): Use freea() to free memory allocated with alloca().
73611
73612         2002-11-13  Bruno Haible  <bruno@clisp.org>
73613
73614                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
73615                 function declarations.
73616                 * unsetenv.c (unsetenv): Likewise.
73617
73618         2002-03-04  Bruno Haible  <bruno@clisp.org>
73619
73620                 Portability to AIX 4.3.3.
73621                 * unsetenv.c: New file, extracted from setenv.c.
73622                 * setenv.c: Move the unsetenv() function to unsetenv.c.
73623
73624         2001-12-20  Bruno Haible  <bruno@clisp.org>
73625
73626                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
73627                 use malloc instead. For SunOS 4.
73628
73629         2001-12-11  Bruno Haible  <bruno@clisp.org>
73630
73631                 * setenv.c: Declare alloca.
73632                 (compar_fn_t): New typedef.
73633                 (KNOWN_VALUE, STORE_VALUE): Use it.
73634
73635         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
73636         setenv.h.
73637
73638 2002-12-10  Paul Eggert  <eggert@twinsun.com>
73639
73640         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
73641         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
73642         Choose values that are less likely to collide with system fnmatch
73643         options.
73644         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
73645         defined (e.g., a pure POSIX system).
73646         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
73647         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
73648
73649 2002-12-06  Paul Eggert  <eggert@twinsun.com>
73650
73651         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
73652         a pain in practice to deal with generated m4 files.  This change
73653         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
73654
73655         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
73656         and jm-glibc-io.m4, as they are no longer a special case.
73657         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
73658         kludge and the auto-generation stuff.  Check only whether the
73659         functions are declared, not whether they exist, since older hosts
73660         that don't declare the functions can't use the optimization anyway.
73661
73662 2002-12-06  Jim Meyering  <jim@meyering.net>
73663
73664         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
73665
73666         Merge in changes from libc's misc/error.c, in preparation
73667         for the merge of gnulib's changes back into libc.
73668
73669         * lib/error.c (_): Define only if not already defined.
73670         Move definition to follow all #include directives.
73671         Include unlocked-io.h only if !_LIBC.
73672         [_LIBC]: Include <libio/libioP.h>.
73673         [USE_IN_LIBIO]: Include <libio/iolibio.h>
73674         (fflush): Tweak definition to use INTUSE.
73675         (putc): Define.
73676
73677 2002-12-05  Paul Eggert  <eggert@twinsun.com>
73678
73679         * lib/alloca.c [defined emacs]: Include "lisp.h".
73680         (xalloc_die) [defined emacs]: New macro.
73681         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
73682         [! defined emacs]: Include <xalloc.h>.
73683         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
73684         (pointer): Typedef to POINTER_TYPE *.
73685         (malloc): Remove decl; we now always use xmalloc.
73686         (alloca): Use old-style definition, since Emacs needs this.
73687         Check for arithmetic overflow when computing combined size.
73688
73689 2002-12-04  Paul Eggert  <eggert@twinsun.com>
73690
73691         Do not generate unlocked-io.h automatically, since it's easier to
73692         maintain it by hand.
73693
73694         * lib/unlocked-io.h: New file, from GNU diffutils,
73695         but with proper copyright notice and attribution.
73696         * lib/gen-uio: Remove.
73697         * lib/Makefile.am: Add copyright notice.
73698         (libfetish_a_SOURCES): Add unlocked-io.h.
73699         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73700         (DISTCLEANFILES, io_functions): Remove macros.
73701         (EXTRA_DIST): Remove gen_uio.
73702         (unlocked-io.h): Remove rule.
73703
73704 2002-12-04  Jim Meyering  <jim@meyering.net>
73705
73706         Reflect the fact that stat.c and lstat.c are no longer generated.
73707         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73708         (DISTCLEANFILES): Likewise.
73709         (EXTRA_DIST): Likewise.
73710         (all_local): Don't depend on stat.c or lstat.c.
73711         (stat.c, lstat.c): Remove rules.
73712         (EXTRA_DIST): Remove xstat.in.
73713
73714         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73715         * lib/stat.c: New file.  Contents mostly from xstat.in.
73716         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73717         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73718
73719         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73720         too.
73721         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73722
73723 2002-12-03  Jim Meyering  <jim@meyering.net>
73724
73725         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73726         but not semantics, to minimize the differences between these two files.
73727         (safe_read): Change comment to mention SAFE_READ_ERROR.
73728
73729         * lib/safe-read.c (IS_EINTR): Define.
73730         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73731
73732 2002-12-02  Jim Meyering  <jim@meyering.net>
73733
73734         * lib/safe-read.c (EINTR): Define.
73735         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73736         (INT_MAX): Provide fallback.
73737         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73738
73739         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73740
73741 2002-12-02  Bruno Haible  <bruno@clisp.org>
73742
73743         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73744         Define, taken from safe-read.c.
73745         (INT_MAX): Provide fallback.
73746         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73747         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73748
73749         * lib/safe-read.c (EINTR): Remove definition.
73750         (safe_read): Don't use EINTR if it is absent.
73751
73752 2002-12-01  Jim Meyering  <jim@meyering.net>
73753
73754         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73755         zero.
73756         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73757
73758 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73759
73760         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73761         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73762         with `if (! (value < limit)) abort ();', for readability.
73763
73764 2002-11-26  Karl Berry  <karl@gnu.org>
73765
73766         * lib/strdup.c: copy from libc again, with jim's ok.
73767         * lib/.cppi-disable: re-add strdup.c
73768
73769 2002-11-25  Karl Berry  <karl@gnu.org>
73770
73771         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73772         instead of "strtol.c".
73773
73774 2002-11-25  Karl Berry  <karl@gnu.org>
73775
73776         * config/install-sh: update from automake for variable quoting, $0 in
73777         error msgs, etc.
73778
73779         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73780         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73781         entry.
73782
73783 2002-11-25  Jim Meyering  <jim@meyering.net>
73784
73785         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73786
73787 2002-11-24  Karl Berry  <karl@gnu.org>
73788
73789         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73790         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73791
73792 2002-11-24  Jim Meyering  <jim@meyering.net>
73793
73794         Update from coreutils:
73795
73796         * lib/mktime.c: Merge in changes from libc.
73797
73798         Avoid a link-time failure on some Linux systems.
73799         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73800         (otherwise).
73801         (__mon_yday): Declare with the STATIC attribute.
73802         (__mktime_internal): Likewise.
73803         Based on a report from Greg Schafer.
73804
73805 2002-11-23  Jim Meyering  <jim@meyering.net>
73806
73807         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73808         Use `unsigned', not `int', as type of index.
73809
73810         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73811
73812         * lib/fsusage.c: Remove unneeded parentheses around operands of
73813         `defined'.
73814
73815 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73816
73817         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73818         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73819         so that we can be included first.
73820         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73821         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73822         No need to include stddef.h or sys/types.h any more.
73823         Surround local include files with "", not "<>".
73824         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73825         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73826         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73827         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73828         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73829         (ISPRINT): Remove; no longer needed now that we assume C89.
73830
73831         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73832         Preserve errno.
73833
73834         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73835         quotearg_char): Use SIZE_MAX rather than
73836         (size_t) -1 when we are talking about "infinity".
73837
73838         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73839
73840 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73841
73842         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73843         hint that one should use `if (! x) abort ();' rather than `assert
73844         (x);', and anyway it's one less thing to worry about configuring.
73845         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73846         hash_rehash, hash_insert): Use abort rather than assert.
73847
73848 2002-11-22  Bruno Haible  <bruno@clisp.org>
73849
73850         * lib/safe-read.h: Assume C89. Add comments.
73851         (safe_read): Change return type to size_t.
73852         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73853         byte counts > SSIZE_MAX correctly.
73854         * lib/safe-write.h: New file.
73855         * lib/safe-write.c: New file.
73856         * lib/full-read.h: New file.
73857         * lib/full-read.c: New file.
73858         * lib/full-write.h: Assume C89. Add comments.
73859         * lib/full-write.c: Include safe-write.h.
73860         (full_write): Rewritten to use safe_write.
73861         Suggested by Jim Meyering and Paul Eggert.
73862
73863 2002-11-21  Jim Meyering  <jim@meyering.net>
73864
73865         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73866
73867         Merge in changes from the coreutils.
73868
73869         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73870         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73871         <stdint.h>.
73872         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73873         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73874         int.  Work more efficiently if X is the same width as uintmax_t.
73875         Do not compare X to -1, to avoid bogus compiler warning.
73876         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73877         Don't assume that f_frsize and f_bsize are the same type.
73878
73879         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73880         warning on FreeBSD.
73881
73882         * lib/makepath.c (make_path): Restore umask *before* creating the final
73883         component.
73884         (make_path): Minor reformatting.
73885
73886         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73887         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73888         HAVE_MALLOC/HAVE_REALLOC.
73889
73890         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73891         dummy ones.  At least on GNU/Linux systems, `auto' means something
73892         else.
73893         From Michael Stone.
73894
73895 2002-11-21  Bruno Haible  <bruno@clisp.org>
73896
73897         Remove case insensitive option matching.
73898         * lib/argmatch.h (argcasematch): Remove declaration.
73899         (ARGCASEMATCH): Remove macro.
73900         (__xargmatch_internal): Remove case_sensitive argument.
73901         (XARGMATCH): Update.
73902         (XARGCASEMATCH): Remove macro.
73903         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73904         case_sensitive argument.
73905         (argcasematch): Remove function.
73906         (__xargmatch_internal): Remove case_sensitive argument.
73907         (main): Use XARGMATCH instead of XARGCASEMATCH.
73908
73909         * lib/xmalloc.c: Change compile-time error message. Add comment about
73910         required autoconf version.
73911
73912 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73913
73914         Merge argmatch cleanups from Bison.  Assume C89.
73915
73916         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73917         Include stdlib.h, for EXIT_FAILURE.
73918         Always include <string.h>, since we assume C89.
73919         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73920         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73921         Include <stddef.h> instead, since it's all we need for size_t.
73922         (PARAMS): Remove.  All uses removed.
73923         (ARRAY_CARDINALITY): Do not bother to #undef.
73924         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73925         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73926         Remove unnecessary parentheses.
73927         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73928         Insert necessary parentheses.
73929         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
73930         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
73931
73932 2002-11-19  Bruno Haible  <bruno@clisp.org>
73933
73934         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
73935         * lib/mbswidth.h: Include <stddef.h>, for size_t.
73936
73937         * lib/mbswidth.h (PARAMS): Remove macro.
73938         (mbswidth, mbsnwidth): Use ANSI C function declarations.
73939         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
73940
73941         * lib/gcd.h (PARAMS): Remove macro.
73942         (gcd): Use ANSI C function declarations.
73943         * lib/gcd.c (gcd): Likewise.
73944
73945 2002-11-15  Bruno Haible  <bruno@clisp.org>
73946
73947         * lib/strcspn.c: Include <stddef.h>.
73948         (strcspn): Use ANSI C function declaration. Change return type to
73949         size_t. Use NULL.
73950         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
73951         (strpbrk): Use NULL.
73952         * lib/strpbrk.h (PARAMS): Remove macro.
73953         (strpbrk): Use ANSI C function declaration.
73954         * lib/strstr.c: Don't include <sys/types.h>.
73955         * lib/strstr.h (PARAMS): Remove macro.
73956         (strstr): Use ANSI C function declarations.
73957
73958 2002-11-14  Karl Berry  <karl@gnu.org>
73959
73960         * config/mkinstalldirs: `do' on separate line, instead of
73961         `for var; do'.
73962
73963 2002-11-06  Bruno Haible  <bruno@clisp.org>
73964
73965         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
73966         * lib/gcd.c (gcd): Likewise.
73967
73968 2002-11-05  Bruno Haible  <bruno@clisp.org>
73969
73970         * lib/gcd.h: New file, from gettext-0.11.5.
73971         * lib/gcd.c: New file, from gettext-0.11.5.
73972
73973 2002-11-05  Bruno Haible  <bruno@clisp.org>
73974
73975         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73976         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73977         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73978         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73979
73980         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
73981         <libintl.h>.
73982         * lib/makepath.c: Include gettext.h instead of <locale.h> and
73983         <libintl.h>.
73984
73985         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
73986         * lib/human.c: Include gettext.h instead of <libintl.h>.
73987         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
73988         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
73989         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
73990         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
73991         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
73992         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
73993         (textdomain): Remove definition.
73994         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
73995
73996         * lib/long-options.c: Remove include of <libintl.h> and definition of
73997         _.
73998         * lib/same.c: Remove include of <libintl.h> and definition of _.
73999
74000 2002-11-04  Owen Taylor  <otaylor@redhat.com>
74001
74002         * lib/config.charset: A few additions for Solaris.
74003
74004 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74005
74006         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
74007         * lib/localcharset.c (locale_charset): Declare as extern "C".
74008
74009 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74010
74011         * lib/config.charset: msdos in uk_UA uses CP1125.
74012
74013 2002-11-04  Bruno Haible  <bruno@clisp.org>
74014
74015         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
74016         * lib/strcase.h: New file, from GNU gettext-0.11.5.
74017         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
74018         * lib/strstr.h: New file, from GNU gettext-0.11.5.
74019         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
74020
74021 2002-11-04  Bruno Haible  <bruno@clisp.org>
74022
74023         * lib/localcharset.c (locale_charset): Don't return an empty string.
74024
74025 2002-11-04  Bruno Haible  <bruno@clisp.org>
74026
74027         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
74028         aliases.
74029
74030 2002-11-04  Bruno Haible  <bruno@clisp.org>
74031
74032         * lib/config.charset: Update for newest glibc. Add canonical names
74033         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
74034
74035 2002-11-04  Bruno Haible  <bruno@clisp.org>
74036
74037         * lib/config.charset: Add support for NetBSD.
74038
74039 2002-11-04  Bruno Haible  <bruno@clisp.org>
74040
74041         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
74042
74043 2002-11-01  Bruno Haible  <bruno@clisp.org>
74044
74045         * configure.in: Add AC_CONFIG_AUX_DIR call.
74046         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
74047         test/Makefile.
74048         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
74049
74050 2002-09-28  Karl Berry  <karl@gnu.org>
74051
74052         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
74053         installed automake until the next release, since changes have been
74054         made.
74055
74056 2002-09-25  Karl Berry  <karl@gnu.org>
74057
74058         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
74059         * lib/getopt*: copy from libc/posix.
74060         * lib/gettext.h: copy from gettext.
74061         * lib/.cppi-disable: add strdup.c, gettext.h.
74062
74063 2002-09-25  Karl Berry  <karl@gnu.org>
74064
74065         * config/srclist.txt: enable gettext.h check.
74066         * config/config.{guess,sub}: update from prep.
74067         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
74068                 from automake 1.6.3.
74069         See srclist*.
74070
74071 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
74072
74073         * regex.c (PATFETCH): Remove the translating fetch.
74074         (PATFETCH_RAW): Rename to PATFETCH.
74075         (set_image_of_range): New fun.
74076         (SET_RANGE_TABLE_WORK_AREA): Use it.
74077         (regex_compile): Don't translate the pattern chars so eagerly.
74078         Only do it when inserting an `exactn' bytecode or when handling
74079         a char-range.
74080         (mutually_exclusive_p): Avoid empty statement.
74081
74082 2002-07-06  Jim Meyering  <meyering@lucent.com>
74083
74084         * m4/README: Don't mention Makefile.am.in.
74085         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
74086
74087 2002-07-01  Jim Meyering  <meyering@lucent.com>
74088
74089         * lib/c-stack.c: Include sys/time.h.
74090         From Volker Borchert.
74091
74092 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74093
74094         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
74095
74096 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74097
74098         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
74099         New macro.  Use it uniformly instead of
74100         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
74101         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
74102         reported by Vin Shelton.
74103
74104 2002-06-22  Paul Eggert  <eggert@twinsun.com>
74105
74106         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
74107         Do not assume SA_SIGINFO behavior.
74108         Bug reported by Jim Meyering on NetBSD 1.5.2.
74109
74110 2002-06-22  Jim Meyering  <meyering@lucent.com>
74111
74112         * m4/c-stack.m4: New file, from diffutils-2.8.2.
74113         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
74114
74115         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
74116         now that configure.ac uses AC_GNU_SOURCE.
74117         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
74118         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
74119
74120         Update to latest tools.  Suggestions from Paul Eggert.
74121         * m4/stdbool.m4: New file, from diffutils-2.8.2.
74122         * m4/gnu-source.m4: Update from diffutils-2.8.2.
74123         * m4/fnmatch.m4: Likewise.
74124         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
74125         to AC_HEADER_STDBOOL
74126
74127 2002-06-22  Jim Meyering  <meyering@lucent.com>
74128
74129         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
74130         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
74131
74132 2002-06-22  Jim Meyering  <meyering@lucent.com>
74133
74134         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
74135
74136         * lib/exitfail.c, exitfail.h: Likewise.
74137         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
74138
74139         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
74140         of fnmatch.h.
74141         (EXTRA_DIST): Add fnmatch_loop.c.
74142         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
74143
74144         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
74145         * lib/fnmatch.c: Update from diffutils-2.8.2.
74146         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
74147         * lib/fnmatch.h: Remove file.
74148
74149 2002-06-21  Jim Meyering  <meyering@lucent.com>
74150
74151         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
74152         * m4/mbrtowc.m4: Likewise.
74153
74154         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
74155         * m4/mbswidth.m4: Reflect name change:
74156         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
74157         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74158
74159         * m4/lib-link.m4: Update from gettext-0.11.2.
74160         * m4/gettext.m4: Likewise.
74161
74162         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
74163         From Alfred M. Szmidt.
74164
74165 2002-06-18  Paul Eggert  <eggert@twinsun.com>
74166
74167         * lib/file-type.h: Report an error if neither S_ISREG nor
74168         S_IFREG is defined, instead of using a test specific to glibc
74169         2.2.  This should be safe, since POSIX requires S_ISREG and
74170         Unix Version 7 had S_IFREG.  We don't need to check for
74171         <sys/types.h> since we don't use any symbols that it defines.
74172
74173 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
74174
74175         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
74176         $@-t, so that each temporary file name is unique and valid in the first
74177         8 characters, for operation under DOS.
74178
74179 2002-06-15  Paul Eggert  <eggert@twinsun.com>
74180
74181         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
74182
74183 2002-06-15  Jim Meyering  <meyering@lucent.com>
74184
74185         Work even with DJGPP 2.03, which lacks support for symlinks.
74186         From Richard Dawe.
74187         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
74188         is defined.
74189         * lib/lchown.c (S_ISLNK): Likewise.
74190
74191 2002-06-15  Jim Meyering  <meyering@lucent.com>
74192
74193         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
74194         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
74195         have been included before this file.
74196
74197 2002-06-14  Jim Meyering  <meyering@lucent.com>
74198
74199         * lib/file-type.h: Use the version from diffutils-2.8.2.
74200         * lib/file-type.c: Likewise.
74201
74202 2002-06-07  Jim Meyering  <meyering@lucent.com>
74203
74204         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
74205         They're needed at least for NetBSD 1.5.2.
74206         ($statxfs_includes): Include those same headers.
74207         ($statxfs_includes): Include sys/vfs.h if available.
74208         ($statxfs_includes): Likewise for sys/statvfs.h.
74209         Check for the following members in both structs statfs and statvfs:
74210         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
74211
74212 2002-06-01  Jim Meyering  <meyering@lucent.com>
74213
74214         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
74215         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
74216
74217 2002-05-28  Jim Meyering  <meyering@lucent.com>
74218
74219         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
74220         Reported by Volker Borchert.
74221
74222 2002-05-27  Jim Meyering  <meyering@lucent.com>
74223
74224         Fix a problem seen only on nonconforming systems whereby ls.c's
74225         use of localtime, and then of gettimeofday would cause trouble:
74226         the localtime call used to initialize rpl_gettimeofday's save
74227         mechanism would clobber ls's current local time information so
74228         that in any long listing the first file would always be listed
74229         with date 1970-01-01.  Analysis by Volker Borchert.
74230
74231         * lib/gettimeofday.c (localtime): Undefine.
74232         (rpl_localtime): New function.
74233
74234 2002-05-27  Jim Meyering  <meyering@lucent.com>
74235
74236         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
74237         localtime.
74238
74239         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
74240         use the replacement function; it wouldn't resolve at link time.
74241         Reported by Volker Borchert.
74242
74243 2002-05-22  Jim Meyering  <meyering@lucent.com>
74244
74245         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
74246         file-type.h.
74247         * lib/file-type.h: New file.
74248         * lib/file-type.c (file_type): New file/function.  Extracted from
74249         diffutils.
74250
74251 2002-04-30  Jim Meyering  <meyering@lucent.com>
74252
74253         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
74254
74255 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74256
74257         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
74258
74259 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74260
74261         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
74262         Do not check for alloca.h (no longer used) or stdbool.h (was never
74263         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
74264
74265 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74266
74267         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
74268
74269 2002-04-29  Jim Meyering  <meyering@lucent.com>
74270
74271         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
74272         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
74273         Use AC_FUNC_STRNLEN here instead.
74274
74275         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
74276         With autoconf-2.53a, it's part of AC_PROG_CC.
74277
74278 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74279
74280         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
74281         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
74282
74283 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74284
74285         * lib/sig2str.h, lib/sig2str.c: New files.
74286         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
74287
74288 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74289
74290         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
74291         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
74292         of 127, since 64 is the largest conceivable number for ancient
74293         nonstandard hosts.
74294         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
74295
74296 2002-04-28  Jim Meyering  <meyering@lucent.com>
74297
74298         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
74299
74300 2002-04-24  Jim Meyering  <meyering@lucent.com>
74301
74302         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
74303         (jm_PREREQ): Use it.
74304
74305         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
74306         mach/mach.h fcntl.h.
74307         Check for this function: setlocale.
74308
74309 2002-04-24  Jim Meyering  <meyering@lucent.com>
74310
74311         * lib/gettext.h: New file, from Gettext.
74312         * lib/Makefile.am (INCLUDES): Remove -I../intl.
74313         (libfetish_a_SOURCES): Add gettext.h.
74314
74315 2002-04-16  Jim Meyering  <meyering@lucent.com>
74316
74317         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
74318         ut_pid, ut_id, ut_exit.
74319
74320 2002-04-16  Jim Meyering  <meyering@lucent.com>
74321
74322         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
74323         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
74324         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
74325
74326 2002-04-12  Jim Meyering  <meyering@lucent.com>
74327
74328         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
74329         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
74330         existence of the getmntinfo function.  Needed for Darwin 5.3.
74331
74332         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
74333         This is necessary at least on Darwin 5.3.
74334
74335         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
74336         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
74337         strnlen.o in the library, and that makes some versions of ranlib
74338         object.
74339
74340 2002-04-12  Jim Meyering  <meyering@lucent.com>
74341
74342         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
74343
74344 2002-04-09  Jim Meyering  <meyering@lucent.com>
74345
74346         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
74347         to be more precise.  Rather than saying we're checking whether the
74348         function `works', say what we're testing.
74349         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
74350         Reported by Bruno Haible.
74351
74352 2002-03-10  Jim Meyering  <meyering@lucent.com>
74353
74354         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
74355         Suggestion from Santiago Vila.
74356
74357 2002-03-08  Jim Meyering  <meyering@lucent.com>
74358
74359         * lib/rename.c: Mention that this wrapper is needed also on
74360         mips-dec-ultrix4.4 systems.
74361
74362 2002-03-02  Jim Meyering  <meyering@lucent.com>
74363
74364         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
74365         not HAVE_CLOCK_SETTIME.
74366
74367 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74368
74369         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
74370         Check for clock_settime.
74371
74372 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74373
74374         * lib/nanosleep.h: Rename to....
74375         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
74376
74377         * lib/gettime.c: New file.
74378         * lib/settime.c: New file.
74379         * lib/stime.c: Remove.
74380
74381         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
74382         timespec.h.  Remove nanosleep.h.
74383
74384 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74385
74386         * m4/acl.m4: New file.
74387         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
74388         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
74389
74390 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74391
74392         * lib/acl.c, lib/acl.h: New files.
74393         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
74394
74395 2002-02-24  Jim Meyering  <meyering@lucent.com>
74396
74397         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
74398         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
74399         cause trouble.  Reported by Nelson Beebe.
74400
74401 2002-02-23  Paul Eggert  <eggert@twinsun.com>
74402
74403         * lib/path-concat.c (xpath_concat): Reorder code to pacify
74404         compilers that don't know that xalloc_die never returns.
74405
74406 2002-02-20  Jim Meyering  <meyering@lucent.com>
74407
74408         * lib/getdate.c: Regenerate using bison-1.33.
74409
74410 2002-02-17  Jim Meyering  <meyering@lucent.com>
74411
74412         * config/config.guess (main): Don't use `head -1'; it's no longer
74413         portable. Use `sed 1q' instead.
74414
74415 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
74416
74417         * m4/codeset.m4: Upgrade to gettext-0.11.
74418         * m4/gettext.m4: Upgrade to gettext-0.11.
74419         * m4/glibc21.m4: Upgrade to gettext-0.11.
74420         * m4/iconv.m4: Upgrade to gettext-0.11.
74421         * m4/isc-posix.m4: Upgrade to gettext-0.11.
74422         * m4/lcmessage.m4: Upgrade to gettext-0.11.
74423         * m4/lib-ld.m4: New file, from gettext-0.11.
74424         * m4/lib-link.m4: New file, from gettext-0.11.
74425         * m4/lib-prefix.m4: New file, from gettext-0.11.
74426         * m4/progtest.m4: Upgrade to gettext-0.11.
74427
74428 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74429
74430         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
74431         (jm_PREREQ): Use it.
74432
74433 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74434
74435         * lib/posixver.c, lib/posixver.h: New files.
74436         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74437
74438 2002-02-02  Paul Eggert  <eggert@twinsun.com>
74439             Bruno Haible  <bruno@clisp.org>
74440
74441         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
74442         (fwrite_success_callback): New declaration.
74443         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
74444         print_unicode_char. Call failure callback instead of error.
74445         (fwrite_success_callback): New function.
74446         (exit_failure_callback): New function.
74447         (fallback_failure_callback): New function.
74448         (print_unicode_char): Call unicode_to_mb.
74449
74450 2002-01-26  Jim Meyering  <meyering@lucent.com>
74451
74452         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
74453         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
74454
74455 2002-01-26  Jim Meyering  <meyering@lucent.com>
74456
74457         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
74458
74459 2002-01-22  Paul Eggert  <eggert@twinsun.com>
74460
74461         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
74462
74463 2002-01-22  Jim Meyering  <meyering@lucent.com>
74464
74465         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
74466         Otherwise, some versions of automake would omit the rule that makes
74467         Makefile from Makefile.in.
74468
74469 2002-01-21  Paul Eggert  <eggert@twinsun.com>
74470
74471         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
74472         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74473         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
74474         (memcoll): Set errno to zero if there is no error.
74475
74476         * lib/quotearg.c (quotearg_buffer_restyled):
74477         Fix bug with quoting buffers containing NUL when backslashing escapes.
74478         This bug was exposed by the other changes in this patch.
74479         (quotearg_n_options): New arg ARGSIZE.
74480         All callers changed.
74481         (quoting_options_from_style): New function.
74482         (quotearg_n_style): Use it.
74483         (quotearg_n_style_mem): New function.
74484
74485         * lib/quotearg.h (quotearg_n_style_mem): New function.
74486
74487 2002-01-19  Jim Meyering  <meyering@lucent.com>
74488
74489         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
74490         Remove useless quotes: DF_PROG="df".
74491         * m4/strnlen.m4: New file.
74492
74493 2002-01-16  Paul Eggert  <eggert@twinsun.com>
74494
74495         * lib/backupfile.c (ISDIGIT): Comment fix.
74496         * lib/getdate.y (ISDIGIT): Likewise.
74497         * lib/posixtm.c (ISDIGIT, year): Likewise.
74498         * lib/strverscmp.c (ISDIGIT): Likewise.
74499         * lib/userspec.c (ISDIGIT): Likewise.
74500
74501 2002-01-16  Jim Meyering  <meyering@lucent.com>
74502
74503         * lib/getdate.y: Add three semicolons, each just before a closing
74504         brace. Bison (as of version 1.31) no longer papers over that mistake.
74505
74506 2002-01-05  Jim Meyering  <meyering@lucent.com>
74507
74508         * lib/version-etc.c (version_etc_copyright): Update copyright year.
74509
74510 2001-12-19  Paul Eggert  <eggert@twinsun.com>
74511
74512         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
74513         not silently exit merely because the output buffer happens to
74514         have nothing pending.
74515
74516 2001-12-18  Paul Eggert  <eggert@twinsun.com>
74517
74518         See the big note in ../ChangeLog.
74519         * lib/human.c (suffixes): Prefer K to k for 1024.
74520         (generate_suffix_backwards): New function.
74521         (human_readable_inexact): Use it.
74522         * lib/xstrtol.c (__xstrtol): If there is no number but there
74523         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
74524         Accept 'K' as well as 'k'.
74525
74526 2001-12-15  Jim Meyering  <meyering@lucent.com>
74527
74528         * lib/regex.h (__restrict_arr): Update from libc.
74529
74530         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
74531         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
74532         (STREQ): Define.
74533
74534 2001-12-14  Jim Meyering  <meyering@lucent.com>
74535
74536         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
74537         Suggestion from Bruno Haible.
74538
74539 2001-12-10  Jim Meyering  <meyering@lucent.com>
74540
74541         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
74542         xrealloc, Instead, include "xalloc.h".
74543         (initbuffer): Don't cast xmalloc return value to char*.
74544         (readline): Reword comment.
74545         Don't cast xrealloc return value to char*
74546         Return NULL, not 0.
74547
74548 2001-12-09  Jim Meyering  <meyering@lucent.com>
74549
74550         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
74551         about `signed and unsigned type in conditional expression'.
74552         * lib/posixtm.c (posix_time_parse): Likewise.
74553
74554         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
74555
74556         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
74557         to avoid a pedantic warning.
74558
74559         * lib/getstr.c: Don't include assert.h.
74560         (getstr): Remove warning-evoking assertions.
74561         Return -1 if offset parameter is out of bounds.
74562         Change the type of a local from int to size_t.
74563
74564         * lib/strftime.c (my_strftime_localtime_r): Include this function
74565         definition in the `#if ! HAVE_TM_GMTOFF' block.
74566
74567         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
74568         Include xalloc.h instead.
74569
74570 2001-12-02  Jim Meyering  <meyering@lucent.com>
74571
74572         * lib/tempname.c: Don't declare getenv, thus reverting the change of
74573         2001-11-18.  It's no longer necessary, now that stdlib.h is always
74574         included.
74575
74576         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
74577         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
74578
74579 2001-11-30  Akim Demaille  <akim@epita.fr>
74580
74581         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
74582         before being defined.
74583
74584 2001-11-27  Paul Eggert  <eggert@twinsun.com>
74585
74586         * lib/quotearg.h (quotearg_n, quotearg_n_style):
74587         First arg is int, not unsigned.
74588         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
74589         (SIZE_MAX, UINT_MAX): New macros.
74590         (quotearg_n_options): Abort if N is negative.
74591         Avoid overflow check on hosts where size_t is 64 bits and int
74592         is 32 bits, as overflow is impossible there.
74593         Fix off-by-one typo that caused unnecessary reallocation.
74594
74595 2001-11-27  Jim Meyering  <meyering@lucent.com>
74596
74597         * lib/tempname.c: Merge with version from libc.
74598         * lib/regex.c: Likewise.
74599
74600         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
74601         systems for which STDC_HEADERS is 0, it was not included, resulting in
74602         a warning about an integer-to-pointer conversion problem with getenv.
74603         Reported by Volker Borchert.
74604
74605 2001-11-26  Jim Meyering  <meyering@lucent.com>
74606
74607         * lib/gtod.h: Remove file.
74608         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
74609         * lib/gettimeofday.c: Don't include gtod.h.
74610         (GTOD_init): Remove function.
74611         (rpl_gettimeofday): Do its job here instead, rather than aborting.
74612         Suggestion from Volker Borchert.
74613
74614 2001-11-23  Jim Meyering  <meyering@lucent.com>
74615
74616         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
74617         it.
74618         * lib/hash.c (struct hash_table): Define it here instead.
74619
74620 2001-11-22  Jim Meyering  <meyering@lucent.com>
74621
74622         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
74623
74624 2001-11-20  Jim Meyering  <meyering@lucent.com>
74625
74626         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
74627         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
74628
74629 2001-11-19  Jim Meyering  <meyering@lucent.com>
74630
74631         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
74632         directory.  Use "conftestXXXXXX" as the template.
74633         Suggestion from Paul Eggert.
74634
74635         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
74636         immediately, so the test doesn't mistakenly hit the max-open-files
74637         limit.
74638
74639 2001-11-18  Paul Eggert  <eggert@twinsun.com>
74640
74641         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
74642         (TEMPORARIES): New macro.
74643         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
74644         removes an artificial limitation (e.g. HP-UX 10.20, where
74645         TMP_MAX is 17576).
74646
74647 2001-11-18  Jim Meyering  <meyering@lucent.com>
74648
74649         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
74650
74651 2001-11-18  Jim Meyering  <meyering@lucent.com>
74652
74653         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
74654         on SunOS 4.
74655
74656         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
74657         files will be created before anything else.
74658
74659 2001-11-17  Paul Eggert  <eggert@twinsun.com>
74660
74661         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
74662         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
74663
74664 2001-11-17  Jim Meyering  <meyering@lucent.com>
74665
74666         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
74667         Prompted by a report from Bob Proulx.
74668
74669         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
74670         Instead, require UTILS_FUNC_MKSTEMP.
74671
74672 2001-11-17  Jim Meyering  <meyering@lucent.com>
74673
74674         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
74675         Now, that's done as part of AC_FUNC_STRTOD.
74676
74677 2001-11-17  Jim Meyering  <meyering@lucent.com>
74678
74679         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
74680         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
74681         rather than group writable.  Patch by Juan F. Codagnone.
74682
74683         * lib/readtokens.c: Remove explicit declarations of xmalloc and
74684         xrealloc, Instead, include "xalloc.h".
74685
74686         * lib/mountlist.c: Include unlocked-io.h after all system headers.
74687         Remove explicit declarations of xmalloc, xrealloc,
74688         and xstrdup.  Instead, include "xalloc.h".
74689
74690         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74691         unlocked-io.h.
74692         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74693         Likewise.
74694         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74695
74696         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74697         Reported by Padraig Brady.
74698
74699         * lib/mkstemp.c: #undef mkstemp.
74700         Include config.h.
74701         (rpl_mkstemp): Rename from mkstemp.
74702         Protoize.
74703
74704 2001-11-16  Jim Meyering  <meyering@lucent.com>
74705
74706         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74707         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74708         determine the amount of total physical memory, use pstat_getstatic.
74709         HPUX-11 doesn't define _SC_PHYS_PAGES.
74710         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74711         If sysconf couldn't be used to determine the amount of available
74712         physical memory, use both pstat_getstatic and pstat_getdynamic.
74713         Based on a patch from Bob Proulx.
74714
74715 2001-11-10  Jim Meyering  <meyering@lucent.com>
74716
74717         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74718         (jm_PREREQ): Use it.
74719
74720 2001-11-09  Jim Meyering  <meyering@lucent.com>
74721
74722         * m4/jm-macros.m4: Require autoconf-2.52f.
74723         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74724         Use these AC_-prefixed names, not the AM_-prefixed ones.
74725
74726         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74727
74728 2001-11-05  Jim Meyering  <meyering@lucent.com>
74729
74730         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74731
74732 2001-11-04  Jim Meyering  <meyering@lucent.com>
74733
74734         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74735         $DEFS.
74736
74737 2001-11-03  Jim Meyering  <meyering@lucent.com>
74738
74739         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74740         of AC_DEFUN.
74741
74742         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74743         know the name of the variable in the macro definition.
74744
74745 2001-11-03  Jim Meyering  <meyering@lucent.com>
74746
74747         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74748         in argmatch_to_argument call.
74749
74750         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74751         argument.
74752
74753         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74754         e.g., a fault due to an attempt to free a NULL pointer.
74755
74756 2001-11-01  Jim Meyering  <meyering@lucent.com>
74757
74758         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74759         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74760
74761 2001-11-01  Jim Meyering  <meyering@lucent.com>
74762
74763         * lib/dirfd.c, lib/dirfd.h: New files.
74764         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74765
74766         * lib/hash.c (hash_print) [TESTING]: Clean up.
74767
74768 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74769
74770         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74771         to avoid a warning if -Wall.
74772
74773 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74774
74775         * README: New file
74776         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74777         (per RMS's instructions, this is now the canonical source)
74778         * lgpl/, gpl/: New directories.
74779
74780 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74781
74782         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74783
74784 2001-10-21  Jim Meyering  <meyering@lucent.com>
74785
74786         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74787         this code would end up calling gettext even in packages built
74788         with --disable-nls.
74789         * lib/getopt.c (_): Likewise.
74790         * lib/regex.c (_): Likewise.
74791
74792 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74793
74794         * m4/error.m4 (jm_PREREQ_ERROR):
74795         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74796         AC_FUNC_STRERROR_R does that.
74797         Check for strerror declaration.
74798
74799         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74800         are supposed to have them these days.
74801         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74802         Merge changes from latest Autoconf CVS.
74803         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74804         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74805         POSIX decided to standardize on the int flavor of strerror_r.
74806
74807 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74808
74809         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74810         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74811         Use strerror_r that is only a macro, even if it is not a function.
74812         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74813         (private_strerror): Use prototypes, not old-style function definition.
74814         (print_errno_message): New function.
74815         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74816         char*-flavored one.
74817         (error_tail, error, error_at_line): Use it.
74818
74819 2001-10-11  Jim Meyering  <meyering@lucent.com>
74820
74821         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74822         and quote_n (1, ... to avoid clobbering a buffer.
74823
74824 2001-10-05  Jim Meyering  <meyering@lucent.com>
74825
74826         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74827         hash-pjw.h.
74828         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74829         * lib/hash-pjw.h: New file.
74830
74831 2001-09-30  Jim Meyering  <meyering@lucent.com>
74832
74833         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74834         `struct fsstat' has the `f_fstypename' member.
74835         Use that to define FS_TYPE, which is now used to make
74836         the getfsstat link test tighter.
74837
74838 2001-09-30  Jim Meyering  <meyering@lucent.com>
74839
74840         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74841         Include <sys/ucred.h>, for Apple Darwin.
74842         Include sys/mount.h and sys/fs_types.h only if available.
74843         (FS_TYPE): Define.
74844         (read_filesystem_list): Use FS_TYPE.
74845
74846 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74847
74848         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74849         a boolean context.
74850
74851 2001-09-29  Jim Meyering  <meyering@lucent.com>
74852
74853         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74854         [one-argument getmntent function]): Include stdio.h before mntent.h.
74855         SunOS 4.1.x needs it for the declaration of `FILE'.
74856         Patch by Volker Borchert.
74857
74858         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74859         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74860         sys/fs_types.h, and make the link-test for getfsstat guard #include
74861         directives with appropriate #if HAVE_*_H tests so that we can
74862         detect getfsstat on Apple Darwin1.3.7 systems.
74863         Reported by Nelson Beebe.
74864         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74865
74866 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74867
74868         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74869         #defines strtoimax.  Also treat the other strto* functions
74870         like strtoimax.
74871
74872         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74873         Check for strtoul and strtoumax,
74874         as those declarations are made even in the signed case.
74875         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74876         Likewise, for strtol and strtoimax.
74877
74878 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74879
74880         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74881         #defines strtoimax.  Also treat the other strto* functions
74882         like strtoimax.
74883
74884         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74885         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74886         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74887
74888 2001-09-26  Jim Meyering  <meyering@lucent.com>
74889
74890         Most macros in unlocked-io.h had the wrong number of arguments.
74891         * lib/gen-uio: New script.
74892         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74893         * lib/unlocked-io.hin: Remove file.
74894         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74895         rather than trying to embed it here.
74896         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74897         Reported by Padraig Brady.
74898
74899 2001-09-25  Volker Borchert  <bt@teknon.de>
74900
74901         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74902         `result'.
74903
74904 2001-09-24  Jim Meyering  <meyering@lucent.com>
74905
74906         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74907
74908 2001-09-23  Jim Meyering  <meyering@lucent.com>
74909
74910         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74911         instead of the mere test for existence of mntent.h.  The latter
74912         would get a false-positive on AIX 3.4 systems.
74913         In the outer getmntent if-block, don't die if neither of the getmntent
74914         tests succeeds.  Instead, just fall through and continue with the
74915         remaining tests.
74916
74917 2001-09-23  Jim Meyering  <meyering@lucent.com>
74918
74919         * lib/mountlist.c: Remove useless parentheses in #if directives.
74920         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74921         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74922
74923 2001-09-22  Jim Meyering  <meyering@lucent.com>
74924
74925         * m4/gettext.m4: New file.  From gettext.
74926         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
74927         * m4/progtest.m4: Likewise
74928         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
74929         * m4/glibc21.m4: Likewise.
74930
74931         * m4/libintl.m4: Remove.  No longer used.
74932
74933 2001-09-22  Jim Meyering  <meyering@lucent.com>
74934
74935         * lib/localcharset.c: Update from latest gettext.
74936         * lib/config.charset: Likewise.
74937
74938 2001-09-20  Jim Meyering  <meyering@lucent.com>
74939
74940         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
74941         strtoimax.
74942         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
74943         strtoumax.
74944
74945 2001-09-20  Jim Meyering  <meyering@lucent.com>
74946
74947         * lib/xstrtol.c (strtoimax): Guard declaration with
74948         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
74949         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
74950         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
74951         (strtoumax): Likewise, for completeness (it wasn't necessary).
74952
74953 2001-09-17  Paul Eggert  <eggert@twinsun.com>
74954
74955         * lib/strtoimax.c (HAVE_LONG_LONG):
74956         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
74957         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
74958         to work around bug in IBM C compiler.
74959
74960 2001-09-17  Jim Meyering  <meyering@lucent.com>
74961
74962         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
74963         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
74964         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
74965         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
74966         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
74967         whenever the right hand side need not be expanded by the shell.
74968
74969 2001-09-16  Paul Eggert  <eggert@twinsun.com>
74970
74971         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
74972         library.  It's not correct, as some older glibcs are buggy.
74973         fnmatch wasn't fixed until glibc 2.2.
74974
74975         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
74976         special shell magic here.
74977
74978 2001-09-16  Jim Meyering  <meyering@lucent.com>
74979
74980         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
74981         * m4/jm-macros.m4: Require it.
74982
74983 2001-09-16  Jim Meyering  <meyering@lucent.com>
74984
74985         * lib/mkdir.c: New file.
74986
74987 2001-09-15  Jim Meyering  <meyering@lucent.com>
74988
74989         * m4/jm-macros.m4: Check for help2man.
74990
74991 2001-09-11  Jim Meyering  <meyering@lucent.com>
74992
74993         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
74994         The body, by Paul Eggert, was moved here from configure.in.
74995         * m4/jm-macros.m4: Require UTILS_HOST_OS.
74996
74997 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74998
74999         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
75000         (jm_PREREQ): Use it.
75001
75002 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75003
75004         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
75005         Use ssize_t, not int, to store result of readlink.
75006         Check for ssize_t overflow as well as size_t overflow,
75007         as POSIX says the result of readlink is implementation-defined
75008         when ssize_t overflows.
75009         Remove unnecessary cast to char*.
75010         Use free+malloc instead of realloc, as the storage doesn't need
75011         to be preserved and it's clearer and can be more efficient that way.
75012         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
75013         * lib/xreadlink.h (xreadlink): Update prototype.
75014
75015 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75016
75017         * lib/xgetcwd.c: Revert some of the previous change; intead,
75018         fix the HAVE_GETCWD_NULL code to behave more like the
75019         !HAVE_GETCWD_NULL code used to.
75020
75021         Include "xalloc.h".
75022         (xgetcwd): Do not return NULL when memory is exhausted; instead,
75023         invoke xalloc_die.
75024
75025 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75026
75027         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
75028         sys/param.h, as pathmax.h includes them.
75029
75030 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75031
75032         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
75033         (jm_PREREQ_XGETCWD): New macro.
75034
75035         * m4/getcwd.m4: New file.
75036
75037 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75038
75039         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
75040         like the HAVE_GETCWD_NULL code.
75041         Include pathmax.h if not HAVE_GETCWD.
75042         Do not include xalloc.h.
75043         (INITIAL_BUFFER_SIZE): New symbol.
75044         Do not use xmalloc / xrealloc, since the caller is responsible for
75045         handling errors.  Preserve errno around `free' during failure.
75046         Do not overrun buffer when using getwd.
75047
75048 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75049
75050         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
75051         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
75052         getcwd (NULL, 0).
75053
75054 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75055
75056         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
75057         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
75058         spotted by Jim Meyering.
75059
75060 2001-09-03  Jim Meyering  <meyering@lucent.com>
75061
75062         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
75063         failure.
75064
75065 2001-09-02  Jim Meyering  <meyering@lucent.com>
75066
75067         * lib/error.c: Update from GNU libc.
75068
75069 2001-09-01  Jim Meyering  <meyering@lucent.com>
75070
75071         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
75072         Used by df.
75073
75074 2001-09-01  Jim Meyering  <meyering@lucent.com>
75075
75076         * lib/xreadlink.c: New file.
75077         * lib/xreadlink.h: New file.
75078         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
75079         xreadlink.h.
75080
75081         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
75082         doesn't conflict with sparc Solaris 7's definition in
75083         /usr/include/sys/int_types.h.
75084
75085         * lib/exclude.c: Use `""', not `<>' to #include non-system header
75086         files.
75087         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
75088         and strncasecmp as r-values.  Unixware didn't have declarations.
75089
75090 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75091
75092         * lib/xstrtol.h: Add copyright notice.
75093         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
75094         LONGINT_INVALID_SUFFIX_CHAR.
75095
75096 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75097
75098         * lib/xstrtol.c (strtoimax): New decl.
75099
75100 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75101
75102         * lib/xgetcwd.c: Don't include pathmax.h.
75103         Include stdlib.h and unistd.h if available.
75104         Include xalloc.h.
75105         (xmalloc, xstrdup, free): Remove decls.
75106         (xgetcwd): Don't assume sizes fit in unsigned.
75107         Check for overflow when computing sizes.
75108         Simplify reallocation code.
75109
75110 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75111
75112         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
75113         a directory's st_size can have an arbitrary value, so the old
75114         usage could waste an arbitrary amount of memory.  All uses
75115         changed.
75116         * lib/savedir.h: Update prototype.
75117
75118 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75119
75120         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
75121
75122         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
75123         old strtoimax.c.
75124
75125         Also, make the following further changes to make this file's
75126         configuration more similar to that of strtol.c:
75127         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
75128         (strtoumax, uintmax_t, strtoull, strtol): Remove.
75129         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
75130         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
75131         changed to signed values.
75132
75133         And make the following changes as well:
75134         Fix copyright notice, as 1999 was missing.
75135         (verify): New macro.
75136         (strtoimax): Check sizes at compile-time, not run-time.
75137         Prefer strtol to strtoll if both work.
75138         (main): Remove; it was not that useful and was a pain to maintain.
75139
75140         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
75141
75142 2001-08-31  Jim Meyering  <meyering@lucent.com>
75143
75144         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
75145         Use an initial, malloc'd, buffer of length 128 rather than
75146         a statically allocated one of length 1024.
75147
75148 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75149
75150         Simplify code, partly by assuming autoconf 2.52 semantics.
75151
75152         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
75153
75154         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
75155         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
75156         All uses removed.
75157         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
75158         Move AC_REQUIRE to next-to-top level, to avoid confusion.
75159         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
75160         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
75161         jm_AC_HEADER_INTTYPES_H.
75162         * m4/jm-macros.m4 (jm_MACROS): Likewise.
75163
75164         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
75165
75166         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75167         Quote first arg of AC_DEFUN.
75168         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
75169         since they are needed to parse the include file even if we need
75170         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
75171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
75172         but with opposite signedness.
75173
75174 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75175
75176         Merge 'exclude' changes from tar 1.13.22.
75177         This fixes one or two unlikely storage allocation overflow bugs,
75178         but doesn't change user-visible behavior otherwise.
75179
75180 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75181
75182         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
75183         (jm_PREREQ_EXCLUDE): New macro.
75184
75185 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75186
75187         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
75188         tm to be declared.
75189
75190 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75191
75192         * lib/hash.c: Remove '2001' from copyright notice.
75193
75194 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75195
75196         * lib/full-write.h: New file.
75197         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
75198         * lib/full-write.c: Correct credits, as cccp.c no longer
75199         exists and anyway it was so heavily changed from the old cccp
75200         code as to be unrecognizable.  Include full-write.h.
75201         (full_write) Return size_t, with short writes meaning failure.
75202         All callers changed.  This fixes a bug with large buffers
75203         on 64-bit hosts.
75204         * lib/utime.c: Include full-write.h.
75205
75206 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75207
75208         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
75209         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
75210         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
75211         Include if available.
75212         (<xalloc.h>): Include
75213         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
75214         (verify): New macro.  Use it to verify that EXCLUDE macros do not
75215         collide with FNM macros.
75216         (struct patopts): New struct.
75217         (struct exclude): Use it, as exclude patterns now come with options.
75218         (new_exclude): Support above changes.
75219         (new_exclude, add_exclude_file):
75220         Initial size must now be a power of two to simplify overflow checking.
75221         (free_exclude, fnmatch_no_wildcards): New function.
75222         (excluded_filename): No longer requires options arg, as the options
75223         are determined by add_exclude.  Now returns bool, not int.
75224         (excluded_filename, add_exclude):
75225         Add support for the fancy new exclusion options.
75226         (add_exclude, add_exclude_file): Now takes int options arg.
75227         Check for arithmetic overflow when computing sizes.
75228         (add_exclude_file): xrealloc might modify errno, so don't
75229         realloc until after errno might be used.
75230
75231         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
75232         New macros.
75233         (free_exclude): New decl.
75234         (add_exclude, add_exclude_file): Now takes int options arg.
75235         (excluded_filename): No longer requires options arg, as the options
75236         are determined by add_exclude.  Now returns bool, not int.
75237
75238 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75239
75240         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
75241
75242 2001-08-27  Jim Meyering  <meyering@lucent.com>
75243
75244         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
75245
75246         * lib/version-etc.c (N_): Remove definition.
75247         Revert most of last change.
75248         Instead, simply don't mark the `Copyright...' string for translation.
75249         Based on advice from Paul Eggert.
75250
75251         * lib/strtoxmax.c: Tweak comment.
75252
75253 2001-08-26  Jim Meyering  <meyering@lucent.com>
75254
75255         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
75256
75257         * m4/xstrtoimax.m4: New file.
75258         * m4/xstrtoumax.m4: Add comments explaining why we
75259         AC_REPLACE_FUNCS(strtol).
75260
75261 2001-08-26  Jim Meyering  <meyering@lucent.com>
75262
75263         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
75264         of copyright with `%s' so translators don't get an untranslated
75265         message in 2002.
75266         (COPYRIGHT_YEAR): Define.
75267         (version_etc): Use fprintf rather than fputs.
75268         Suggestion from Ulrich Drepper.
75269
75270         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
75271
75272         * lib/strtoll.c: New file, from GNU libc.
75273         * lib/xstrtoimax.c: New file.
75274
75275         * lib/xstrtol.h: Add xstrtoimax.
75276         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
75277         * lib/strtoimax.c: New file.  Likewise, but first define
75278         STRTOUXMAX_SIGNED.
75279
75280         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
75281         ...
75282         * lib/strtoxmax.c: ... then renamed to this.
75283
75284 2001-08-18  Paul Eggert  <eggert@twinsun.com>
75285
75286         * m4/inttypes.m4: Add AC_PREREQ(2.13).
75287         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
75288         (jm_AC_TYPE_INTMAX_T): New macro.
75289         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
75290
75291         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
75292
75293         * m4/longlong.m4: Renamed from ulonglong.m4.
75294         * m4/inttypes.m4: Renamed from inttypes_h.m4.
75295         * m4/uintmax_t.m4: Removed.
75296
75297 2001-08-13  Paul Eggert  <eggert@twinsun.com>
75298
75299         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
75300         Port to Solaris 8, where 'sed' requires a space after the 'r'
75301         command, and where sh dislikes "$/".  Clean up the spacing a bit.
75302         Redirect output to $tmp just once.
75303
75304 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
75305
75306         * lib/addext.c (<errno.h>): Include.
75307         (errno): Declare if not defined.
75308         (addext): Work correctly when pathconf returns -1 and leaves
75309         errno alone because there is no limit.  Also, work even if
75310         pathconf returns a value greater than SIZE_MAX.
75311
75312 2001-08-12  Jim Meyering  <meyering@lucent.com>
75313
75314         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
75315         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
75316         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
75317         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
75318         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
75319         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
75320         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
75321         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
75322         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
75323         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
75324         utime.m4, utimes.m4, xstrtoumax.m4:
75325         Quote the first argument in each use of AC_DEFUN.
75326
75327 2001-08-12  Jim Meyering  <meyering@lucent.com>
75328
75329         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
75330         Simply `return getcwd (NULL, 0);'.
75331         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
75332         Use 1300 as initial value for length, not PATH_MAX.
75333
75334         * lib/pathmax.h: Clean up cpp syntax.
75335
75336 2001-08-12  Jim Meyering  <meyering@lucent.com>
75337
75338         * lib/gettimeofday.c: New file.
75339         * lib/gtod.h: New file.
75340         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
75341
75342 2001-08-05  Jim Meyering  <meyering@lucent.com>
75343
75344         * m4/jm-macros.m4: Require autoconf-2.52.
75345
75346 2001-08-04  Jim Meyering  <meyering@lucent.com>
75347
75348         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
75349         stmt, to get in sync with glibc.
75350
75351 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75352
75353         The following changes are from gettext 0.10.39 as maintained by
75354         Bruno Haible.
75355
75356         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
75357         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
75358         with inverted sense.  All uses changed.
75359
75360         * lib/mbswidth.c: Don't include <limits.h>.
75361         Include <stdlib.h> and <string.h> unconditionally.
75362         (iswcntrl, mbsinit, ISCNTRL): New macros.
75363         (mbsnwidth): Use K&R style function declarations.
75364         Don't bother checking for MB_LEN_MAX == 1, since the compiler
75365         can optimize it when MB_CUR_MAX == 1.
75366         The width of control characters is zero, not 1.
75367
75368 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75369
75370         The following changes are from gettext 0.10.39 as maintained by
75371         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
75372
75373         * m4/codeset.m4: Upgrade to serial AM1.
75374         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
75375         all uses changed.  Quote first arg of AC_DEFUN.
75376         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
75377
75378         * m4/iconv.m4: Upgrade to serial AM2.
75379         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
75380         Add --with-libconv-prefix.
75381         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
75382         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
75383         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
75384         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
75385         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
75386
75387         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
75388         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
75389         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
75390         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
75391         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
75392         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
75393         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
75394         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
75395         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75396
75397         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
75398         string.h any more.
75399
75400         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
75401         not the default value.
75402
75403         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
75404         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
75405         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
75406         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
75407         Also check for iswcntrl, used for wcwidth fallback.
75408         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
75409         to Autoconf 2.13.
75410
75411 2001-08-03  Jim Meyering  <meyering@lucent.com>
75412
75413         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
75414         as it was in the original.  Reported by Paul Eggert.
75415
75416 2001-07-16  Jim Meyering  <meyering@lucent.com>
75417
75418         * m4/gettimeofday.m4: New file.
75419         Prompted by a report from Bernhard Baehr.
75420
75421 2001-07-15  Jim Meyering  <meyering@lucent.com>
75422
75423         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
75424         stuff. Now it's in ../Makefile.cfg.
75425
75426 2001-07-15  Jim Meyering  <meyering@lucent.com>
75427
75428         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
75429         (BUILT_SOURCES): Add unlocked-io.h.
75430         (io_functions): Define.
75431         (unlocked-io.h): New rule.
75432         (DISTCLEANFILES): Add unlocked-io.h.
75433         (all-local): Depend on unlocked-io.h, to ensure it is created.
75434
75435         * lib/unlocked-io.hin: New file
75436
75437         * lib/regex.c: Update from glibc.
75438
75439 2001-07-05  Jim Meyering  <meyering@lucent.com>
75440
75441         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
75442         recommendation.
75443         (libfetish_a_SOURCES): Put all .h files here instead.
75444         Remove a thus-exposed (better checks in automake) duplicate and
75445         two unnecessary .h files.
75446
75447 2001-07-04  Jim Meyering  <meyering@lucent.com>
75448
75449         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
75450         that generates jm-glibc-io.m4 so that it doesn't trigger any make
75451         distcheck failure.
75452
75453 2001-07-02  Jim Meyering  <meyering@lucent.com>
75454
75455         The following changes were prompted by suggestions from Bruno Haible.
75456
75457         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
75458         is now generated.
75459         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
75460         definition of EXTRA_DIST.
75461         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
75462         ensure that the generated file is created/updated whenever the list
75463         of $(unlocked_functions) is changed.
75464         (jm-glibc-io.m4): New rule.
75465         (unlocked-io.h): New rule -- currently unused.
75466
75467 2001-06-24  Jim Meyering  <meyering@lucent.com>
75468
75469         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
75470         unmatched right bracket, rather than kludging it with an extra,
75471         falsely-matching quote in a comment.  Patch by Akim Demaille.
75472
75473 2001-06-11  Jim Meyering  <meyering@lucent.com>
75474
75475         * lib/regex.c: Update from GNU libc.
75476
75477 2001-05-27  Jim Meyering  <meyering@lucent.com>
75478
75479         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
75480         Check for ut_type in struct utmp.
75481
75482 2001-05-27  Jim Meyering  <meyering@lucent.com>
75483
75484         * lib/readutmp.h (UT_TYPE): Define.
75485
75486 2001-05-24  Jim Meyering  <meyering@lucent.com>
75487
75488         * lib/argmatch.c: Include "quote.h".
75489         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
75490         quote function.  Reported by Göran Uddeborg.
75491
75492 2001-05-22  Jim Meyering  <meyering@lucent.com>
75493
75494         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
75495         now that we use the package-supplied version unconditionally.
75496         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
75497
75498 2001-05-21  Jim Meyering  <meyering@lucent.com>
75499
75500         * m4/regex.m4: Change a couple backticks to single quotes to avoid
75501         shell syntax errors.
75502
75503 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75504
75505         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
75506
75507 2001-05-20  Paul Eggert  <eggert@twinsun.com>
75508
75509         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
75510         Don't bother to check library strftime, since
75511         we'll be using our own my_strftime function anyway.
75512         Define my_strftime instead of strftime.
75513
75514 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
75515
75516         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
75517         which is not yet declared.
75518
75519 2001-05-15  Jim Meyering  <meyering@lucent.com>
75520
75521         * m4/regex.m4: Use proper quoting so brackets appear in the test
75522         program.
75523         Reported by, and with help from, Bruno Haible.
75524
75525 2001-05-13  Jim Meyering  <meyering@lucent.com>
75526
75527         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
75528         undefined.
75529
75530 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75531
75532         dirname code cleanup.  base_name now behaves more compatibly
75533         with POSIX basename when given file names that have trailing
75534         slashes, and similarly for dir_name.  Add new primitives
75535         base_len and dir_len.  Put the directory-name-related decls
75536         into dirname.h.
75537
75538         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
75539         * lib/backupfile.c (base_name): Likewise.
75540         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
75541         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
75542         * lib/makepath.c (strip_trailing_slashes): Likewise.
75543         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
75544         ISSLASH): Likewise.
75545         * lib/rename.c (strip_trailing_slashes): Likewise.
75546         * lib/same.c (base_name): Likewise.
75547         * lib/stripslash.c (ISSLASH): Likewise.
75548
75549         * lib/addext.c: Include <dirname.h> after size_t is defined.
75550         * lib/backupfile.c: Likewise.
75551
75552         * lib/addext.c (addext): Use base_len to trim redundant
75553         trailing slashes instead of doing it ourselves.
75554         But do not trim the last slash if it is not redundant.
75555
75556         * lib/backupfile.c (find_backup_file_name,
75557         max_backup_version): Use base_len instead of rolling it ourselves.
75558         Handle the case of "" and (on DOS) "C:" correctly.
75559
75560         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
75561         needed. Include <string.h>, <dirname.h>.
75562         (base_name): Allow file names ending in slashes, other than names
75563         that are all slashes.  In this case, return the basename followed
75564         by the slashes.  This is more general, and can be used in places
75565         where the original base_name purposely had an assertion failure.
75566         (base_len): New function.
75567
75568         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
75569         Do not include <assert.h>; no longer needed.
75570         Include xalloc.h.
75571         (memrchr): Remove decl.
75572         (dir_name_r): Remove.
75573         (dir_len): Renamed from dirlen.  All callers changed.
75574         Rewrite in terms of base_name, for simplicity and consistency.
75575         (dir_name): Never return NULL.  All callers changed.
75576         Do not include <stdlib.h> in test program; no longer needed.
75577         return 0; is fine for test program.
75578
75579         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
75580         New macros.
75581         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
75582
75583         * lib/path-concat.c (path_concat): Use base_len to compute
75584         base length, not strlen; this means we cannot rely on memcpy
75585         to null-terminate.
75586
75587         * lib/same.c (STREQ): Remove.
75588         (same_name): Handle the case where the basename ends in trailing '/'.
75589
75590         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
75591         a slash was stripped.  Do not strip the last slash after a
75592         file system prefix.
75593
75594 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75595
75596         * lib/Makefile.am (libfetish_a_SOURCES):
75597         Add strftime.c, since we now compile it on all hosts.
75598
75599         * lib/strftime.c (my_strftime):
75600         Define to nstrftime if emacs, but only if my_strftime is not defined.
75601         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
75602         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
75603         Add one more extra argument: a nanoseconds value.
75604         All uses changed.
75605         (ns): New macro.
75606         (my_strftime function): Add %N format.
75607         (emacs_strftimeu): Renamed from emacs_strftime,
75608         with extra ut argument.
75609
75610 2001-05-09  Paul Eggert  <eggert@twinsun.com>
75611
75612         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
75613
75614 2001-04-21  Jim Meyering  <meyering@lucent.com>
75615
75616         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
75617         doesn't interfere.
75618
75619 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75620
75621         * m4/ftruncate.m4: Check for chsize.
75622         Link with ftruncate.o unconditionally if ftruncate is missing.
75623         This was required when cross-compiling to i586-mingw32msvc.
75624
75625 2001-04-08  Jim Meyering  <meyering@lucent.com>
75626
75627         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
75628         recomputed; that's necessary when the offset spans a DST transition.
75629         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
75630
75631 2001-04-02  Jim Meyering  <meyering@lucent.com>
75632
75633         * lib/regex.h, regex.c: Update from GNU libc.
75634
75635 2001-03-24  Jim Meyering  <meyering@lucent.com>
75636
75637         * m4/jm-macros.m4: Require autoconf-2.49d.
75638
75639 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
75640
75641         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
75642
75643 2001-03-19  Paul Eggert  <eggert@twinsun.com>
75644
75645         * lib/version-etc.c (version_etc_copyright): Update to 2001.
75646
75647 2001-03-17  Jim Meyering  <meyering@lucent.com>
75648
75649         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
75650         now that the version in autoconf is equivalent.
75651         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
75652
75653         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
75654         Suggestion from Akim Demaille.
75655
75656         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
75657         (jm_PREREQ_TEMPNAME): New function.
75658
75659 2001-03-16  Paul Eggert  <eggert@twinsun.com>
75660
75661         * lib/tempname.c (uint64_t): Define to uintmax_t if
75662         not defined, and if UINT64_MAX is not defined.
75663         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
75664         Reported by John David Anglin.
75665
75666 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
75667
75668         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
75669         resolve alias if codeset is empty.
75670         * lib/config.charset (BeOS): Use wildcard syntax.
75671
75672 2001-03-13  Jim Meyering  <meyering@lucent.com>
75673
75674         * lib/path-concat.c (path_concat)
75675         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
75676         concatenating e.g., `C:' and `foo'.
75677         From Bruno Haible.
75678
75679 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75680
75681         * lib/localcharset.c (locale_charset): Don't use
75682         setlocale(LC_CTYPE,NULL). Don't return NULL.
75683         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
75684
75685 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75686
75687         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
75688         support for DOS/DJGPP.
75689
75690 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75691
75692         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75693         lacks mkstemp.  Compile our own tempname.c if we compile our own
75694         mkstemp.c, as mkstemp relies on tempname.
75695
75696 2001-03-01  Jim Meyering  <meyering@lucent.com>
75697
75698         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75699         AH_VERBATIM really does output its argument verbatim.
75700
75701 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75702
75703         * lib/Makefile.am (libfetish_a_SOURCES):
75704         Add dup-safer.c, fopen-safer.c.
75705         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75706
75707         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75708         * lib/unistd-safer.h: New files.
75709
75710 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75711
75712         The mkstemp replacement is taken from glibc 2.2.2, with some
75713         portability fixes for use outside glibc, as follows:
75714
75715         * lib/tempname.c (struct_stat64): New macro.
75716         (direxists, __gen_tempname): Use it.
75717         This avoids a portability problem with Solaris 8.
75718
75719         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75720         (<stddef.h>, <stdint.h>, <string.h>):
75721         Include only if STDC_HEADERS || _LIBC.
75722         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75723         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75724         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75725         (__set_errno): Define this macro if <errno.h> doesn't.
75726         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75727         Define these macros if <stdio.h> doesn't.
75728         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75729         Define these macros if <sys/stat.h>
75730         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75731         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75732         __xstat64): Define if not _LIBC.
75733         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75734         (__gen_tempname): Invoke gettimeofday only if
75735         HAVE_GETTIMEOFDAY || _LIBC;
75736         otherwise, fall back on plain "time".
75737         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75738
75739         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75740
75741         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75742
75743 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75744
75745         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75746
75747 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75748
75749         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75750         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75751         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75752         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75753
75754 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75755
75756         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75757         Remove workaround macros for hosts that have mbrtowc but not
75758         mbstate_t, as we now insist on proper declarations for both
75759         before using mbrtowc.
75760
75761 2001-02-17  Jim Meyering  <meyering@lucent.com>
75762
75763         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75764         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75765         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75766         UnixWare 7.1.1.
75767
75768         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75769         rather than AC_CACHE_VAL.
75770
75771 2001-02-17  Jim Meyering  <meyering@lucent.com>
75772
75773         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75774         around included file name.
75775
75776         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75777
75778         * lib/strftime.c: Update from GNU libc (the only changes were to
75779         comments).
75780
75781 2001-02-17  Jim Meyering  <meyering@lucent.com>
75782
75783         * lib/regex.c: Update from libc.
75784
75785 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75786
75787         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75788         clash.
75789
75790 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75791
75792         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75793         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75794         Reported by Mark Hounschell via Paul Eggert.
75795
75796 2001-02-07  Jim Meyering  <meyering@lucent.com>
75797
75798         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75799
75800 2001-02-05  Jim Meyering  <meyering@lucent.com>
75801
75802         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75803         it includes the patch required for `large file' support with at least
75804         HP-UX's 10.20 /bin/cc.
75805
75806 2001-02-03  Jim Meyering  <meyering@lucent.com>
75807
75808         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75809         AS_IF, now that it works once again (mysteriously).
75810         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75811
75812 2001-01-30  Jim Meyering  <meyering@lucent.com>
75813
75814         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75815         * m4/chown.m4: Rename conftestchown to conftest.chown.
75816         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75817         s/conftestdir2/conftest.d2/.
75818         * m4/utimes.m4: s/conftestdata/conftest.data/
75819         Inspired by Pavel Roskin's change in autoconf.
75820
75821 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75822
75823         * lib/config.charset: Update for FreeBSD 4.2.
75824
75825 2001-01-27  Jim Meyering  <meyering@lucent.com>
75826
75827         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75828         a use of AS_IF.
75829         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75830
75831 2001-01-26  Jim Meyering  <meyering@lucent.com>
75832
75833         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75834         quotearg.c includes it.
75835
75836 2001-01-26  Jim Meyering  <meyering@lucent.com>
75837
75838         * lib/quotearg.c: Include stddef.h.
75839         * lib/quote.c: Include stddef.h.
75840         Reported by Axel Kittenberger.
75841
75842         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75843         line in double quotes so that it evokes a better diagnostic.
75844         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75845         Reported by Axel Kittenberger.
75846
75847 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75848
75849         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75850         as if it was a `charset'.
75851
75852 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75853
75854         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75855         has const.
75856
75857 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75858
75859         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75860         to avoid a warning.  Add back 'const' to inptr.
75861
75862 2001-01-20  Jim Meyering  <meyering@lucent.com>
75863
75864         Be sure that headers are checked before used in code compiled
75865         for the type checks.
75866         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75867         In place of that, invoke jm_CHECK_ALL_TYPES.
75868         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75869         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75870         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75871         The check for ssize_t was mistakenly run before the test for unistd.h.
75872
75873         The configure-time check for stdbool.h was missing.
75874         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75875         (jm_PREREQ_HASH): New function.
75876
75877 2001-01-17  Jim Meyering  <meyering@lucent.com>
75878
75879         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75880         for autoconf-2.49c.
75881         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75882
75883 2001-01-16  Jim Meyering  <meyering@lucent.com>
75884
75885         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75886         From Bruno Haible.
75887
75888 2001-01-14  Jim Meyering  <meyering@lucent.com>
75889
75890         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75891         foo and bar.  Create conftestdir/ in the script, not in the C code.
75892         Remove directories in the script, not in the C code.
75893         Remove conftestdir{,2} before trying to create the directory.
75894         Make the entire configure script fail if the mkdir fails.
75895
75896 2001-01-14  Jim Meyering  <meyering@lucent.com>
75897
75898         * lib/rename.c: New file.  From Volker Borchert.
75899         Include stdlib.h, string.h or strings.h, and xalloc.h.
75900         Use strip_trailing_slashes rather than open-coding it.
75901
75902 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75903
75904         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75905
75906 2001-01-03  Jim Meyering  <meyering@lucent.com>
75907
75908         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75909         of local `inptr' to avoid warning with some system declarations of
75910         iconv.
75911
75912 2001-01-02  Volker Borchert  <bt@teknon.de>
75913
75914         * m4/rename.m4: New file.
75915         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75916
75917 2001-01-01  Jim Meyering  <meyering@lucent.com>
75918
75919         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75920         even on systems with utmpx.h.  It's necessary for the declaration of
75921         utmp's ut_user member.  Reported by Andreas Jaeger.
75922
75923         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75924         available. They are required for the declarations of getgrgid and
75925         getpwuid resp.
75926         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
75927         Reported by Andreas Jaeger.
75928
75929 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
75930
75931         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
75932         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
75933         so `make install' also works in VPATH builds.
75934
75935 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
75936
75937         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
75938         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
75939         can be used in subdirectories.
75940
75941 2000-12-29  Paul Eggert  <eggert@twinsun.com>
75942
75943         * lib/modechange.c: Do not assume that mode_t uses the
75944         traditional octal encoding.  E.g. "chmod 1 FOO" should set
75945         the other-execute bit of FOO even if S_IXOTH != 1.
75946
75947         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
75948         WOTH, XOTH, ALLM): New macros.
75949         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
75950          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
75951         Use them.
75952         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
75953         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
75954         (mode_compile):
75955         No need to use uintmax_t; unsigned long is long enough.
75956         Don't bother to get suffix since we don't use it.
75957
75958 2000-12-26  Jim Meyering  <meyering@lucent.com>
75959
75960         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
75961         better with autoheader.
75962
75963 2000-12-24  Jim Meyering  <meyering@lucent.com>
75964
75965         * lib/hash.c (is_prime): Return explicit boolean values.
75966         (hash_get_first): Return NULL to appease Irix5.6's 89.
75967         Reported by Nelson Beebe.
75968
75969 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
75970
75971         * lib/localcharset.c (locale_charset): Add support for Win32.
75972
75973 2000-12-18  Paul Eggert  <eggert@twinsun.com>
75974
75975         * lib/physmem.h, lib/physmem.c: New files.
75976
75977         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
75978         (noinst_HEADERS): Add physmem.h.
75979
75980         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
75981         't' for compatibility with Solaris 8 sort.
75982
75983 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
75984
75985         * lib/config.charset: Add support for BeOS.
75986
75987 2000-12-17  Jim Meyering  <meyering@lucent.com>
75988
75989         * m4/dos.m4 (jm_AC_DOS): New file and macro.
75990         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
75991
75992 2000-12-16  Jim Meyering  <meyering@lucent.com>
75993
75994         This bug had a serious impact on chown: `chown N:M FILE' (for integer
75995         N and M) would have treated it like `chown N:N FILE'.
75996
75997         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
75998
75999 2000-12-16  Jim Meyering  <meyering@lucent.com>
76000
76001         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
76002         SHELLS_FILE to a file name that's useful on djgpp systems.
76003         Include stdlib.h.
76004         (ADDITIONAL_DEFAULT_SHELLS): Define.
76005         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
76006         Based mostly on a patch from Prashant TR.
76007
76008 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
76009
76010         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
76011         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
76012         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
76013
76014 2000-12-08  Andreas Schwab  <schwab@suse.de>
76015
76016         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
76017         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
76018
76019 2000-12-07  Jim Meyering  <meyering@lucent.com>
76020
76021         * lib/stripslash.c (ISSLASH): Define.
76022         (strip_trailing_slashes): Use ISSLASH rather than comparing against
76023         `/'.
76024         From Prashant TR.
76025
76026         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76027         (dir_name_r): Declare this function as static.
76028         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
76029         manifest itself on a name containing a mix of slashes and
76030         backslashes.
76031         Make this function work with names starting with a DOS-style
76032         drive letter and colon prefix.
76033         (dir_name): Append `.' if necessary.
76034         Based mostly on patches from Prashant TR and Eli Zaretskii.
76035
76036         * lib/dirname.h (dir_name_r): Remove prototype.
76037
76038 2000-12-06  Paul Eggert  <eggert@twinsun.com>
76039
76040         * m4/off_t-format.m4: Remove this file.
76041         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
76042
76043 2000-12-06  Jim Meyering  <meyering@lucent.com>
76044
76045         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
76046         replacement strtoull, we may well need the replacement strtoul, too.
76047         Check for declarations of strtoul and strtoull.
76048         Check for strtol.  Mainly as a cue to cause automake to include
76049         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
76050         Check for limits.h -- strtol.c needs it.
76051
76052 2000-12-05  Jim Meyering  <meyering@lucent.com>
76053
76054         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
76055
76056 2000-12-04  Jim Meyering  <meyering@lucent.com>
76057
76058         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
76059         Also include memory.h, stdlib.h, unistd.h if appropriate.
76060         Reported by Andreas Jaeger (conflicting declaration of malloc).
76061
76062 2000-12-02  Jim Meyering  <meyering@lucent.com>
76063
76064         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
76065         * m4/jm-macros.m4 (jm_MACROS): require it.
76066
76067 2000-12-02  Jim Meyering  <meyering@lucent.com>
76068
76069         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
76070
76071 2000-12-01  Paul Eggert  <eggert@twinsun.com>
76072
76073         * lib/memrchr.c: Include <config.h> before any system include file.
76074
76075 2000-11-30  Jim Meyering  <meyering@lucent.com>
76076
76077         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
76078
76079 2000-11-30  Jim Meyering  <meyering@lucent.com>
76080
76081         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
76082
76083 2000-11-29  Paul Eggert  <eggert@twinsun.com>
76084
76085         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
76086
76087 2000-11-26  Jim Meyering  <meyering@lucent.com>
76088
76089         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
76090
76091 2000-11-22  Paul Eggert  <eggert@twinsun.com>
76092
76093         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
76094         size of (size_t) -1; it's not portable.
76095
76096 2000-11-17  Jim Meyering  <meyering@lucent.com>
76097
76098         * lib/strstr.c: Update from GNU libc.
76099
76100 2000-11-17  Akim Demaille  <akim@epita.fr>
76101
76102         * lib/obstack.h: Formatting changes.
76103         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
76104         prevent type checking.
76105         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
76106         cast the value to (void *): assigning a `foo *' to a `void *'
76107         variable is valid.
76108         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
76109
76110 2000-11-16  Jim Meyering  <meyering@lucent.com>
76111
76112         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
76113
76114 2000-11-11  Jim Meyering  <meyering@lucent.com>
76115
76116         * lib/error.c: Add a couple #includes, merging from GNU libc version.
76117
76118 2000-11-10  Jim Meyering  <meyering@lucent.com>
76119
76120         * lib/obstack.h: Update from GNU libc.
76121         * lib/obstack.c: Likewise.
76122
76123 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
76124
76125         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
76126
76127 2000-11-06  Paul Eggert  <eggert@twinsun.com>
76128
76129         * lib/getusershell.c (setusershell): Use rewind rather than
76130         fseek/fseeko, to avoid configuration hassles with fseeko.
76131         Don't bother opening SHELLS_FILE if shellstream is NULL;
76132         it's not necessary.
76133
76134 2000-11-05  Jim Meyering  <meyering@lucent.com>
76135
76136         * lib/makepath.h (make_dir): Declare.
76137         * lib/makepath.c (make_dir): Remove `static' attribute.
76138         Tweak a comment.
76139
76140 2000-11-04  Jim Meyering  <meyering@lucent.com>
76141
76142         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
76143
76144 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
76145
76146         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
76147         last one in a bucket, advance to the next bucket.
76148
76149 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
76150
76151         * lib/fnmatch.c: Do not comment out all the code if we are using
76152         the GNU C library, because in some cases we are replacing buggy
76153         code in the GNU C library itself.
76154
76155 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
76156
76157         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
76158         (regex_compile): Catch bogus \(\1\).
76159
76160 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76161
76162         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
76163         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
76164         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
76165
76166 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76167
76168         * lib/error.h, getline.h, modechange.h:
76169         Remove "2000" from Copyright line, as the file hasn't been
76170         changed this year other than in the copyright notice.
76171
76172         * lib/xalloc.h: Add "2000" to Copyright line, as this file
76173         was changed this year.
76174
76175 2000-10-29  Jim Meyering  <meyering@lucent.com>
76176
76177         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
76178         renaming.
76179         * m4/ls-mntd-fs.m4: Likewise
76180
76181 2000-10-29  Jim Meyering  <meyering@lucent.com>
76182
76183         * lib/xstat.in: Fix grammar in comment.
76184
76185 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
76186
76187         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
76188         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
76189         doesn't define __restrict_arr.
76190
76191 2000-10-28  Jim Meyering  <meyering@lucent.com>
76192
76193         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
76194         (jm_PREREQ_MEMCHR): New function.
76195
76196 2000-10-28  Jim Meyering  <meyering@lucent.com>
76197
76198         * lib/memchr.c: Update from libc.
76199         Adjust for portability:
76200         [HAVE_STDLIB_H]: Include stdlib.h.
76201         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
76202         Undef __memchr, too.
76203         [!weak_alias]: Define __memchr to memchr.
76204
76205         * lib/regex.c: Update from libc.
76206         * lib/regex.h: Likewise.
76207         * lib/getopt1.c: Likewise.
76208         * lib/memcmp.c: Likewise.
76209
76210         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
76211         Avoid using fseek, when possible -- it's broken by design.
76212         Patch by Ulrich Drepper.
76213
76214 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
76215
76216         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
76217         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
76218         Giving in to popular pressure to shut up the compiler with casts.
76219
76220 2000-10-26  Jim Meyering  <meyering@lucent.com>
76221
76222         * lib/strftime.c: Update from libc.
76223
76224 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
76225
76226         * regex.c: More `unsigned char' -> `re_char' changes.
76227         Also change several `int' into `re_wchar_t'.
76228         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
76229         (PUSH_FAILURE_POINTER): Don't cast any more.
76230         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
76231         We want GCC to complain, since this piece of code makes
76232         re_match non-reentrant, which *should* be fixed.
76233         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
76234         (EXTEND_BUFFER): Use RETALLOC.
76235         (SET_LIST_BIT): Don't cast.
76236         (re_wchar_t): New type.
76237         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
76238         that those two functions will always properly return.
76239         (IMMEDIATE_QUIT_CHECK): Cast to void.
76240         (analyse_first): Use recursion rather than an explicit stack.
76241         (re_compile_fastmap): Can't fail anymore.
76242         (re_search_2): Don't check re_compile_fastmap for failure.
76243         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
76244         Now also sets the new value (passed in a new argument).
76245         (re_match_2_internal): Use it.
76246         Also, use a new var `reg' of type size_t when looping through regs
76247         rather than reuse the inappropriate `mcnt'.
76248
76249 2000-10-25  Jim Meyering  <meyering@lucent.com>
76250
76251         * lib/obstack.c: Update from libc.
76252
76253 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
76254
76255         * regex.c (regex_compile): Change the way of handling a range from
76256         a char less than 256 to a char not less than 256.
76257
76258 2000-10-24  Andrew Innes  <andrewi@gnu.org>
76259
76260         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
76261         NT-Emacs only.
76262         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
76263         so that re_search functions only quit when callers expect them to.
76264
76265 2000-10-23  Jim Meyering  <meyering@lucent.com>
76266
76267         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
76268         wrong.  That set_locale call must not have any side effects.
76269         From Paul Eggert.
76270
76271 2000-10-22  Jim Meyering  <meyering@lucent.com>
76272
76273         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
76274         [CYCLIC]: Remove now-unused definition.
76275
76276         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
76277         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
76278         Suggestion from Ulrich Drepper.
76279
76280 2000-10-21  Jim Meyering  <meyering@lucent.com>
76281
76282         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
76283         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
76284         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
76285
76286 2000-10-21  Jim Meyering  <meyering@lucent.com>
76287
76288         * lib/dirname.c (memrchr): Declare if necessary.
76289         (dir_name): Remove the restriction that there be no
76290         trailing slashes.  Now, this code skips past them, effectively
76291         ignoring them.
76292         [TEST_DIRNAME] (main): New unit tests.
76293
76294         * lib/memrchr.c: New file from GNU libc.
76295         Undef __memrchr, too.
76296         [!weak_alias]: Define __memrchr to memrchr.
76297         Guard weak_alias use with `#ifdef weak_alias'.
76298
76299 2000-10-21  Jim Meyering  <meyering@lucent.com>
76300
76301         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
76302         (dir_name): Use dir_name_r.
76303         * lib/dirname.h (dir_name_r): Declare it.
76304
76305 2000-10-17  Jim Meyering  <meyering@lucent.com>
76306
76307         * lib/quote.h (PARAMS): Define and use.
76308         Reported by Akim Demaille.
76309
76310         * lib/getopt.c: Update from libc.
76311
76312 2000-10-16  Jim Meyering  <meyering@lucent.com>
76313
76314         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
76315         setlocale.
76316         From Jan Fedak.
76317
76318 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
76319
76320         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
76321
76322 2000-09-25  Jim Meyering  <meyering@lucent.com>
76323
76324         * lib/md5.h (rol): Define (from GnuPG).
76325
76326         * lib/sha.c: Give credit (GnuPG) where due.
76327         (M): Use rol rather than open-coding it.
76328         Add a FIXME comment.
76329
76330 2000-09-21  Jim Meyering  <meyering@lucent.com>
76331
76332         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
76333         Reported by Michael Stone.
76334
76335 2000-09-20  Jim Meyering  <meyering@lucent.com>
76336
76337         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
76338         (noinst_HEADERS): Add sha.h.
76339         Based on code from Scott G. Miller and from GnuPG.
76340
76341 2000-09-18  Jim Meyering  <meyering@lucent.com>
76342
76343         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
76344         LIBS. Otherwise, everyone ends up linking with -lelf for some
76345         configurations.
76346         Reported by Mike Stone.
76347
76348 2000-09-15  Jim Meyering  <meyering@lucent.com>
76349
76350         * lib/regex.c: Update from libc.
76351
76352 2000-09-10  Jim Meyering  <meyering@lucent.com>
76353
76354         * lib/getopt.c (_getopt_internal): Update from glibc.
76355
76356 2000-09-09  Jim Meyering  <meyering@lucent.com>
76357
76358         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
76359         think it should be used as a general replacement for isascii.
76360         * lib/fnmatch.c: Likewise.
76361         * lib/mbswidth.c: Likewise
76362         * lib/regex.c: Likewise.
76363
76364         Don't use atoi.
76365         * lib/userspec.c: Include sys/param.h and limits.h.
76366         Include xstrtol.h.
76367         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76368         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
76369         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
76370         UID, GID.  Check range.
76371
76372 2000-09-06  Jim Meyering  <meyering@lucent.com>
76373
76374         * lib/getopt.c (_getopt_internal): Update from glibc.
76375
76376 2000-08-30  Jim Meyering  <meyering@lucent.com>
76377
76378         * lib/strftime.c: Merge in changes from GNU libc.
76379
76380 2000-08-26  Jim Meyering  <meyering@lucent.com>
76381
76382         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
76383         * m4/fpending.m4: New file.
76384
76385 2000-08-26  Jim Meyering  <meyering@lucent.com>
76386
76387         * lib/closeout.c: Include "__fpending.h".
76388         (close_stdout_status): Return right away if there's nothing to flush.
76389
76390         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
76391         * lib/__fpending.c: New file.
76392         * lib/__fpending.h: New file.
76393
76394 2000-08-20  Jim Meyering  <meyering@lucent.com>
76395
76396         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
76397         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
76398         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
76399
76400 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
76401
76402         Improve fileutils installation on systems where running
76403         programs (like install) can't be unlinked.
76404         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
76405         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
76406
76407 2000-08-07  Paul Eggert  <eggert@twinsun.com>
76408
76409         Standardize on "memory exhausted" instead of "Memory exhausted"
76410         or "virtual memory exhausted".
76411         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
76412         "virtual memory exhausted".
76413         * lib/same.c (same_name): Invoke xalloc_die instead of printing
76414         our own message.
76415         * lib/userspec.c (parse_user_spec): Likewise.
76416         * lib/bumpalloc.h: comment fix
76417         * lib/same.c, userspec.c: Include xalloc.h.
76418
76419         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
76420         not char *const and pointing to a constant array.
76421         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
76422         (xrealloc): Comment fix.
76423
76424         * lib/userspec.c (parse_user_spec):
76425         Don't translate a message until just before returning,
76426         to avoid unnecessary translation.
76427
76428 2000-08-07  Jim Meyering  <meyering@lucent.com>
76429
76430         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
76431         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
76432         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
76433         getgroups.c, gethostname.c, getopt.h, group-member.c,
76434         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
76435         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
76436         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
76437         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
76438         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
76439         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
76440         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
76441         yesno.c: Back out Copyright date changes for each file with no change
76442         this year.  This eases coordination with other programs using the same
76443         source code modules.  From Paul Eggert.
76444
76445 2000-08-06  Paul Eggert  <eggert@twinsun.com>
76446
76447         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
76448         not char, for compatibility with glibc 2.1.3 strftime.c.
76449
76450 2000-08-03  Greg McGary  <greg@mcgary.org>
76451
76452         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
76453         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
76454         (EXTEND_BUFFER): Use them.
76455
76456 2000-08-01  Jim Meyering  <meyering@lucent.com>
76457
76458         * lib/dirname.c (ISSLASH): Define.
76459         (BACKSLASH_IS_PATH_SEPARATOR): Define.
76460         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
76461         both `\' and `/' may be use as path separators.
76462         Based on a patch from Prashant TR.
76463
76464 2000-07-31  Paul Eggert  <eggert@twinsun.com>
76465
76466         * lib/quotearg.c (quotearg_n_options): Don't make the initial
76467         slot vector a constant, since it might get modified.
76468
76469 2000-07-31  Jim Meyering  <meyering@lucent.com>
76470
76471         * lib/xmalloc.c: Use `virtual memory exhausted', not
76472         `Memory exhausted'.
76473         * lib/obstack.c (print_and_abort): Likewise.
76474
76475 2000-07-30  Paul Eggert  <eggert@twinsun.com>
76476
76477         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
76478         buffer, so that the caller can always quote one small
76479         component of a "memory exhausted" message in slot 0.
76480         From a suggestion by Jim Meyering.
76481
76482 2000-07-30  Jim Meyering  <meyering@lucent.com>
76483
76484         * lib/makepath.c (make_path): Quote the other instance, too.
76485
76486         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
76487         (STATIC_BUF_SIZE): Define.
76488         (quotearg_n_options): Use only statically allocated storage when
76489         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
76490         than STATIC_BUF_SIZE.
76491
76492 2000-07-29  Jim Meyering  <meyering@lucent.com>
76493
76494         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
76495         * lib/dirname.c (dir_name): Likewise.
76496
76497         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
76498         `/'.
76499
76500         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
76501         (dir_name): Assert that there are no trailing slashes.
76502
76503 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
76504
76505         * lib/mbswidth.h (mbswidth): Add a flags argument.
76506         (mbswidth): New declaration.
76507         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
76508         * lib/mbswidth.c (mbswidth): Add a flags argument.
76509         (mbsnwidth): New function.
76510
76511 2000-07-24  Jim Meyering  <meyering@lucent.com>
76512
76513         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
76514
76515 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76516
76517         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
76518
76519 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76520
76521         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
76522         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
76523         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
76524         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
76525         invoke multibyte primitives.
76526
76527 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76528
76529         * lib/quotearg.c:
76530         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
76531         so that mbstate_t is always defined.
76532
76533         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
76534         be 1 in at least one GCC installation, and this configuration
76535         error is likely to be common.  Ignoring MB_LEN_MAX hurts
76536         performance on hosts that have mbrtowc but have only unibyte
76537         locales, but I assume these hosts are rare.
76538
76539 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76540
76541         * lib/mbswidth.c (_XOPEN_SOURCE):
76542         Don't define; this causes problems on Solaris 7.
76543         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
76544
76545 2000-07-23  Jim Meyering  <meyering@lucent.com>
76546
76547         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
76548         too: getgrgid, getpwuid, getuid.
76549
76550 2000-07-23  Jim Meyering  <meyering@lucent.com>
76551
76552         * lib/basename.c (base_name): Add an assertion.
76553
76554 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
76555
76556         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
76557         shadow its mbsinit function.
76558
76559 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76560
76561         * lib/mbswidth.h: New file.
76562         * lib/mbswidth.c: New file.
76563         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
76564         (noinst_HEADERS): Add mbswidth.h.
76565
76566 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76567
76568         * lib/config.charset: Add support for FreeBSD. Improve support for
76569         HP-UX and IRIX 6.
76570
76571 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
76572
76573         * m4/mbswidth.m4: New file.
76574         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
76575
76576 2000-07-15  Jim Meyering  <meyering@lucent.com>
76577
76578         * lib/makepath.c: Include quote.h.
76579         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
76580         corresponding argument in a `quote (...)' call.
76581         Give better diagnostics.
76582
76583         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
76584         (noinst_HEADERS): Add quote.h.
76585
76586         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
76587         from tar's src/misc.c.
76588         * lib/quote.h: New file.  Prototypes for same.
76589
76590 2000-07-14  Paul Eggert  <eggert@twinsun.com>
76591
76592         From a suggestion by Bruno Haible.
76593         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
76594         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
76595         to decide whether to define the BeOS workaround macro;
76596         this adjusts to the change to AC_MBSTATE_T.
76597
76598 2000-07-14  Jim Meyering  <meyering@lucent.com>
76599
76600         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
76601         jm_AC_TYPE_UINTMAX_T.
76602
76603 2000-07-13  Paul Eggert  <eggert@twinsun.com>
76604
76605         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
76606
76607         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
76608         quotearg_buffer_restyled): Add support for
76609         clocale_quoting_style.  Undo previous change to
76610         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
76611         and "{RIGHT QUOTATION MARK}" msgids.
76612
76613 2000-07-10  Paul Eggert  <eggert@twinsun.com>
76614
76615         From a suggestion by Bruno Haible.
76616         * m4/mbstate_t.m4 (AC_MBSTATE_T):
76617         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
76618         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
76619         and mbstate_t, to a single-part test that simply defines mbstate_t.
76620         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
76621         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
76622
76623 2000-07-10  Jim Meyering  <meyering@lucent.com>
76624
76625         * m4/strerror_r.m4: Mirror the correction made in autoconf.
76626
76627         * m4/gnu-source.m4: Output to confdefs.h directly.
76628         Suggestion from Akim Demaille.
76629
76630 2000-07-09  Paul Eggert  <eggert@twinsun.com>
76631
76632         The old behavior of quoting `like this' doesn't look good with
76633         newer, ISO-style fonts.  See:
76634         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
76635
76636         Instead, quote "like this" by default.  Let the translator
76637         tailor the locale-specific quoting behavior by providing
76638         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
76639
76640         * lib/quotearg.c (N_): New macro.
76641         (gettext_default): New function.
76642         (quotearg_buffer_restyled): Use
76643         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
76644         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
76645
76646 2000-07-09  Jim Meyering  <meyering@lucent.com>
76647
76648         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
76649         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
76650
76651         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
76652         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
76653
76654 2000-07-09  Jim Meyering  <meyering@lucent.com>
76655
76656         * lib/Most files: Update copyright dates to include 2000.
76657
76658 2000-07-08  Jim Meyering  <meyering@lucent.com>
76659
76660         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
76661         if not defined.
76662         (xgethostname): Remove now-unnecessary #ifdef.
76663         Move declaration of `err' into loop where it's used.
76664
76665 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76666         and Bruno Haible  <haible@clisp.cons.org>
76667
76668         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
76669         only if the test for an object-type mbstate_t fails.  This
76670         prevents us from mistakenly reporting that mbstate_t is a
76671         system object type after we "#define mbstate_t int" to work
76672         around its lack.
76673
76674 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76675         and Bruno Haible  <haible@clisp.cons.org>
76676
76677         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
76678
76679 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76680
76681         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
76682         to strerror_r.
76683         Include <ctype.h> for use of isalpha.
76684
76685 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76686
76687         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
76688         by allocating a larger buffer. Test the gethostname return value for
76689         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
76690         returns an error and ENAMETOOLONG isn't defined.
76691
76692 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76693
76694         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76695         dimension.
76696
76697 2000-07-04  Jim Meyering  <meyering@lucent.com>
76698
76699         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76700         of the deprecated AC_CHECKING.
76701
76702 2000-07-04  Jim Meyering  <meyering@lucent.com>
76703
76704         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76705         Reported by Bruno Haible.
76706
76707 2000-07-04  Jim Meyering  <meyering@lucent.com>
76708
76709         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76710         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76711         lacks mbrtowc.
76712
76713 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76714
76715         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76716         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76717
76718 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76719         and Bruno Haible  <haible@clisp.cons.org>
76720
76721         * lib/quotearg.c (mbrtowc):
76722         Assign to *pwc, and return 1 only if result is nonzero.
76723         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76724
76725 2000-07-03  Jim Meyering  <meyering@lucent.com>
76726
76727         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76728
76729 2000-07-03  Jim Meyering  <meyering@lucent.com>
76730
76731         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76732         This is necessary to get a definition of e.g., UTMP_FILE on
76733         HP-UX 10.20.
76734         From Bob Proulx.
76735
76736 2000-07-02  Jim Meyering  <meyering@lucent.com>
76737
76738         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76739
76740         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76741         AC_LIBOBJ(function_name).
76742         * m4/chown.m4: Likewise.
76743         * m4/fnmatch.m4: Likewise.
76744         * m4/ftruncate.m4: Likewise.
76745         * m4/getgroups.m4: Likewise.
76746         * m4/getline.m4: Likewise.
76747         * m4/group-member.m4: Likewise.
76748         * m4/jm-macros.m4: Likewise.
76749         * m4/lstat.m4: Likewise.
76750         * m4/malloc.m4: Likewise.
76751         * m4/memcmp.m4: Likewise.
76752         * m4/nanosleep.m4: Likewise.
76753         * m4/putenv.m4: Likewise.
76754         * m4/realloc.m4: Likewise.
76755         * m4/regex.m4: Likewise.
76756         * m4/stat.m4: Likewise.
76757         * m4/strftime.m4: Likewise.
76758
76759 2000-07-02  Jim Meyering  <meyering@lucent.com>
76760
76761         * lib/quotearg.c (mbstate_t): Don't define here.
76762
76763 2000-07-02  Jim Meyering  <meyering@lucent.com>
76764
76765         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76766
76767 2000-07-01  Jim Meyering  <meyering@lucent.com>
76768
76769         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76770
76771 2000-07-01  Jim Meyering  <meyering@lucent.com>
76772
76773         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76774         problem.
76775
76776 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76777
76778         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76779         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76780
76781 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76782
76783         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76784         per change in ../m4/ls-mntd-fs.m4.
76785         (read_filesystem_list): Ignore symbolic links.
76786
76787 2000-06-29  Jim Meyering  <meyering@lucent.com>
76788
76789         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76790         for declaration of strcmp.
76791
76792         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76793
76794         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76795         Avoid warning by casting result to `char *' to remove `const'.
76796
76797 2000-06-28  Jim Meyering  <meyering@lucent.com>
76798
76799         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76800         included by quotearg.c, for which we perform this test.  From
76801         Bruno Haible.
76802
76803 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76804
76805         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76806         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76807         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76808
76809 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76810
76811         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76812
76813 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76814
76815         savedir now sets errno on failure and invokes xmalloc to get memory.
76816         Fix a couple of other minor bugs while we're at it.
76817
76818         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76819         (NAMLEN): Remove macro.
76820         (malloc, realloc): Remove decls.
76821         (stpcpy): Likewise.
76822         ("xalloc.h"): Include.
76823         (NAME_SIZE_DEFAULT): New macro.
76824         (savedir): Use xmalloc / xrealloc to allocate memory.
76825         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76826         Skip "" directory entries.
76827         Use strlen to calculate directory entry length, since the old method
76828         is rarely used these days and isn't worth supporting.
76829         Don't use a pointer after freeing it.
76830         Check for integer overflow when calculating allocation size.
76831         Use memcpy to copy entries, instead of stpcpy.
76832         Set errno properly when returning NULL.
76833         Check for readdir error.
76834
76835 2000-06-26  Jim Meyering  <meyering@lucent.com>
76836
76837         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76838
76839 2000-06-25  Jim Meyering  <meyering@lucent.com>
76840
76841         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76842         Linux header bug when _XOPEN_SOURCE is defined to 500.
76843
76844 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76845
76846         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76847         deficiency.
76848
76849 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76850
76851         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76852         Include xalloc.h.
76853         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76854
76855 2000-06-24  Jim Meyering  <meyering@lucent.com>
76856
76857         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76858         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76859         for which strerror does return char*, but which lacks a conveniently
76860         accessible declaration of the function.  If the compile-test says
76861         strerror_r doesn't work, then resort to a `run'-test that works on
76862         BeOS and segfaults on DEC Unix.
76863
76864 2000-06-24  Jim Meyering  <meyering@lucent.com>
76865
76866         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76867
76868 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76869
76870         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76871         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76872
76873 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76874
76875         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76876         (mbrtowc, mbstate_t): Define substitutes if
76877         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76878         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76879         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76880
76881 2000-06-23  Jim Meyering  <meyering@lucent.com>
76882
76883         * m4/afs.m4: Add missing AC_MSG_RESULT.
76884         Reported by Bruno Haible.
76885
76886         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76887         Suggestion from Bruno Haible.
76888
76889 2000-06-23  Jim Meyering  <meyering@lucent.com>
76890
76891         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76892
76893 2000-06-21  Jim Meyering  <meyering@lucent.com>
76894
76895         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76896
76897 2000-06-21  Jim Meyering  <meyering@lucent.com>
76898
76899         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76900         (noinst_HEADERS): Add getstr.h.
76901
76902         * lib/getline.c (getstr): Move into a separate file.
76903         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76904         the following changes: new parameter, delim2; both delim[12]
76905         parameters have type `int', not `char'.  The latter would lose
76906         with 8-bit delimiters.
76907         * lib/getstr.h: New file.
76908
76909 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76910
76911         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76912         than 1024, return a memory chunk of least possible size, instead
76913         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76914         Use free/xmalloc instead of xrealloc to avoid copying for very long
76915         paths.
76916
76917 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76918
76919         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76920         the empty string.
76921
76922 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76923
76924         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76925         address, not strdup.  Include <stdlib.h> and don't declare free().
76926
76927 2000-06-19  Jim Meyering  <meyering@lucent.com>
76928
76929         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
76930
76931 2000-06-18  Jim Meyering  <meyering@lucent.com>
76932
76933         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
76934
76935         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
76936         `checking whether...' message to be consistent with that of the
76937         lstat test.
76938
76939 2000-06-18  Jim Meyering  <meyering@lucent.com>
76940
76941         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
76942         Besides, these days every porting target provides a mkdir function.
76943
76944         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
76945         needed. (this snippet comes from src/system.h).
76946
76947 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
76948
76949         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
76950
76951 2000-06-15  Paul Eggert  <eggert@twinsun.com>
76952
76953         * lib/human.c (adjust_value): New function.
76954         (human_readable_inexact): Apply rounding style even when
76955         printing approximate values.
76956
76957 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76958
76959         * lib/human.c (human_readable_inexact): Allow an input block
76960         size that is not a multiple of the output block size, and vice versa.
76961         Reported by Piergiorgio Sartor.
76962
76963 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76964
76965         * lib/getdate.y (get_date): Apply relative times after time
76966         zone indicator, not before.  Reported by Todd A. Jacobs.
76967
76968 2000-06-13  Jim Meyering  <meyering@lucent.com>
76969
76970         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
76971
76972         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
76973
76974 2000-06-12  Paul Eggert  <eggert@twinsun.com>
76975
76976         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
76977
76978 2000-06-12  Jim Meyering  <meyering@lucent.com>
76979
76980         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
76981         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
76982         optional argument.
76983         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
76984         the optional argument, `lib'.
76985
76986 2000-06-08  Jim Meyering  <meyering@lucent.com>
76987
76988         * m4/largefile.m4: Remove file (now that it's part of autoconf).
76989
76990 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76991
76992         Rewrite largefile configuration so that we don't need to run
76993         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
76994         AC_CANONICAL_HOST in configure.in -- jmm]
76995
76996         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
76997         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
76998         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
76999         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
77000         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
77001         All uses changed.
77002         Instead of inspecting the output of getconf, try to compile the
77003         test program without and with the macro definition.
77004         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
77005         for getconf.  Instead, check for the needed flags by compiling
77006         test programs.
77007
77008 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77009
77010         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
77011
77012 2000-06-04  Jim Meyering  <meyering@lucent.com>
77013
77014         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
77015         SunOS 4.1.4 for which gid_t is an unsigned type.
77016
77017 2000-06-03  Jim Meyering  <meyering@lucent.com>
77018
77019         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
77020         now that autoconf requires that.
77021
77022         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
77023         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
77024         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
77025
77026 2000-06-03  Jim Meyering  <meyering@lucent.com>
77027
77028         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
77029
77030 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77031
77032         * m4/glibc21.m4: New file.
77033         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
77034
77035 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77036
77037         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
77038         newer, don't install charset.alias.
77039         * lib/config.charset: Change the Linux/glibc rules so they become empty
77040         on glibc-2.1 or newer.
77041
77042 2000-06-02  Jim Meyering  <meyering@lucent.com>
77043
77044         * lib/mountlist.c: Back out last change.  Instead, do this...
77045         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
77046         me_dummy member using the same `ignore'-testing code.
77047         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
77048         fs_type strings.
77049         From Mark D. Roth.
77050
77051 2000-05-29  Jim Meyering  <meyering@lucent.com>
77052
77053         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
77054         mounts with the `ignore' attribute.  Based on a patch from
77055         Mark D. Roth.
77056
77057 2000-05-28  Jim Meyering  <meyering@lucent.com>
77058
77059         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
77060         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77061         * m4/stat.m4: Likewise.
77062         * m4/lstat.m4: Likewise.
77063         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
77064
77065         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
77066         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
77067
77068 2000-05-26  Jim Meyering  <meyering@lucent.com>
77069
77070         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
77071
77072 2000-05-24  Jim Meyering  <meyering@lucent.com>
77073
77074         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
77075         autoconf requires that.
77076         * m4/lib-check.m4: Likewise.
77077         * m4/jm-macros.m4: Likewise.
77078         * m4/strftime.m4: Likewise.
77079
77080         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
77081         AC_CHECK_DECLS, now that autoconf requires that.
77082
77083 2000-05-22  Jim Meyering  <meyering@lucent.com>
77084
77085         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77086         * m4/lstat.m4: Likewise.
77087
77088 2000-05-22  Jim Meyering  <meyering@lucent.com>
77089
77090         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
77091
77092 2000-05-20  Jim Meyering  <meyering@lucent.com>
77093
77094         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
77095         (jm_PREREQ): Use it.
77096
77097 2000-05-18  Jim Meyering  <meyering@lucent.com>
77098
77099         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
77100         back, too, since it may have been modified by allocate_entry.
77101         (hash_delete): Rewrite to use neither the assignment operator
77102         nor the comma operator in an if-expression.
77103
77104 2000-05-15  Paul Eggert  <eggert@twinsun.com>
77105
77106         * lib/closeout.c:
77107         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
77108         Remove; no longer needed.
77109         "quotearg.h": Add include.
77110         (file_name): Do not bother to explicitly initialize to NULL; it's less
77111         efficient on some hosts.
77112         (close_stdout_status): Remove test as to whether stdout was already
77113         closed; it breaks for the case "echo x | sort >&-".
77114         Quote file name colons.
77115         Do not assume that _("write error") lacks format strings.
77116
77117 2000-05-15  Jim Meyering  <meyering@lucent.com>
77118
77119         * lib/version-etc.c (version_etc_copyright): Update the copyright
77120         string used in all --version output.
77121
77122 2000-05-14  Jim Meyering  <meyering@lucent.com>
77123
77124         * lib/closeout.c (close_stdout_set_file_name): New function.
77125         (close_stdout_status): Use new file-scoped global.
77126         Return right away if fstat says the stdout file descriptor is invalid.
77127         * lib/closeout.h (close_stdout_set_file_name): Declare.
77128
77129 2000-05-10  Jim Meyering  <meyering@lucent.com>
77130
77131         * lib/closeout.c [default_exit_status]: New file-scoped variable.
77132         (close_stdout_set_status): New function.
77133         * lib/closeout.h (close_stdout_set_status): Declare.
77134
77135 2000-05-09  Jim Meyering  <meyering@lucent.com>
77136
77137         * m4/gettext.m4: Rename this...
77138         * m4/libintl.m4: ...to this.
77139
77140 2000-05-08  Jim Meyering  <meyering@lucent.com>
77141
77142         * lib/long-options.c: Don't include closeout.h.
77143         (parse_long_options): Don't call close_stdout for --version.
77144
77145 2000-05-06  Paul Eggert  <eggert@twinsun.com>
77146
77147         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
77148         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
77149         2.1.3 bug.  This avoids a clash when files like regex.c define
77150         _GNU_SOURCE.
77151
77152 2000-05-06  Jim Meyering  <meyering@lucent.com>
77153
77154         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
77155         (AC_REPLACE_FUNCS): Add strnlen.
77156
77157         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
77158         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
77159
77160         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
77161         AC_SEARCH_LIBS call for nanosleep.
77162         (LIB_NANOSLEEP): Set and AC_SUBST.
77163
77164 2000-05-06  Jim Meyering  <meyering@lucent.com>
77165
77166         * lib/strnlen.c: Undefine __strnlen and strnlen.
77167         [!weak_alias]: Define __strnlen to strnlen.
77168
77169         * lib/atexit.c: New file, from libiberty.
77170
77171 2000-05-06  Jim Meyering  <meyering@lucent.com>
77172
77173         * lib/closeout.c (close_stdout_status): Also check for errors on the
77174         stderr stream.
77175
77176 2000-05-05  Jim Meyering  <meyering@lucent.com>
77177
77178         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
77179         AC_SEARCH_LIBS call for clock_gettime.
77180         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
77181
77182         * m4/search-libs.m4: Update from autoconf.
77183
77184         su doesn't work on Solaris 2.6.
77185         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
77186         <shadow.h>.  Reported by Dragos Harabor.
77187
77188 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
77189
77190         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
77191         memcpy instead of xmalloc, xrealloc, path_concat.
77192         (locale_charset): Treat empty environment variables as absent.
77193         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
77194
77195 2000-05-04  Jim Meyering  <meyering@lucent.com>
77196
77197         * lib/getopt.c: Update from glibc.
77198         * lib/obstack.c: Likewise.
77199         * lib/obstack.h: Likewise.
77200         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
77201         file
77202
77203         * lib/regex.h: Likewise.
77204         * lib/strndup.c: Likewise.
77205         * lib/strnlen.c: New file, from glibc.
77206
77207 2000-05-03  Jim Meyering  <meyering@lucent.com>
77208
77209         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
77210
77211 2000-05-02  Paul Eggert  <eggert@twinsun.com>
77212
77213         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
77214         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
77215         compile-time test, rather than inspecting host and OS, to
77216         decide whether to define _LARGEFILE_SOURCE.
77217
77218 2000-05-01  Jim Meyering  <meyering@lucent.com>
77219
77220         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
77221
77222         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
77223         Based on a patch from Bruno Haible.
77224
77225 2000-05-01  Jim Meyering  <meyering@lucent.com>
77226
77227         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
77228
77229 2000-04-29  Jim Meyering  <meyering@lucent.com>
77230
77231         * lib/path-concat.c: Declare strdup only if it's not defined.
77232         * lib/canon-host.c: Likewise.
77233
77234 2000-04-28  Jim Meyering  <meyering@lucent.com>
77235
77236         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
77237         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
77238         is included first, then limits.h is included by locale.h by libintl.h.
77239         From John David Anglin.
77240
77241 2000-04-25  Jim Meyering  <meyering@lucent.com>
77242
77243         * lib/makepath.c (S_IRWXUGO): Define.
77244         (make_path): Always perform explicit chmod if MODE specifies any
77245         of the `special' permission bits.  Prompted by a bug report against
77246         install from Mate Wierdl and Joost van Baal.
77247
77248 2000-04-18  Jim Meyering  <meyering@lucent.com>
77249
77250         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
77251         (jm_PREREQ): Use it.
77252
77253 2000-04-18  Jim Meyering  <meyering@lucent.com>
77254
77255         * lib/README: New file.
77256
77257         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
77258         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
77259
77260 2000-04-17  Jim Meyering  <meyering@lucent.com>
77261
77262         Get it right :-)
77263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
77264         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
77265         Suggestion from Akim Demaille.
77266
77267 2000-04-17  Jim Meyering  <meyering@lucent.com>
77268
77269         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
77270         the definition of it to rpl_strftime also defined-away the system's
77271         declaration.
77272
77273 2000-04-15  Jim Meyering  <meyering@lucent.com>
77274
77275         Use `C' to denote so-called `contiguous' files, the same way
77276         that tar does.
77277         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
77278         (ftypelet): Use S_ISCTG.
77279         From Michael Deutschmann.
77280
77281 2000-04-14  Jim Meyering  <meyering@lucent.com>
77282
77283         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
77284         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
77285         clobbered.
77286
77287 2000-04-14  Jim Meyering  <meyering@lucent.com>
77288
77289         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
77290
77291 2000-04-13  Jim Meyering  <meyering@lucent.com>
77292
77293         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
77294         AH_VERBATIM to insert required #ifndef into config.h.in.
77295         Suggestion from Akim Demaille.
77296
77297 2000-04-12  Jim Meyering  <meyering@lucent.com>
77298
77299         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
77300         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
77301         Christian Krackowizer.
77302
77303         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
77304         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
77305         (AC_SYS_LARGEFILE): Require.
77306         (AM_C_PROTOTYPES): Require.
77307
77308 2000-04-08  Jim Meyering  <meyering@lucent.com>
77309
77310         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
77311         names don't conflict.  Reported by Eli Zaretskii.
77312
77313 2000-04-07  Jim Meyering  <meyering@lucent.com>
77314
77315         * lib/putenv.c: Move inclusion of errno.h so it follows that of
77316         sys/types.h, to work around system header problems on AIX 3.2.5.
77317         From Bruno Haible.
77318
77319 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
77320
77321         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
77322         bug.  Deal with the different error behavior of Irix iconv.
77323
77324 2000-04-05  Paul Eggert  <eggert@twinsun.com>
77325
77326         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
77327         IRIX if the installer said otherwise.
77328
77329 2000-04-05  Jim Meyering  <meyering@lucent.com>
77330
77331         Portability tweaks required for ultrix4.3.
77332         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
77333         (jm_CHECK_DECLS): Add getutent to the list of functions.
77334         (_jm_DECL_HEADERS): Add utmpx.h.
77335         From John David Anglin.
77336
77337         * m4/strftime.m4: Back out the 2000-04-02 change.
77338         Instead of that change, simply undefine putenv in the test program.
77339
77340 2000-04-05  Jim Meyering  <meyering@lucent.com>
77341
77342         Portability tweaks required for ultrix4.3.
77343         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
77344         getutent.
77345         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
77346         * lib/canon-host.c: Declare strdup.
77347         * lib/path-concat.c: Likewise.
77348         From John David Anglin.
77349
77350 2000-04-04  Jim Meyering  <meyering@lucent.com>
77351
77352         Be more DOS 8.3-friendly.
77353         * lib/ref-add.sin: Renamed from ref-add.sed.in.
77354         * lib/ref-del.sin: Renamed from ref-del.sed.in.
77355         * lib/Makefile.am: Reflect renaming.
77356         Reported by Eli Zaretskii.
77357
77358         Use a temporary file name that won't clash with `charset.alias'
77359         in the DOS 8.3 name space.
77360         * lib/Makefile.am (charset_tmp): Define.
77361         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
77362         (uninstall-local): Likewise.
77363         Reported by Eli Zaretskii.
77364
77365 2000-04-03  Jim Meyering  <meyering@lucent.com>
77366
77367         * m4/gettext.m4: Fix typo in comment.
77368
77369         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
77370         textutils/configure.in).  Suggestion from Paul Eggert.
77371         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
77372
77373 2000-04-02  Paul Eggert  <eggert@twinsun.com>
77374
77375         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
77376         variable in the shell rather than using putenv, which isn't
77377         portable.  This avoids the configure-time inter-test dependency
77378         on the potentially-renamed putenv function.
77379
77380 2000-03-30  Paul Eggert  <eggert@twinsun.com>
77381
77382         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
77383         before checking struct stat.st_blksize, so that
77384         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
77385
77386 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77387
77388         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
77389         since strftime.c uses HAVE_STRFTIME to decide whether to use
77390         the underlying strftime.
77391
77392 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77393
77394         * lib/time/strftime.c (my_strftime): Make sure we call the system
77395         strftime, not ourselves, when invoking the underlying strftime.
77396
77397 2000-03-24  Jim Meyering  <meyering@lucent.com>
77398
77399         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
77400         (charset_alias): Define.
77401         (install-exec-local): Factor out common code.
77402         (uninstall-local): Split lines longer than 80.
77403         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
77404         (SUFFIXES): Define.
77405         (.sed.in.sed): New rule.  Don't redirect directly to $@.
77406         (CLEANFILES): Add ref-add.sed and ref-del.sed.
77407
77408 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
77409
77410         * lib/config.charset: Output a line containing "Packages using this
77411         file".
77412         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
77413         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
77414         ref-del.sed): New rules.
77415
77416 2000-03-17  Jim Meyering  <meyering@lucent.com>
77417
77418         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
77419         Otherwise, include <strings.h>
77420
77421 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
77422
77423         * lib/unicodeio.c (utf8_wctomb): New function.
77424         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
77425         format instead of in UCS-4 with platform dependent endianness.
77426
77427 2000-03-10  Jim Meyering  <meyering@lucent.com>
77428
77429         * m4/lib-check.m4: Look for getspnam in -lgen, too.
77430         From Marco Franzen.
77431
77432 2000-03-07  Paul Eggert  <eggert@twinsun.com>
77433
77434         * lib/savedir.c (savedir): Work even if directory size is
77435         negative; this can happen with some screwy NFS configurations.
77436
77437 2000-03-06  Jim Meyering  <meyering@lucent.com>
77438
77439         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
77440         if it's NULL (because we ran out of memory).  From Bruno Haible.
77441
77442 2000-03-05  Jim Meyering  <meyering@lucent.com>
77443
77444         * lib/localcharset.c ("path-concat.h"): Include.
77445         (get_charset_aliases): Use path_concat instead of ANSI string
77446         concatenation.
77447
77448         * lib/unicodeio.h (PARAMS): Define.
77449         Use it to guard prototype.
77450
77451 2000-03-04  Jim Meyering  <meyering@lucent.com>
77452
77453         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
77454         for lib/localcharset.c.
77455
77456 2000-03-04  Jim Meyering  <meyering@lucent.com>
77457
77458         * lib/Makefile.am (install-exec-local): Create $(libdir) before
77459         installing into it.
77460         (uninstall-local): Uncomment this rule so `make distcheck' works
77461         once again.
77462
77463         * lib/unicodeio.c (<errno.h>): Include it.
77464         (errno): Declare if not defined.
77465
77466         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
77467
77468         * lib/config.charset: New version, incorporating remarks from a linux
77469         i18n mailing list.  From Bruno Haible.
77470
77471 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
77472
77473         * m4/codeset.m4: New file.
77474         * m4/iconv.m4: New file.
77475         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
77476
77477 2000-03-03  Jim Meyering  <meyering@lucent.com>
77478
77479         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
77480
77481 2000-03-02  Jim Meyering  <meyering@lucent.com>
77482
77483         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
77484         the messages come out on separate lines.
77485
77486         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
77487         rather than jm_CHECK_DECLARATIONS.
77488         * m4/decl.m4: Remove now-unused file.
77489
77490         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
77491         geteuid.
77492
77493 2000-03-02  Jim Meyering  <meyering@lucent.com>
77494
77495         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
77496
77497 2000-03-01  Jim Meyering  <meyering@lucent.com>
77498
77499         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
77500         * lib/unicodeio.c: Likewise.
77501
77502 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
77503
77504         * lib/config.charset: New file.
77505         * lib/localcharset.c: New file.
77506         * lib/unicodeio.h, lib/unicodeio.c: New files.
77507         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
77508         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
77509         (noinst_HEADERS): Add unicodeio.h.
77510         (all-local, install-exec-local, charset.alias): New targets.
77511
77512 2000-02-28  Paul Eggert  <eggert@twinsun.com>
77513
77514         * lib/quotearg.c (ALERT_CHAR): New macro.
77515         (quotearg_buffer_restyled): Use it.
77516
77517 2000-02-27  Jim Meyering  <meyering@lucent.com>
77518
77519         * m4/check-decl.m4: Add getenv to the list.
77520
77521 2000-02-27  Jim Meyering  <meyering@lucent.com>
77522
77523         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
77524         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
77525
77526         * lib/backupfile.c: Guard inclusion of stdlib.h with
77527         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
77528         Declare malloc if needed.
77529
77530         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
77531         `#ifndef HAVE_DECL..'
77532         now that autoconf always defines the HAVE_DECL_ symbols.
77533         * lib/human.c: Likewise.
77534         * lib/same.c: Likewise.
77535         * lib/strtoumax.c: Likewise.
77536
77537         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
77538         declaration check was not run.
77539         * lib/hash.c: Likewise.
77540         * lib/human.c: Likewise.
77541         * lib/same.c: Likewise.
77542         * lib/strtoumax.c: Likewise.
77543
77544         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
77545         `.', then first look up the entire `.'-containing string as a login
77546         name.
77547
77548 2000-02-23  Jim Meyering  <meyering@lucent.com>
77549
77550         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
77551         in place of my hack.
77552
77553 2000-02-18  Paul Eggert  <eggert@twinsun.com>
77554
77555         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
77556         (textint): New typedef.
77557         (parser_control): Member year changed from int to textint.
77558         All uses changed.
77559         (YYSTYPE): Removed; replaced by %union with int and textint members.
77560         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
77561         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
77562         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
77563         (tSNUMBER, tUNUMBER): Now of type <textintval>.
77564         (date, number, to_year): Use width of number in digits, not its value,
77565         to determine whether it's a 2-digit year, or a 2-digit time.
77566         (yylex): Store number of digits of numeric tokens.
77567         Reported by John Kendall.
77568
77569         (parser_control): Changed from struct parser_control to typedef (for
77570         consistency).  All uses changed.
77571
77572         (tID): Removed; not used.
77573         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
77574
77575 2000-02-14  Paul Eggert  <eggert@twinsun.com>
77576
77577         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
77578         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
77579
77580 2000-02-12  Jim Meyering  <meyering@lucent.com>
77581
77582         * lib/userspec.c (ISDIGIT): Define it.
77583         (isdigit): Remove definition.
77584         (is_number): Use ISDIGIT, not isdigit.
77585         <libintl.h>: Include.
77586         (_ and N_): Define.
77587         (parse_user_spec): Mark translatable strings.
77588
77589 2000-02-10  Jim Meyering  <meyering@lucent.com>
77590
77591         With these changes, nanosleep.[ch] are finally enough like the other
77592         lib/* replacement files to compile on a few more losing systems.
77593
77594         * lib/nanosleep.h: Don't include config.h.
77595         Remove prototype from declaration of nanosleep.
77596         (PARAMS): Remove now-unneeded definition.
77597         * lib/nanosleep.c: #undef nanosleep.
77598         (rpl_nanosleep): Rename from nanosleep.
77599
77600 2000-02-10  Jim Meyering  <meyering@lucent.com>
77601
77602         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
77603         gnu_nanosleep to rpl_nanosleep.
77604
77605 2000-02-09  Jim Meyering  <meyering@lucent.com>
77606
77607         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
77608         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
77609
77610 2000-02-08  Akim Demaille  <akim@epita.fr>
77611
77612         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
77613         `[' and `]' and remove uses of `changequote'.
77614         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
77615         (AC_SYS_LARGEFILE): Likewise.
77616         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
77617         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
77618         of changequote.
77619         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
77620         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
77621         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
77622         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
77623
77624 2000-02-05  Jim Meyering  <meyering@lucent.com>
77625
77626         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
77627         Remove explicit use of AC_HEADER_TIME.  It is required by
77628         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
77629         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
77630         in autoconf whereby the expansion of the latter ended up preceding
77631         the expansion of its prerequisite, AC_HEADER_TIME.
77632         Reported by Volker Borchert.
77633
77634 2000-02-03  Jim Meyering  <meyering@lucent.com>
77635
77636         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
77637
77638 2000-02-03  Jim Meyering  <meyering@lucent.com>
77639
77640         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
77641         rather than with `#if HAVE_UTMPNAME'.
77642
77643 2000-02-02  Jim Meyering  <meyering@lucent.com>
77644
77645         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
77646         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
77647         Reported by Eli Zaretskii.
77648
77649 2000-02-01  Jim Meyering  <meyering@lucent.com>
77650
77651         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
77652
77653 2000-01-31  Jim Meyering  <meyering@lucent.com>
77654
77655         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
77656         functions.  Add the time.h and sys/time.h headers along with the
77657         AC_REQUIRE'ment of AC_HEADER_TIME.
77658
77659 2000-01-31  Jim Meyering  <meyering@lucent.com>
77660
77661         * lib/nanosleep.h (nanosleep): Guard declaration with
77662         `#if ! HAVE_DECL_NANOSLEEP'.
77663         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
77664         the declaration in that vendor's sys/timers.h.
77665         Reported by Christian Krackowizer.
77666
77667         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
77668         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
77669         (ISPRINT): Likewise.
77670         Reported by Tom Tromey.
77671
77672 2000-01-30  Jim Meyering  <meyering@lucent.com>
77673
77674         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
77675
77676         * m4/prereq.m4 (utmp_includes): Define.
77677         Check for ut_user and ut_name members in both struct utmpx
77678         and struct utmp.
77679
77680 2000-01-30  Jim Meyering  <meyering@lucent.com>
77681
77682         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
77683         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
77684         header files where only utmpx.ut_user is declared.
77685
77686         * lib/readutmp.h (UT_USER): Define.
77687
77688 2000-01-29  Jim Meyering  <meyering@lucent.com>
77689
77690         * m4/lib-check.m4: New file containing library-related checks from
77691         fileutils and sh-utils (textutils had none).
77692
77693 2000-01-28  Jim Meyering  <meyering@lucent.com>
77694
77695         * m4/perl.m4: Change format of warning message to look more like that
77696         from the missing script.  Suggestion from François Pinard.
77697
77698 2000-01-25  Jim Meyering  <meyering@lucent.com>
77699
77700         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77701         well as time.h in the compile check.
77702         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77703         Fix typo in cross-compiling case: s/yes/no/.
77704
77705 2000-01-23  Jim Meyering  <meyering@lucent.com>
77706
77707         * m4/jm-macros.m4: Move df-related tests here from
77708         fileutils/configure.in
77709
77710         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77711         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77712
77713         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77714         s/space/ac_fsusage_space/.
77715         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77716
77717         * m4/ftruncate.m4: New file (derived from part of
77718         fileutils/configure.in).
77719         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77720         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77721
77722         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77723         AC_SUBST these here, rather than just in sh-util/configure.in, so
77724         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77725         all the same.
77726         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77727         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77728         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77729         (AC_SUBST(POW_LIBM)): Likewise.
77730         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77731
77732 2000-01-23  Jim Meyering  <meyering@lucent.com>
77733
77734         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77735         obstack.c.
77736
77737 2000-01-22  Jim Meyering  <meyering@lucent.com>
77738
77739         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77740
77741         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77742
77743         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77744         configure.in
77745         (AC_CHECK_HEADERS): Likewise for sh-utils.
77746         (AC_CHECK_HEADERS): Likewise for textutils.
77747         Merge the three lists of headers.
77748
77749         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77750         from fileutils' configure.in.
77751
77752         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77753         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77754         check-decl.m4.
77755
77756         * m4/check-decl.m4: Use #if rather than #ifdef.
77757         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77758         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77759         (_jm_DECL_HEADERS): Define new function.
77760         (jm_CHECK_DECLARATIONS): Require it.
77761
77762 2000-01-22  Jim Meyering  <meyering@lucent.com>
77763
77764         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77765         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77766         Required for some AIX systems.  Reported by Christian Krackowizer.
77767         [TESTING] (main): New function.
77768
77769         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77770         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77771         letters.
77772
77773         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77774         iswprint.
77775
77776         * lib/strverscmp.c (ISDIGIT): Define.
77777         (strverscmp): Use ISDIGIT, not isdigit.
77778
77779 2000-01-19  Jim Meyering  <meyering@lucent.com>
77780
77781         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77782         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77783         defines `struct timespec' in <sys/time.h>
77784
77785         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77786         Thanks to Akim for explaining.
77787
77788 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77789
77790         * lib/nanosleep.c (nanosleep):
77791         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77792         POSIX.1 doesn't require SA_INTERRUPT and some systems
77793         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77794         it's been part of POSIX.1 since day 1 (in 1988).
77795
77796 2000-01-17  Jim Meyering  <meyering@lucent.com>
77797
77798         * lib/interlock: Remove unused file.  Reported by François Pinard.
77799
77800 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77801
77802         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77803         alert, backslash, formfeed, and vertical tab unnecessarily in
77804         shell quoting style.
77805
77806 2000-01-16  Jim Meyering  <meyering@lucent.com>
77807
77808         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77809         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77810         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77811         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77812
77813 2000-01-16  Jim Meyering  <meyering@lucent.com>
77814
77815         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77816         because the latter didn't work.
77817
77818 2000-01-15  Jim Meyering  <meyering@lucent.com>
77819
77820         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77821         (AC_REPLACE_FUNCS): Add memcpy and memset.
77822         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77823         Add strpbrk.
77824         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77825
77826 2000-01-12  Jim Meyering  <meyering@lucent.com>
77827
77828         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77829         (jm_PREREQ): Use it.
77830         (jm_PREREQ_READUTMP): New macro.
77831         (jm_PREREQ): Use it.
77832
77833 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77834
77835         Quote multibyte characters correctly.
77836         * m4/c-bs-a.m4: New file.
77837         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77838         (jm_PREREQ): Use it.
77839
77840 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77841
77842         * m4/uintmax_t.m4: Port to autoconf 2.13.
77843
77844 2000-01-08  Jim Meyering  <meyering@ascend.com>
77845
77846         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77847         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77848
77849 2000-01-04  Jim Meyering  <meyering@ascend.com>
77850
77851         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77852         jm_STRUCT_DIRENT_D_TYPE.
77853         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77854         jm_STRUCT_DIRENT_D_INO.
77855         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77856         jm_STRUCT_UTIMBUF.
77857         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77858         renamings.
77859         * m4/utime.m4: Likewise.
77860
77861         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77862         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77863
77864 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77865
77866         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77867         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77868
77869 2000-01-02  Jim Meyering  <meyering@ascend.com>
77870
77871         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77872         remember if this is necessary.
77873
77874 1999-12-26  Jim Meyering  <meyering@ascend.com>
77875
77876         * m4/jm-macros.m4: Use it here.
77877         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77878
77879 1999-12-23  Jim Meyering  <meyering@ascend.com>
77880
77881         * m4/jm-macros.m4: Check for clock_gettime (moved from
77882         fileutils/configure.in)
77883         Check for gettimeofday.
77884
77885 1999-12-20  Jim Meyering  <meyering@ascend.com>
77886
77887         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77888         autoconf-2.14a-1999-12-20.
77889
77890 1999-12-19  Jim Meyering  <meyering@ascend.com>
77891
77892         * m4/lstat-slash.m4: New file.
77893         * m4/jm-macros.m4: Use the new macro:
77894         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77895
77896 1999-12-07  Jim Meyering  <meyering@ascend.com>
77897
77898         * m4/perl.m4: Require that File::Compare be available, too.
77899         Too many systems seem to lack it.
77900
77901         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77902         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77903
77904 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77905
77906         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77907         problem with the QNX 4.25 shell, which doesn't propagate exit
77908         status of failed commands inside shell assignments.
77909
77910 1999-11-17  Jim Meyering  <meyering@ascend.com>
77911
77912         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77913
77914 1999-11-07  Jim Meyering  <meyering@ascend.com>
77915
77916         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77917
77918 1999-11-06  Jim Meyering  <meyering@ascend.com>
77919
77920         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77921         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77922
77923 1999-11-05  Jim Meyering  <meyering@ascend.com>
77924
77925         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
77926         configure.in of textutils, fileutils, and sh-utils into this one
77927         (shared between those packages) file.
77928         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
77929         AC_STRUCT_ST_BLKSIZE.
77930
77931 1999-11-03  Jim Meyering  <meyering@ascend.com>
77932
77933         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
77934         of AC_CHECK_TYPE checks includes unistd.h.
77935         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
77936         Suggestion from Akim Demaille.
77937
77938 1999-10-30  Jim Meyering  <meyering@ascend.com>
77939
77940         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
77941         m4-quoted string.
77942         * m4/ls-mntd-fs.m4: Likewise.
77943         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
77944         * m4/jm-winsz1.m4: Likewise.
77945
77946         * m4/const.m4: Remove file, since the fix made it into the experimental
77947         version of autoconf.
77948         * m4/mktime.m4: Likewise.
77949
77950         * m4/check-type.m4: Remove file, now that the latest version of
77951         AC_CHECK_TYPE takes a third arg to specify additional #includes.
77952
77953         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
77954         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
77955         AC_CHECK_TYPE.
77956
77957 1999-10-04  Jim Meyering  <meyering@ascend.com>
77958
77959         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
77960
77961 1999-09-22  Paul Eggert  <eggert@twinsun.com>
77962
77963         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
77964         2.95.1 bug with HP-UX 10.20.
77965
77966 1999-09-17  Jim Meyering  <meyering@ascend.com>
77967
77968         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
77969         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
77970         due to missing strdup (against sh-utils-2.0).
77971
77972 1999-08-29  Jim Meyering  <meyering@ascend.com>
77973
77974         * m4/jm-macros.m4: Require jm_BISON.
77975         * m4/bison.m4: New file.
77976
77977 1999-08-17  Paul Eggert  <eggert@twinsun.com>
77978
77979         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
77980         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
77981
77982 1999-08-05  Jim Meyering  <meyering@ascend.com>
77983
77984         * m4/getline.m4: Rename test file from conftestdata to conftest.data
77985         to avoid conflicts with `conftest' on 8+3 filesystems.
77986         Suggestion from Eli Zaretskii.
77987
77988 1999-08-04  Jim Meyering  <meyering@ascend.com>
77989
77990         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
77991         fileutils and sh-utils (textutils's getline test was inadequate).
77992         (AM_FUNC_GETLINE): Run this test.
77993         (AC_CHECK_FUNCS): Check for getdelim.
77994         Reported by Bob Proulx.
77995
77996 1999-08-02  Jim Meyering  <meyering@ascend.com>
77997
77998         * m4/jm-macros.m4: Add a comment.
77999
78000 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78001
78002         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
78003         <inttypes.h> defines strtoumax as a macro (and not as a
78004         function).
78005
78006 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78007
78008         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
78009         that we can shift, multiply and divide unsigned long long
78010         values; Ultrix cc can't do it.
78011
78012 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78013
78014         * m4/mktime.m4: New file, which is a preview of what should appear
78015         in the next public autoconf release.
78016
78017 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78018
78019         * m4/lfs.m4: Remove this file.
78020         * m4/largefile.m4: New file.  It contains the old contents of
78021         lfs.m4, except that all names with prefix AC_LFS have been
78022         changed to use the prefix AC_SYS_LARGEFILE instead, to be
78023         compatible with future autoconf versions.  Also, some minor m4
78024         quoting problems have been fixed.
78025
78026 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78027
78028         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
78029         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
78030         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
78031         and simplify the shell code.
78032
78033 1999-08-01  Jim Meyering  <meyering@ascend.com>
78034
78035         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
78036         m4.
78037
78038 1999-07-20  Jim Meyering  <meyering@ascend.com>
78039
78040         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
78041
78042 1999-07-15  Jim Meyering  <meyering@ascend.com>
78043
78044         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
78045
78046 1999-05-22  Jim Meyering  <meyering@ascend.com>
78047
78048         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
78049
78050 1999-05-20  Jim Meyering  <meyering@ascend.com>
78051
78052         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
78053         Add a colon after each `then' in case $4 is empty.
78054
78055 1999-05-16  Jim Meyering  <meyering@ascend.com>
78056
78057         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
78058
78059 1999-05-10  Jim Meyering  <meyering@ascend.com>
78060
78061         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
78062
78063         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
78064         AC_FUNC_MKTIME.
78065
78066 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
78067
78068         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
78069
78070 1999-05-04  Paul Eggert  <eggert@twinsun.com>
78071
78072         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
78073         not CPPFLAGS, so that linking works correctly in IRIX.
78074
78075 1999-04-30  Paul Eggert  <eggert@twinsun.com>
78076
78077         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
78078
78079 1999-04-20  Paul Eggert  <eggert@twinsun.com>
78080
78081         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
78082         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
78083         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
78084         jm_AC_TYPE_UNSIGNED_LONG_LONG.
78085         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
78086
78087         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
78088
78089 1999-04-20  Jim Meyering  <meyering@ascend.com>
78090
78091         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
78092         AC_REPLACE xstroull if necessary.  From Paul Eggert.
78093         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
78094
78095 1999-04-18  Jim Meyering  <meyering@ascend.com>
78096
78097         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
78098         * m4/jm-macros.m4: Use it.
78099
78100 1999-04-06  Jim Meyering  <meyering@ascend.com>
78101
78102         * m4/strftime.m4: Remove test for %f.
78103
78104 1999-03-29  Jim Meyering  <meyering@ascend.com>
78105
78106         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
78107         superset of the AC_TYPE_* checks in the textutils, fileutils,
78108         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
78109         AC_TYPE_PID_T.
78110
78111 1999-03-28  Jim Meyering  <meyering@ascend.com>
78112
78113         * m4/jm-macros.m4: Define GNU_PACKAGE here.
78114         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
78115         replaced e.g., in the *.sh files of the sh-utils.
78116
78117 1999-03-20  Jim Meyering  <meyering@ascend.com>
78118
78119         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
78120         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
78121         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
78122
78123 1999-03-19  Jim Meyering  <meyering@ascend.com>
78124
78125         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
78126
78127 1999-03-12  Jim Meyering  <meyering@ascend.com>
78128
78129         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
78130
78131 1999-03-07  Jim Meyering  <meyering@ascend.com>
78132
78133         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
78134         declared.
78135
78136 1999-02-17  Jim Meyering  <meyering@ascend.com>
78137
78138         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
78139         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
78140
78141 1999-02-07  Jim Meyering  <meyering@ascend.com>
78142
78143         * m4/group-member.m4: New file -- extracted from sh-utils'
78144         configure.in.
78145
78146         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
78147         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
78148
78149 1999-02-06  Jim Meyering  <meyering@ascend.com>
78150
78151         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
78152         * m4/fnmatch.m4: Likewise.
78153         * m4/getgroups.m4: Likewise.
78154         * m4/lstat.m4: Likewise.
78155         * m4/malloc.m4: Likewise.
78156         * m4/putenv.m4: Likewise.
78157         * m4/realloc.m4: Likewise.
78158         * m4/regex.m4: Likewise.
78159         * m4/stat.m4: Likewise.
78160         * m4/strftime.m4: Likewise.
78161         Suggestion from Alain Magloire.
78162
78163         * m4/chown.m4: Use `.$ac_objext', not `.o'.
78164         * m4/fnmatch.m4: Likewise.
78165         * m4/getgroups.m4: Likewise.
78166         * m4/getline.m4: Likewise.
78167         * m4/lstat.m4: Likewise.
78168         * m4/malloc.m4: Likewise.
78169         * m4/memcmp.m4: Likewise.
78170         * m4/putenv.m4: Likewise.
78171         * m4/realloc.m4: Likewise.
78172         * m4/regex.m4: Likewise.
78173         * m4/stat.m4: Likewise.
78174         * m4/strftime.m4: Likewise.
78175         Suggestion from Alain Magloire.
78176
78177         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
78178         an argument.
78179
78180         * m4/regex.m4: Add a run-time Test for proper operation of
78181         re_compile_pattern.
78182
78183 1999-01-31  Jim Meyering  <meyering@ascend.com>
78184
78185         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
78186
78187 1999-01-30  Jim Meyering  <meyering@ascend.com>
78188
78189         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
78190
78191         * m4/jm-mktime.m4: Make this a wrapper around the official
78192         AM_FUNC_MKTIME rather than my private copy, now that the official one
78193         is up to date.
78194         * m4/mktime.m4: Remove file.
78195
78196         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
78197         * m4/uptime.m4: Likewise.
78198         * m4/uintmax_t.m4: Likewise.
78199
78200 1999-01-28  Jim Meyering  <meyering@ascend.com>
78201
78202         * m4/jm-macros.m4: Use jm_AFS.
78203         * m4/afs.m4: New file (from fileutils' configure.in).
78204
78205         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
78206         * m4/chown.m4: Likewise.
78207         * m4/d-ino.m4: Likewise.
78208         * m4/d-type.m4: Likewise.
78209         * m4/fnmatch.m4: Likewise.
78210         * m4/getgroups.m4: Likewise.
78211         * m4/gettext.m4: Likewise.
78212         * m4/jm-mktime.m4: Likewise.
78213         * m4/jm-winsz2.m4: Likewise.
78214         * m4/lcmessage.m4: Likewise.
78215         * m4/ls-mntd-fs.m4: Likewise.
78216         * m4/malloc.m4: Likewise.
78217         * m4/memcmp.m4: Likewise.
78218         * m4/putenv.m4: Likewise.
78219         * m4/realloc.m4: Likewise.
78220         * m4/st_mtim.m4: Likewise.
78221         * m4/strftime.m4: Likewise.
78222
78223 1999-01-16  Jim Meyering  <meyering@ascend.com>
78224
78225         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
78226         (ARGMATCH_DIE_DECL): Define.
78227
78228 1999-01-12  Jim Meyering  <meyering@ascend.com>
78229
78230         * m4/Makefile.am.in: Rewrite to avoid using fmt.
78231         Reported by Lars Hecking.
78232
78233 1999-01-10  Jim Meyering  <meyering@ascend.com>
78234
78235         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
78236         gross kludge.
78237         * m4/inttypes_h.m4: Likewise.
78238         * m4/lstat.m4: Likewise.
78239         * m4/malloc.m4: Likewise.
78240         * m4/readdir.m4: Likewise.
78241         * m4/realloc.m4: Likewise.
78242         * m4/st_dm_mode.m4: Likewise.
78243         * m4/stat.m4: Likewise.
78244         * m4/utimbuf.m4: Likewise.
78245         * m4/utimes.m4: Likewise.
78246
78247         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
78248         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
78249         comments in config.h.in are meaningful.
78250
78251         * m4/jm-macros.m4: Require autoconf-2.13 here.
78252
78253         * m4/regex.m4: By default, don't use the included regex.c on systems
78254         with glibc 2.  Suggestion from Uli Drepper.
78255
78256 1999-01-02  Jim Meyering  <meyering@ascend.com>
78257
78258         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
78259
78260 1998-12-18  Jim Meyering  <meyering@ascend.com>
78261
78262         * m4/Makefile.am.in (Makefile.am): Simplify rule.
78263         Based on a suggestion from Lars Hecking.
78264
78265 1998-11-16  Paul Eggert  <eggert@twinsun.com>
78266
78267         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
78268
78269 1998-11-16  Jim Meyering  <meyering@ascend.com>
78270
78271         * m4/lfs.m4: Double-quote the `uname...` expression.
78272
78273 1998-11-14  Jim Meyering  <meyering@ascend.com>
78274
78275         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
78276         * m4/stat.m4: Likewise.
78277
78278 1998-11-03  Jim Meyering  <meyering@ascend.com>
78279
78280         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
78281         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
78282
78283 1998-10-18  Jim Meyering  <meyering@ascend.com>
78284
78285         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
78286
78287 1998-10-17  Jim Meyering  <meyering@ascend.com>
78288
78289         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
78290         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
78291         calls for those previously hard-coded headers.  Instead, take a new
78292         parameter.
78293         (jm_CHECK_DECLARATIONS): Reflect interface change.
78294         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
78295         (jm_CHECK_DECL_LOCALTIME_R): New macro.
78296
78297         * m4/mktime.m4: Test for spring-forward gap before long-running test.
78298
78299 1998-10-14  Jim Meyering  <meyering@ascend.com>
78300
78301         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
78302         instead of "TZ=America/Vancouver".  From Paul Eggert.
78303
78304 1998-10-11  Jim Meyering  <meyering@ascend.com>
78305
78306         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
78307         This adds a test for a recently added compatibility fix for mktime.c.
78308         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
78309
78310 1998-09-27  Jim Meyering  <meyering@ascend.com>
78311
78312         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
78313
78314         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
78315         ../configure.in, including a change from Gordon Matzigkeit to allow
78316         cross-compiling for the Hurd.
78317
78318         * m4/glibc.m4: New file/macro to test for the GNU C Library
78319         versions 1 and 2.  From Gordon Matzigkeit.
78320         Indent.
78321
78322 1998-09-21  Jim Meyering  <meyering@ascend.com>
78323
78324         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
78325
78326 1998-08-18  Paul Eggert  <eggert@twinsun.com>
78327
78328         Port nanosecond-resolution times to UnixWare 2.1.2 and
78329         pedantic Solaris 2.6.
78330
78331         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
78332         AC_STRUCT_ST_MTIM.
78333         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
78334         Generate name of ns member, instead of just 1 or undef.
78335         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
78336
78337 1998-08-15  Jim Meyering  <meyering@ascend.com>
78338
78339         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
78340         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
78341         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
78342         instead of jm_TYPE_SSIZE_T.
78343
78344 1998-08-12  Jim Meyering  <meyering@ascend.com>
78345
78346         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
78347
78348 1998-08-02  Jim Meyering  <meyering@ascend.com>
78349
78350         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
78351         in acconfig.h manually.
78352
78353 1998-07-31  Paul Eggert  <eggert@twinsun.com>
78354
78355         * m4/st_mtim.m4: New file.
78356
78357 1998-07-28  Jim Meyering  <meyering@ascend.com>
78358
78359         * m4/utimes.m4: Undef stat.
78360
78361 1998-07-25  Jim Meyering  <meyering@ascend.com>
78362
78363         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
78364         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
78365
78366 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
78367
78368         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
78369         uid and gid actually remain unchanged.
78370
78371 1998-07-07  Jim Meyering  <meyering@ascend.com>
78372
78373         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
78374
78375 1998-07-04  Jim Meyering  <meyering@ascend.com>
78376
78377         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
78378         to prove that this macro can be used in packages without regex.c.
78379
78380 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
78381
78382         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
78383         is to be used.
78384
78385 1998-07-03  Jim Meyering  <meyering@ascend.com>
78386
78387         * m4/gettext.m4: Add -lintl if it's found to be necessary.
78388
78389         * m4/gettext.m4: New file -- from gettext-0.10.35.
78390         * m4/lcmessage.m4: Likewise.
78391         * m4/progtest.m4: Likewise.
78392
78393         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
78394         * m4/jm-macros.m4: Require the new macro.
78395
78396 1998-06-29  Jim Meyering  <meyering@ascend.com>
78397
78398         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
78399         for the definition of NGROUPS (used in a system header included
78400         by sys/mount.h).
78401
78402 1998-06-28  Jim Meyering  <meyering@ascend.com>
78403
78404         * m4/ls-mntd-fs.m4: New file.
78405         * m4/fstypename.m4: New file.
78406
78407         * m4/jm-macros.m4: Require the new macro.
78408         * m4/jm-glibc-io.m4: New file.
78409
78410 1998-05-19  Jim Meyering  <meyering@ascend.com>
78411
78412         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
78413         * m4/lchown.m4: New file.
78414
78415         * m4/Makefile.am.in: New file.
78416         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
78417
78418 1998-05-14  Jim Meyering  <meyering@ascend.com>
78419
78420         * m4/Makefile.am (EXTRA_DIST): Add them.
78421         * m4/jm-macros.m4: New file.
78422         * m4/utimbuf.m4: New file.
78423
78424 1998-05-12  Jim Meyering  <meyering@ascend.com>
78425
78426         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
78427
78428 1998-05-11  Jim Meyering  <meyering@ascend.com>
78429
78430         * m4/isc-posix.m4: New file.
78431
78432 1998-05-10  Jim Meyering  <meyering@ascend.com>
78433
78434         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
78435
78436 1998-05-09  Jim Meyering  <meyering@ascend.com>
78437
78438         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
78439         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
78440         with automake.
78441
78442         * m4/ssize_t.m4: New file.
78443         * m4/mktime.m4: Remove file -- the new automake has this now.
78444
78445 1998-04-26  Jim Meyering  <meyering@ascend.com>
78446
78447         * m4/assert.m4: New file.
78448         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
78449
78450 1998-04-05  Jim Meyering  <meyering@ascend.com>
78451
78452         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
78453         (jm_PREREQ): Use it here.
78454
78455 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
78456
78457         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
78458         in acconfig.h.
78459
78460 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
78461
78462         * m4/prereq.m4: New file.
78463         * m4/error.m4: New file.
78464         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
78465
78466 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
78467
78468         * m4/getline.m4: Don't set am_cv_func_working_getline before the
78469         cache-check for the same variable -- that defeated the purpose of
78470         the test; the test program was never run.  This was a problem only
78471         on systems with losing getline functions -- HP-UX 10.20 is one.
78472         Reported by Bjorn Helgaas.
78473
78474 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
78475
78476         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
78477
78478 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
78479
78480         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
78481
78482         * m4/const.m4: New file.  Use an initializer in this declaration
78483         typedef int charset[2]; const charset x;
78484         Reported by Bob Glickstein.
78485
78486 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
78487
78488         * m4/chown.m4: Fix reversed types on -1 args to chown.
78489         From Kaveh Ghazi.
78490
78491 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
78492
78493         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
78494         Add lseek and memchr.
78495
78496         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
78497         T.E.Dickey <dickey@clark.net> said that some older preprocessors
78498         have a 20-character limit on names.
78499
78500 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
78501
78502         * m4/inttypes_h.m4: New file.
78503         * m4/uintmax_t.m4: New file.
78504         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
78505
78506
78507         -----
78508
78509         Local Variables:
78510         coding: utf-8
78511         End:
78512
78513         Copyright (C) 1997-2011 Free Software Foundation, Inc.
78514
78515         Copying and distribution of this file, with or without
78516         modification, are permitted provided the copyright notice
78517         and this notice are preserved.