dup3: cleanup
[gnulib.git] / ChangeLog
1 2011-04-30  Bruno Haible  <bruno@clisp.org>
2
3         dup3: cleanup
4         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
5
6 2011-04-30  Bruno Haible  <bruno@clisp.org>
7
8         netdb: Make it work in C++ mode.
9         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
11         module.
12         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
13         gl_MODULE_INDICATOR_FOR_TESTS.
14         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15         * modules/netdb-c++-tests: New file.
16         * tests/test-netdb-c++.cc: New file.
17
18 2011-04-30  Bruno Haible  <bruno@clisp.org>
19
20         New modules 'vfscanf', 'vscanf'.
21         * modules/vfscanf: New file.
22         * modules/vscanf: New file.
23         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
24         here.
25         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
26         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
27
28 2011-04-30  Bruno Haible  <bruno@clisp.org>
29
30         passfd: Add comments.
31         * lib/passfd.c: Add comments about platforms.
32
33 2011-04-30  Bruno Haible  <bruno@clisp.org>
34
35         sys_uio: Make <sys/uio.h> self-contained.
36         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
37         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
38
39 2011-04-30  Bruno Haible  <bruno@clisp.org>
40
41         sys_socket: Ensure 'struct iovec' definition.
42         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
43         <sys/socket.h>.
44         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
45
46 2011-04-30  Bruno Haible  <bruno@clisp.org>
47
48         sys_uio: Protect definition of 'struct iovec'.
49         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
50         it as a C struct.
51
52 2011-04-30  Bruno Haible  <bruno@clisp.org>
53
54         manywarnings: fix indentation
55         * m4/manywarnings.m4: Indent by 2 spaces consistently.
56
57 2011-04-30  Bruno Haible  <bruno@clisp.org>
58
59         netdb: Fix invalid C syntax.
60         * lib/netdb.in.h (AI_ADDRCONFIG): Fix comment syntax.
61
62 2011-04-30  Pádraig Brady <P@draigBrady.com>
63
64         manywarnings: add -Wno-missing-field-initializers if needed.
65         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
66         option if it's needed to allow initialization with { 0, }
67
68 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
69
70         announce-gen: cosmetic improvement
71         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
72
73 2011-04-29  Jim Meyering  <meyering@redhat.com>
74
75         vc-list-files: indent with spaces, not TABs
76         * build-aux/vc-list-files: Convert leading TABs to spaces,
77         to match the style of most other files in gnulib.
78
79         announce-gen: indent with spaces, not TABs
80         * build-aux/announce-gen: Convert all TABs to spaces, to match
81         the style of most other files in gnulib.
82
83 2011-04-29  Eric Blake  <eblake@redhat.com>
84
85         quotearg: avoid uninitialized variable use
86         * lib/quotearg.c (quoting_options_from_style): Initialize
87         remaining fields, and ensure that custom styles are only used via
88         quoting_options rather than quoting_style.
89
90 2011-04-29  Jim Meyering  <meyering@redhat.com>
91
92         maint.mk: remove unused VC-tag variable
93         * top/maint.mk (VC-tag): Remove unused variable.
94
95 2011-04-29  Bruno Haible  <bruno@clisp.org>
96
97         netdb: fix gai_strerror replacements
98         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
99         * modules/netdb: Substitute it.
100
101 2011-04-29  Jim Meyering  <meyering@redhat.com>
102
103         test-getcwd.c: avoid new set-but-not-used warning
104         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
105         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
106         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
107         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
108
109         test-hash.c: avoid a new shadowing warning
110         * tests/test-hash.c (main): Don't shadow "dup".
111
112 2011-04-28  Eric Blake  <eblake@redhat.com>
113
114         getaddrinfo: fix gai_strerror signature
115         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
116         and work around mingw with UNICODE defined.
117         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
118         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
119         * modules/netdb (Makefile.am): Substitute it.
120         * lib/netdb.in.h (gai_strerror): Declare replacement.
121         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
122         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
123         the fix.
124
125         getsockopt: avoid compiler warning
126         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
127         Reported by Matthias Bolte.
128
129         tests: drop unused link dependency
130         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
131         * modules/dirent-safer-tests (Makefile.am): Likewise.
132         * modules/fdopendir-tests (Makefile.am): Likewise.
133         * modules/mkfifoat-tests (Makefile.am): Likewise.
134         * modules/openat-safer-tests (Makefile.am): Likewise.
135         * modules/openat-tests (Makefile.am): Likewise.
136         * modules/readlinkat-tests (Makefile.am): Likewise.
137         * modules/symlinkat-tests (Makefile.am): Likewise.
138         * modules/linkat-tests (Makefile.am): Likewise.
139         (Depends-on): Switch to filenamecat-lgpl.
140         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
141         LIBINTL.
142         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
143         * tests/test-linkat.c (main): Don't require xalloc.
144
145         hash, mgetgroups: drop xalloc dependency
146         * lib/hash.c (includes): Adjust includes.
147         * lib/mgetgroups.c (includes): Likewise.
148         (xgetgroups): Move...
149         * lib/xgetgroups.c: ...to new file.
150         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
151         * modules/xgetgroups: New file, split from...
152         * modules/mgetgroups: ...here.
153         (Depends-on): Add xalloc-oversized.
154         * modules/hash (Depends-on): Likewise.
155         * modules/hash-tests (Depends-on): Drop xalloc.
156         (test_hash_LDADD): Drop unused library.
157         * tests/test-hash.c (main): Break xalloc dependency.
158         (includes): Drop unused include.
159
160         xalloc-oversized: new module
161         * modules/xalloc-oversized: New module.
162         * modules/xalloc (Depends-on): Add it.
163         * lib/xalloc.h (xalloc_oversized): Move...
164         * lib/xalloc-oversized.h: ...into new file.
165
166         utimecmp: drop dependency on xmalloc
167         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
168         due to memory pressure.
169         * modules/utimecmp (Depends-on): Drop xalloc.
170
171 2011-04-27  Eric Blake  <eblake@redhat.com>
172
173         getcwd: fix mingw bugs
174         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
175         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
176         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
177
178 2011-04-27  Bruno Haible  <bruno@clisp.org>
179
180         mkstemps: Ensure declaration on MacOS X 10.5.
181         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
182         * doc/glibc-functions/mkstemps.texi: Document header file problem on
183         MacOS X.
184
185 2011-04-27  Bruno Haible  <bruno@clisp.org>
186
187         mkstemp: More documentation.
188         * doc/posix-functions/mkstemp.texi: Document header file problem on
189         MacOS X.
190
191 2011-04-27  Bruno Haible  <bruno@clisp.org>
192
193         mkstemp: Tweak configure message when cross-compiling.
194         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
195         result as a guess.
196
197 2011-04-27  Bruno Haible  <bruno@clisp.org>
198
199         clean-temp: Clarify what it does.
200         * lib/clean-temp.h: Add more comments.
201         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
202         module.
203         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
204         * doc/glibc-functions/mkstemps.texi: Likewise.
205         * doc/glibc-functions/mkostemps.texi: Likewise.
206
207 2011-04-27  Eric Blake  <eblake@redhat.com>
208
209         fchdir: avoid extra chdir and fix test
210         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
211         getcwd-lgpl.
212         * lib/fchdir.c (get_name): Any absolute name will do; it does not
213         have to be canonical.
214         (canonicalize_file_name): Drop unused macro.
215         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
216
217         filenamecat-lgpl: fix licence
218         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
219         when it was first created.
220
221         linkat, renameat: add missing dependency
222         * modules/linkat (Depends-on): Require getcwd-lgpl.
223         * modules/renameat (Depends-on): Likewise.
224
225         tests: reduce dependencies
226         * tests/test-linkat.c (main): Use lighter-weight getcwd.
227         * tests/test-renameat.c (main): Likewise.
228         * modules/linkat-tests (Depends-on): Relax dependency.
229         * modules/renameat-tests (Depends-on): Likewise.
230         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
231         dependency explicit.
232
233         save-cwd: reduce default dependency
234         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
235         * lib/save-cwd.c: Update comments.
236         * NEWS: Document the semantic change.
237
238         getcwd: enhance tests
239         * tests/test-getcwd-lgpl.c: New file, taken from...
240         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
241         repeat long path stress tests from m4 probe.
242         * modules/getcwd-lgpl-tests: New module.
243         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
244         * m4/getcwd-abort-bug.m4: Update comment.
245         * m4/getcwd-path-max.m4: Likewise.
246
247         getcwd-lgpl: new module
248         * modules/getcwd-lgpl: New module.
249         * lib/getcwd-lgpl.c: New file.
250         * doc/posix-functions/getcwd.texi (getcwd): Document it.
251         * MODULES.html.sh (lacking POSIX:2008): Likewise.
252         * modules/getcwd (configure.ac): Set C witness.
253         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
254
255         getcwd: tweak comments
256         * m4/getcwd-abort-bug.m4: Fix comments.
257         * m4/getcwd-path-max.m4: Likewise.
258         * m4/getcwd.m4: Likewise.
259
260 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
261         and Eric Blake  <eblake@redhat.com>
262
263         mkstemp: replace if system version uses wrong permissions
264         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
265         read/write mode bits set in file created by mkstemp.
266         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
267
268 2011-04-27  Eric Blake  <eblake@redhat.com>
269
270         passfd: avoid compiler warning
271         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
272         Reported by Laine Stump.
273
274 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
275
276         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
277         required by the NetBSD (and perhaps other 4.4BSD derived) join.
278
279 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
280         and Eric Blake  <eblake@redhat.com>
281
282         mkstemp: mention clean-temp module
283         * lib/mkstemp.c: Add comment.
284         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
285
286 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
287
288         inttypes: also provide default values for 32-bit tests
289         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
290         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
291
292 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
293
294         strtoumax: remove dependency on strtoimax
295         This is like the strtoull change of yesterday.
296         * modules/strtoumax (Files): Add lib/strtoimax.c.
297         (Depends-on): Remove strtoimax and add verify.
298
299         inttypes-incomplete: new module
300         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
301         all but the PRI* and SCN* parts of gl_INTTYPES_H.
302         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
303         of gl_INTTYPES_H.
304         (gl_INTTYPES_H): Rewrite in terms of these new macros.
305         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
306         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
307         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
308         * modules/strtoumax, modules/xstrtol (Depends-on):
309         Depend on inttypes-incomplete, not inttypes.
310         * modules/inttypes-incomplete: New module, containing the contents
311         of the old modules/inttypes module, except that the Files: section
312         omits m4/inttypes-pri.m4, and the configure.ac section invokes
313         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
314         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
315         (Depends-on): Depend only on inttypes-incomplete.
316         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
317
318         inttypes: omit now-redundant strtoimax and strtoumax work
319         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
320         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
321
322         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
323         This supports apps that need pointers to strtoimax and strtoumax,
324         and ports to HP-UX 11.00 64.bit, which has macros that expand to
325         nonexistent functions.  See
326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
327         et seq.
328         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
329         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
330         a macro.
331         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
332
333 2011-04-25  Simon Josefsson  <simon@josefsson.org>
334
335         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
336
337 2011-04-25  Bruno Haible  <bruno@clisp.org>
338
339         strtol, strtoul: Mark modules as obsolete.
340         * modules/strtol (Status, Notice): New sections.
341         * modules/strtoul (Status, Notice): New sections.
342
343 2011-04-25  Bruno Haible  <bruno@clisp.org>
344
345         strtod: Remove check for strtod, unless supporting old platforms.
346         * modules/strtod-obsolete: New file.
347         * m4/strtod-obsolete.m4: New file.
348         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
349         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
350         * modules/strtod (Depends-on): Add strtod-obsolete.
351         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
352
353 2011-04-25  Bruno Haible  <bruno@clisp.org>
354
355         strcase: Make module obsolete.
356         * modules/strcase (Status, Notice): New sections.
357
358 2011-04-25  Bruno Haible  <bruno@clisp.org>
359
360         dup2: Remove check for dup2, unless supporting old obsolete platforms.
361         * modules/dup2-obsolete: New file.
362         * m4/dup2-obsolete.m4: New file.
363         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
364         gl_FUNC_DUP2_OBSOLETE is not also defined.
365         * modules/dup2 (Depends-on): Add dup2-obsolete.
366         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
367
368 2011-04-25  Bruno Haible  <bruno@clisp.org>
369
370         strnlen: Avoid memchr related link error on old obsolete platforms.
371         * modules/memchr-obsolete: New file.
372         * m4/memchr-obsolete.m4: New file.
373         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
374         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
375         * modules/memchr (Depends-on): Add memchr-obsolete.
376         * modules/strnlen (Depends-on): Likewise.
377         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
378
379 2011-04-25  Jim Meyering  <meyering@redhat.com>
380
381         maint.mk: makefile_at_at_check extend and clean up
382         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
383         in addition to */Makefile.am.
384         Exempt legitimate uses of @VAR@ notation, e.g.,
385         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
386         Remove obsolete coreutils-specific comment.
387         Prompted by discussion here:
388         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
389
390 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
391
392         strtoul: remove dependency on strtol
393         This is so that 'configure' need not check for strtol merely because
394         the application needs strtoul.
395         * modules/strtoul (Files): Add lib/strtol.c.
396         (Depends-on): Remove strtol.
397
398         strtoull: remove dependency on strtoul
399         This is like the strtoll change.
400         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
401         (Depends-on): Remove strtoul.
402
403         strtoll: remove dependency on strtol
404         This is so that 'configure' need not check for strtol merely because
405         the application needs strtoll.
406         * modules/strtoll (Files): Add lib/strtol.c.
407         (Depends-on): Remove strtol.
408
409 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
410
411         inttypes: Move some configure check to module 'imaxdiv'.
412         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
413         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
414         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
415
416 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
417
418         inttypes: Move some configure check to module 'imaxabs'.
419         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
420         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
421         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
422
423 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
424
425         inttypes: Remove configure tests that are not needed since 2009-12-31.
426         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
427         gl_cv_header_working_inttypes_h.
428
429 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
430
431         * modules/strnlen (Depends-on): Remove memchr.
432         The strnlen implementation doesn't need the memchr module's fixes; see
433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
434
435         strtol: remove dependency on wchar
436         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
437         * modules/strtol (Depends-on): Remove wchar.
438
439 2011-04-21  Eric Blake  <eblake@redhat.com>
440
441         passfd: fix test regression on Linux
442         * modules/passfd-tests (configure.ac): Correct socketpair check.
443
444         passfd: speed up configure and drop unused code
445         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
446         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
447         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
448         Instead of probing at configure for unix_scm_rights_bsd44_way,
449         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
450         check to a struct member probe.
451         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
452         (sendfd, recvfd): Update preprocessor checks.
453         * modules/passfd (Files): Reflect rename, and drop unused file.
454         (Depends-on): Drop unused dependency.
455
456         passfd: allow compilation on mingw
457         * modules/sys_socket (Depends-on): Add sys_uio.
458         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
459         iovec and a minimal struct msghdr.
460         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
461         * tests/test-sys_socket.c (main): Enhance test.
462         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
463         guaranteed to provide what we need.
464         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
465         * modules/passfd-tests (Depends-on): Add sys_wait.
466         * tests/test-passfd.c (main): Skip test on mingw, for now.
467         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
468         partial 'struct msghdr' implementation.
469
470         sys_uio: new module
471         * modules/sys_uio: New module.
472         * modules/sys_uio-tests: Likewise.
473         * lib/sys_uio.in.h: New file.
474         * m4/sys_uio_h.m4: Likewise.
475         * tests/test-sys_uio.c: Likewise.
476         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
477         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
478
479 2011-04-20  Jim Meyering  <meyering@redhat.com>
480
481         useless-if-before-free: avoid false-positive
482         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
483         disjunct so that it too requires a terminating ";".  Without that,
484         this script would identify as useless one statement from gcc that
485         was not:
486           if (aligned_ptr)
487             free (((void **) aligned_ptr) [-1]);
488
489 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
490
491         doc: update users.txt.
492         * users.txt: Add barcode.
493
494 2011-04-19  Bruno Haible  <bruno@clisp.org>
495
496         ioctl: Remove link dependency on native Windows.
497         * lib/fd-hook.h: Renamed from lib/close-hook.h.
498         (gl_close_fn, gl_ioctl_fn): New types.
499         (struct fd_hook): Renamed from struct close_hook. Change type of
500         private_close_fn field. Add private_ioctl_fn field.
501         (close_hook_fn): Add parameter for primary close method.
502         (execute_close_hooks, execute_all_close_hooks): Likewise.
503         (ioctl_hook_fn): New type.
504         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
505         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
506         argument.
507         (unregister_fd_hook): Renamed from unregister_close_hook.
508         * lib/fd-hook.c: Renamed from lib/close-hook.c.
509         Don't include <unistd.h>.
510         (close): Remove undef.
511         (anchor): Update.
512         (execute_close_hooks): Add argument for primary close method.
513         (execute_all_close_hooks): Likewise.
514         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
515         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
516         argument. Allow each argument to be NULL.
517         (unregister_fd_hook): Renamed from unregister_close_hook.
518         * lib/close.c (rpl_close): Pass 'close' function pointer to
519         execute_all_close_hooks.
520         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
521         (primary_ioctl): New function.
522         (ioctl): Don't call ioctlsocket here. Instead, call
523         execute_all_ioctl_hooks.
524         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
525         close method.
526         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
527         (fd_sockets_hook): Renamed from close_sockets_hook.
528         (gl_sockets_startup, gl_sockets_cleanup): Update.
529         * modules/fd-hook: Renamed from modules/close-hook. Update.
530         * modules/close (Depends-on): Add fd-hook, remove close-hook.
531         * modules/sockets (Depends-on): Likewise.
532         * modules/ioctl (Depends-on): Add fd-hook.
533         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
534         GNULIB_SOCKET.
535
536 2011-04-19  Bruno Haible  <bruno@clisp.org>
537
538         Move the support of O_NONBLOCK in open() to the 'open' module.
539         * modules/nonblocking (Depends-on): Remove 'open'.
540         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
541         gl_cv_have_open_O_NONBLOCK.
542         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
543         O_NONBLOCK support.
544         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
545
546 2011-04-17  Bruno Haible  <bruno@clisp.org>
547
548         pipe2: Simplify code.
549         * lib/pipe2.c (pipe2): Reduce code duplication.
550
551 2011-04-17  Bruno Haible  <bruno@clisp.org>
552
553         nonblocking: Add comment.
554         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
555
556 2011-04-17  Bruno Haible  <bruno@clisp.org>
557
558         nonblocking: Add tests for sockets.
559         * tests/test-nonblocking-socket.sh: New file.
560         * tests/test-nonblocking-socket-main.c: New file.
561         * tests/test-nonblocking-socket-child.c: New file.
562         * tests/test-nonblocking-socket.h: New file.
563         * tests/socket-server.h: New file.
564         * tests/socket-client.h: New file.
565         * modules/nonblocking-socket-tests: New file.
566         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
567
568 2011-04-17  Bruno Haible  <bruno@clisp.org>
569
570         nonblocking: Add tests for pipes.
571         * tests/test-nonblocking-pipe.sh: New file.
572         * tests/test-nonblocking-pipe-main.c: New file.
573         * tests/test-nonblocking-pipe-child.c: New file.
574         * tests/test-nonblocking-pipe.h: New file.
575         * tests/test-nonblocking-writer.h: New file.
576         * tests/test-nonblocking-reader.h: New file.
577         * tests/test-nonblocking-misc.h: New file.
578         * modules/nonblocking-pipe-tests: New file.
579         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
580
581 2011-04-16  Bruno Haible  <bruno@clisp.org>
582
583         gettext: Clarify the needed programmer actions.
584         * modules/gettext (Notice): New field.
585         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
586
587 2011-04-16  Bruno Haible  <bruno@clisp.org>
588
589         strchrnul: Tweak last commit.
590         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
591         bug.
592         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
593         as in _GL_FUNCDECL_SYS.
594         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
595         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
596
597 2011-04-15  Eric Blake  <eblake@redhat.com>
598
599         strchrnul: work around cygwin bug
600         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
601         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
602         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
603         * modules/string (Makefile.am): Substitute it.
604         * lib/string.in.h (strchrnul): Use it.
605
606 2011-04-15  Bruno Haible  <bruno@clisp.org>
607
608         Don't require lib/stdio-write.c when only module 'stdio' is used.
609         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
610         invocation.
611         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
612
613 2011-04-14  Bruno Haible  <bruno@clisp.org>
614
615         Support non-blocking pipe I/O in read() on native Windows.
616         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
617         (read): New declaration.
618         * lib/read.c: New file.
619         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
620         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
621         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
622         vscanf): New declarations.
623         * lib/stdio-read.c: New file.
624         * m4/read.m4: New file.
625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
626         REPLACE_READ.
627         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
628         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
629         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
630         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
631         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
632         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
633         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
634         * modules/read: New file.
635         * modules/nonblocking (Files): Add lib/stdio-read.c.
636         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
637         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
638         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
639         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
640         * modules/pread (Depends-on): Add read.
641         * modules/safe-read (Depends-on): Likewise.
642         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
643         gets, scanf, vfscanf, vscanf): Verify signatures.
644         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
645         problem with non-blocking pipes.
646         * doc/posix-functions/fgetc.texi: Likewise.
647         * doc/posix-functions/fgets.texi: Likewise.
648         * doc/posix-functions/fread.texi: Likewise.
649         * doc/posix-functions/fscanf.texi: Likewise.
650         * doc/posix-functions/getc.texi: Likewise.
651         * doc/posix-functions/getchar.texi: Likewise.
652         * doc/posix-functions/gets.texi: Likewise.
653         * doc/posix-functions/scanf.texi: Likewise.
654         * doc/posix-functions/vfscanf.texi: Likewise.
655         * doc/posix-functions/vscanf.texi: Likewise.
656
657 2011-04-14  Bruno Haible  <bruno@clisp.org>
658
659         Support non-blocking pipe I/O in write() on native Windows.
660         * lib/write.c (rpl_write): Split a write request that failed merely
661         because the byte count was larger than the pipe buffer's size.
662         * doc/posix-functions/write.texi: Mention the problem with large byte
663         counts.
664
665 2011-04-14  Bruno Haible  <bruno@clisp.org>
666
667         wchar: Ensure that wchar_t gets defined on uClibc.
668         * lib/wchar.in.h: On uClibc, include <stddef.h>.
669         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
670
671 2011-04-13  Bruno Haible  <bruno@clisp.org>
672
673         safe-write, full-read: Avoid unnecessary compilation units.
674         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
675         (Depends-on): Remove safe-read. Add ssize_t.
676         * modules/full-read (Files): Add lib/full-write.c.
677         (Depends-on): Add full-write.
678
679 2011-04-13  Bruno Haible  <bruno@clisp.org>
680
681         Support non-blocking pipe I/O and SIGPIPE in pwrite().
682         * modules/pwrite (Depends-on): Add 'write'.
683
684 2011-04-13  Bruno Haible  <bruno@clisp.org>
685
686         Support non-blocking pipe I/O in write() on native Windows.
687         * lib/unistd.in.h (write): Enable replacement also if
688         GNULIB_UNISTD_H_NONBLOCKING is 1.
689         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
690         (rpl_write): When failing to write on a non-blocking pipe, change
691         errno from ENOSPC to EAGAIN.
692         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
693         putchar, puts, vfprintf, vprintf): Enable replacement also if
694         GNULIB_STDIO_H_NONBLOCKING is 1.
695         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
696         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
697         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
698         CALL_WITH_SIGPIPE_EMULATION.
699         (CALL_WITH_SIGPIPE_EMULATION): Use them.
700         * m4/nonblocking.m4: New file.
701         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
702         for non-blocking I/O support.
703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
704         GNULIB_UNISTD_H_NONBLOCKING.
705         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
706         required for non-blocking I/O support.
707         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
708         * modules/nonblocking (Files): Add m4/nonblocking.m4,
709         lib/stdio-write.c, m4/asm-underscore.m4.
710         (Depends-on): Add stdio, unistd.
711         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
712         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
713         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
714         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
715         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
716         problem with non-blocking pipes.
717         * doc/posix-functions/fputc.texi: Likewise.
718         * doc/posix-functions/fputs.texi: Likewise.
719         * doc/posix-functions/fwrite.texi: Likewise.
720         * doc/posix-functions/printf.texi: Likewise.
721         * doc/posix-functions/putc.texi: Likewise.
722         * doc/posix-functions/putchar.texi: Likewise.
723         * doc/posix-functions/puts.texi: Likewise.
724         * doc/posix-functions/vfprintf.texi: Likewise.
725         * doc/posix-functions/vprintf.texi: Likewise.
726         * doc/posix-functions/write.texi: Likewise.
727
728 2011-04-10  Jim Meyering  <meyering@redhat.com>
729
730         maint.mk: prohibit doubled words
731         Detect them also when they're separated by a newline.
732         There are 3 ways to customize it:
733           - disable the test on a per file basis, as usual with rules using
734             $(VC_LIST_EXCEPT)
735           - replace the default doubled-word-selecting regexp (affects all files)
736           - ignore a particular file-vs-doubled-word match
737         I nearly used that last one to ignore the "is is" match in
738         coreutils' NEWS file, since the text was "ls -is is ..."
739         To do that, I would have added this line to cfg.mk:
740           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
741         but it would have ignored any "is is" match in NEWS.
742         Low probability, but still...
743         Instead, I changed the text, slightly:
744           -  ls -is is now consistent with ls -lis in ignoring values returned
745           +  "ls -is" is now consistent with ls -lis in ignoring values returned
746         * top/maint.mk (prohibit_double_word_RE_): Provide default.
747         (prohibit_doubled_word_): Define.
748         (sc_prohibit_doubled_word): New rule.
749         (sc_prohibit_the_the): Remove.  Subsumed by the above.
750
751 2011-04-10  Jim Meyering  <meyering@redhat.com>
752
753         maint: fix doubled-word typo in comment
754         * m4/gethostname.m4: s/is is/it is/
755         * m4/getdomainname.m4: Likewise.
756
757 2011-04-10  Jim Meyering  <meyering@redhat.com>
758
759         maint: remove doubled word: s/it it/it/
760         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
761
762 2011-04-10  Jim Meyering  <meyering@redhat.com>
763
764         maint.mk: remove useless semicolon and backslash
765         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
766         semicolon and backslash.
767
768 2011-04-10  Bruno Haible  <bruno@clisp.org>
769
770         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
771         * modules/stdint-tests (Depends-on): Add wchar.
772
773 2011-04-10  Jim Meyering  <meyering@redhat.com>
774
775         maint: remove doubled words in comments, e.g., s/a a/a/
776         * lib/strptime.c (day_of_the_week): s/the the/the/
777         * tests/test-chown.h (test_chown): s/a a/a/
778
779         test-chown.h: correct a cast
780         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
781         when the destination is a stat.st_gid.
782
783 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
784
785         getaddrinfo: Fix test for sa_len member.
786         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
787         include <sys/types.h> before <sys/socket.h>.
788
789 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
790
791         maint: change "can not" to "cannot"
792         * doc/posix-functions/iconv.texi (iconv): This one crossed line
793         boundaries.
794
795 2011-04-09  Jim Meyering  <meyering@redhat.com>
796
797         maint: change "a a" to "a"
798         * tests/test-lchown.h (test_lchown): s/a a/a/
799
800         maint.mk: prohibit \<the the\>
801         * top/maint.mk (sc_prohibit_the_the): New rule.
802
803         maint: fix "the the" in comment
804         * lib/count-one-bits.h: s/the the/the/
805
806         maint: change "can not" to "cannot"
807         But do not change the occurrences in maintain.texi or in
808         build-aux/po/Makefile.in.in, which I presume comes from gettext.
809         * doc/gnulib-tool.texi: s/can not/cannot/
810         * doc/posix-functions/accept.texi (accept): Likewise.
811         * doc/posix-functions/socket.texi (socket): Likewise.
812         * lib/mbrtowc.c: Likewise.
813
814         maint.mk: prohibit use of "can not"
815         * top/maint.mk (sc_prohibit_can_not): New rule.
816         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
817
818 2011-04-09  Bruno Haible  <bruno@clisp.org>
819
820         careadlinkat: Guard against misuse of careadlinkatcwd.
821         * lib/careadlinkat.c: Include <stdlib.h>.
822         (careadlinkatcwd): Check that the fd argument is as expected.
823
824 2011-04-09  Bruno Haible  <bruno@clisp.org>
825
826         careadlinkat: Use common coding style.
827         * lib/careadlinkat.c: Move gnulib includes after system includes.
828
829 2011-04-09  Bruno Haible  <bruno@clisp.org>
830
831         careadlinkat: Clarify specification.
832         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
833         (careadlinkatcwd): Add comment.
834         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
835
836 2011-04-09  Bruno Haible  <bruno@clisp.org>
837
838         areadlinkat: Avoid link error on many platforms.
839         * modules/areadlinkat (Depends-on): Add areadlink.
840
841 2011-04-09  Bruno Haible  <bruno@clisp.org>
842
843         allocator, careadlinkat: Fix double-inclusion guard.
844         * lib/allocator.h: Fix double-inclusion guard.
845         * lib/careadlinkat.h: Likewise.
846
847 2011-04-09  Bruno Haible  <bruno@clisp.org>
848
849         relocatable-prog-wrapper: Update after module 'areadlink' changed.
850         * lib/relocwrapper.c: Update dependencies hierarchy.
851         * build-aux/install-reloc: Update list of files to be compiled.
852         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
853         lib/allocator.[hc].
854
855 2011-04-08  Eric Blake  <eblake@redhat.com>
856
857         strftime: silence gnulib-tool warning
858         * modules/strftime-tests (Depends-on): Drop automatic dependency.
859
860 2011-04-08  Bruno Haible  <bruno@clisp.org>
861
862         verify: Fix syntax error with GCC 4.6 in C++ mode.
863         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
864         (HAVE_STATIC_ASSERT): New macro.
865         (verify_true, verify): Use 'static_assert' if it is supported and
866         '_Static_assert' is not supported.
867
868 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
869
870         allocator: New module.
871         * modules/allocator, lib/allocator.c: New files.
872         * lib/allocator.h (stdlib_allocator): New decl.
873         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
874         Remove.  Do not include <stdlib.h>.
875         (careadlinkat): Use stdlib_allocator instead of rolling our own.
876         * modules/careadlinkat (Files): Remove lib/allocator.h.
877         (Depends-on): Add allocator.
878
879         stdlib: let modules use system malloc, realloc
880         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
881         if !_GL_USE_STDLIB_ALLOC.
882         (malloc, realloc): Limit this change to a smaller scope.
883
884         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
885         (malloc, realloc): Don't #undef; no longer needed.
886         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
887         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
888         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
889         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
890         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
891         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
892         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
893         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
894
895         careadlinkat: rename members to avoid problem
896         * lib/allocator.h (struct allocator): Rename members from
897         malloc/realloc to allocate/reallocate, to avoid problems if malloc
898         and realloc are #define'd.  Reported by Eric Blake in
899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
900         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
901
902 2011-04-08  Eric Blake  <eblake@redhat.com>
903
904         nonblocking: reduce dependency
905         * tests/test-nonblocking.c: Only test sockets when in use.
906         * modules/nonblocking-tests (Depends-on): Drop socket.
907         (Makefile.am): Link even if sockets are not present.
908         * modules/pipe2-tests (Makefile.am): Likewise.
909         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
910
911         pipe2: fix O_NONBLOCK support on mingw
912         * modules/pipe2 (Depends-on): Add nonblocking.
913         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
914         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
915         * tests/test-nonblocking.c (main): Likewise.
916         * modules/pipe2-tests (Makefile.am): Avoid link failure.
917
918         fcntl-h: fix O_ACCMODE on cygwin
919         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
920         * lib/fcntl.in.h (O_ACCMODE): Fix it.
921
922         pipe-filter: drop O_NONBLOCK workarounds
923         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
924         * modules/pipe-filter-ii (Depends-on): Likewise.
925         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
926
927         nonblocking: provide O_NONBLOCK for mingw
928         * modules/nonblocking (Depends-on): Add open.
929         (configure.ac): Set new witness macro.
930         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
931         * modules/fcntl-h (Makefile.am): Substitute it.
932         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
933         nonblocking module is in use.
934         * lib/nonblocking.c: Adjust portability test.
935         * lib/open.c (open): Don't let native open see gnulib flag.
936         * tests/test-fcntl-h.c (main): Enhance test.
937         * tests/test-open.h (test_open): Likewise.
938         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
939
940         careadlinkat: fix compilation error on mingw
941         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
942         within struct allocator.
943
944 2011-04-06  Eric Blake  <eblake@redhat.com>
945
946         binary-io: relicense under LGPLv2+
947         * modules/binary-io (License): Relax to LGPLv2+.
948         Requested for libvirt, and required by pipe2.
949
950 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
951
952         verify: use _Static_assert if available
953         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
954         (verify_true, verify): Use it if available.  This generates better
955         diagnostics with GCC 4.6.0 and later.
956
957 2011-04-05  Bruno Haible  <bruno@clisp.org>
958
959         Remove leftover generated .h files after config.status changed.
960
961         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
962         GL_GENERATE_ALLOCA_H.
963         * modules/alloca-opt (Makefile.am): Remove alloca.h if
964         GL_GENERATE_ALLOCA_H evaluates to false.
965
966         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
967         GL_GENERATE_ARGZ_H.
968         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
969         evaluates to false.
970
971         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
972         GL_GENERATE_BYTESWAP_H.
973         * modules/byteswap (Makefile.am): Remove byteswap.h if
974         GL_GENERATE_BYTESWAP_H evaluates to false.
975
976         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
977         GL_GENERATE_ERRNO_H.
978         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
979         evaluates to false.
980
981         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
982         GL_GENERATE_FLOAT_H.
983         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
984         evaluates to false.
985
986         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
987         GL_GENERATE_FNMATCH_H.
988         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
989         GL_GENERATE_FNMATCH_H evaluates to false.
990
991         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
992         GL_GENERATE_GLOB_H.
993         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
994         evaluates to false.
995
996         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
997         automake conditional GL_GENERATE_ICONV_H.
998         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
999         evaluates to false.
1000
1001         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
1002         GL_GENERATE_NETINET_IN_H.
1003         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
1004         GL_GENERATE_NETINET_IN_H evaluates to false.
1005
1006         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
1007         conditional GL_GENERATE_PTHREAD_H.
1008         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
1009         * modules/pthread (Makefile.am): Remove pthread.h if
1010         GL_GENERATE_PTHREAD_H evaluates to false.
1011
1012         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
1013         GL_GENERATE_SCHED_H.
1014         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
1015         evaluates to false.
1016
1017         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
1018         conditional GL_GENERATE_SELINUX_CONTEXT_H.
1019         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
1020         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
1021
1022         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
1023         GL_GENERATE_STDARG_H.
1024         * modules/stdarg (Makefile.am): Remove stdarg.h if
1025         GL_GENERATE_STDARG_H evaluates to false.
1026
1027         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
1028         GL_GENERATE_STDBOOL_H.
1029         * modules/stdbool (Makefile.am): Remove stdbool.h if
1030         GL_GENERATE_STDBOOL_H evaluates to false.
1031
1032         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
1033         conditional GL_GENERATE_STDDEF_H.
1034         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
1035         * modules/stddef (Makefile.am): Remove stddef.h if
1036         GL_GENERATE_STDDEF_H evaluates to false.
1037
1038         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
1039         GL_GENERATE_STDINT_H.
1040         * modules/stdint (Makefile.am): Remove stdint.h if
1041         GL_GENERATE_STDINT_H evaluates to false.
1042
1043         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
1044         GL_GENERATE_SYSEXITS_H.
1045         * modules/sysexits (Makefile.am): Remove sysexits.h if
1046         GL_GENERATE_SYSEXITS_H evaluates to false.
1047
1048         Reported by Karl Berry and Ralf Wildenhues.
1049
1050 2011-04-05  Bruno Haible  <bruno@clisp.org>
1051
1052         Ensure to rebuild generated .h files when config.status has changed.
1053         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
1054         config.status.
1055         * modules/ctype (Makefile.am): Likewise.
1056         * modules/dirent (Makefile.am): Likewise.
1057         * modules/errno (Makefile.am): Likewise.
1058         * modules/fcntl-h (Makefile.am): Likewise.
1059         * modules/float (Makefile.am): Likewise.
1060         * modules/getopt-posix (Makefile.am): Likewise.
1061         * modules/glob (Makefile.am): Likewise.
1062         * modules/iconv-h (Makefile.am): Likewise.
1063         * modules/inttypes (Makefile.am): Likewise.
1064         * modules/langinfo (Makefile.am): Likewise.
1065         * modules/locale (Makefile.am): Likewise.
1066         * modules/math (Makefile.am): Likewise.
1067         * modules/netdb (Makefile.am): Likewise.
1068         * modules/netinet_in (Makefile.am): Likewise.
1069         * modules/poll-h (Makefile.am): Likewise.
1070         * modules/pthread (Makefile.am): Likewise.
1071         * modules/pty (Makefile.am): Likewise.
1072         * modules/sched (Makefile.am): Likewise.
1073         * modules/search (Makefile.am): Likewise.
1074         * modules/selinux-h (Makefile.am): Likewise.
1075         * modules/signal (Makefile.am): Likewise.
1076         * modules/spawn (Makefile.am): Likewise.
1077         * modules/stdarg (Makefile.am): Likewise.
1078         * modules/stdbool (Makefile.am): Likewise.
1079         * modules/stddef (Makefile.am): Likewise.
1080         * modules/stdint (Makefile.am): Likewise.
1081         * modules/stdio (Makefile.am): Likewise.
1082         * modules/stdlib (Makefile.am): Likewise.
1083         * modules/string (Makefile.am): Likewise.
1084         * modules/strings (Makefile.am): Likewise.
1085         * modules/sys_file (Makefile.am): Likewise.
1086         * modules/sys_ioctl (Makefile.am): Likewise.
1087         * modules/sys_select (Makefile.am): Likewise.
1088         * modules/sys_socket (Makefile.am): Likewise.
1089         * modules/sys_stat (Makefile.am): Likewise.
1090         * modules/sys_time (Makefile.am): Likewise.
1091         * modules/sys_times (Makefile.am): Likewise.
1092         * modules/sys_utsname (Makefile.am): Likewise.
1093         * modules/sys_wait (Makefile.am): Likewise.
1094         * modules/sysexits (Makefile.am): Likewise.
1095         * modules/termios (Makefile.am): Likewise.
1096         * modules/time (Makefile.am): Likewise.
1097         * modules/unistd (Makefile.am): Likewise.
1098         * modules/wchar (Makefile.am): Likewise.
1099         * modules/wctype-h (Makefile.am): Likewise.
1100         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
1101
1102 2011-04-05  Bruno Haible  <bruno@clisp.org>
1103
1104         pipe2: Relicense under LGPLv2+.
1105         * modules/pipe2 (License): Change to LGPLv2+.
1106         Requested by Eric Blake, for libvirt.
1107
1108 2011-04-05  Bruce Korb  <bkorb@gnu.org>
1109
1110         bootstrap: compute gnulib_extra_files after updating build_aux
1111         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
1112         change build_aux or also supply gnulib_extra_files.  Handle correctly.
1113
1114 2011-04-05  Eric Blake  <eblake@redhat.com>
1115
1116         bootstrap: preserve git whitelist item sorting
1117         * build-aux/bootstrap (sort_patterns): New function.
1118         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
1119
1120 2011-04-05  Simon Josefsson  <simon@josefsson.org>
1121
1122         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
1123         sc_space_tab check.
1124
1125 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1126
1127         areadlink, areadlinkat: rewrite in terms of careadlinkat
1128         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
1129         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
1130         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
1131         (malloc, realloc): Remove #undefs.
1132         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
1133         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
1134         readlink, ssize_t, stdint, unistd.
1135         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
1136         areadlink, stdint.
1137
1138         careadlinkat: new module
1139         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
1140         * modules/careadlinkat: New files, written by me with
1141         a review and feedback from Ben Pfaff in
1142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
1143
1144 2011-04-01  Bruno Haible  <bruno@clisp.org>
1145
1146         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
1147         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
1148         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
1149         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
1150         Reported by Bruce Korb <bruce.korb@gmail.com>.
1151
1152 2011-04-01  Bruno Haible  <bruno@clisp.org>
1153
1154         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
1155         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
1156         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
1157         * modules/wcpcpy (Depends-on): Add extensions.
1158         * modules/wcpncpy (Depends-on): Likewise.
1159         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
1160         systems.
1161         * doc/posix-functions/wcpncpy.texi: Likewise.
1162         * doc/posix-functions/wcwidth.texi: Likewise.
1163
1164 2011-03-31  Eric Blake  <eblake@redhat.com>
1165
1166         nonblocking: fix mingw test failures
1167         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
1168         non-blocking flag on regular file.
1169         (get_nonblocking_flag): Set errno on invalid fd.
1170         * tests/test-nonblocking.c (main): Avoid test failure on
1171         directories if fchdir is not active.
1172         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
1173
1174 2011-03-31  Bruno Haible  <bruno@clisp.org>
1175
1176         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
1177         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
1178         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
1179         Reported by Simon Josefsson <simon@josefsson.org>.
1180
1181 2011-03-31  Bruno Haible  <bruno@clisp.org>
1182         and Eric Blake  <eblake@redhat.com>
1183
1184         nonblocking: new module
1185         * modules/nonblocking: New module.
1186         * modules/nonblocking-tests: Likewise.
1187         * lib/nonblocking.h: New file.
1188         * lib/nonblocking.c: Likewise.
1189         * tests/test-nonblocking.c: New test.
1190         * lib/ioctl.c (ioctl) [mingw]: Update comment.
1191
1192 2011-03-30  Bruno Haible  <bruno@clisp.org>
1193
1194         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
1195         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
1196         instead of 'printf' format for GCC >= 4.4.
1197         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
1198         (fprintf, printf, vfprintf, vprintf): Declare with
1199         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
1200         the system's vfprintf() function.
1201         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
1202
1203 2011-03-30  Eric Blake  <eblake@redhat.com>
1204
1205         passfd: fix scoping bug
1206         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
1207         before sendmsg/recvmsg.
1208
1209         passfd: standardize coding conventions
1210         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
1211         can be learned at compile time.
1212         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
1213         ifdefs.
1214         (sendfd, recvfd): Follow gnulib code conventions.
1215
1216         passfd: fix incorrect sendmsg arguments
1217         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
1218         incorrect msg_controllen value.
1219         * modules/passfd-tests (Depends-on): Check for alarm.
1220         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
1221         Reported by Bastien ROUCARIES.
1222
1223 2011-03-30  Bruno Haible  <bruno@clisp.org>
1224
1225         c-strcasestr: Relicense under LGPLv2+.
1226         * modules/c-strcasestr (License): Change to LGPLv2+.
1227         Requested by Eric Blake, for libvirt.
1228
1229 2011-03-30  Simon Josefsson  <simon@josefsson.org>
1230
1231         * users.txt: Add libidn2.  Fix libtasn1 link.
1232
1233 2011-03-30  Jim Meyering  <meyering@redhat.com>
1234
1235         tests: readlink* ("",... fails with EINVAL on newer kernels
1236         readlink and readlinkat have typically failed with ENOENT for
1237         the invalid, empty file name,  "".  However, with the advent
1238         of linux-2.6.39, they fail with EINVAL.
1239         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
1240         when operating on the empty file name.
1241         * tests/test-readlink.h (test_readlink): Likewise.
1242
1243 2011-03-29  Bruno Haible  <bruno@clisp.org>
1244
1245         Relicense some modules under LGPLv2+, for libidn2.
1246         * modules/array-mergesort (License): Change to LGPLv2+.
1247         * modules/c-strcaseeq (License): Likewise.
1248         * modules/striconveh (License): Likewise.
1249         * modules/striconveha (License): Likewise.
1250         * modules/uniconv/base (License): Likewise.
1251         * modules/uniconv/u8-conv-from-enc (License): Likewise.
1252         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
1253         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
1254         * modules/unictype/base (License): Likewise.
1255         * modules/unictype/bidiclass-of (License): Likewise.
1256         * modules/unictype/category-M (License): Likewise.
1257         * modules/unictype/category-none (License): Likewise.
1258         * modules/unictype/category-of (License): Likewise.
1259         * modules/unictype/category-test (License): Likewise.
1260         * modules/unictype/category-test-withtable (License): Likewise.
1261         * modules/unictype/combining-class (License): Likewise.
1262         * modules/unictype/joiningtype-of (License): Likewise.
1263         * modules/unictype/scripts (License): Likewise.
1264         * modules/uninorm/base (License): Likewise.
1265         * modules/uninorm/canonical-decomposition (License): Likewise.
1266         * modules/uninorm/composition (License): Likewise.
1267         * modules/uninorm/decompose-internal (License): Likewise.
1268         * modules/uninorm/decomposition-table (License): Likewise.
1269         * modules/uninorm/nfc (License): Likewise.
1270         * modules/uninorm/nfd (License): Likewise.
1271         * modules/uninorm/u32-normalize (License): Likewise.
1272         * modules/unistr/base (License): Likewise.
1273         * modules/unistr/u32-cpy (License): Likewise.
1274         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
1275         * modules/unistr/u32-to-u8 (License): Likewise.
1276         * modules/unistr/u32-uctomb (License): Likewise.
1277         * modules/unistr/u8-check (License): Likewise.
1278         * modules/unistr/u8-mblen (License): Likewise.
1279         * modules/unistr/u8-mbtouc (License): Likewise.
1280         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
1281         * modules/unistr/u8-mbtoucr (License): Likewise.
1282         * modules/unistr/u8-prev (License): Likewise.
1283         * modules/unistr/u8-strlen (License): Likewise.
1284         * modules/unistr/u8-to-u32 (License): Likewise.
1285         * modules/unistr/u8-uctomb (License): Likewise.
1286         * modules/unitypes (License): Likewise.
1287         Requested by Simon Josefsson.
1288
1289 2011-03-29  Simon Josefsson  <simon@josefsson.org>
1290
1291         lib-symbol-visibility: Add a notice.
1292         * modules/lib-symbol-visibility (Notice): New field.
1293
1294 2011-03-29  Bruno Haible  <bruno@clisp.org>
1295
1296         getaddrinfo: Doc fix.
1297         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
1298         section "fixed in Gnulib".
1299
1300 2011-03-28  Simon Josefsson  <simon@josefsson.org>
1301
1302         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
1303         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
1304
1305 2011-03-26  Bruno Haible  <bruno@clisp.org>
1306
1307         unictype/property-byname: Reduce the number of load-time relocations.
1308         * lib/unictype/pr_byname.c: Include <stdlib.h>.
1309         (UC_PROPERTY_INDEX_*): New enumeration values.
1310         (uc_property_byname): Convert an index from the lookup table to an
1311         uc_property_t.
1312         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
1313         values.
1314
1315 2011-03-26  Bruno Haible  <bruno@clisp.org>
1316
1317         unictype/property-byname: Allow omitted word separators and aliases.
1318         * lib/unictype/pr_byname.gperf: Add property names without word
1319         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
1320         for 'space'.
1321
1322 2011-03-26  Bruno Haible  <bruno@clisp.org>
1323
1324         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
1325         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
1326         also hyphens to space.
1327         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
1328         without spaces.
1329         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
1330
1331 2011-03-26  Bruno Haible  <bruno@clisp.org>
1332
1333         unictype/joiningtype-byname: Recognize long names as well.
1334         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
1335         a long name.
1336         * lib/unictype/joiningtype_byname.c: Include <string.h>,
1337         unictype/joiningtype_byname.h.
1338         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
1339         * lib/unictype/joiningtype_byname.gperf: New file.
1340         * modules/unictype/joiningtype-byname (Files): Add
1341         lib/unictype/joiningtype_byname.gperf.
1342         (Depends-on): Add gperf.
1343         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
1344         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
1345         long names.
1346
1347         Tests for module 'unictype/joiningtype-longname'.
1348         * modules/unictype/joiningtype-longname-tests: New file.
1349         * tests/unictype/test-joiningtype_longname.c: New file.
1350
1351         New module 'unictype/joiningtype-longname'.
1352         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
1353         * lib/unictype/joiningtype_longname.c: New file.
1354         * modules/unictype/joiningtype-longname: New file.
1355         * modules/unictype/joiningtype-all (Depends-on): Add
1356         unictype/joiningtype-longname.
1357
1358 2011-03-26  Bruno Haible  <bruno@clisp.org>
1359
1360         unictype/bidiclass-byname: Recognize long names as well.
1361         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
1362         name.
1363         * lib/unictype/bidi_byname.c: Include <string.h>,
1364         unictype/bidi_byname.h.
1365         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
1366         * lib/unictype/bidi_byname.gperf: New file.
1367         * modules/unictype/bidiclass-byname (Files): Add
1368         lib/unictype/bidi_byname.gperf.
1369         (Depends-on): Add gperf.
1370         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
1371         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
1372         long names.
1373
1374         Tests for module 'unictype/bidiclass-longname'.
1375         * modules/unictype/bidiclass-longname-tests: New file.
1376         * tests/unictype/test-bidi_longname.c: New file.
1377
1378         New module 'unictype/bidiclass-longname'.
1379         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
1380         * lib/unictype/bidi_longname.c: New file.
1381         * modules/unictype/bidiclass-longname: New file.
1382         * modules/unictype/bidiclass-all (Depends-on): Add
1383         unictype/bidiclass-longname.
1384
1385 2011-03-26  Bruno Haible  <bruno@clisp.org>
1386
1387         unictype/bidi*: Rename modules.
1388         * modules/unictype/bidiclass-all: Renamed from
1389         modules/unictype/bidicategory-all.
1390         * modules/unictype/bidiclass-name: Renamed from
1391         modules/unictype/bidiclass-name.
1392         (Description): Update.
1393         * modules/unictype/bidiclass-name-tests: Renamed from
1394         modules/unictype/bidicategory-name-tests.
1395         * modules/unictype/bidiclass-byname: Renamed from
1396         modules/unictype/bidicategory-byname.
1397         (Description): Update.
1398         * modules/unictype/bidiclass-byname-tests: Renamed from
1399         modules/unictype/bidicategory-byname-tests.
1400         * modules/unictype/bidiclass-of: Renamed from
1401         modules/unictype/bidicategory-of.
1402         (Description): Update.
1403         * modules/unictype/bidiclass-of-tests: Renamed from
1404         modules/unictype/bidicategory-of-tests.
1405         * modules/unictype/bidiclass-test: Renamed from
1406         modules/unictype/bidicategory-test.
1407         (Description): Update.
1408         * modules/unictype/bidiclass-test-tests: Renamed from
1409         modules/unictype/bidicategory-test-tests.
1410         * modules/unictype/bidicategory-all: New file, a simple redirection.
1411         * modules/unictype/bidicategory-name: Likewise.
1412         * modules/unictype/bidicategory-byname: Likewise.
1413         * modules/unictype/bidicategory-of: Likewise.
1414         * modules/unictype/bidicategory-test: Likewise.
1415         * modules/unictype/property-bidi-* (Dependencies): Update.
1416         * lib/unictype/bidi_*.c: Update comment.
1417
1418 2011-03-26  Bruno Haible  <bruno@clisp.org>
1419
1420         unictype/bidi*: Rename functions, part 2.
1421         * modules/unictype/bidicategory-name (configure.ac): Update required
1422         libunistring version.
1423         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
1424
1425 2011-03-25  Bruno Haible  <bruno@clisp.org>
1426
1427         New module 'unictype/combining-class-all'.
1428         * modules/unictype/combining-class-all: New file.
1429
1430         Tests for module 'unictype/combining-class-byname'.
1431         * modules/unictype/combining-class-byname-tests: New file.
1432         * tests/unictype/test-combiningclass_byname.c: New file.
1433
1434         New module 'unictype/combining-class-byname'.
1435         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
1436         * lib/unictype/combiningclass_byname.c: New file.
1437         * lib/unictype/combiningclass_byname.gperf: New file.
1438         * modules/unictype/combining-class-byname: New file.
1439
1440         Tests for module 'unictype/combining-class-longname'.
1441         * modules/unictype/combining-class-longname-tests: New file.
1442         * tests/unictype/test-combiningclass_longname.c: New file.
1443
1444         New module 'unictype/combining-class-longname'.
1445         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
1446         * lib/unictype/combiningclass_longname.c: New file.
1447         * modules/unictype/combining-class-longname: New file.
1448
1449         Tests for module 'unictype/combining-class-name'.
1450         * modules/unictype/combining-class-name-tests: New file.
1451         * tests/unictype/test-combiningclass_name.c: New file.
1452
1453         New module 'unictype/combining-class-name'.
1454         * lib/unictype.in.h (uc_combining_class_name): New declaration.
1455         * lib/unictype/combiningclass_name.c: New file.
1456         * modules/unictype/combining-class-name: New file.
1457
1458 2011-03-25  Bruno Haible  <bruno@clisp.org>
1459
1460         unictype/combining-class: Rename source files.
1461         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
1462         of unictype/combining.h.
1463         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
1464         Update.
1465         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
1466         * modules/unictype/combining-class (Description): Fix.
1467         (Files, Makefile.am): Update.
1468         * tests/unictype/test-combiningclass.c: Renamed from
1469         tests/unictype/test-combining.c.
1470         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
1471
1472 2011-03-25  Bruno Haible  <bruno@clisp.org>
1473
1474         unictype: Update list of canonical combining classes.
1475         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
1476
1477 2011-03-25  Bruno Haible  <bruno@clisp.org>
1478
1479         unictype/category-byname: Recognize long names as well.
1480         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
1481         a long name.
1482         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
1483         unictype/categ_byname.h.
1484         (UC_CATEGORY_INDEX_*): New enumeration values.
1485         (uc_general_category_byname): Use uc_general_category_lookup and
1486         convert from index to value.
1487         * lib/unictype/categ_byname.gperf: New file.
1488         * modules/unictype/category-byname (Files): Add
1489         lib/unictype/categ_byname.gperf.
1490         (Depends-on): Add gperf.
1491         (Makefile.am): Add rule for generating unictype/categ_byname.h.
1492         * tests/unictype/test-categ_byname.c (main): Test the recognition of
1493         long names.
1494
1495         Tests for module 'unictype/category-longname'.
1496         * modules/unictype/category-longname-tests: New file.
1497         * tests/unictype/test-categ_longname.c: New file.
1498
1499         New module 'unictype/category-longname'.
1500         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
1501         * lib/unictype/categ_longname.c: New file.
1502         * modules/unictype/category-longname: New file.
1503         * modules/unictype/category-all (Depends-on): Add it.
1504
1505 2011-03-25  Bruno Haible  <bruno@clisp.org>
1506
1507         Tests for module 'unictype/category-LC'.
1508         * modules/unictype/category-LC-tests: New file.
1509         * tests/unictype/test-categ_LC.c: New file, automatically generated.
1510
1511         New module 'unictype/category-LC'.
1512         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
1513         (UC_CATEGORY_LC): New declaration.
1514         (UC_CASED_LETTER): New macro.
1515         * lib/gen-uni-tables.c (is_category_LC): New function.
1516         (output_categories): Also handle category LC.
1517         (UC_CATEGORY_MASK_LC): New enumeration value.
1518         (general_category_byname): Also handle category LC.
1519         * lib/unictype/categ_LC.c: New file.
1520         * lib/unictype/categ_LC.h: New file, automatically generated.
1521         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
1522         category LC.
1523         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
1524         * modules/unictype/category-LC: New file.
1525         * modules/unictype/category-byname (Depends-on): Add
1526         unictype/category-LC.
1527         * modules/unictype/category-all (Depends-on): Likewise.
1528
1529 2011-03-25  Eric Blake  <eblake@redhat.com>
1530
1531         xmalloc: revert yesterday's regression
1532         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
1533         realloc's underlying behavior (allowing allocation of zero-size
1534         objects, especially if malloc-gnu is also in use).
1535
1536 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
1537
1538         maint.mk: add missing version to VC-tag
1539         * top/maint.mk: git tag was missing actual tag name; add it.
1540
1541         valgrind: do leak checking, and exit with code 1 on error (not 0)
1542         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
1543         to VALGRIND.
1544
1545 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
1546
1547         posix-modules: say what it does.
1548         * posix-modules: Add a line to the --help output saying what it does.
1549
1550 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
1551
1552         xmalloc: Do not leak if underlying realloc is C99 compatible.
1553         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
1554         This avoids a leak on C99-based systems.  See
1555         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
1556
1557 2011-03-24  Eric Blake  <eblake@redhat.com>
1558
1559         realloc: document portability problem
1560         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
1561         passing 0 size to realloc.
1562
1563 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
1564
1565         doc: update users.txt
1566         * users.txt: Add cvsps, tmpwatch
1567
1568 2011-03-23  Matt Rice  <ratmice@gmail.com>
1569
1570         doc: update users.txt
1571         * users.txt: Add gdb.
1572
1573 2011-03-23  Jim Meyering  <meyering@redhat.com>
1574
1575         doc: update users.txt
1576         Looking through matches up to the following URL (there are still
1577         several more pages), I found several projects that use gnulib:
1578         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
1579         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
1580         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
1581
1582 2011-03-22  Bruno Haible  <bruno@clisp.org>
1583
1584         unictype/bidi*: Rename functions.
1585         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
1586         uc_bidi_class, uc_is_bidi_class): New declarations.
1587         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
1588         uc_bidi_category_byname.
1589         (uc_bidi_category_byname): New function.
1590         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
1591         u_bidi_category_name.
1592         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
1593         (uc_bidi_category_name): New function.
1594         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
1595         uc_bidi_category.
1596         (uc_bidi_category): New function.
1597         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
1598         uc_is_bidi_category. Invoke uc_bidi_class.
1599         (uc_is_bidi_category): New function.
1600         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
1601         instead of uc_bidi_category_byname.
1602         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
1603         instead of uc_bidi_category_name.
1604         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
1605         uc_bidi_category.
1606         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
1607         instead of uc_is_bidi_category.
1608
1609 2011-03-21  Bruno Haible  <bruno@clisp.org>
1610
1611         New module 'unictype/joininggroup-all'.
1612         * modules/unictype/joininggroup-all: New file.
1613
1614         Tests for module 'unictype/joininggroup-of'.
1615         * modules/unictype/joininggroup-of-tests: New file.
1616         * tests/unictype/test-joininggroup_of.c: New file.
1617         * tests/unictype/test-joininggroup_of.h: New file, automatically
1618         generated by gen-uni-tables.
1619
1620         New module 'unictype/joininggroup-of'.
1621         * modules/unictype/joininggroup-of: New file.
1622         * lib/unictype/joininggroup_of.c: New file.
1623         * lib/unictype/joininggroup_of.h: New file, automatically generated by
1624         gen-uni-tables.
1625
1626         Tests for module 'unictype/joininggroup-byname'.
1627         * modules/unictype/joininggroup-byname-tests: New file.
1628         * tests/unictype/test-joininggroup_byname.c: New file.
1629
1630         New module 'unictype/joininggroup-byname'.
1631         * modules/unictype/joininggroup-byname: New file.
1632         * lib/unictype/joininggroup_byname.c: New file.
1633         * lib/unictype/joininggroup_byname.gperf: New file.
1634
1635         Tests for module 'unictype/joininggroup-name'.
1636         * modules/unictype/joininggroup-name-tests: New file.
1637         * tests/unictype/test-joininggroup_name.c: New file.
1638
1639         New module 'unictype/joininggroup-name'.
1640         * modules/unictype/joininggroup-name: New file.
1641         * lib/unictype/joininggroup_name.c: New file.
1642         * lib/unictype/joininggroup_name.h: New file.
1643
1644         New module 'unictype/joiningtype-all'.
1645         * modules/unictype/joiningtype-all: New file.
1646
1647         Tests for module 'unictype/joiningtype-of'.
1648         * modules/unictype/joiningtype-of-tests: New file.
1649         * tests/unictype/test-joiningtype_of.c: New file.
1650         * tests/unictype/test-joiningtype_of.h: New file, automatically
1651         generated by gen-uni-tables.
1652
1653         New module 'unictype/joiningtype-of'.
1654         * modules/unictype/joiningtype-of: New file.
1655         * lib/unictype/joiningtype_of.c: New file.
1656         * lib/unictype/joiningtype_of.h: New file, automatically generated by
1657         gen-uni-tables.
1658
1659         Tests for module 'unictype/joiningtype-byname'.
1660         * modules/unictype/joiningtype-byname-tests: New file.
1661         * tests/unictype/test-joiningtype_byname.c: New file.
1662
1663         New module 'unictype/joiningtype-byname'.
1664         * modules/unictype/joiningtype-byname: New file.
1665         * lib/unictype/joiningtype_byname.c: New file.
1666
1667         Tests for module 'unictype/joiningtype-name'.
1668         * modules/unictype/joiningtype-name-tests: New file.
1669         * tests/unictype/test-joiningtype_name.c: New file.
1670
1671         New module 'unictype/joiningtype-name'.
1672         * modules/unictype/joiningtype-name: New file.
1673         * lib/unictype/joiningtype_name.c: New file.
1674
1675         unictype: Add support for Arabic shaping properties.
1676         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
1677         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
1678         declarations.
1679         (UC_JOINING_GROUP_*): New enumeration values.
1680         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
1681         declarations.
1682         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
1683         (unicode_joining_type): New variable.
1684         (UC_JOINING_GROUP_*): New enumeration values.
1685         (unicode_joining_group): New variable.
1686         (fill_arabicshaping, joining_type_as_c_identifier,
1687         output_joining_type_test, output_joining_type,
1688         joining_group_as_c_identifier, output_joining_group_test,
1689         output_joining_group): New functions.
1690         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
1691         fill_arabicshaping and output_joining_type_test, output_joining_type,
1692         output_joining_group_test, output_joining_group.
1693         Reported by Simon Josefsson.
1694
1695 2011-03-21  Jim Meyering  <meyering@redhat.com>
1696
1697         strftime: fix a bug in yesterday's change
1698         * lib/strftime.c (add): Accommodate width's initial value of -1.
1699         Otherwise, nstrftime would copy uninitialized data into
1700         the result buffer.
1701
1702 2011-03-21  Jim Meyering  <meyering@redhat.com>
1703
1704         tests: add strftime-tests module
1705         * tests/test-strftime.c: New file.
1706         * modules/strftime-tests: New module.
1707
1708 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1709
1710         strftime: don't assume a byte count fits in 'int'
1711         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
1712         found this problem by static analysis, using gcc -Wstrict-overflow
1713         (GCC 4.5.2, x86-64).  This reported an optimization that depended
1714         on an integer overflow having undefined behavior, but it turns out
1715         that the argument is a size, which might not fit in 'int' anyway,
1716
1717 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1718
1719         stdio: don't require ignore_value around fwrite
1720
1721         This patch works around libc bug 11959
1722         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
1723         Without this patch, applications must often write
1724         ignore_value (fwrite (...)) even though the ignore_value is
1725         not helpful here.  It's common to write many objects, using
1726         fwrite/printf/etc., and then use ferror to detect output error.
1727
1728         I considered making this patch optional, but decided against it,
1729         because libc is obviously being inconsistent here: there is no
1730         reason libc should insist that user code must inspect fwrite
1731         return's value without also insisting that it inspect printf's,
1732         putchar's, etc.  If user code wants to have a strict style where
1733         all these functions' values are checked (so that ferror need not
1734         be checked), we could add support for that style in a new gnulib
1735         module, but in the meantime it's better to be consistent and to
1736         support common usage.
1737
1738         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
1739         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
1740         that we are compiling in checking mode, and if not C++, and
1741         if not already wrapping fwrite for some other reason.
1742         (fwrite): #define to rpl_fwrite if the latter is defined.
1743
1744 2011-03-20  Bruno Haible  <bruno@clisp.org>
1745
1746         verror: Fix compilation error introduced on 2011-02-13.
1747         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
1748         instead of __attribute__.
1749         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1750
1751 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1752             Bruno Haible  <bruno@clisp.org>
1753
1754         socklen: do not depend on sys_socket
1755         While trying to modify Emacs to use gnulib's socklen module,
1756         I discovered a circular dependency: socklen depends on sys_socket
1757         and vice versa.  Emacs can use socklen, but it does not need
1758         sys_socket because it has its own substitute for sys/socket.h.
1759         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
1760         gl_TYPE_SOCKLEN_T.
1761         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
1762         gl_PREREQ_SYS_H_SOCKET.
1763         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
1764         gl_PREREQ_SYS_H_SOCKET.
1765         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
1766         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
1767         * modules/socklen (Depends-on): Do not depend on sys_socket.
1768         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
1769
1770 2011-03-20  Jim Meyering  <meyering@redhat.com>
1771
1772         maint.mk: sort file names *after* new transformation
1773         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
1774         prefix would have led to an unwarranted failure in GNU parted.
1775         Sort after that transformation.
1776
1777 2011-03-19  Jim Meyering  <meyering@redhat.com>
1778
1779         maint.mk: fix po-file syntax-check rule
1780         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
1781         Patch by Bruno Haible.
1782
1783 2011-03-19  Bruno Haible  <bruno@clisp.org>
1784
1785         socklen: Update comment.
1786         * m4/socklen.m4: Update comment about platforms.
1787
1788 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1789             Bruno Haible  <bruno@clisp.org>
1790
1791         inet_ntop, inet_pton: Simplify.
1792         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
1793         documented to provide socklen_t and we already depend on sys_socket.
1794         * modules/inet_pton (Depends-on): Likewise.
1795         * lib/arpa_inet.in.h: Adjust comment.
1796
1797 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1798             Bruno Haible  <bruno@clisp.org>
1799
1800         netdb: Simplify.
1801         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1802         documented to provide socklen_t and we already depend on sys_socket.
1803         * lib/netdb.in.h: Adjust comment.
1804
1805 2011-03-19  Bruno Haible  <bruno@clisp.org>
1806
1807         sys_socket, netdb: Document problem with socklen_t.
1808         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1809         platforms.
1810         * doc/posix-headers/netdb.texi: Likewise.
1811
1812 2011-03-18  Eric Blake  <eblake@redhat.com>
1813
1814         maint.mk: let po check work in VPATH build
1815         * top/maint.mk (po_file): Allow cfg.mk override.
1816         (sc_po_check): Allow VPATH use.
1817         Reported by Jiri Denemark.
1818
1819 2011-03-16  Jim Meyering  <meyering@redhat.com>
1820
1821         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1822         Before, you would have had to create one .x-sc_ file per rule in order
1823         to exempt offending files.  Now, you may instead use a Make variable --
1824         usually defined in cfg.mk -- whose name identifies the affected rule.
1825         * top/maint.mk (_sc_excl): Define.
1826         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1827         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1828
1829 2011-03-13  Bruno Haible  <bruno@clisp.org>
1830
1831         ignore-value tests: Avoid warnings.
1832         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1833         empty for gcc < 3.4.
1834
1835 2011-03-13  Bruno Haible  <bruno@clisp.org>
1836
1837         passfd: Fix link error on Solaris.
1838         * modules/passfd (Description): Correct.
1839         (Depends-on): Add socketlib.
1840         (Link): New section.
1841         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1842
1843 2011-03-13  Bruno Haible  <bruno@clisp.org>
1844
1845         passfd: Fix link error on AIX 5.2.
1846         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1847
1848 2011-03-13  Bruno Haible  <bruno@clisp.org>
1849
1850         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1851         * lib/sys_socket.in.h: Include <stddef.h>.
1852         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1853         CMSG_FIRSTHDR. Remove unused variable.
1854
1855 2011-03-13  Bruno Haible  <bruno@clisp.org>
1856
1857         passfd: Fix compilation error on OpenBSD.
1858         * lib/passfd.c: Include <sys/uio.h>.
1859
1860 2011-03-13  Bruno Haible  <bruno@clisp.org>
1861
1862         passfd test: Fix warnings.
1863         * tests/test-passfd.c: Include <sys/wait.h>.
1864         (main): Fix typo.
1865
1866 2011-03-13  Bruno Haible  <bruno@clisp.org>
1867
1868         passfd module, part 4, tweaks.
1869         * tests/test-passfd.c: Reorder includes.
1870         (main): Fix perror and printf calls.
1871
1872 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1873
1874         passfd module, part 4.
1875         * modules/passfd-tests: New file.
1876         * tests/test-passfd.c: New file.
1877
1878 2011-03-13  Jim Meyering  <meyering@redhat.com>
1879
1880         Makefile: rely on GNU make; derive syntax-check rule names
1881         Rather than requiring that each sc_ rule be listed as a dependent
1882         of "check", use features of GNU make to derive the list.
1883         * Makefile (syntax-check-rules): Define.
1884         (check): Depend on the new variable, not the hard-coded list.
1885
1886 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1887             Bruno Haible  <bruno@clisp.org>
1888
1889         passfd module, part 3.
1890         * lib/passfd.h (recvfd): Add a flags argument.
1891         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1892         (recvfd): Add a flags argument.
1893         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1894         exists.
1895         * modules/passfd (Depends-on): Add cloexec.
1896         Suggested by Eric Blake.
1897
1898 2011-03-13  Bruno Haible  <bruno@clisp.org>
1899
1900         passfd module, part 2, tweaks.
1901         * modules/passfd (Files): Reorder.
1902         (Depends-on): Remove errno.
1903         (Include): Remove <sys/socket.h>, <sys/un.h>.
1904         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1905         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1906         specification header. Include <sys/socket.h> always. Don't include
1907         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1908         (sendfd): Clarify that it sets errno when it fails.
1909         (recvfd): Fix specification.
1910
1911 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1912
1913         passfd module, part 2.
1914         * modules/passfd: New file.
1915         * lib/passfd.h: New file.
1916         * lib/passfd.c: New file.
1917
1918 2011-03-12  Bruno Haible  <bruno@clisp.org>
1919
1920         wcswidth, mbswidth: Avoid integer overflow.
1921         * lib/wcswidth.c: Include <limits.h>.
1922         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1923         * lib/mbswidth.c: Include <limits.h>.
1924         (mbsnwidth): Avoid 'int' overflow.
1925         Reported by Jim Meyering.
1926
1927 2011-03-12  Bruno Haible  <bruno@clisp.org>
1928
1929         futimens, utimensat: Avoid endless recursion on Solaris 10.
1930         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1931         Solaris.
1932         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1933         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1934
1935 2011-03-11  Jim Meyering  <meyering@redhat.com>
1936
1937         maint.mk: relax a regexp to accommodate other formatting styles
1938         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1939         between "ngettext" and the following "(".
1940
1941 2011-03-11  Pádraig Brady <P@draigBrady.com>
1942
1943         maint.mk: suppress a false positive warning
1944         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1945         diagnostics are marked with ngettext.
1946
1947 2011-03-10  Eric Blake  <eblake@redhat.com>
1948
1949         wchar: add explicit dependencies, for Tru64
1950         * modules/mbmemcasecoll (Depends-on): Add wchar.
1951         * modules/mbtowc (Depends-on): Likewise.
1952         * modules/vasnprintf (Depends-on): Likewise.
1953         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1954         * modules/wctomb (Depends-on): Likewise.
1955         Reported by Peter O'Gorman.
1956
1957 2011-03-08  Bruno Haible  <bruno@clisp.org>
1958
1959         passfd module, part 1, tweaks.
1960         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1961         Improve indentation. Improve AC_MSG_CHECKING messages.
1962         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1963         gl_SOCKET_FAMILIES.
1964
1965 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1966
1967         passfd module, part 1.
1968         * m4/afunix.m4: New file.
1969         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1970         sockets.
1971
1972 2011-03-08  Bruno Haible  <bruno@clisp.org>
1973
1974         regex-quote: New API.
1975         * lib/regex-quote.h: Include <stdbool.h>.
1976         (struct regex_quote_spec): New type.
1977         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1978         New declarations.
1979         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1980         'const struct regex_quote_spec *' argument.
1981         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1982         (pcre_special): New constant.
1983         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1984         New functions.
1985         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1986         'const struct regex_quote_spec *' argument.
1987         * modules/regex-quote (Depends-on): Add stdbool.
1988         * tests/test-regex-quote.c (check): Update for new API. Add test for
1989         anchored results.
1990         * NEWS: Mention the API change.
1991         Reported by Reuben Thomas and Eric Blake.
1992
1993 2011-03-06  Bruno Haible  <bruno@clisp.org>
1994
1995         regex-quote: Fix creation of POSIX extended regular expressions.
1996         * lib/regex-quote.c (ere_special): Add grouping and alternation
1997         operators.
1998
1999 2011-03-05  Bruno Haible  <bruno@clisp.org>
2000
2001         doc: Improve doc regarding autopoint vs. gnulib.
2002         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
2003         disable autopoint while running autoreconf.
2004         Suggested by Ralf Wildenhues.
2005
2006 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2007
2008         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
2009         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
2010
2011 2011-03-03  Bruce Korb  <bkorb@gnu.org>
2012
2013         parse-duration: remove xalloc.h dependency
2014         * lib/parse-duration.c (parse_period): handle NULL return from
2015         strdup instead of calling xstrdup().
2016         * modules/parse-duration: remove "xalloc" dependency
2017
2018 2011-03-03  Matthew Booth  <mbooth@redhat.com>
2019
2020         bootstrap: honor m4_base when running aclocal
2021         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
2022
2023 2011-03-02  Jim Meyering  <meyering@redhat.com>
2024
2025         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
2026         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
2027         on request from Matt Booth.
2028
2029 2011-03-01  Eric Blake  <eblake@redhat.com>
2030
2031         test-link: work on Hurd
2032         * tests/test-link.h (test_link): Hurd rejects linking directories
2033         with EISDIR instead of the POSIX-mandated EPERM.
2034
2035 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
2036
2037         stdio: simplify by moving files to printf-posix, sigpipe
2038         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
2039         since this symbol is needed only if printf is replaced.
2040         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
2041         Require gl_ASM_SYMBOL_PREFIX.
2042         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
2043         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
2044         (Depends-on): Add 'raise'.
2045         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
2046         * modules/stdio (Files): Remove lib/stdio-write.c,
2047         m4/asm-underscore.m4.
2048         (Depends-on): Remove 'raise'.
2049
2050         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
2051         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
2052         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
2053         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
2054
2055 2011-02-28  Bruno Haible  <bruno@clisp.org>
2056
2057         localcharset: Assume ANSI C behaviour of free().
2058         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
2059         calling free().
2060         Suggested by Simon Josefsson <simon@josefsson.org>.
2061
2062 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
2063             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
2064             Bruno Haible  <bruno@clisp.org>  (tiny change)
2065
2066         On Cygwin, use /proc file system instead of win32 API.
2067         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
2068         Win32 file names.
2069         (DllMain): Simplify by removing Cygwin specific code.
2070         (find_shared_library_fullname): Use Linux specific implementation also
2071         for Cygwin.
2072         (get_shared_library_fullname): Update accordingly.
2073         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
2074         Win32 file names.
2075         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
2076         Cygwin specific code.
2077
2078 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
2079             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
2080
2081         Fix OpenMP flag detection for various Fortran compilers.
2082         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
2083         OpenMP-conditional compilation construct, to force compile
2084         failure with missing OpenMP flag.
2085         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
2086
2087 2011-02-25  Eric Blake  <eblake@redhat.com>
2088
2089         strstr: expand test coverage
2090         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
2091         compilation.
2092         * tests/test-memmem.c (main): Duplicate tests.
2093         * tests/test-strcasestr.c (main): Likewise.
2094         * tests/test-c-strcasestr.c (main): Likewise.
2095
2096 2011-02-25  Jim Meyering  <meyering@redhat.com>
2097
2098         maint.mk: detect missing-NL-at-EOF, too
2099         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
2100         it also detects when a file lacks a newline at EOF.
2101         (require_exactly_one_NL_at_EOF_): Renamed from
2102         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
2103         since people may well have .x-sc_... file names tied to the
2104         existing name.  Suggested by Eric Blake.
2105
2106 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2107
2108         dirname: move m4/dos.m4 functionality into lib/dosname.h
2109
2110         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
2111         extracts symbols from it, puts them into config.h; but it's much
2112         easier to use the symbols directly.  filename.h already does this,
2113         but it disagrees with dos.m4 in some respects.  This patch
2114         introduces a different include file dosname.h that packages up
2115         dos.m4, and then later we can work on merging filename.h and
2116         dosname.h.  Applications that need only the easy-to-configure
2117         symbols should consider including dosname.h rather than dirname.h.
2118         * NEWS: Mention incompatible changes.
2119         * m4/dos.m4: Remove.
2120         * lib/dosname.h, modules/dosname: New files.
2121         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
2122         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
2123         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
2124         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
2125         Include dosname.h, not dirname.h.
2126         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
2127         Include dosname.h, for definitions of symbols like ISSLASH
2128         that used to be in config.h.
2129         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
2130         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2131         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2132         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2133         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
2134         * modules/rmdir (Files): Likewise.
2135         * modules/stat (Files): Likewise.
2136         * modules/unlink (Files): Likewise.
2137         * modules/dirname-lgpl (Depends-on): Add dosname.
2138         * modules/lstat (Depends-on): Likewise.
2139         * modules/openat (Depends-on): Likewise.
2140         * modules/rmdir (Depends-on): Likewise.
2141         * modules/savewd (Depends-on): Likewise.
2142         * modules/stat (Depends-on): Likewise.
2143         * modules/unlink (Depends-on): Likewise.
2144         * modules/openat (Depends-on): Remove dirname-lgpl.
2145         * modules/savewd (Depends-on): Likewise.
2146         * tests/test-dirname.c: Do not use removed symbols like
2147         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
2148         the remaining symbols, e.g., ISSLASH ('\\').
2149
2150 2011-02-25  Eric Blake  <eblake@redhat.com>
2151
2152         strstr: revert patches that introduced bug and pessimization
2153         * lib/str-two-way.h: Add another reference.
2154         (two_way_short_needle, two_way_long_needle): Revert changes from
2155         2011-02-24; they pessimize search speed.
2156         (critical_factorization): Partially revert changes from
2157         2010-06-22; they violate the requirement that the left half of the
2158         needle be smaller than the period of the needle.
2159
2160 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2161
2162         filenamecat: remove unnecessary dependency on dirname-lgpl
2163         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
2164         is no direct dependency, just an indirect one via filenamecat-lgpl.
2165
2166         remove: remove unnecessary use of m4/dos.m4
2167         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
2168         * modules/remove (FILES): Remove m4/dos.m4.
2169
2170         * lib/openat-proc.c: Don't include dirname.h; not needed.
2171
2172         backupfile: remove unnecessary use of m4/dos.m4
2173         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
2174         of its symbols are used by the backupfile code.  backupfile.c does
2175         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
2176         for the rare case of programs that want all their backup file
2177         names to live within 8+3 limits, and dos.m4 doesn't address that.
2178         * modules/backupfile (Files): Remove m4/dos.m4.
2179
2180 2011-02-24  Jim Meyering  <meyering@redhat.com>
2181
2182         strstr: fix a bug whereby strstr would mistakenly return NULL
2183         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
2184         in period calculation.
2185         (two_way_long_needle): Likewise.
2186         The original problem was reported by Mike Stump in
2187         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
2188         Ralf Wildenhues provided the short needle and haystack.
2189         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
2190         Add a more involved test to trigger the bug in two_way_long_needle.
2191
2192 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2193
2194         gnulib-tool: remove use of bold display in help screen
2195         * gnulib-tool (func_usage): Do not use bold display anymore in the
2196         help screen.  That was just meant to be a temporary emphasis for a
2197         backward-incompatible change.
2198
2199 2011-02-23  Bruno Haible  <bruno@clisp.org>
2200
2201         Fix misindentation of preprocessor directives.
2202         * lib/argp-namefrob.h: Reindent preprocessor directives.
2203         * lib/getopt_int.h (struct _getopt_data): Likewise.
2204         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
2205         * lib/vasnprintf.c (decode_long_double): Likewise.
2206         * tests/test-argmatch.c: Insert blank lines, for clarity.
2207         * tests/test-exclude.c: Likewise.
2208
2209 2011-02-22  Bruno Haible  <bruno@clisp.org>
2210
2211         ioctl: Fix for MacOS X in 64-bit mode.
2212         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
2213         value.
2214         Suggested by Eric Blake.
2215         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
2216
2217 2011-02-22  Jim Meyering  <meyering@redhat.com>
2218
2219         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
2220         * Makefile (sc_cpp_indent_check): Don't limit the check to files
2221         in lib/.
2222
2223 2011-02-22  Eric Blake  <eblake@redhat.com>
2224
2225         maint: avoid any CDPATH issue
2226         * Makefile (sc_cpp_indent_check): Anchor cd argument.
2227
2228         maint: adjust cpp indentation for my modules, as well
2229         * Makefile (sc_cpp_indent_check): Add my name.
2230         * lib/fbufmode.c: Filter through cppi.
2231         * lib/fpurge.c: Likewise.
2232         * lib/freadable.c: Likewise.
2233         * lib/freading.c: Likewise.
2234         * lib/fwritable.c: Likewise.
2235         * lib/fwriting.c: Likewise.
2236         * lib/sigaction.c: Likewise.
2237
2238 2011-02-22  Jim Meyering  <meyering@redhat.com>
2239
2240         maint: adjust cpp indentation to reflect nesting depth
2241         I.e., in a block of code that begins with an unnested "#if",
2242         put one space between the "#" in column 1 and following token.
2243         For example,
2244         -#include <sys/vfs.h>
2245         +# include <sys/vfs.h>
2246         Do this only in .c files that are part of a module I maintain.
2247         * lib/linkat.c: Filter through cppi.
2248         * lib/nanosleep.c: Likewise.
2249         * lib/openat.c: Likewise.
2250         * lib/openat-die.c: Likewise.
2251         * lib/dup3.c: Likewise.
2252         * lib/fchownat.c: Likewise.
2253         * lib/flock.c: Likewise.
2254         * lib/fsync.c: Likewise.
2255         * lib/fts.c: Likewise.
2256         * lib/getpass.c: Likewise.
2257         * lib/gettimeofday.c: Likewise.
2258         * lib/userspec.c: Likewise.
2259         * Makefile (sc_cpp_indent_check): New rule, to check this.
2260
2261 2011-02-22  Bruno Haible  <bruno@clisp.org>
2262
2263         New module 'wctomb'.
2264         * lib/stdlib.in.h (wctomb): New declaration.
2265         * lib/wctomb.c: New file.
2266         * lib/wctomb-impl.h: New file.
2267         * m4/wctomb.m4: New file.
2268         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
2269         REPLACE_WCTOMB.
2270         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
2271         REPLACE_WCTOMB.
2272         * modules/wctomb: New file.
2273         * tests/test-stdlib-c++.cc: Test signature of wctomb.
2274         * doc/posix-functions/wctomb.texi: Mention the new module.
2275         * modules/wctob (Depends-on): Add wctomb.
2276
2277 2011-02-22  Bruno Haible  <bruno@clisp.org>
2278
2279         New module 'mbtowc'.
2280         * lib/stdlib.in.h (mbtowc): New declaration.
2281         * lib/mbtowc.c: New file.
2282         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
2283         * m4/mbtowc.m4: New file.
2284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
2285         REPLACE_MBTOWC.
2286         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
2287         REPLACE_MBTOWC.
2288         * modules/mbtowc: New file.
2289         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
2290         * doc/posix-functions/mbtowc.texi: Mention the new module.
2291         * modules/btowc (Depends-on): Add mbtowc.
2292
2293 2011-02-22  Bruno Haible  <bruno@clisp.org>
2294
2295         wcrtomb: Add more tests for native Windows platforms.
2296         * tests/test-wcrtomb-w32-1.sh: New file.
2297         * tests/test-wcrtomb-w32-2.sh: New file.
2298         * tests/test-wcrtomb-w32-3.sh: New file.
2299         * tests/test-wcrtomb-w32-4.sh: New file.
2300         * tests/test-wcrtomb-w32-5.sh: New file.
2301         * tests/test-wcrtomb-w32.c: New file.
2302         * modules/wcrtomb-tests (Files): Add them.
2303         (Makefile.am): Arrange to run these tests.
2304         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
2305         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
2306
2307 2011-02-20  Bruno Haible  <bruno@clisp.org>
2308
2309         wcrtomb: Enhance test.
2310         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
2311
2312 2011-02-20  Bruno Haible  <bruno@clisp.org>
2313
2314         mbrtowc: Tiny optimization.
2315         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
2316
2317 2011-02-20  Jim Meyering  <meyering@redhat.com>
2318
2319         test-exclude.c: remove unmatched #endif
2320         * tests/test-exclude.c: Remove stray #endif, left over from
2321         the change of a week ago.
2322
2323 2011-02-19  Jim Meyering  <meyering@redhat.com>
2324
2325         git-version-gen: skip "-dirty" check when appropriate
2326         * build-aux/git-version-gen: Don't run any git commands when the
2327         version string comes from .tarball-version.  Prior to this, we
2328         would run git update-index --refresh even from a just-unpacked
2329         tarball directory, and that could affect a .git/ directory in a
2330         parent of the build directory.  Reported by Mike Frysinger.
2331
2332 2011-02-19  Bruno Haible  <bruno@clisp.org>
2333
2334         unictype/property-byname: Reduce the size of the 'data' segment.
2335         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
2336
2337 2011-02-19  Bruno Haible  <bruno@clisp.org>
2338
2339         unictype/scripts: Reduce the size of the 'data' segment.
2340         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
2341         '%pic'.
2342         * lib/unictype/scripts_byname.gperf: Regenerated.
2343
2344 2011-02-19  Bruno Haible  <bruno@clisp.org>
2345
2346         stdint: Update documentation.
2347         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
2348
2349 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
2350
2351         stdint: omit redundant check for wchar.h
2352         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
2353         always tests whether wchar.h exists, so remove the now-redundant test.
2354
2355 2011-02-18  Bruno Haible  <bruno@clisp.org>
2356
2357         stdint: Cut dependency to module 'wchar'.
2358         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
2359         include the necessary prerequisites.
2360         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
2361         * modules/stdint (Depends-on): Remove wchar.
2362         (Makefile.am): Substitute HAVE_WCHAR_H.
2363         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
2364
2365 2011-02-18  Eric Blake  <eblake@redhat.com>
2366
2367         longlong: skip, rather than fail, on cross-compilation
2368         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
2369         when cross-compiling; regression from 2011-02-16.
2370
2371 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2372
2373         * NEWS: Mention 2011-02-08 change to stdlib.
2374
2375 2011-02-17  Bruno Haible  <bruno@clisp.org>
2376
2377         getloadavg: Add comments about platforms.
2378         * m4/getloadavg.m4: Add comment.
2379         * lib/getloadavg.c: Likewise.
2380
2381 2011-02-17  Bruno Haible  <bruno@clisp.org>
2382
2383         getloadavg: Fix link error on Solaris 2.6.
2384         * modules/getloadavg (Link): New section.
2385         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
2386         linking test-getloadavg.
2387         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
2388         getloadavg.
2389
2390 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2391
2392         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
2393         It was 'int', but this doesn't match the IRIX 6.5 manual.
2394         Suggested by Bruno Haible in
2395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
2396
2397 2011-02-17  Bruno Haible  <bruno@clisp.org>
2398
2399         havelib: Fix comments.
2400         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
2401         change.
2402
2403 2011-02-17  Bruno Haible  <bruno@clisp.org>
2404
2405         havelib: Update config.rpath.
2406         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
2407
2408 2011-02-17  Bruno Haible  <bruno@clisp.org>
2409
2410         getloadavg test: Add some plausibility checks.
2411         * tests/test-getloadavg.c (check_avg): Print a warning when the value
2412         is improbable.
2413
2414 2011-02-16  Eric Blake  <eblake@redhat.com>
2415
2416         maintainer-makefile: make syntax-check a no-op from tarballs
2417         * top/maint.mk (no-vc-detected): New rule.
2418         (local-checks-available): Use it to avoid hanging if someone tries
2419         'make syntax-check' from a tarball.  Also append to any non-syntax
2420         checks already defined in cfg.mk.
2421
2422 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
2423
2424         longlong: tune, particularly for common case of c99
2425
2426         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
2427         or running anything if c99, or if unsigned long long int does not
2428         work.  In either case, we know the answer without further tests.
2429         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
2430         it at most once, and use its results for both long long int and
2431         unsigned long long int.  This is more likely to be efficient in
2432         the common case where the program wants to check for both long
2433         long int and unsigned long long int.
2434         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
2435         since the answer is already known.
2436
2437 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
2438
2439         getloadavg: set errno
2440         * lib/getloadavg.c: Set errno when returning -1.  If no other
2441         error number looks appropriate, set it to ENOSYS if the getloadavg
2442         looks like it can't possibly ever work, ENOTSUP otherwise.
2443         Suggested by Bruno Haible in
2444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
2445
2446         getloadavg: trim unused parts and speed up 'configure'
2447         * NEWS: Document this.
2448         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
2449         always compiled if getloadavg is absent.
2450         Move test code to ...
2451         * tests/test-getloadavg.c: New file, containing previous
2452         contents of test from lib/getloadavg.c.  It also contains
2453         suggestions by Bruno Haible in
2454         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
2455         * modules/getloadavg-tests: New file.
2456         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
2457         Do tests in the same order as they're needed for getloadavg.c.
2458         Omit setgid-related tests that generate symbols KMEM_GROUP,
2459         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
2460         Do only the tests that are needed to see whether the system has
2461         getloadavg, moving the other tests into ...
2462         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
2463         NLIST_NAME_UNION; nobody should be using it.  Do not define
2464         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
2465         relevant, as the user of this module shouldn't care how getloadavg
2466         is implemented.
2467
2468         getloadavg: omit unused var
2469         * lib/getloadavg.c (getloadavg): Omit unused local variable.
2470
2471 2011-02-15  Jim Meyering  <meyering@redhat.com>
2472
2473         doc: update users.txt
2474         * users.txt: Update iwhd's URL.
2475
2476 2011-02-13  Bruno Haible  <bruno@clisp.org>
2477
2478         Consistent macro naming for macros that use GCC __attribute__.
2479         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
2480         _ATTRIBUTE_NONNULL_.
2481         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
2482         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
2483         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
2484         ATTRIBUTE_DEPRECATED.
2485         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
2486         ATTRIBUTE_NORETURN.
2487         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2488         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2489         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2490         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2491         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
2492         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
2493         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
2494         ATTRIBUTE_SENTINEL.
2495         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
2496         ATTRIBUTE_RETURN_CHECK.
2497         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
2498         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
2499         ATTRIBUTE_NORETURN.
2500         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
2501         Reported by Paul Eggert.
2502
2503 2011-02-13  Bruno Haible  <bruno@clisp.org>
2504
2505         Don't interfere with a program's definition of __attribute__.
2506         * lib/argp.h (__attribute__): Remove definition.
2507         (_GL_ATTRIBUTE_FORMAT): New macro.
2508         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
2509         * lib/argp-fmtstream.h (__attribute__): Remove definition.
2510         (_GL_ATTRIBUTE_FORMAT): New macro.
2511         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
2512         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
2513         GCC 3 or newer.
2514         * lib/error.h (__attribute__): Remove definition.
2515         (_GL_ATTRIBUTE_FORMAT): New macro.
2516         (error, error_at_line): Use it.
2517         * lib/hash.h (__attribute__): Remove definition.
2518         (ATTRIBUTE_WUR): Update definition. Define always.
2519         * lib/openat.h (__attribute__): Remove definition.
2520         (ATTRIBUTE_NORETURN): Update definition. Define always.
2521         * lib/sigpipe-die.h (__attribute__): Remove definition.
2522         (ATTRIBUTE_NORETURN): Update definition. Define always.
2523         * lib/vasnprintf.h (__attribute__): Remove definition.
2524         (_GL_ATTRIBUTE_FORMAT): New macro.
2525         (asnprintf, vasnprintf): Use it.
2526         * lib/xalloc.h (__attribute__): Remove definition.
2527         (ATTRIBUTE_NORETURN): Update definition. Define always.
2528         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
2529         * lib/xmemdup0.h (__attribute__): Remove definition.
2530         (ATTRIBUTE_NORETURN): Update definition. Define always.
2531         * lib/xprintf.h (__attribute__): Remove definition.
2532         (_GL_ATTRIBUTE_FORMAT): New macro.
2533         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
2534         * lib/xstrtol.h (__attribute__): Remove definition.
2535         (ATTRIBUTE_NORETURN): Update definition. Define always.
2536         * lib/xvasprintf.h (__attribute__): Remove definition.
2537         (_GL_ATTRIBUTE_FORMAT): New macro.
2538         (xasprintf, xvasprintf): Use it.
2539         * tests/test-argmatch.c (__attribute__): Remove definition.
2540         (ATTRIBUTE_NORETURN): Update definition. Define always.
2541         * tests/test-exclude.c (__attribute__): Remove definition.
2542         (ATTRIBUTE_NORETURN): Update definition. Define always.
2543         Reported by Paul Eggert.
2544
2545 2011-02-13  Bruno Haible  <bruno@clisp.org>
2546
2547         mbrtowc: Add more tests for native Windows platforms.
2548         * tests/test-mbrtowc-w32-1.sh: New file.
2549         * tests/test-mbrtowc-w32-2.sh: New file.
2550         * tests/test-mbrtowc-w32-3.sh: New file.
2551         * tests/test-mbrtowc-w32-4.sh: New file.
2552         * tests/test-mbrtowc-w32-5.sh: New file.
2553         * tests/test-mbrtowc-w32.c: New file.
2554         * modules/mbrtowc-tests (Files): Add them.
2555         (Makefile.am): Arrange to run these tests.
2556         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
2557         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
2558
2559 2011-02-13  Bruno Haible  <bruno@clisp.org>
2560
2561         mbrtowc: Work around native Windows bug.
2562         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
2563         guess when no suitable locale for testing was found.
2564         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
2565
2566 2011-02-13  Bruno Haible  <bruno@clisp.org>
2567
2568         mbsinit: Work around mingw bug.
2569         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
2570         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
2571         Windows.
2572         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
2573
2574 2011-02-13  Bruno Haible  <bruno@clisp.org>
2575
2576         mbsinit: Don't crash for a NULL argument.
2577         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
2578         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
2579
2580 2011-02-13  Bruno Haible  <bruno@clisp.org>
2581
2582         Don't interfere with a program's definition of __attribute__.
2583         * lib/stdio.in.h (__attribute__): Remove definition.
2584         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
2585         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
2586         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
2587         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
2588         * lib/string.in.h (__attribute__): Remove definition.
2589         Reported by Paul Eggert.
2590
2591 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2592
2593         stdlib: don't get in the way of non-GCC __attribute__
2594         See thread starting at
2595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
2596         Revert previous stdlib change, installing the following instead:
2597         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
2598         to get in the way of a non-GCC compiler that supports __attribute__.
2599         (_GL_ATTRIBUTE_RETURN): New macro.
2600         (_Exit): Use it instead of __attribute__.
2601
2602 2011-02-12  Bruno Haible  <bruno@clisp.org>
2603
2604         quotearg test: Avoid test failure on mingw.
2605         * tests/test-quotearg.sh: Convert the locale identifier from native
2606         Windows syntax to Unix syntax.
2607
2608 2011-02-12  Bruno Haible  <bruno@clisp.org>
2609
2610         setlocale: Prefer gnulib's override over libintl's override.
2611         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
2612         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
2613         GNULIB_defined_setlocale is set.
2614
2615 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2616
2617         stdlib: support non-GCC __attribute__
2618
2619         Fix a serious and tricky problem encountered when attempting to
2620         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
2621         5.5, but it crashed due to memory corruption on Solaris 10 with
2622         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
2623         bits that are otherwise zero.  This tagging is optional inside
2624         Emacs but is preferred and is used when __attribute__ ((__aligned
2625         (8))) works, as it does with both recent-enough GCC and with Sun C
2626         5.11.  However, Sun C 5.11 is not GCC and does not #define
2627         __GNUC__ and __GNUC_MINOR__.
2628
2629         When I added the getloadavg module to Emacs, it brought in
2630         stdlib.in.h, which contained this fragment:
2631
2632            #ifndef __attribute__
2633            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
2634            #  define __attribute__(Spec)   /* empty */
2635            # endif
2636            #endif
2637
2638         When files that include <stdlib.h> were compiled with Sun C 5.11,
2639         the above code disabled __attribute__ ((__aligned (8))), which
2640         caused variables to not be properly aligned, which eventually led
2641         to the pointer corruption mentioned above.  (This was a bit hard
2642         to diagnose, unfortunately.)
2643
2644         Several "#define __attribute__(X) /* empty */" code snippets need
2645         to be eradicated from Gnulib to work with non-GCC compilers that
2646         support __attribute__.  The Autoconf way to do this is to test for
2647         each kind of attribute that we want support for, and selectively
2648         enable that in source code.
2649
2650         Fix this problem just for stdlib.h, by adding a test for the
2651         __noreturn__ attribute, and change stdlib.in.h to use that test
2652         when needed.  This technique can be easily generalized to the
2653         other *.in.h files and attributes, and a similar technique can be
2654         used for *.h and *.c files.  This patch is enough to solve the
2655         problem for Emacs + getloadavg, and I thought I'd publish it for
2656         feedback before undertaking further, similar fixes in other
2657         modules.
2658
2659         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
2660         because it's not needed for stdlib.h.  It merely substitutes the
2661         value directly into stdlib.h.  We may well need to #define it, or
2662         similar symbols, for other modules, but it's nice to also have an
2663         option to not #define it for applications like Emacs that do not
2664         need it.
2665
2666         * lib/stdlib.in.h (__attribute__): Do not #define.
2667         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
2668         be defined only if the _Exit module is also used.
2669         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
2670         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
2671         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
2672         platforms.
2673         * modules/_Exit (Files): Add m4/attribute.m4.
2674         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
2675         * m4/attribute.m4: New file.
2676
2677 2011-02-12  Bruno Haible  <bruno@clisp.org>
2678
2679         wcsrtombs: Work around bug on native Windows.
2680         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
2681         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
2682         instead of len.
2683         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
2684
2685 2011-02-12  Bruno Haible  <bruno@clisp.org>
2686
2687         mbsrtowcs: Work around bug on native Windows.
2688         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
2689         against mingw bug.
2690         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
2691
2692 2011-02-12  Bruno Haible  <bruno@clisp.org>
2693
2694         Avoid setlocale bugs in tests.
2695         * modules/btowc (Dependencies): Add setlocale.
2696         * modules/c-strcase (Dependencies): Likewise.
2697         * modules/mbmemcasecmp (Dependencies): Likewise.
2698         * modules/mbmemcasecoll (Dependencies): Likewise.
2699         * modules/mbrtowc (Dependencies): Likewise.
2700         * modules/mbscasecmp (Dependencies): Likewise.
2701         * modules/mbscasestr (Dependencies): Likewise.
2702         * modules/mbschr (Dependencies): Likewise.
2703         * modules/mbscspn (Dependencies): Likewise.
2704         * modules/mbsinit (Dependencies): Likewise.
2705         * modules/mbsncasecmp (Dependencies): Likewise.
2706         * modules/mbsnrtowcs (Dependencies): Likewise.
2707         * modules/mbspbrk (Dependencies): Likewise.
2708         * modules/mbspcasecmp (Dependencies): Likewise.
2709         * modules/mbsrchr (Dependencies): Likewise.
2710         * modules/mbsrtowcs (Dependencies): Likewise.
2711         * modules/mbsspn (Dependencies): Likewise.
2712         * modules/mbsstr (Dependencies): Likewise.
2713         * modules/nl_langinfo (Dependencies): Likewise.
2714         * modules/quotearg (Dependencies): Likewise.
2715         * modules/unicase/locale-language (Dependencies): Likewise.
2716         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
2717         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
2718         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
2719         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
2720         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
2721         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
2722         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
2723         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
2724         * modules/vasnprintf-posix (Dependencies): Likewise.
2725         * modules/wcrtomb (Dependencies): Likewise.
2726         * modules/wcsnrtombs (Dependencies): Likewise.
2727         * modules/wcsrtombs (Dependencies): Likewise.
2728
2729 2011-02-12  Bruno Haible  <bruno@clisp.org>
2730
2731         setlocale: Workaround native Windows bug.
2732         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
2733         succeeds but sets LC_CTYPE to "C", report a failure.
2734         * tests/test-setlocale2.sh: New file.
2735         * tests/test-setlocale2.c: New file.
2736         * modules/setlocale-tests (Files): Add the new files.
2737         (Makefile.am): Enable test-setlocale2.sh test.
2738         * doc/posix-functions/setlocale.texi: Mention workaround.
2739
2740 2011-02-11  Bruno Haible  <bruno@clisp.org>
2741
2742         Tests for module 'setlocale'.
2743         * modules/setlocale-tests: New file.
2744         * tests/test-setlocale1.sh: New file.
2745         * tests/test-setlocale1.c: New file.
2746
2747         New module 'setlocale'.
2748         * lib/locale.in.h (setlocale): New declaration.
2749         * lib/setlocale.c: New file, based on
2750         gettext/gettext-runtime/intl/setlocale.c.
2751         * m4/setlocale.m4: New file.
2752         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
2753         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
2754         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
2755         REPLACE_SETLOCALE.
2756         * modules/setlocale: New file.
2757         * tests/test-locale-c++.cc: Test the declaration of setlocale.
2758         * doc/posix-functions/setlocale.texi: Mention the new module.
2759
2760 2011-02-11  Bruno Haible  <bruno@clisp.org>
2761
2762         Prepare for locale dependent tests on mingw.
2763         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
2764         because it has the wrong locale encoding.
2765         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
2766         French_France.1252 instead of "fr".
2767         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
2768         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
2769         because it has the wrong locale encoding.
2770         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
2771         native Windows, try Turkish_Turkey.65001.
2772         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
2773         Chinese_China.54936.
2774
2775         Prepare for locale dependent tests on mingw.
2776         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
2777         differently.
2778         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2779         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2780         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2781         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2782
2783 2011-02-11  Eric Blake  <eblake@redhat.com>
2784
2785         strptime: avoid compiler warnings
2786         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
2787         compiler warnings about dead code.
2788         Reported by Daniel P. Berrange.
2789
2790 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
2791
2792         doc: update users.txt
2793         * users.txt: Add rcs.
2794
2795 2011-02-10  John W. Eaton  <jwe@gnu.org>
2796
2797         doc: update users.txt
2798         * users.txt: Add octave.
2799
2800 2011-02-10  Jim Meyering  <meyering@redhat.com>
2801
2802         doc: update users.txt
2803         * users.txt: Add iwhd.
2804
2805 2011-02-09  Bruno Haible  <bruno@clisp.org>
2806
2807         gnulib-tool: Make copyright notice adjustment more robust.
2808         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2809         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2810         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2811         License".
2812         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2813
2814 2011-02-06  Bruno Haible  <bruno@clisp.org>
2815
2816         New module 'towctrans'.
2817         * modules/towctrans: New file.
2818         * lib/wctype.in.h (towctrans): New declaration.
2819         * lib/towctrans.c: New file.
2820         * lib/towctrans-impl.h: New file.
2821         * m4/towctrans.m4: New file.
2822         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2823         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2824         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2825         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2826         * doc/posix-functions/towctrans.texi: Mention the new module.
2827
2828 2011-02-06  Bruno Haible  <bruno@clisp.org>
2829
2830         New module 'wctrans'.
2831         * modules/wctrans: New file.
2832         * lib/wctype.in.h (wctrans): New declaration.
2833         * lib/wctrans.c: New file.
2834         * lib/wctrans-impl.h: New file.
2835         * m4/wctrans.m4: New file.
2836         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2837         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2838         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2839         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2840         * doc/posix-functions/wctrans.texi: Mention the new module.
2841
2842 2011-02-06  Bruno Haible  <bruno@clisp.org>
2843
2844         New module 'iswctype'.
2845         * modules/iswctype: New file.
2846         * lib/wctype.in.h (iswctype): New declaration.
2847         * lib/iswctype.c: New file.
2848         * lib/iswctype-impl.h: New file.
2849         * m4/iswctype.m4: New file.
2850         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2851         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2852         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2853         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2854         * doc/posix-functions/iswctype.texi: Mention the new module and the
2855         HP-UX 11.00 problem.
2856
2857 2011-02-06  Bruno Haible  <bruno@clisp.org>
2858
2859         New module 'wctype'.
2860         * modules/wctype: Change to represent the wctype() substitute.
2861         * lib/wctype.in.h (wctype): New declaration.
2862         * lib/wctype.c: New file.
2863         * lib/wctype-impl.h: New file.
2864         * m4/wctype.m4: New file.
2865         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2866         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2867         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2868         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2869         * doc/posix-functions/wctype.texi: Mention the new module and the
2870         HP-UX 11.00 problem.
2871
2872 2011-02-06  Bruno Haible  <bruno@clisp.org>
2873
2874         wctype-h: Ensure wctype_t and wctrans_t are defined.
2875         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2876         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2877         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2878         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2879         HAVE_WCTRANS_T.
2880         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2881
2882 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2883
2884         flock: fix license typo
2885
2886         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2887         omitted.
2888
2889 2011-02-08  Bruno Haible  <bruno@clisp.org>
2890
2891         Split large sed scripts, for HP-UX sed.
2892         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2893         to avoid HP-UX limit of 99 commands, in the near future.
2894         * modules/stdlib (Makefile.am): Likewise.
2895         * modules/unistd (Makefile.am): Likewise.
2896         * modules/wchar (Makefile.am): Likewise.
2897         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2898         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2899         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2900
2901 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2902             Bruno Haible  <bruno@clisp.org>
2903
2904         stdlib: improve random_r modularization
2905         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2906         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2907         you also need the random_r module to get this material right.
2908         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2909         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2910         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2911
2912 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2913
2914         stdlib: don't depend on stdint
2915         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2916         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2917         be independent of whether stdint.h is needed.
2918         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2919         here, instead of ...
2920         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2921         struct random_data should be using the random_r module, not just
2922         the stdlib module (which wouldn't make sense: what package needs
2923         just struct random_data without also needing random_r?).
2924         * modules/stdlib (Depends-on): Remove stdint.
2925
2926         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2927         See the thread rooted at
2928         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2929         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2930         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2931         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2932         __VMS)); previously it was always included (via fcntl--.h).
2933         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2934         hand; this is good enough for load averages.  Also, do not use
2935         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2936         flags directly if available and don't bother otherwise.  (Packages
2937         that need the extra reliability should use the modules that define
2938         these flags on older platforms that lack them.)
2939         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2940         fcntl-safer.
2941
2942 2011-02-08  Jim Meyering  <meyering@redhat.com>
2943
2944         di-set.h, ino-map.h: add multiple-inclusion guard
2945         Technically, the guard is required only for ino-map.h, due to its
2946         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2947         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2948         * lib/ino-map.h: Likewise.
2949
2950 2011-02-06  Bruno Haible  <bruno@clisp.org>
2951
2952         iswblank: Ensure declaration on glibc systems.
2953         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2954         * modules/iswblank (Dependencies): Add 'extensions'.
2955         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2956
2957 2011-02-06  Bruno Haible  <bruno@clisp.org>
2958
2959         New module 'iswblank'.
2960         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2961         * modules/iswblank: New file.
2962         * modules/wctype-h (Files): Remove lib/iswblank.c.
2963         (Makefile.am): Substitute GNULIB_ISWBLANK.
2964         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2965         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2966         (gl_WCTYPE_H_DEFAULTS): New macro.
2967         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2968         * modules/iswblank-tests: New file.
2969         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2970         * tests/test-wctype-h.c (main): Remove iswblank tests.
2971         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2972         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2973         of 'wctype-h'.
2974         * NEWS: Mention the change.
2975         * modules/mbchar (Depends-on): Add iswblank.
2976
2977 2011-02-08  Bruno Haible  <bruno@clisp.org>
2978
2979         di-set tests: Refactor.
2980         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2981         unnecessary includes.
2982         (ASSERT): Remove macro.
2983         (main): Make C90 compliant by avoiding variable declaration after
2984         statement.
2985         * modules/di-set-tests (Files): Add tests/macros.h.
2986
2987 2011-02-08  Bruno Haible  <bruno@clisp.org>
2988
2989         ino-map tests: Refactor.
2990         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2991         unnecessary includes.
2992         (ASSERT): Remove macro.
2993         (main): Make C90 compliant by avoiding variable declaration after
2994         statement.
2995         * modules/ino-map-tests (Files): Add tests/macros.h.
2996
2997 2011-02-08  Jim Meyering  <meyering@redhat.com>
2998
2999         di-set: add "const" to a cast
3000         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
3001         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
3002
3003 2011-02-06  Bruno Haible  <bruno@clisp.org>
3004
3005         Rename module 'wctype' to 'wctype-h'.
3006         * modules/wctype-h: Renamed from modules/wctype.
3007         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
3008         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
3009         (Files, Depends-on, Makefile.am): Update.
3010         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
3011         (Files, Makefile.am): Update.
3012         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
3013         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
3014         * doc/posix-headers/wctype.texi: Update.
3015         * doc/posix-functions/iswalnum.texi: Update.
3016         * doc/posix-functions/iswalpha.texi: Update.
3017         * doc/posix-functions/iswblank.texi: Update.
3018         * doc/posix-functions/iswcntrl.texi: Update.
3019         * doc/posix-functions/iswdigit.texi: Update.
3020         * doc/posix-functions/iswgraph.texi: Update.
3021         * doc/posix-functions/iswlower.texi: Update.
3022         * doc/posix-functions/iswprint.texi: Update.
3023         * doc/posix-functions/iswpunct.texi: Update.
3024         * doc/posix-functions/iswspace.texi: Update.
3025         * doc/posix-functions/iswupper.texi: Update.
3026         * doc/posix-functions/iswxdigit.texi: Update.
3027         * doc/posix-functions/towlower.texi: Update.
3028         * doc/posix-functions/towupper.texi: Update.
3029         * NEWS: Mention the change.
3030         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
3031         * modules/mbchar (Dependencies): Likewise.
3032         * modules/mbswidth (Dependencies): Likewise.
3033         * modules/quotearg (Dependencies): Likewise.
3034         * modules/regex (Dependencies): Likewise.
3035         * modules/wcscasecmp (Dependencies): Likewise.
3036         * modules/wcsncasecmp (Dependencies): Likewise.
3037         * modules/wcwidth (Dependencies): Likewise.
3038
3039 2011-02-06  Bruno Haible  <bruno@clisp.org>
3040
3041         New module 'wcswidth'.
3042         * modules/wcswidth: New file.
3043         * lib/wchar.in.h (wcswidth): New declaration.
3044         * lib/wcswidth.c: New file.
3045         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
3046         * m4/wcswidth.m4: New file.
3047         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
3048         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
3049         REPLACE_WCSWIDTH.
3050         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
3051         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
3052         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
3053         * doc/posix-functions/wcswidth.texi: Mention the new module.
3054
3055 2011-02-06  Bruno Haible  <bruno@clisp.org>
3056
3057         New module 'wcstok'.
3058         * modules/wcstok: New file.
3059         * lib/wchar.in.h (wcstok): New declaration.
3060         * lib/wcstok.c: New file.
3061         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
3062         * m4/wcstok.m4: New file.
3063         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
3064         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
3065         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
3066         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
3067         * doc/posix-functions/wcstok.texi: Mention the new module.
3068
3069 2011-02-06  Bruno Haible  <bruno@clisp.org>
3070
3071         New module 'wcsstr'.
3072         * modules/wcsstr: New file.
3073         * lib/wchar.in.h (wcsstr): New declaration.
3074         * lib/wcsstr.c: New file.
3075         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
3076         * m4/wcsstr.m4: New file.
3077         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
3078         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
3079         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
3080         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
3081         * doc/posix-functions/wcsstr.texi: Mention the new module.
3082
3083 2011-02-06  Bruno Haible  <bruno@clisp.org>
3084
3085         New module 'wcspbrk'.
3086         * modules/wcspbrk: New file.
3087         * lib/wchar.in.h (wcspbrk): New declaration.
3088         * lib/wcspbrk.c: New file.
3089         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
3090         * m4/wcspbrk.m4: New file.
3091         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
3092         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
3093         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
3094         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
3095         * doc/posix-functions/wcspbrk.texi: Mention the new module.
3096
3097 2011-02-06  Bruno Haible  <bruno@clisp.org>
3098
3099         New module 'wcsspn'.
3100         * modules/wcsspn: New file.
3101         * lib/wchar.in.h (wcsspn): New declaration.
3102         * lib/wcsspn.c: New file.
3103         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
3104         * m4/wcsspn.m4: New file.
3105         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
3106         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
3107         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
3108         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
3109         * doc/posix-functions/wcsspn.texi: Mention the new module.
3110
3111 2011-02-06  Bruno Haible  <bruno@clisp.org>
3112
3113         New module 'wcscspn'.
3114         * modules/wcscspn: New file.
3115         * lib/wchar.in.h (wcscspn): New declaration.
3116         * lib/wcscspn.c: New file.
3117         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
3118         * m4/wcscspn.m4: New file.
3119         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
3120         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
3121         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
3122         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
3123         * doc/posix-functions/wcscspn.texi: Mention the new module.
3124
3125 2011-02-06  Bruno Haible  <bruno@clisp.org>
3126
3127         New module 'wcsrchr'.
3128         * modules/wcsrchr: New file.
3129         * lib/wchar.in.h (wcsrchr): New declaration.
3130         * lib/wcsrchr.c: New file.
3131         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
3132         * m4/wcsrchr.m4: New file.
3133         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
3134         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
3135         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
3136         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
3137         * doc/posix-functions/wcsrchr.texi: Mention the new module.
3138
3139 2011-02-06  Bruno Haible  <bruno@clisp.org>
3140
3141         New module 'wcschr'.
3142         * modules/wcschr: New file.
3143         * lib/wchar.in.h (wcschr): New declaration.
3144         * lib/wcschr.c: New file.
3145         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
3146         * m4/wcschr.m4: New file.
3147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
3148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
3149         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
3150         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
3151         * doc/posix-functions/wcschr.texi: Mention the new module.
3152
3153 2011-02-06  Bruno Haible  <bruno@clisp.org>
3154
3155         New module 'wcsdup'.
3156         * modules/wcsdup: New file.
3157         * lib/wchar.in.h (wcsdup): New declaration.
3158         * lib/wcsdup.c: New file.
3159         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
3160         * m4/wcsdup.m4: New file.
3161         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
3162         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
3163         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
3164         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
3165         * doc/posix-functions/wcsdup.texi: Mention the new module.
3166
3167 2011-02-06  Bruno Haible  <bruno@clisp.org>
3168
3169         New module 'wcsxfrm'.
3170         * modules/wcsxfrm: New file.
3171         * lib/wchar.in.h (wcsxfrm): New declaration.
3172         * lib/wcsxfrm.c: New file.
3173         * lib/wcsxfrm-impl.h: New file.
3174         * m4/wcsxfrm.m4: New file.
3175         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
3176         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
3177         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
3178         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
3179         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
3180
3181 2011-02-06  Bruno Haible  <bruno@clisp.org>
3182
3183         New module 'wcscoll'.
3184         * modules/wcscoll: New file.
3185         * lib/wchar.in.h (wcscoll): New declaration.
3186         * lib/wcscoll.c: New file.
3187         * lib/wcscoll-impl.h: New file.
3188         * m4/wcscoll.m4: New file.
3189         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
3190         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
3191         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
3192         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
3193         * doc/posix-functions/wcscoll.texi: Mention the new module.
3194
3195 2011-02-06  Bruno Haible  <bruno@clisp.org>
3196
3197         New module 'wcsncasecmp'.
3198         * modules/wcsncasecmp: New file.
3199         * lib/wchar.in.h (wcsncasecmp): New declaration.
3200         * lib/wcsncasecmp.c: New file.
3201         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
3202         * m4/wcsncasecmp.m4: New file.
3203         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
3204         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
3205         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
3206         HAVE_WCSNCASECMP.
3207         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
3208         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
3209
3210 2011-02-06  Bruno Haible  <bruno@clisp.org>
3211
3212         New module 'wcscasecmp'.
3213         * modules/wcscasecmp: New file.
3214         * lib/wchar.in.h (wcscasecmp): New declaration.
3215         * lib/wcscasecmp.c: New file.
3216         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
3217         * m4/wcscasecmp.m4: New file.
3218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
3219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
3220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
3221         HAVE_WCSCASECMP.
3222         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
3223         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
3224
3225 2011-02-05  Bruno Haible  <bruno@clisp.org>
3226
3227         New module 'wcsncmp'.
3228         * modules/wcsncmp: New file.
3229         * lib/wchar.in.h (wcsncmp): New declaration.
3230         * lib/wcsncmp.c: New file.
3231         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
3232         * m4/wcsncmp.m4: New file.
3233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
3234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
3235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
3236         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
3237         * doc/posix-functions/wcsncmp.texi: Mention the new module.
3238
3239 2011-02-05  Bruno Haible  <bruno@clisp.org>
3240
3241         New module 'wcscmp'.
3242         * modules/wcscmp: New file.
3243         * lib/wchar.in.h (wcscmp): New declaration.
3244         * lib/wcscmp.c: New file.
3245         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
3246         * m4/wcscmp.m4: New file.
3247         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
3248         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
3249         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
3250         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
3251         * doc/posix-functions/wcscmp.texi: Mention the new module.
3252
3253 2011-02-05  Bruno Haible  <bruno@clisp.org>
3254
3255         New module 'wcsncat'.
3256         * modules/wcsncat: New file.
3257         * lib/wchar.in.h (wcsncat): New declaration.
3258         * lib/wcsncat.c: New file.
3259         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
3260         * m4/wcsncat.m4: New file.
3261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
3262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
3263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
3264         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
3265         * doc/posix-functions/wcsncat.texi: Mention the new module.
3266
3267 2011-02-05  Bruno Haible  <bruno@clisp.org>
3268
3269         New module 'wcscat'.
3270         * modules/wcscat: New file.
3271         * lib/wchar.in.h (wcscat): New declaration.
3272         * lib/wcscat.c: New file.
3273         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
3274         * m4/wcscat.m4: New file.
3275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
3276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
3277         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
3278         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
3279         * doc/posix-functions/wcscat.texi: Mention the new module.
3280
3281 2011-02-05  Bruno Haible  <bruno@clisp.org>
3282
3283         New module 'wcpncpy'.
3284         * modules/wcpncpy: New file.
3285         * lib/wchar.in.h (wcpncpy): New declaration.
3286         * lib/wcpncpy.c: New file.
3287         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
3288         * m4/wcpncpy.m4: New file.
3289         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
3290         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
3291         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
3292         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
3293         * doc/posix-functions/wcpncpy.texi: Mention the new module.
3294
3295 2011-02-05  Bruno Haible  <bruno@clisp.org>
3296
3297         New module 'wcsncpy'.
3298         * modules/wcsncpy: New file.
3299         * lib/wchar.in.h (wcsncpy): New declaration.
3300         * lib/wcsncpy.c: New file.
3301         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
3302         * m4/wcsncpy.m4: New file.
3303         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
3304         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
3305         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
3306         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
3307         * doc/posix-functions/wcsncpy.texi: Mention the new module.
3308
3309 2011-02-05  Bruno Haible  <bruno@clisp.org>
3310
3311         New module 'wcpcpy'.
3312         * modules/wcpcpy: New file.
3313         * lib/wchar.in.h (wcpcpy): New declaration.
3314         * lib/wcpcpy.c: New file.
3315         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
3316         * m4/wcpcpy.m4: New file.
3317         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
3318         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
3319         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
3320         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
3321         * doc/posix-functions/wcpcpy.texi: Mention the new module.
3322
3323 2011-02-05  Bruno Haible  <bruno@clisp.org>
3324
3325         New module 'wcscpy'.
3326         * modules/wcscpy: New file.
3327         * lib/wchar.in.h (wcscpy): New declaration.
3328         * lib/wcscpy.c: New file.
3329         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
3330         * m4/wcscpy.m4: New file.
3331         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
3332         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
3333         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
3334         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
3335         * doc/posix-functions/wcscpy.texi: Mention the new module.
3336
3337 2011-02-05  Bruno Haible  <bruno@clisp.org>
3338
3339         New module 'wcsnlen'.
3340         * modules/wcsnlen: New file.
3341         * lib/wchar.in.h (wcsnlen): New declaration.
3342         * lib/wcsnlen.c: New file.
3343         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
3344         * m4/wcsnlen.m4: New file.
3345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
3346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
3347         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
3348         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
3349         * doc/posix-functions/wcsnlen.texi: Mention the new module.
3350
3351 2011-02-05  Bruno Haible  <bruno@clisp.org>
3352
3353         New module 'wcslen'.
3354         * modules/wcslen: New file.
3355         * lib/wchar.in.h (wcslen): New declaration.
3356         * lib/wcslen.c: New file.
3357         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
3358         * m4/wcslen.m4: New file.
3359         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
3360         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
3361         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
3362         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
3363         * doc/posix-functions/wcslen.texi: Mention the new module.
3364
3365 2011-02-05  Bruno Haible  <bruno@clisp.org>
3366
3367         New module 'wmemset'.
3368         * modules/wmemset: New file.
3369         * lib/wchar.in.h (wmemset): New declaration.
3370         * lib/wmemset.c: New file.
3371         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
3372         * m4/wmemset.m4: New file.
3373         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
3374         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
3375         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
3376         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
3377         * doc/posix-functions/wmemset.texi: Mention the new module.
3378
3379 2011-02-05  Bruno Haible  <bruno@clisp.org>
3380
3381         New module 'wmemmove'.
3382         * modules/wmemmove: New file.
3383         * lib/wchar.in.h (wmemmove): New declaration.
3384         * lib/wmemmove.c: New file.
3385         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
3386         * m4/wmemmove.m4: New file.
3387         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
3388         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
3389         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
3390         HAVE_WMEMMOVE.
3391         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
3392         * doc/posix-functions/wmemmove.texi: Mention the new module.
3393
3394 2011-02-05  Bruno Haible  <bruno@clisp.org>
3395
3396         New module 'wmemcpy'.
3397         * modules/wmemcpy: New file.
3398         * lib/wchar.in.h (wmemcpy): New declaration.
3399         * lib/wmemcpy.c: New file.
3400         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
3401         * m4/wmemcpy.m4: New file.
3402         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
3403         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
3404         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
3405         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
3406         * doc/posix-functions/wmemcpy.texi: Mention the new module.
3407
3408 2011-02-05  Bruno Haible  <bruno@clisp.org>
3409
3410         New module 'wmemcmp'.
3411         * modules/wmemcmp: New file.
3412         * lib/wchar.in.h (wmemcmp): New declaration.
3413         * lib/wmemcmp.c: New file.
3414         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
3415         * m4/wmemcmp.m4: New file.
3416         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
3417         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
3418         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
3419         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
3420         * doc/posix-functions/wmemcmp.texi: Mention the new module.
3421
3422 2011-02-07  Jim Meyering  <meyering@redhat.com>
3423
3424         di-set, ino-map: new modules, from coreutils
3425         * lib/di-set.c: New file.
3426         * lib/di-set.h: Likewise.
3427         * lib/ino-map.c: Likewise.
3428         * lib/ino-map.h: Likewise.
3429         * modules/di-set: Likewise.
3430         * modules/di-set-tests: Likewise.
3431         * modules/ino-map: Likewise.
3432         * modules/ino-map-tests: Likewise.
3433         * tests/test-di-set.c: Likewise.
3434         * tests/test-ino-map.c: Likewise.
3435
3436 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
3437
3438         getloadavg: merge minor changes from Emacs
3439
3440         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
3441         (getloadavg): Use memset, not bzero.
3442
3443         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
3444         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3445         clash (bug#86).
3446
3447 2010-11-14  Bruno Haible  <bruno@clisp.org>
3448
3449         Allow multiple gnulib generated replacements to coexist.
3450         * lib/getopt.in.h (struct option): Avoid identical redefinition.
3451         * lib/inttypes.in.h (imaxdiv_t): Likewise.
3452         * lib/langinfo.in.h (nl_item): Likewise.
3453         * lib/math.in.h (_NaN, NAN): Likewise.
3454         * lib/netdb.in.h (struct addrinfo): Likewise.
3455         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
3456         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
3457         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
3458         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
3459         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
3460         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
3461         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
3462         pthread_mutexattr_init, pthread_mutexattr_settype,
3463         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
3464         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
3465         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
3466         pthread_spin_trylock, pthread_spin_unlock): Likewise.
3467         * lib/sched.in.h (struct sched_param): Likewise.
3468         * lib/se-selinux.in.h (security_class_t, security_context_t,
3469         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
3470         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
3471         lsetfilecon, fsetfilecon, security_check_context,
3472         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
3473         Likewise.
3474         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
3475         Likewise.
3476         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
3477         _gl_function_taking_int_returning_void_t, union sigval,
3478         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
3479         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
3480         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
3481         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
3482         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
3483         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
3484         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
3485         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
3486         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
3487         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
3488         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
3489         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
3490         socklen_t, rpl_fd_isset): Likewise.
3491         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
3492         * lib/sys_time.in.h (struct timeval): Likewise.
3493         * lib/sys_times.in.h (struct tms): Likewise.
3494         * lib/sys_utsname.in.h (struct utsname):
3495         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
3496         * lib/unistd.in.h (getpagesize): Likewise.
3497         * lib/wchar.in.h (mbstate_t): Likewise.
3498         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
3499         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
3500         towlower, towupper): Likewise.
3501         Reported by Sam Steingold <sds@gnu.org>.
3502
3503 2011-02-05  Eric Blake  <eblake@redhat.com>
3504
3505         unsetenv: work around Haiku issues
3506         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
3507         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
3508
3509 2010-12-30  Bruce Korb  <bkorb@gnu.org>
3510
3511         libposix: avoid calling error() within libposix
3512         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
3513         is defined.
3514
3515 2011-02-05  Eric Blake  <eblake@redhat.com>
3516
3517         strerror_r-posix: port to cygwin
3518         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
3519         implementation.
3520         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
3521         * tests/test-strerror_r.c (main): Fix test.
3522         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
3523         issue.
3524
3525 2011-02-05  Bruno Haible  <bruno@clisp.org>
3526
3527         New module 'wmemchr'.
3528         * modules/wmemchr: New file.
3529         * lib/wchar.in.h (wmemchr): New declaration.
3530         * lib/wmemchr.c: New file.
3531         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
3532         * m4/wmemchr.m4: New file.
3533         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
3534         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
3535         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
3536         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
3537         * doc/posix-functions/wmemchr.texi: Mention the new module.
3538
3539 2011-02-04  Eric Blake  <eblake@redhat.com>
3540
3541         fdopendir: detect FreeBSD bug
3542         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
3543         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
3544
3545 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3546
3547         stdbool: do not define HAVE_STDBOOL_H
3548         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
3549         AC_HEADER_STDBOOL.  All uses changed.  Do not define
3550         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
3551         imported from the latest Autoconf git.  It was motivated by Emacs,
3552         which uses gnulib but does not need HAVE_STDBOOL_H.
3553
3554 2011-02-04  Bruno Haible  <bruno@clisp.org>
3555
3556         wcsnrtombs: Prepare for new module wwcsnrtombs.
3557         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
3558         * lib/wcsnrtombs.c: Include it.
3559         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
3560
3561         wcsrtombs: Prepare for new module wwcsrtombs.
3562         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
3563         * lib/wcsrtombs.c: Include it.
3564         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
3565
3566         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
3567         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
3568         * lib/mbsnrtowcs.c: Include it.
3569         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
3570
3571         mbsrtowcs: Prepare for new module mbsrtowwcs.
3572         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
3573         * lib/mbsrtowcs.c: Include it.
3574         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
3575
3576 2011-02-04  Bruno Haible  <bruno@clisp.org>
3577
3578         vasnprintf: Reduce use of malloc for small format strings.
3579         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
3580         (arguments): Add room for the first 7 arguments.
3581         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
3582         (char_directives, u8_directives, u16_directives, u32_directives): Add
3583         room for the first 7 directives.
3584         * lib/printf-parse.c: Include <string.h>.
3585         (PRINTF_PARSE): Change memory handling code so that it uses the first
3586         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
3587         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
3588         Reported by Pádraig Brady <P@draigbrady.com>.
3589
3590 2011-01-31  Eric Blake  <eblake@redhat.com>
3591
3592         dup2: work around Haiku bug
3593         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
3594         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
3595         * doc/posix-functions/dup2.texi (dup2): Document the bug.
3596         * tests/test-dup2.c (main): Enhance test.
3597
3598 2011-01-31  Simon Josefsson  <simon@josefsson.org>
3599
3600         doc: off_t is not available in eglibc 2.11.2 stdio.h.
3601         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
3602         declared by eglibc 2.11.2.
3603         * lib/stdio.in.h: Likewise.
3604
3605 2011-01-31  Eric Blake  <eblake@redhat.com>
3606
3607         ignore-value: add missing test dependency
3608         * tests/test-ignore-value.c: Revert previous change; stdio.h
3609         provides off_t.
3610         * modules/ignore-value-tests (Depends-on): Add missing dependency.
3611
3612 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
3613
3614         mktime: clarify long_int width checking
3615         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
3616         the top level, to make it clearer that the assumption about
3617         long_int width is being checked.  See
3618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
3619
3620 2011-01-30  Simon Josefsson  <simon@josefsson.org>
3621
3622         ignore-value: Fix self-test.
3623         * tests/test-ignore-value.c: Include sys/types.h for off_t.
3624
3625 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3626
3627         TYPE_MAXIMUM: avoid theoretically undefined behavior
3628         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
3629         negative number, which the C Standard says has undefined behavior.
3630         In practice this is not a problem, but might as well do it by the book.
3631         Reported by Rich Felker and Eric Blake; see
3632         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
3633         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
3634         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
3635         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
3636         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
3637         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3638         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
3639
3640         mktime: #undef mktime before #defining it
3641         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
3642
3643         mktime: systematically normalize tm_isdst comparisons
3644         * lib/mktime.c (isdst_differ): New function.
3645         (__mktime_internal): Use it systematically for all isdst comparisons.
3646         This completes the fix for libc BZ #6723, and removes the need for
3647         normalizing tm_isdst.  See
3648         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
3649         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
3650
3651         mktime: fix some integer overflow issues and sidestep the rest
3652
3653         This was prompted by a bug report by Benjamin Lindner for MinGW
3654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
3655         His bug is due to signed integer overflow (0 - INT_MIN), and I
3656         I scanned through mktime.c looking for other integer overflow
3657         problems, fixing all the bugs I found.
3658
3659         Although the C Standard says the resulting code is still not safe
3660         in the presence of integer overflow, in practice it should be good
3661         enough for all real-world two's-complement implementations, except
3662         for debugging environments that deliberately trap on integer
3663         overflow (e.g., gcc -ftrapv).
3664
3665         * lib/mktime.c (WRAPV): New macro.
3666         (SHR): Also check that long_int and time_t shift right in the
3667         usual way, before using the fast-but-unportable method.
3668         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
3669         used.  The code already assumed two's complement, so there's
3670         no need to test for alternatives.  All uses removed.
3671         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
3672         the C standard.  Problem reported by Rich Felker in
3673         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
3674         (twos_complement_arithmetic): Also check long_int and time_t.
3675         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
3676         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
3677         (__mktime_internal): Avoid integer overflow with unary subtraction
3678         in two instances where -1 - X is an adequate replacement for -X,
3679         since the calculations are approximate.
3680
3681 2011-01-29  Eric Blake  <eblake@redhat.com>
3682
3683         mktime: avoid infinite loop
3684         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
3685         type; behavior is still undefined but portable to all known targets.
3686         Reported by Rich Felker.
3687
3688 2011-01-29  Simon Josefsson  <simon@josefsson.org>
3689
3690         rename, unlink, same-inode: Relicense.
3691         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
3692         * modules/unlink (License): Likewise.
3693         * modules/same-inode (License): Likewise.
3694
3695 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3696
3697         mktime: avoid problems on NetBSD 5 / i386
3698         * lib/mktime.c (long_int): New type.  This works around a problem
3699         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
3700         but time_t is 64 bits, and where I expect the existing code is
3701         wrong in some cases.
3702         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
3703         (ydhms_diff): Bring back the compile-time check for wide-enough
3704         year and yday.
3705
3706         mktime: fix misspelling in comment
3707         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
3708         This merges all recent glibc changes of importance.
3709
3710 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3711
3712         move-if-change: cope with concurrent mv of identical file.
3713         * build-aux/move-if-change (CMPPROG): Accept environment
3714         variable as an override for `cmp'.
3715         (usage): Document CMPPROG.
3716         Adjust comparison to drop stdout.  Cope with failure of mv if
3717         the target file exists and is identical to the source, for
3718         parallel builds.
3719         Report from H.J. Lu against binutils in PR binutils/12283.
3720
3721 2011-01-28  Bruce Korb  <bkorb@gnu.org>
3722
3723         * users.txt: Mention sharutils.
3724
3725 2011-01-28  Simon Josefsson  <simon@josefsson.org>
3726
3727         * users.txt: Mention OATH Toolkit.
3728
3729 2011-01-27  Bruno Haible  <bruno@clisp.org>
3730
3731         Prepare for supporting FreeBSD 10.
3732         * build-aux/config.libpath: Remove handling of freebsd1*.
3733
3734 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
3735
3736         Prepare for supporting FreeBSD 10.
3737         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
3738         match FreeBSD 10.0.
3739
3740 2011-01-27  Bruno Haible  <bruno@clisp.org>
3741
3742         vma-iter, get-rusage-as: Add OpenBSD support.
3743         * modules/vma-iter (configure.ac): Test for mquery.
3744         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
3745         * lib/vma-iter.c: Include <sys/mman.h>.
3746         (vma_iterate): Add an implementation based on mquery().
3747         * lib/resource-ext.h (get_rusage_as): Update comments.
3748         * lib/get-rusage-as.c: Likewise.
3749         * lib/get-rusage-data.c: Likewise.
3750
3751 2011-01-26  Karl Berry  <karl@gnu.org>
3752
3753         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
3754         variables to make it easier to override the makeinfo program used.
3755
3756 2011-01-26  Eric Blake  <eblake@redhat.com>
3757
3758         fcntl: work around Haiku F_DUPFD bugs
3759         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
3760         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
3761         cloexec bit on duplication.
3762         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
3763
3764 2011-01-26  Bruno Haible  <bruno@clisp.org>
3765
3766         Enable memory leak tests on AIX.
3767         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
3768         * tests/test-fprintf-posix3.c (main): Likewise.
3769
3770 2011-01-26  Bruno Haible  <bruno@clisp.org>
3771
3772         Tests for module 'get-rusage-data'.
3773         * modules/get-rusage-data-tests: New file.
3774         * tests/test-get-rusage-data.c: New file.
3775
3776         New module 'get-rusage-data'.
3777         * lib/resource-ext.h (get_rusage_data): New declaration.
3778         * lib/get-rusage-data.c: New file.
3779         * modules/get-rusage-data: New file.
3780
3781 2011-01-25  Bruno Haible  <bruno@clisp.org>
3782
3783         get-rusage-as: Allow for easier testing.
3784         * lib/resource-ext.h (get_rusage_as): Add comment.
3785         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
3786         (main): New function for interactive testing.
3787
3788 2011-01-25  Bruno Haible  <bruno@clisp.org>
3789
3790         vma-iter: Treat Haiku like BeOS.
3791         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
3792         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
3793
3794 2011-01-25  Eric Blake  <eblake@redhat.com>
3795
3796         c-stack: fix regression on cygwin when libsigsegv is present
3797         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3798
3799 2011-01-24  Bruno Haible  <bruno@clisp.org>
3800
3801         vma-iter: Avoid empty intervals.
3802         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3803         on an empty interval.
3804
3805 2011-01-24  Jim Meyering  <meyering@redhat.com>
3806
3807         u64: remove unnecessary #include
3808         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3809
3810 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3811
3812         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3813         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3814
3815 2011-01-23  Bruno Haible  <bruno@clisp.org>
3816
3817         New module 'vma-iter'.
3818         * lib/vma-iter.h: New file.
3819         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3820         * modules/vma-iter: New file.
3821         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3822         for get_rusage_as_via_iterator.
3823         (vma_iterate_callback): New function.
3824         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3825         * modules/get-rusage-as (Depends-on): Add vma-iter.
3826
3827 2011-01-23  Bruno Haible  <bruno@clisp.org>
3828
3829         uninorm: Tweak includes.
3830         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3831         Reported by Jim Meyering.
3832
3833 2011-01-23  Bruno Haible  <bruno@clisp.org>
3834
3835         get-rusage-as: Improve on NetBSD.
3836         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3837         /proc, like on FreeBSD.
3838
3839 2011-01-23  Jim Meyering  <meyering@redhat.com>
3840
3841         xreadlink.h: remove unnecessary #include
3842         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3843
3844         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3845         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3846
3847 2011-01-23  Bruno Haible  <bruno@clisp.org>
3848
3849         get-rusage-as: Fix bug.
3850         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3851         original limit when aborting the first loop.
3852
3853 2011-01-23  Bruno Haible  <bruno@clisp.org>
3854
3855         wctype: Ensure valid C syntax.
3856         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3857         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3858
3859 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3860
3861         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3863         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3864         as they are needed only for configure's test case.
3865         This removes two unnecessary symbols from config.h.
3866
3867         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3868         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3869         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3870         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3871         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3872         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3873         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3874         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3875         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3876         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3877         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3878         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3879         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3880         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3881         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3882         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3883         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3884         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3885
3886 2011-01-21  Eric Blake  <eblake@redhat.com>
3887
3888         maintainer-makefile: work with older git for submodule check
3889         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3890         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3891         Reported by Matthias Bolte.
3892
3893         bootstrap: minor portability fixes
3894         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3895         (usage): Omit leading capital and trailing . on help phrases, per
3896         GNU Coding Standards.
3897         (check_versions, top level): Prefix messages with script name.
3898
3899 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3900
3901         bootstrap: support --no-git option
3902         * build-aux/bootstrap: Add --no-git option, to be used when
3903         --gnulib-srcdir points to the exact desired checkout.
3904
3905 2011-01-21  Eric Blake  <eblake@redhat.com>
3906
3907         strerror_r-posix: work with glibc 2.13
3908         * lib/strerror_r.c (strerror_r): Fix return type.
3909
3910 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3911             Bruno Haible  <bruno@clisp.org>
3912
3913         uN_strstr: New unit tests.
3914         * modules/unistr/u8-strstr-tests: New file.
3915         * modules/unistr/u16-strstr-tests: New file.
3916         * modules/unistr/u32-strstr-tests: New file.
3917         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3918         * tests/unistr/test-u8-strstr.c: New file.
3919         * tests/unistr/test-u16-strstr.c: New file.
3920         * tests/unistr/test-u32-strstr.c: New file.
3921
3922 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3923             Bruno Haible  <bruno@clisp.org>
3924
3925         Make uN_strstr functions O(n) worst-case.
3926         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3927         16-bit and 32-bit unit cases, use the unibyte algorithm from
3928         lib/mbsstr.c.
3929         * lib/unistr/u8-strstr.c: Include <string.h>.
3930         (UNIT_IS_UINT8_T): New macro.
3931         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3932         (U_STRLEN, U_STRNLEN): New macros.
3933         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3934         (U_STRLEN, U_STRNLEN): New macros.
3935         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3936         (configure.ac): Update required libunistring version.
3937         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3938         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3939         malloca.
3940         (configure.ac): Update required libunistring version.
3941         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3942         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3943         malloca.
3944         (configure.ac): Update required libunistring version.
3945
3946 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3947             Bruno Haible  <bruno@clisp.org>
3948
3949         Prepare for faster uN_strstr functions.
3950         * lib/str-kmp.h: Support definable UNITs.
3951         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3952         needle_len argument.
3953         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3954         * lib/mbscasestr.c (mbscasestr): Likewise.
3955
3956 2011-01-21  Pádraig Brady <P@draigBrady.com>
3957
3958         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3959         * tests/test-malloca.c (main): Unset the environment variable
3960         to greatly speed up the test.
3961         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3962         * modules/malloca-tests: Depend on unsetenv.
3963
3964 2011-01-21  Pádraig Brady <P@draigBrady.com>
3965
3966         ignore-value: remove stdint dependency
3967         * lib/ignore-value.h: Remove <stdint.h>
3968         * modules/ignore-value: Remove stdint dependency.
3969
3970 2011-01-21  Jim Meyering  <meyering@redhat.com>
3971
3972         maint.mk: adjust variable name to be consistent with other gl_ vars
3973         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3974         to be lower case.
3975
3976 2011-01-20  Jim Meyering  <meyering@redhat.com>
3977
3978         maint.mk: make "check" depend on public-submodule-commit by default
3979         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3980
3981 2011-01-20  Bruno Haible  <bruno@clisp.org>
3982
3983         mbfile, mbiter: Complete change from 2008-12-21.
3984         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3985         * m4/mbiter.m4 (gl_MBITER): Likewise.
3986
3987 2011-01-20  Jim Meyering  <meyering@redhat.com>
3988
3989         init.sh: insert space between each function name and "()"
3990         * tests/init.sh: Make it a little easier to see that a function's
3991         name is "warn_", and not "warn" when looking at the first part of
3992         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3993
3994 2011-01-20  Jim Meyering  <meyering@redhat.com>
3995
3996         mountlist: clean up code formatting
3997         * lib/mountlist.c (read_file_system_list): Split a long line,
3998         correct bracing style, use NULL in place of "(struct statfs *)0",
3999         don't parenthesize return value, add spaces around "=" and after
4000         ";-in-for-stmt".
4001
4002 2011-01-14  Markus Duft <mduft@gentoo.org>
4003
4004         mountlist: add support for Interix
4005         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
4006         Apply statvfs to all entries of /dev/fs.
4007         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
4008         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
4009
4010 2011-01-20  Jim Meyering  <meyering@redhat.com>
4011
4012         maint.mk: improve the public-submodule-commit rule
4013         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
4014         to suppress printing of its commands... unless V=1.
4015         Add git submodule's --quiet option to suppress printing of e.g.,
4016         "Entering gnulib" output.
4017         "cd" into $(srcdir) before running git submodule.
4018
4019 2011-01-20  Bruno Haible  <bruno@clisp.org>
4020
4021         include_next: Fix bug introduced on 2011-01-18.
4022         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
4023         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
4024         ac_cv_header_... variable if the second argument is not 'check'.
4025         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
4026         gl_NEXT_HEADERS_INTERNAL.
4027
4028 2011-01-20  Bruno Haible  <bruno@clisp.org>
4029
4030         Allow the user to avoid the GNULIB_TEST_* macros.
4031         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
4032         Suggested by Paul Eggert.
4033
4034 2011-01-14  Jim Meyering  <meyering@redhat.com>
4035
4036         bootstrap: avoid failure when there is no .gitmodules file
4037         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
4038         has been assigned to, even when its value is the empty string.
4039         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
4040         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
4041         Reported by John W. Eaton <jwe@gnu.org>.
4042
4043 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4044
4045         assume <ctype.h>, ..., <time.h> exist
4046         For years gnulib has been assuming the existence of the headers
4047         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
4048         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
4049         them, since they don't appear to be needed.
4050         * README (Portability guidelines): Document this.
4051         * lib/flock.c: Assume <fcntl.h> exists.
4052         * lib/regex_internal.h: Assume <locale.h> exists.
4053         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
4054         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
4055         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
4056         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
4057         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
4058         * m4/regex.m4 (gl_REGEX): Likewise.
4059         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
4060         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
4061         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
4062         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
4063         * tests/test-argp.c: Likewise.
4064         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
4065
4066         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
4067         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
4068         AA_APPLE_UNIVERSAL_BUILD.  See
4069         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
4070         * NEWS: Document this.
4071
4072 2011-01-19  Eric Blake  <eblake@redhat.com>
4073
4074         c-stack: assume stack overflow if SA_SIGINFO unsupported
4075         * lib/c-stack.c (SIGACTION_WORKS): Rename...
4076         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
4077         sigaction will work.
4078         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
4079         behavior match Linux.
4080         * tests/test-c-stack.c (main): Prefer NULL for pointers.
4081
4082         stdbool-tests: accomodate Haiku
4083         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
4084
4085         binary-io: fix O_TEXT on Haiku
4086         * modules/binary-io (Depends-on): Add fcntl-h.
4087         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
4088         than blindly undefining O_TEXT.
4089         Reported by Scott McCreary.
4090
4091 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4092
4093         include_next: do not check for standard headers like stddef.h
4094
4095         I found this problem when modifying Emacs to use gnulib.
4096         I noticed that it added HAVE_STDDEF_H to config.h, even though
4097         gnulib always assumes <stddef.h> exists as per README and this
4098         symbol is unnecessary.
4099         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
4100         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
4101         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
4102         faster for headers like stddef.h that are known to exist.
4103         (gl_CHECK_NEXT_HEADERS): Use it.
4104         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
4105         rather than gl_CHECK_NEXT_HEADERS.
4106         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
4107         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
4108
4109 2011-01-18  Eric Blake  <eblake@redhat.com>
4110
4111         ansi-c++-opt: skip C++ dependency style if C++ is unused
4112         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
4113         tests when we know C++ compilation is not desired.
4114         Reported by Scott McCreary.
4115
4116 2011-01-18  Bruno Haible  <bruno@clisp.org>
4117
4118         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
4119         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
4120         (main): Perform test also when getrlimit and setrlimit don't exist or
4121         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
4122         limiting the address space size using setrlimit, compare the address
4123         space size before and after the the test.
4124         * tests/test-dprintf-posix2.c: Likewise.
4125         * tests/test-fprintf-posix3.sh: Update skip messages.
4126         * tests/test-dprintf-posix2.sh: Likewise.
4127         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
4128         * modules/dprintf-posix-tests (Depends-on): Likewise.
4129         Reported by Bruce Korb <bkorb@gnu.org> and
4130         Gary V. Vaughan <gary@gnu.org>.
4131
4132 2011-01-18  Bruno Haible  <bruno@clisp.org>
4133
4134         get-rusage-as: Improvement for Cygwin.
4135         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
4136         areas that are merely reserved.
4137
4138 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4139
4140         strftime: remove dependencies on multibyte modules
4141
4142         strftime depended on mbrlen, mbsinit, and wchar, but these modules
4143         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
4144         only if __osf__ is defined, and I suspect OSF doesn't need these
4145         other modules.  If my guess is wrong, we'll need to come up with a
4146         variant of strftime that doesn't need the multibyte modules.
4147
4148         I discovered this problem when attempting modify Emacs to use the
4149         strftime module.  With the previous gnulib, this caused Emacs to
4150         need 31 new files, ranging from lib/config.charset to
4151         m4/wint_t.m4.  This was overkill and I expect would be offputting
4152         to the Emacs maintainers.  After this change, only 6 new files are
4153         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
4154         stdbool.m4, and tm_gmtoff.m4.
4155
4156         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
4157         Suggested by Bruno Haible in
4158         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
4159         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
4160         and do not check for wchar.h.
4161         * modules/strftime (Files): Remove m4/mbstate_t.m4.
4162         (Depends-on): Remove mbrlen, mbsinit, wchar.
4163
4164 2011-01-18  Bruno Haible  <bruno@clisp.org>
4165
4166         Tests for module 'get-rusage-as'.
4167         * modules/get-rusage-as-tests: New file.
4168         * tests/test-get-rusage-as.c: New file.
4169
4170         New module 'get-rusage-as'.
4171         * modules/get-rusage-as: New file.
4172         * lib/resource-ext.h: New file.
4173         * lib/get-rusage-as.c: New file.
4174
4175 2011-01-17  Eric Blake  <eblake@redhat.com>
4176
4177         sigaction: relax license from LGPLv3+ to LGPLv2+
4178         * modules/sigaction (License): Relax to LGPLv2+.
4179
4180 2011-01-14  Bruno Haible  <bruno@clisp.org>
4181
4182         filemode: Make function declarations usable in C++ mode.
4183         * lib/filemode.h: Enclose function declarations in extern "C" block.
4184         Reported by John W. Eaton <jwe@gnu.org>.
4185
4186 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
4187
4188         save-cwd: no longer include "xgetcwd.h"
4189         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
4190         This avoids a compilation failure in projects that use save-cwd
4191         without also using the xgetcwd module.
4192
4193 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4194
4195         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
4196         This is so that a program like Emacs, which needs only dtoastr,
4197         does not have to bother with distributing and compiling ftoastr
4198         and ldtoastr.
4199         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
4200         * modules/dtoastr, modules/ldtoastr: New files.
4201         * modules/ftoastr: Now works just for 'float'.
4202         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
4203         (Makefile.am): Remove ftoastr.h (not needed and no effect),
4204         dtoastr.c, ldtoastr.c.
4205
4206 2011-01-11  Jim Meyering  <meyering@redhat.com>
4207
4208         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
4209         There is no need to work around the lack of the fchdir function,
4210         since gnulib can now provide a replacement when required.
4211         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
4212         * modules/save-cwd (Depends-on): Add fchdir.
4213
4214 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4215
4216         openat, save-cwd: avoid xmalloc
4217
4218         This removes a direct (but undocumented) dependency of openat on
4219         xalloc, along with an indirect dependency via save-cwd.  It also
4220         removes a dependency of save-cwd on xgetcwd, and thereby
4221         indirectly on xalloc.  This change causes the openat substitute
4222         to fall back on save_cwd when memory is tight, and for save_cwd to
4223         fail instead of dying when memory is tight, but that's good enough.
4224         Problem and initial idea for fix reported by Bastien Roucaries in
4225         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
4226
4227         * lib/openat-proc.c: Include stdlib.h (for malloc), not
4228         xalloc.h (for xmalloc).
4229         (openat_proc_name): Use malloc, not xmalloc.
4230         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
4231         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
4232
4233         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
4234         This avoids heap allocation for file names whose lengths are in
4235         the range 512..1023, with the upper bound increasing to at most
4236         4031 depending on the platform's PATH_MAX.  (We do not want
4237         pathmax.h here as it might supply a non-constant PATH_MAX.)
4238         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
4239         Perhaps they should be moved to malloca.h?
4240         (OPENAT_BUFFER_SIZE): Use them.
4241
4242 2011-01-10  Bruno Haible  <bruno@clisp.org>
4243
4244         doc: Update users.txt.
4245         * users.txt: Add recutils.
4246
4247 2011-01-09  Karl Berry  <karl@gnu.org>
4248
4249         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
4250
4251         * doc/configmake.texi: New file.
4252         * doc/gnulib.texi: Include it.
4253         * modules/configmake: Move documentation from here.
4254
4255 2011-01-09  Bruno Haible  <bruno@clisp.org>
4256
4257         Update to Unicode 6.0.0.
4258         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
4259         (get_lbp): Update for Unicode 6.0.0.
4260         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
4261         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
4262         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
4263         U+11001, U+11038..U+11046. Remove U+06DE.
4264         (uc_width): Fix bounds of planes.
4265         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4266         lib/uniwidth/width.c.
4267         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
4268         trailing whitespace removed.
4269         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
4270         without comments, but with the original copyright notice.
4271         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
4272         * lib/unicase/ignorable.h: Likewise.
4273         * lib/unicase/tocasefold.h: Likewise.
4274         * lib/unicase/tolower.h: Likewise.
4275         * lib/unicase/totitle.h: Likewise.
4276         * lib/unicase/toupper.h: Likewise.
4277         * lib/unictype/bidi_of.h: Likewise.
4278         * lib/unictype/blocks.h: Likewise.
4279         * lib/unictype/categ_C.h: Likewise.
4280         * lib/unictype/categ_Cn.h: Likewise.
4281         * lib/unictype/categ_L.h: Likewise.
4282         * lib/unictype/categ_Ll.h: Likewise.
4283         * lib/unictype/categ_Lm.h: Likewise.
4284         * lib/unictype/categ_Lo.h: Likewise.
4285         * lib/unictype/categ_Lu.h: Likewise.
4286         * lib/unictype/categ_M.h: Likewise.
4287         * lib/unictype/categ_Mc.h: Likewise.
4288         * lib/unictype/categ_Me.h: Likewise.
4289         * lib/unictype/categ_Mn.h: Likewise.
4290         * lib/unictype/categ_N.h: Likewise.
4291         * lib/unictype/categ_Nd.h: Likewise.
4292         * lib/unictype/categ_No.h: Likewise.
4293         * lib/unictype/categ_P.h: Likewise.
4294         * lib/unictype/categ_Po.h: Likewise.
4295         * lib/unictype/categ_S.h: Likewise.
4296         * lib/unictype/categ_Sc.h: Likewise.
4297         * lib/unictype/categ_Sk.h: Likewise.
4298         * lib/unictype/categ_Sm.h: Likewise.
4299         * lib/unictype/categ_So.h: Likewise.
4300         * lib/unictype/categ_of.h: Likewise.
4301         * lib/unictype/combining.h: Likewise.
4302         * lib/unictype/ctype_alnum.h: Likewise.
4303         * lib/unictype/ctype_alpha.h: Likewise.
4304         * lib/unictype/ctype_graph.h: Likewise.
4305         * lib/unictype/ctype_lower.h: Likewise.
4306         * lib/unictype/ctype_print.h: Likewise.
4307         * lib/unictype/ctype_punct.h: Likewise.
4308         * lib/unictype/ctype_upper.h: Likewise.
4309         * lib/unictype/decdigit.h: Likewise.
4310         * lib/unictype/digit.h: Likewise.
4311         * lib/unictype/numeric.h: Likewise.
4312         * lib/unictype/pr_alphabetic.h: Likewise.
4313         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4314         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4315         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4316         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4317         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4318         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4319         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4320         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4321         * lib/unictype/pr_case_ignorable.h: Likewise.
4322         * lib/unictype/pr_cased.h: Likewise.
4323         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
4324         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
4325         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
4326         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
4327         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
4328         * lib/unictype/pr_combining.h: Likewise.
4329         * lib/unictype/pr_composite.h: Likewise.
4330         * lib/unictype/pr_currency_symbol.h: Likewise.
4331         * lib/unictype/pr_decimal_digit.h: Likewise.
4332         * lib/unictype/pr_deprecated.h: Likewise.
4333         * lib/unictype/pr_format_control.h: Likewise.
4334         * lib/unictype/pr_grapheme_base.h: Likewise.
4335         * lib/unictype/pr_grapheme_extend.h: Likewise.
4336         * lib/unictype/pr_grapheme_link.h: Likewise.
4337         * lib/unictype/pr_id_continue.h: Likewise.
4338         * lib/unictype/pr_id_start.h: Likewise.
4339         * lib/unictype/pr_ideographic.h: Likewise.
4340         * lib/unictype/pr_lowercase.h: Likewise.
4341         * lib/unictype/pr_math.h: Likewise.
4342         * lib/unictype/pr_numeric.h: Likewise.
4343         * lib/unictype/pr_other_alphabetic.h: Likewise.
4344         * lib/unictype/pr_other_id_continue.h: Likewise.
4345         * lib/unictype/pr_other_math.h: Likewise.
4346         * lib/unictype/pr_punctuation.h: Likewise.
4347         * lib/unictype/pr_sentence_terminal.h: Likewise.
4348         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4349         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4350         * lib/unictype/pr_unified_ideograph.h: Likewise.
4351         * lib/unictype/pr_uppercase.h: Likewise.
4352         * lib/unictype/pr_xid_continue.h: Likewise.
4353         * lib/unictype/pr_xid_start.h: Likewise.
4354         * lib/unictype/scripts.h: Likewise.
4355         * lib/unictype/scripts_byname.gperf: Likewise.
4356         * lib/unictype/sy_java_ident.h: Likewise.
4357         * lib/unigbrk/gbrkprop.h: Likewise.
4358         * lib/unilbrk/lbrkprop1.h: Likewise.
4359         * lib/unilbrk/lbrkprop2.h: Likewise.
4360         * lib/uninorm/decomposition-table2.h: Likewise.
4361         * lib/uniwbrk/wbrkprop.h: Likewise.
4362         * tests/unicase/test-cased.c: Likewise.
4363         * tests/unicase/test-ignorable.c: Likewise.
4364         * tests/unicase/test-uc_tolower.c: Likewise.
4365         * tests/unicase/test-uc_totitle.c: Likewise.
4366         * tests/unicase/test-uc_toupper.c: Likewise.
4367         * tests/unictype/test-categ_C.c: Likewise.
4368         * tests/unictype/test-categ_Cn.c: Likewise.
4369         * tests/unictype/test-categ_L.c: Likewise.
4370         * tests/unictype/test-categ_Ll.c: Likewise.
4371         * tests/unictype/test-categ_Lm.c: Likewise.
4372         * tests/unictype/test-categ_Lo.c: Likewise.
4373         * tests/unictype/test-categ_Lu.c: Likewise.
4374         * tests/unictype/test-categ_M.c: Likewise.
4375         * tests/unictype/test-categ_Mc.c: Likewise.
4376         * tests/unictype/test-categ_Me.c: Likewise.
4377         * tests/unictype/test-categ_Mn.c: Likewise.
4378         * tests/unictype/test-categ_N.c: Likewise.
4379         * tests/unictype/test-categ_Nd.c: Likewise.
4380         * tests/unictype/test-categ_No.c: Likewise.
4381         * tests/unictype/test-categ_P.c: Likewise.
4382         * tests/unictype/test-categ_Po.c: Likewise.
4383         * tests/unictype/test-categ_S.c: Likewise.
4384         * tests/unictype/test-categ_Sc.c: Likewise.
4385         * tests/unictype/test-categ_Sk.c: Likewise.
4386         * tests/unictype/test-categ_Sm.c: Likewise.
4387         * tests/unictype/test-categ_So.c: Likewise.
4388         * tests/unictype/test-ctype_alnum.c: Likewise.
4389         * tests/unictype/test-ctype_alpha.c: Likewise.
4390         * tests/unictype/test-ctype_graph.c: Likewise.
4391         * tests/unictype/test-ctype_lower.c: Likewise.
4392         * tests/unictype/test-ctype_print.c: Likewise.
4393         * tests/unictype/test-ctype_punct.c: Likewise.
4394         * tests/unictype/test-ctype_upper.c: Likewise.
4395         * tests/unictype/test-decdigit.h: Likewise.
4396         * tests/unictype/test-digit.h: Likewise.
4397         * tests/unictype/test-numeric.h: Likewise.
4398         * tests/unictype/test-pr_alphabetic.c: Likewise.
4399         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4400         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
4401         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
4402         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4403         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4404         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4405         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4406         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4407         * tests/unictype/test-pr_case_ignorable.c: Likewise.
4408         * tests/unictype/test-pr_cased.c: Likewise.
4409         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
4410         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
4411         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
4412         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
4413         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
4414         * tests/unictype/test-pr_combining.c: Likewise.
4415         * tests/unictype/test-pr_composite.c: Likewise.
4416         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4417         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4418         * tests/unictype/test-pr_deprecated.c: Likewise.
4419         * tests/unictype/test-pr_format_control.c: Likewise.
4420         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4421         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4422         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4423         * tests/unictype/test-pr_id_continue.c: Likewise.
4424         * tests/unictype/test-pr_id_start.c: Likewise.
4425         * tests/unictype/test-pr_ideographic.c: Likewise.
4426         * tests/unictype/test-pr_lowercase.c: Likewise.
4427         * tests/unictype/test-pr_math.c: Likewise.
4428         * tests/unictype/test-pr_numeric.c: Likewise.
4429         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4430         * tests/unictype/test-pr_other_id_continue.c: Likewise.
4431         * tests/unictype/test-pr_other_math.c: Likewise.
4432         * tests/unictype/test-pr_punctuation.c: Likewise.
4433         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4434         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4435         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4436         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4437         * tests/unictype/test-pr_uppercase.c: Likewise.
4438         * tests/unictype/test-pr_xid_continue.c: Likewise.
4439         * tests/unictype/test-pr_xid_start.c: Likewise.
4440         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4441         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4442         changes.
4443         * lib/unictype/categ_Cc.h: Likewise.
4444         * lib/unictype/categ_Cf.h: Likewise.
4445         * lib/unictype/categ_Co.h: Likewise.
4446         * lib/unictype/categ_Cs.h: Likewise.
4447         * lib/unictype/categ_Lt.h: Likewise.
4448         * lib/unictype/categ_Nl.h: Likewise.
4449         * lib/unictype/categ_Pc.h: Likewise.
4450         * lib/unictype/categ_Pd.h: Likewise.
4451         * lib/unictype/categ_Pe.h: Likewise.
4452         * lib/unictype/categ_Pf.h: Likewise.
4453         * lib/unictype/categ_Pi.h: Likewise.
4454         * lib/unictype/categ_Ps.h: Likewise.
4455         * lib/unictype/categ_Z.h: Likewise.
4456         * lib/unictype/categ_Zl.h: Likewise.
4457         * lib/unictype/categ_Zp.h: Likewise.
4458         * lib/unictype/categ_Zs.h: Likewise.
4459         * lib/unictype/ctype_blank.h: Likewise.
4460         * lib/unictype/ctype_cntrl.h: Likewise.
4461         * lib/unictype/ctype_digit.h: Likewise.
4462         * lib/unictype/ctype_space.h: Likewise.
4463         * lib/unictype/ctype_xdigit.h: Likewise.
4464         * lib/unictype/mirror.h: Likewise.
4465         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4466         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4467         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4468         * lib/unictype/pr_bidi_control.h: Likewise.
4469         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4470         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4471         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4472         * lib/unictype/pr_bidi_pdf.h: Likewise.
4473         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4474         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4475         * lib/unictype/pr_dash.h: Likewise.
4476         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4477         * lib/unictype/pr_diacritic.h: Likewise.
4478         * lib/unictype/pr_extender.h: Likewise.
4479         * lib/unictype/pr_hex_digit.h: Likewise.
4480         * lib/unictype/pr_hyphen.h: Likewise.
4481         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4482         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4483         * lib/unictype/pr_ignorable_control.h: Likewise.
4484         * lib/unictype/pr_iso_control.h: Likewise.
4485         * lib/unictype/pr_join_control.h: Likewise.
4486         * lib/unictype/pr_left_of_pair.h: Likewise.
4487         * lib/unictype/pr_line_separator.h: Likewise.
4488         * lib/unictype/pr_logical_order_exception.h: Likewise.
4489         * lib/unictype/pr_non_break.h: Likewise.
4490         * lib/unictype/pr_not_a_character.h: Likewise.
4491         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4492         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4493         * lib/unictype/pr_other_id_start.h: Likewise.
4494         * lib/unictype/pr_other_lowercase.h: Likewise.
4495         * lib/unictype/pr_other_uppercase.h: Likewise.
4496         * lib/unictype/pr_paired_punctuation.h: Likewise.
4497         * lib/unictype/pr_paragraph_separator.h: Likewise.
4498         * lib/unictype/pr_pattern_syntax.h: Likewise.
4499         * lib/unictype/pr_pattern_white_space.h: Likewise.
4500         * lib/unictype/pr_private_use.h: Likewise.
4501         * lib/unictype/pr_quotation_mark.h: Likewise.
4502         * lib/unictype/pr_radical.h: Likewise.
4503         * lib/unictype/pr_soft_dotted.h: Likewise.
4504         * lib/unictype/pr_space.h: Likewise.
4505         * lib/unictype/pr_titlecase.h: Likewise.
4506         * lib/unictype/pr_variation_selector.h: Likewise.
4507         * lib/unictype/pr_white_space.h: Likewise.
4508         * lib/unictype/pr_zero_width.h: Likewise.
4509         * lib/unictype/sy_c_ident.h: Likewise.
4510         * lib/unictype/sy_c_whitespace.h: Likewise.
4511         * lib/unictype/sy_java_whitespace.h: Likewise.
4512         * lib/uninorm/composition-table.gperf: Likewise.
4513         * lib/uninorm/decomposition-table1.h: Likewise.
4514         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
4515         LB8.
4516         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4517         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4518         * modules/unictype/*: Bump version number of expected libunistring
4519         version.
4520
4521 2011-01-09  Bruno Haible  <bruno@clisp.org>
4522
4523         Update to Unicode 5.2.0.
4524         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
4525         trailing whitespace removed.
4526
4527 2011-01-09  Bruno Haible  <bruno@clisp.org>
4528
4529         New Unicode character properties, from Unicode 5.2.0.
4530         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
4531         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
4532         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
4533         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
4534         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
4535         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
4536         uc_is_property_cased, uc_is_property_case_ignorable,
4537         uc_is_property_changes_when_lowercased,
4538         uc_is_property_changes_when_uppercased,
4539         uc_is_property_changes_when_titlecased,
4540         uc_is_property_changes_when_casefolded,
4541         uc_is_property_changes_when_casemapped): New declarations.
4542         * lib/unictype/pr_byname.gperf: Add the new properties.
4543         * modules/unictype/property-byname (Depends-on): Depend on the new
4544         properties modules.
4545         * modules/unictype/property-all (Depends-on): Likewise.
4546         * MODULES.html.sh (Unicode string functions): Add
4547         unictype/property-case-ignorable, unictype/property-cased,
4548         unictype/property-changes-when-casefolded,
4549         unictype/property-changes-when-casemapped,
4550         unictype/property-changes-when-lowercased,
4551         unictype/property-changes-when-titlecased,
4552         unictype/property-changes-when-uppercased.
4553
4554         New module 'unictype/property-changes-when-casemapped'.
4555         * modules/unictype/property-changes-when-casemapped: New file.
4556         * lib/unictype/pr_changes_when_casemapped.c: New file.
4557         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
4558         generated by gen-uni-tables.
4559         * modules/unictype/property-changes-when-casemapped-tests: New file.
4560         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
4561         automatically generated by gen-uni-tables.
4562
4563         New module 'unictype/property-changes-when-casefolded'.
4564         * modules/unictype/property-changes-when-casefolded: New file.
4565         * lib/unictype/pr_changes_when_casefolded.c: New file.
4566         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
4567         generated by gen-uni-tables.
4568         * modules/unictype/property-changes-when-casefolded-tests: New file.
4569         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
4570         automatically generated by gen-uni-tables.
4571
4572         New module 'unictype/property-changes-when-titlecased'.
4573         * modules/unictype/property-changes-when-titlecased: New file.
4574         * lib/unictype/pr_changes_when_titlecased.c: New file.
4575         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
4576         generated by gen-uni-tables.
4577         * modules/unictype/property-changes-when-titlecased-tests: New file.
4578         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
4579         automatically generated by gen-uni-tables.
4580
4581         New module 'unictype/property-changes-when-uppercased'.
4582         * modules/unictype/property-changes-when-uppercased: New file.
4583         * lib/unictype/pr_changes_when_uppercased.c: New file.
4584         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
4585         generated by gen-uni-tables.
4586         * modules/unictype/property-changes-when-uppercased-tests: New file.
4587         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
4588         automatically generated by gen-uni-tables.
4589
4590         New module 'unictype/property-changes-when-lowercased'.
4591         * modules/unictype/property-changes-when-lowercased: New file.
4592         * lib/unictype/pr_changes_when_lowercased.c: New file.
4593         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
4594         generated by gen-uni-tables.
4595         * modules/unictype/property-changes-when-lowercased-tests: New file.
4596         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
4597         automatically generated by gen-uni-tables.
4598
4599         New module 'unictype/property-case-ignorable'.
4600         * modules/unictype/property-case-ignorable: New file.
4601         * lib/unictype/pr_case_ignorable.c: New file.
4602         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
4603         by gen-uni-tables.
4604         * modules/unictype/property-case-ignorable-tests: New file.
4605         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
4606         generated by gen-uni-tables.
4607
4608         New module 'unictype/property-cased'.
4609         * modules/unictype/property-cased: New file.
4610         * lib/unictype/pr_cased.c: New file.
4611         * lib/unictype/pr_cased.h: New file, automatically generated by
4612         gen-uni-tables.
4613         * modules/unictype/property-cased-tests: New file.
4614         * tests/unictype/test-pr_cased.c: New file, automatically generated by
4615         gen-uni-tables.
4616
4617 2011-01-09  Bruno Haible  <bruno@clisp.org>
4618
4619         Update to Unicode 5.2.0.
4620         * lib/gen-uni-tables.c (output_predicate, output_category,
4621         output_combclass, output_bidi_category, output_decimal_digit_test,
4622         output_decimal_digit, output_digit_test, output_digit,
4623         output_numeric_test, output_numeric, output_mirror, output_scripts,
4624         output_scripts_byname, output_blocks, output_ident_category): Fix
4625         comment header.
4626         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
4627         get_wbp.
4628         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
4629         items.
4630         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
4631         Changes_When_Lowercased, Changes_When_Uppercased,
4632         Changes_When_Titlecased, Changes_When_Casefolded,
4633         Changes_When_Casemapped.
4634         (is_property_alphabetic, is_property_default_ignorable_code_point):
4635         Update for Unicode 5.2.0.
4636         (is_property_cased, is_property_case_ignorable,
4637         is_property_changes_when_lowercased,
4638         is_property_changes_when_uppercased,
4639         is_property_changes_when_titlecased,
4640         is_property_changes_when_casefolded,
4641         is_property_changes_when_casemapped): New functions.
4642         (output_properties): Output also the properties cased, case_ignorable,
4643         changes_when_lowercased, changes_when_uppercased,
4644         changes_when_titlecased, changes_when_casefolded,
4645         changes_when_casemapped.
4646         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
4647         Unicode TR#11 revision 17 -> 19.
4648         (LBP_CP): New enumeration value.
4649         (LBP_*): Adjust values accordingly.
4650         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4651         TR#14 revision 22 -> 24.
4652         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
4653         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
4654         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4655         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
4656         is_WBP_MIDLETTER.
4657         (output_composition_tables): Allow for 24 bits instead of 16 bits in
4658         the code1 and code2 of each composition rule.
4659         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
4660         * lib/unicase/ignorable.h: Likewise.
4661         * lib/unicase/tocasefold.h: Likewise.
4662         * lib/unicase/tolower.h: Likewise.
4663         * lib/unicase/totitle.h: Likewise.
4664         * lib/unicase/toupper.h: Likewise.
4665         * lib/unictype/bidi_of.h: Likewise.
4666         * lib/unictype/blocks.h: Likewise.
4667         * lib/unictype/categ_C.h: Likewise.
4668         * lib/unictype/categ_Cf.h: Likewise.
4669         * lib/unictype/categ_Cn.h: Likewise.
4670         * lib/unictype/categ_L.h: Likewise.
4671         * lib/unictype/categ_Ll.h: Likewise.
4672         * lib/unictype/categ_Lm.h: Likewise.
4673         * lib/unictype/categ_Lo.h: Likewise.
4674         * lib/unictype/categ_Lu.h: Likewise.
4675         * lib/unictype/categ_M.h: Likewise.
4676         * lib/unictype/categ_Mc.h: Likewise.
4677         * lib/unictype/categ_Mn.h: Likewise.
4678         * lib/unictype/categ_N.h: Likewise.
4679         * lib/unictype/categ_Nd.h: Likewise.
4680         * lib/unictype/categ_Nl.h: Likewise.
4681         * lib/unictype/categ_No.h: Likewise.
4682         * lib/unictype/categ_P.h: Likewise.
4683         * lib/unictype/categ_Pd.h: Likewise.
4684         * lib/unictype/categ_Po.h: Likewise.
4685         * lib/unictype/categ_S.h: Likewise.
4686         * lib/unictype/categ_Sc.h: Likewise.
4687         * lib/unictype/categ_So.h: Likewise.
4688         * lib/unictype/categ_of.h: Likewise.
4689         * lib/unictype/combining.h: Likewise.
4690         * lib/unictype/ctype_alnum.h: Likewise.
4691         * lib/unictype/ctype_alpha.h: Likewise.
4692         * lib/unictype/ctype_graph.h: Likewise.
4693         * lib/unictype/ctype_lower.h: Likewise.
4694         * lib/unictype/ctype_print.h: Likewise.
4695         * lib/unictype/ctype_punct.h: Likewise.
4696         * lib/unictype/ctype_upper.h: Likewise.
4697         * lib/unictype/decdigit.h: Likewise.
4698         * lib/unictype/digit.h: Likewise.
4699         * lib/unictype/numeric.h: Likewise.
4700         * lib/unictype/pr_alphabetic.h: Likewise.
4701         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4702         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4703         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4704         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4705         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4706         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4707         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4708         * lib/unictype/pr_combining.h: Likewise.
4709         * lib/unictype/pr_composite.h: Likewise.
4710         * lib/unictype/pr_currency_symbol.h: Likewise.
4711         * lib/unictype/pr_dash.h: Likewise.
4712         * lib/unictype/pr_decimal_digit.h: Likewise.
4713         * lib/unictype/pr_deprecated.h: Likewise.
4714         * lib/unictype/pr_diacritic.h: Likewise.
4715         * lib/unictype/pr_extender.h: Likewise.
4716         * lib/unictype/pr_grapheme_base.h: Likewise.
4717         * lib/unictype/pr_grapheme_extend.h: Likewise.
4718         * lib/unictype/pr_grapheme_link.h: Likewise.
4719         * lib/unictype/pr_id_continue.h: Likewise.
4720         * lib/unictype/pr_id_start.h: Likewise.
4721         * lib/unictype/pr_ideographic.h: Likewise.
4722         * lib/unictype/pr_ignorable_control.h: Likewise.
4723         * lib/unictype/pr_logical_order_exception.h: Likewise.
4724         * lib/unictype/pr_lowercase.h: Likewise.
4725         * lib/unictype/pr_numeric.h: Likewise.
4726         * lib/unictype/pr_other_alphabetic.h: Likewise.
4727         * lib/unictype/pr_punctuation.h: Likewise.
4728         * lib/unictype/pr_sentence_terminal.h: Likewise.
4729         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4730         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4731         * lib/unictype/pr_unified_ideograph.h: Likewise.
4732         * lib/unictype/pr_uppercase.h: Likewise.
4733         * lib/unictype/pr_xid_continue.h: Likewise.
4734         * lib/unictype/pr_xid_start.h: Likewise.
4735         * lib/unictype/pr_zero_width.h: Likewise.
4736         * lib/unictype/scripts.h: Likewise.
4737         * lib/unictype/scripts_byname.gperf: Likewise.
4738         * lib/unictype/sy_java_ident.h: Likewise.
4739         * lib/unigbrk/gbrkprop.h: Likewise.
4740         * lib/unilbrk/lbrkprop1.h: Likewise.
4741         * lib/unilbrk/lbrkprop2.h: Likewise.
4742         * lib/unilbrk/lbrktables.h: Likewise.
4743         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
4744         LBP_CP. Implement rule LB30.
4745         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
4746         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
4747         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
4748         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
4749         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
4750         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
4751         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
4752         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
4753         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
4754         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
4755         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
4756         bits instead of 16 bits in the code1 and code2 of each composition
4757         rule.
4758         (uc_composition): Update for Unicode 5.2.0.
4759         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
4760         * lib/uninorm/decomposition-table2.h: Likewise.
4761         * lib/uniwbrk/wbrkprop.h: Likewise.
4762         * tests/unicase/test-cased.c: Likewise.
4763         * tests/unicase/test-ignorable.c: Likewise.
4764         * tests/unicase/test-uc_tolower.c: Likewise.
4765         * tests/unicase/test-uc_totitle.c: Likewise.
4766         * tests/unicase/test-uc_toupper.c: Likewise.
4767         * tests/unictype/test-categ_C.c: Likewise.
4768         * tests/unictype/test-categ_Cf.c: Likewise.
4769         * tests/unictype/test-categ_Cn.c: Likewise.
4770         * tests/unictype/test-categ_L.c: Likewise.
4771         * tests/unictype/test-categ_Ll.c: Likewise.
4772         * tests/unictype/test-categ_Lm.c: Likewise.
4773         * tests/unictype/test-categ_Lo.c: Likewise.
4774         * tests/unictype/test-categ_Lu.c: Likewise.
4775         * tests/unictype/test-categ_M.c: Likewise.
4776         * tests/unictype/test-categ_Mc.c: Likewise.
4777         * tests/unictype/test-categ_Mn.c: Likewise.
4778         * tests/unictype/test-categ_N.c: Likewise.
4779         * tests/unictype/test-categ_Nd.c: Likewise.
4780         * tests/unictype/test-categ_Nl.c: Likewise.
4781         * tests/unictype/test-categ_No.c: Likewise.
4782         * tests/unictype/test-categ_P.c: Likewise.
4783         * tests/unictype/test-categ_Pd.c: Likewise.
4784         * tests/unictype/test-categ_Po.c: Likewise.
4785         * tests/unictype/test-categ_S.c: Likewise.
4786         * tests/unictype/test-categ_Sc.c: Likewise.
4787         * tests/unictype/test-categ_So.c: Likewise.
4788         * tests/unictype/test-ctype_alnum.c: Likewise.
4789         * tests/unictype/test-ctype_alpha.c: Likewise.
4790         * tests/unictype/test-ctype_graph.c: Likewise.
4791         * tests/unictype/test-ctype_lower.c: Likewise.
4792         * tests/unictype/test-ctype_print.c: Likewise.
4793         * tests/unictype/test-ctype_punct.c: Likewise.
4794         * tests/unictype/test-ctype_upper.c: Likewise.
4795         * tests/unictype/test-decdigit.h: Likewise.
4796         * tests/unictype/test-digit.h: Likewise.
4797         * tests/unictype/test-numeric.h: Likewise.
4798         * tests/unictype/test-pr_alphabetic.c: Likewise.
4799         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4800         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4801         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4802         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4803         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4804         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4805         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4806         * tests/unictype/test-pr_combining.c: Likewise.
4807         * tests/unictype/test-pr_composite.c: Likewise.
4808         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4809         * tests/unictype/test-pr_dash.c: Likewise.
4810         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4811         * tests/unictype/test-pr_deprecated.c: Likewise.
4812         * tests/unictype/test-pr_diacritic.c: Likewise.
4813         * tests/unictype/test-pr_extender.c: Likewise.
4814         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4815         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4816         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4817         * tests/unictype/test-pr_id_continue.c: Likewise.
4818         * tests/unictype/test-pr_id_start.c: Likewise.
4819         * tests/unictype/test-pr_ideographic.c: Likewise.
4820         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4821         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4822         * tests/unictype/test-pr_lowercase.c: Likewise.
4823         * tests/unictype/test-pr_numeric.c: Likewise.
4824         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4825         * tests/unictype/test-pr_punctuation.c: Likewise.
4826         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4827         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4828         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4829         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4830         * tests/unictype/test-pr_uppercase.c: Likewise.
4831         * tests/unictype/test-pr_xid_continue.c: Likewise.
4832         * tests/unictype/test-pr_xid_start.c: Likewise.
4833         * tests/unictype/test-pr_zero_width.c: Likewise.
4834         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4835         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4836         changed behaviour: line breaking is now disallowed between a letter
4837         or '=' and '('.
4838         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4839         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4840         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4841         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4842         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4843         lib/uniwidth/width.c.
4844         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4845         without comments, but with the original copyright notice.
4846         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4847         changes.
4848         * lib/unictype/categ_Cc.h: Likewise.
4849         * lib/unictype/categ_Co.h: Likewise.
4850         * lib/unictype/categ_Cs.h: Likewise.
4851         * lib/unictype/categ_Lt.h: Likewise.
4852         * lib/unictype/categ_Me.h: Likewise.
4853         * lib/unictype/categ_Pc.h: Likewise.
4854         * lib/unictype/categ_Pe.h: Likewise.
4855         * lib/unictype/categ_Pf.h: Likewise.
4856         * lib/unictype/categ_Pi.h: Likewise.
4857         * lib/unictype/categ_Ps.h: Likewise.
4858         * lib/unictype/categ_Sk.h: Likewise.
4859         * lib/unictype/categ_Sm.h: Likewise.
4860         * lib/unictype/categ_Z.h: Likewise.
4861         * lib/unictype/categ_Zl.h: Likewise.
4862         * lib/unictype/categ_Zp.h: Likewise.
4863         * lib/unictype/categ_Zs.h: Likewise.
4864         * lib/unictype/ctype_blank.h: Likewise.
4865         * lib/unictype/ctype_cntrl.h: Likewise.
4866         * lib/unictype/ctype_digit.h: Likewise.
4867         * lib/unictype/ctype_space.h: Likewise.
4868         * lib/unictype/ctype_xdigit.h: Likewise.
4869         * lib/unictype/mirror.h: Likewise.
4870         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4871         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4872         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4873         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4874         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4875         * lib/unictype/pr_bidi_control.h: Likewise.
4876         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4877         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4878         * lib/unictype/pr_bidi_pdf.h: Likewise.
4879         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4880         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4881         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4882         * lib/unictype/pr_format_control.h: Likewise.
4883         * lib/unictype/pr_hex_digit.h: Likewise.
4884         * lib/unictype/pr_hyphen.h: Likewise.
4885         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4886         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4887         * lib/unictype/pr_iso_control.h: Likewise.
4888         * lib/unictype/pr_join_control.h: Likewise.
4889         * lib/unictype/pr_left_of_pair.h: Likewise.
4890         * lib/unictype/pr_line_separator.h: Likewise.
4891         * lib/unictype/pr_math.h: Likewise.
4892         * lib/unictype/pr_non_break.h: Likewise.
4893         * lib/unictype/pr_not_a_character.h: Likewise.
4894         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4895         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4896         * lib/unictype/pr_other_id_continue.h: Likewise.
4897         * lib/unictype/pr_other_id_start.h: Likewise.
4898         * lib/unictype/pr_other_lowercase.h: Likewise.
4899         * lib/unictype/pr_other_math.h: Likewise.
4900         * lib/unictype/pr_other_uppercase.h: Likewise.
4901         * lib/unictype/pr_paired_punctuation.h: Likewise.
4902         * lib/unictype/pr_paragraph_separator.h: Likewise.
4903         * lib/unictype/pr_pattern_syntax.h: Likewise.
4904         * lib/unictype/pr_pattern_white_space.h: Likewise.
4905         * lib/unictype/pr_private_use.h: Likewise.
4906         * lib/unictype/pr_quotation_mark.h: Likewise.
4907         * lib/unictype/pr_radical.h: Likewise.
4908         * lib/unictype/pr_soft_dotted.h: Likewise.
4909         * lib/unictype/pr_space.h: Likewise.
4910         * lib/unictype/pr_titlecase.h: Likewise.
4911         * lib/unictype/pr_variation_selector.h: Likewise.
4912         * lib/unictype/pr_white_space.h: Likewise.
4913         * lib/unictype/sy_c_ident.h: Likewise.
4914         * lib/unictype/sy_c_whitespace.h: Likewise.
4915         * lib/unictype/sy_java_whitespace.h: Likewise.
4916         * modules/uni*/*: Bump version number of expected libunistring version.
4917         Reported by Simon Josefsson.
4918
4919 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4920
4921         useless-if-before-free: fix typo in --help and make the internal,
4922         automatic version date update process work once again.
4923         --help output contained a NUL character instead of the
4924         backslash-zero that was intended.  Also, the "must lie within
4925         the first 8 lines" line is on line 9, and hence not getting
4926         automatically updated.
4927         * build-aux/useless-if-before-free: Fix the former by adding a
4928         backslash, and the latter by condensing the three lines of what-it-does
4929         to a single line, leaving one line of slack for the future.
4930
4931 2011-01-09  Bruno Haible  <bruno@clisp.org>
4932
4933         uniwidth/width: Fix width of U+1D173..U+1D17A.
4934         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4935         symbolic_width, output_width_property_test): New functions.
4936         (main): Invoke output_nonspacing_property, output_width_property_test.
4937         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4938         U+1D173..U+1D17A.
4939         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4940         1.
4941         * modules/uniwidth/*: Bump version number of expected libunistring
4942         version.
4943         * modules/unilbrk/*: Likewise.
4944
4945 2011-01-08  Bruno Haible  <bruno@clisp.org>
4946
4947         uninorm tests: Preserve copyright of Unicode data file.
4948         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4949         Mention modifications.
4950
4951 2011-01-08  Bruno Haible  <bruno@clisp.org>
4952
4953         gen-uni-tables: Prepare for Unicode 5.2.0.
4954         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4955         (debug_output_lbp, output_lbp): Update.
4956
4957 2011-01-08  Bruno Haible  <bruno@clisp.org>
4958
4959         unilbrk: Clarify gen-uni-tables.c code.
4960         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4961         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4962         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4963
4964 2011-01-07  Bruno Haible  <bruno@clisp.org>
4965
4966         strtod: Restore errno when successfully parsing Infinity or NaN.
4967         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4968         restore the original errno.
4969
4970 2011-01-07  Bruno Haible  <bruno@clisp.org>
4971
4972         remove test: Avoid failure on HP-UX 11.
4973         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4974
4975 2011-01-07  Bruno Haible  <bruno@clisp.org>
4976
4977         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4978         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4979         error code.
4980
4981 2011-01-07  Pádraig Brady <P@draigBrady.com>
4982
4983         ignore-value: fixup comments, and add Eric Blake
4984         as an author since he rewrote the macros.
4985         * lib/ignore-value.h (ignore_value):  State that
4986         we now support aggregates.  Also specify exactly
4987         when the GCC warn_unused_result feature was added.
4988
4989 2011-01-06  Eric Blake  <eblake@redhat.com>
4990
4991         ignore-value: support aggregate types
4992         * lib/ignore-value.h (ignore_value): Provide separate gcc
4993         definition.
4994         * modules/ignore-value-tests: New test module.
4995         * tests/test-ignore-value.c: New test.
4996
4997         maint.mk: improve sc_prohibit_strcmp regex
4998         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4999         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
5000         definition of STRNEQ.
5001
5002         signal: work around Haiku issue with SIGBUS
5003         * lib/siglist.h: Add comment.
5004         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
5005         strsignal's favoring of SIGSEGV.
5006         * tests/test-signal.c (main): Avoid test failure.
5007         * doc/posix-headers/signal.texi (signal.h): Document the issue.
5008         Reported by Scott McCreary.
5009
5010         maint.mk: add pre-release check to ensure submodule commits are public
5011         * top/maint.mk (public-submodule-commit): New rule.
5012         (submodule-checks): New variable.
5013         (alpha beta stable): Depend on the variable.
5014
5015 2011-01-05  Pádraig Brady <P@draigBrady.com>
5016         and Jim Meyering  <meyering@redhat.com>
5017
5018         ignore-value: make ignore_value more generic; deprecate ignore_ptr
5019         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
5020         (ATTRIBUTE_DEPRECATED): Define.
5021         (_ignore_case): New function.
5022         (ignore_value): New macro, to replace the old function.
5023         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
5024         * modules/ignore-value (Depends-on): Add stdint.
5025
5026 2011-01-04  Eric Blake  <eblake@redhat.com>
5027
5028         doc: regenerate INSTALL
5029         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
5030         @firstparagraphindent support, now that autoconf dropped it.
5031         (INSTALL_PRELUDE): Reinstate old macro.
5032         * doc/install.texi: Resync from autoconf.
5033         * doc/INSTALL: Reflect recent autoconf update.
5034         * doc/INSTALL.ISO: Likewise.
5035         * doc/INSTALL.UTF-8: Likewise.
5036         Reported by Karl Berry.
5037
5038 2011-01-04  Bruce Korb  <address@hidden>
5039
5040         git-version-gen: avoid a sub-shell
5041         * build-aux/git-version-gen: Redirect stderr in `...` via
5042         "exec 2>...", rather than via an added sub-shell.
5043
5044 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
5045
5046         git-version-gen: use (...) rather than sh -c '...'
5047         * build-aux/git-version-gen: Rather than hard-coding a shell's name
5048         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
5049
5050 2011-01-03  Jim Meyering  <meyering@redhat.com>
5051
5052         git-version-gen: convert leading TABs to spaces
5053         * build-aux/git-version-gen: Expand leading TABs.
5054
5055         git-version-gen: handle failed "git rev-list"
5056         * build-aux/git-version-gen: Rather than leaking a "fatal" error
5057         from git and proceeding as if it had succeeded but printed no SHA1
5058         checksums, suppress the diagnostic and handle the failure.
5059         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
5060
5061         git-version-gen: include command name in one more diagnostic
5062         * build-aux/git-version-gen: When the required .tarball-version file
5063         was missing or unreadable, you might see the diagnostic from "cat",
5064         but no trace of the name of the invoking script.  Now, you still see
5065         the diagnostic from cat, but also get one from "git-version-gen: ".
5066         Inspired by a patch from Bruce Korb.
5067
5068         update-copyright: adjust test to match changed code
5069         * tests/test-update-copyright.sh: Change test's expected output
5070         to match new actual output.
5071
5072 2011-01-02  Bruno Haible  <bruno@clisp.org>
5073
5074         getlogin_r: Avoid test failure on HP-UX 11.
5075         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
5076         ERANGE when the second argument is zero.
5077         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
5078         portability problem.
5079
5080 2011-01-02  Bruce Korb  <bkorb@gnu.org>
5081
5082         * build-aux/update-copyright: doc Simon's changes
5083
5084 2011-01-02  Simon Josefsson  <simon@josefsson.org>
5085
5086         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
5087         environment variable.
5088
5089 2011-01-02  Bruno Haible  <bruno@clisp.org>
5090
5091         unigbrk: Avoid gcc warnings.
5092         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
5093         unused variable.
5094         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
5095         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
5096         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
5097         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
5098         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
5099         Change type of first argument to 'const char *'.
5100         (main): Remove unused variable.
5101         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
5102         type of first argument to 'const char *'.
5103         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
5104         Likewise.
5105         (main): Change type of variable 's'.
5106         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
5107         to 'int'.
5108
5109 2011-01-02  Bruno Haible  <bruno@clisp.org>
5110
5111         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
5112         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
5113         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
5114         bug.
5115         * lib/pwrite.c: Undo 2010-12-31 patch.
5116         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
5117
5118 2011-01-02  Bruno Haible  <bruno@clisp.org>
5119
5120         pread: Fix test whether it works.
5121         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
5122
5123 2011-01-02  Bruno Haible  <bruno@clisp.org>
5124
5125         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
5126         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
5127         ends in "6". Don't require a specific month name. Try also the locale
5128         names found on HP-UX 11 and Solaris 7.
5129
5130 2011-01-02  Bruno Haible  <bruno@clisp.org>
5131
5132         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
5133         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
5134         C linkage.
5135         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
5136
5137 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5138
5139         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
5140         for consistency, since the "cluster" term is not used elsewhere.
5141         * lib/unigbrk.in.h: Update name.
5142         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
5143         * lib/unigbrk/u16-grapheme-next.c: Update name.
5144         * lib/unigbrk/u16-grapheme-prev.c: Update name.
5145         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
5146         * lib/unigbrk/u32-grapheme-next.c: Update name.
5147         * lib/unigbrk/u32-grapheme-prev.c: Update name.
5148         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
5149         * lib/unigbrk/u8-grapheme-next.c: Update name.
5150         * lib/unigbrk/u8-grapheme-prev.c: Update name.
5151         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
5152         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
5153         Suggested by Bruno Haible.
5154
5155 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5156
5157         Remove module 'u8-grapheme-len' as too redundant with
5158         'u8-grapheme-next'.
5159         * modules/unigbrk/u8-grapheme-len: Delete file.
5160         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
5161         * lib/unigbrk.in.h: Remove prototype for deleted function.
5162         * lib/unigbrk/u8-grapheme-len.c: Delete file.
5163         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
5164
5165         Remove module 'u16-grapheme-len' as too redundant with
5166         'u16-grapheme-next'.
5167         * modules/unigbrk/u16-grapheme-len: Delete file.
5168         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
5169         * lib/unigbrk.in.h: Remove prototype for deleted function.
5170         * lib/unigbrk/u16-grapheme-len.c: Delete file.
5171         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
5172
5173         Remove module 'u32-grapheme-len' as too redundant with
5174         'u32-grapheme-next'.
5175         * modules/unigbrk/u32-grapheme-len: Delete file.
5176         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
5177         * lib/unigbrk.in.h: Remove prototype for deleted function.
5178         * lib/unigbrk/u32-grapheme-len.c: Delete file.
5179         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
5180
5181         Suggested by Bruno Haible.
5182
5183 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5184
5185         * unigbrk.in.h: Fix typo: "ben" => "been".
5186         Reported by Bruno Haible.
5187
5188 2011-01-01  Jim Meyering  <meyering@redhat.com>
5189
5190         maint: update almost all copyright ranges to include 2011
5191         Run the new "make update-copyright" rule.
5192
5193 2011-01-01  Jim Meyering  <meyering@redhat.com>
5194
5195         maint: update-copyright: exempt doc/INSTALL*
5196         * Makefile (update-copyright): Also exclude doc/INSTALL*,
5197         since they are generated.  Suggested by Bruno Haible.
5198
5199 2011-01-01  Jim Meyering  <meyering@redhat.com>
5200
5201         maint: refine the update-copyright rule
5202         * Makefile (update-copyright): Also exclude any file that includes
5203         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
5204         code that merely generates the comment.
5205
5206 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5207
5208         New module 'u8-grapheme-len'.
5209         * modules/unigbrk/u8-grapheme-len: New file.
5210         * modules/unigbrk/u8-grapheme-len-tests: New file.
5211         * lib/unigbrk.in.h: Add prototype for new function.
5212         * lib/unigbrk/u8-grapheme-len.c: New file.
5213         * tests/unigbrk/test-u8-grapheme-len.c: New file.
5214
5215         New module 'u16-grapheme-len'.
5216         * modules/unigbrk/u16-grapheme-len: New file.
5217         * modules/unigbrk/u16-grapheme-len-tests: New file.
5218         * lib/unigbrk.in.h: Add prototype for new function.
5219         * lib/unigbrk/u16-grapheme-len.c: New file.
5220         * tests/unigbrk/test-u16-grapheme-len.c: New file.
5221
5222         New module 'u32-grapheme-len'.
5223         * modules/unigbrk/u32-grapheme-len: New file.
5224         * modules/unigbrk/u32-grapheme-len-tests: New file.
5225         * lib/unigbrk.in.h: Add prototype for new function.
5226         * lib/unigbrk/u32-grapheme-len.c: New file.
5227         * tests/unigbrk/test-u32-grapheme-len.c: New file.
5228
5229         New module 'u8-grapheme-next'.
5230         * modules/unigbrk/u8-grapheme-next: New file.
5231         * modules/unigbrk/u8-grapheme-next-tests: New file.
5232         * lib/unigbrk.in.h: Add prototype for new function.
5233         * lib/unigbrk/u8-grapheme-next.c: New file.
5234         * tests/unigbrk/test-u8-grapheme-next.c: New file.
5235
5236         New module 'u16-grapheme-next'.
5237         * modules/unigbrk/u16-grapheme-next: New file.
5238         * modules/unigbrk/u16-grapheme-next-tests: New file.
5239         * lib/unigbrk.in.h: Add prototype for new function.
5240         * lib/unigbrk/u16-grapheme-next.c: New file.
5241         * tests/unigbrk/test-u16-grapheme-next.c: New file.
5242
5243         New module 'u32-grapheme-next'.
5244         * modules/unigbrk/u32-grapheme-next: New file.
5245         * modules/unigbrk/u32-grapheme-next-tests: New file.
5246         * lib/unigbrk.in.h: Add prototype for new function.
5247         * lib/unigbrk/u32-grapheme-next.c: New file.
5248         * tests/unigbrk/test-u32-grapheme-next.c: New file.
5249
5250         New module 'u8-grapheme-prev'.
5251         * modules/unigbrk/u8-grapheme-prev: New file.
5252         * modules/unigbrk/u8-grapheme-prev-tests: New file.
5253         * lib/unigbrk.in.h: Add prototype for new function.
5254         * lib/unigbrk/u8-grapheme-prev.c: New file.
5255         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
5256
5257         New module 'u16-grapheme-prev'.
5258         * modules/unigbrk/u16-grapheme-prev: New file.
5259         * modules/unigbrk/u16-grapheme-prev-tests: New file.
5260         * lib/unigbrk.in.h: Add prototype for new function.
5261         * lib/unigbrk/u16-grapheme-prev.c: New file.
5262         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
5263
5264         New module 'u32-grapheme-prev'.
5265         * modules/unigbrk/u32-grapheme-prev: New file.
5266         * modules/unigbrk/u32-grapheme-prev-tests: New file.
5267         * lib/unigbrk.in.h: Add prototype for new function.
5268         * lib/unigbrk/u32-grapheme-prev.c: New file.
5269         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
5270
5271         New module 'u8-grapheme-breaks'.
5272         * modules/unigbrk/u8-grapheme-breaks: New file.
5273         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
5274         * lib/unigbrk.in.h: Add prototype for new function.
5275         * lib/unigbrk/u8-grapheme-breaks.c: New file.
5276         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
5277
5278         New module 'u16-grapheme-breaks'.
5279         * modules/unigbrk/u16-grapheme-breaks: New file.
5280         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
5281         * lib/unigbrk.in.h: Add prototype for new function.
5282         * lib/unigbrk/u16-grapheme-breaks.c: New file.
5283         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
5284
5285         New module 'u32-grapheme-breaks'.
5286         * modules/unigbrk/u32-grapheme-breaks: New file.
5287         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
5288         * lib/unigbrk.in.h: Add prototype for new function.
5289         * lib/unigbrk/u32-grapheme-breaks.c: New file.
5290         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
5291
5292         New module 'ulc-grapheme-breaks'.
5293         * modules/unigbrk/ulc-grapheme-breaks: New file.
5294         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
5295         * m4/locale-ar.m4: New file.
5296         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
5297         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
5298         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
5299
5300 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5301
5302         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
5303         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
5304         modified how this file was generated before I initially submitted
5305         the module, but failed to regenerate it.  This meant that several
5306         of the level2 entries were wrong.
5307         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
5308         Remove the division-by-2 that is folded into the table now that
5309         gbrkprop.h has been regenerated properly.  Now -1 entries are
5310         handled correctly.
5311
5312         New module 'unigbrk/uc-gbrk-prop-tests'.
5313         * modules/unigbrk/uc-gbrk-prop-tests: New file.
5314         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
5315         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
5316         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
5317
5318 2011-01-01  Bruno Haible  <bruno@clisp.org>
5319
5320         Avoid use of hexadecimal escapes.
5321         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
5322         instead of hexadecimal escapes.
5323
5324 2011-01-01  Jim Meyering  <meyering@redhat.com>
5325
5326         maint: new rule to update copyright year ranges
5327         * Makefile (update-copyright): New rule.
5328
5329         maint: indent with TABs in Makefile
5330         * Makefile: Expand leading sequences of spaces to TABs
5331
5332         version-etc: update the copyright year it reports
5333         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
5334
5335 2010-12-31  Bruno Haible  <bruno@clisp.org>
5336
5337         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
5338         * lib/isfinite.c (zerof, zerod, zerol): New variables.
5339         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
5340         zero.
5341
5342 2010-12-31  Bruno Haible  <bruno@clisp.org>
5343
5344         pwrite: Work around HP-UX 11.11 bug.
5345         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
5346         works and set REPLACE_PWRITE if not.
5347         * lib/pwrite.c (pwrite): Add an implementation that uses the system
5348         function.
5349         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
5350
5351 2010-12-31  Bruno Haible  <bruno@clisp.org>
5352
5353         pread: Work around HP-UX 11 bugs.
5354         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
5355         and set REPLACE_PREAD if not.
5356         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
5357
5358 2010-12-31  Eric Blake  <eblake@redhat.com>
5359
5360         nl_langinfo: fix YESEXPR on Irix 6.5
5361         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
5362         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
5363         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
5364         it.
5365
5366 2010-12-31  Bruno Haible  <bruno@clisp.org>
5367
5368         iconv: Document HP-UX 11 bug.
5369         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
5370
5371 2010-12-31  Bruno Haible  <bruno@clisp.org>
5372
5373         ldexpl: Fix link error on HP-UX 11.
5374         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
5375         LDEXPL_LIBM, using $ISNANL_LIBM.
5376
5377 2010-12-31  Eric Blake  <eblake@redhat.com>
5378
5379         ftello: avoid compilation failure with SunStudio c89
5380         * lib/ftello.c (ftello): Use lseek, not llseek.
5381
5382         tests: avoid failing coreutils tests on cygwin
5383         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
5384         (create_exe_shims_): Return 0 when skipping.
5385
5386 2010-12-31  Bruno Haible  <bruno@clisp.org>
5387
5388         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
5389         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
5390
5391 2010-12-31  Bruno Haible  <bruno@clisp.org>
5392
5393         waitpid: Fix link error in C++ mode.
5394         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
5395
5396 2010-12-31  Bruno Haible  <bruno@clisp.org>
5397
5398         isnan: Use GCC built-ins when possible.
5399         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
5400         __builtin_isnan.
5401         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
5402         (isnan): Define using GCC built-ins for GCC >= 4.0.
5403
5404 2010-12-31  Bruno Haible  <bruno@clisp.org>
5405
5406         isnand: Fix mistake.
5407         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
5408         __builtin_isnand.
5409
5410 2010-12-31  Bruno Haible  <bruno@clisp.org>
5411
5412         open: Avoid C++ error on HP-UX 11.
5413         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
5414
5415 2010-12-31  Bruno Haible  <bruno@clisp.org>
5416
5417         time_r: Add missing declarations on HP-UX 11.
5418         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
5419         instead of HAVE_LOCALTIME_R.
5420         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
5421         HAVE_LOCALTIME_R always.
5422         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
5423         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
5424         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
5425         HAVE_LOCALTIME_R.
5426         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
5427         * doc/posix-functions/localtime_r.texi: Likewise.
5428
5429 2010-12-29  Eric Blake  <eblake@redhat.com>
5430
5431         mountlist: tweak previous commit
5432         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
5433         Reported by Paul Eggert.
5434
5435         mountlist: fix local drive detection on cygwin
5436         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
5437         that works for cygwin.
5438
5439 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5440
5441         ftoastr, snprintf: ftoastr + snprintf module
5442         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
5443         since the snprintf module now should be good enough here.
5444         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
5445         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
5446         and gl_MODULE_INDICATOR([snprintf]), but the former enables
5447         GNULIB_SNPRINTF only for the test directory, and the latter
5448         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
5449         seems to suffice by itself.
5450
5451 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5452
5453         alloca: one step towards thread-safety
5454         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
5455         need for a static variable.  All callers changed.  This does not
5456         make the alloca replacement thread-safe, but it's one step.
5457
5458         tests: minor indenting change
5459         * tests/init.sh: Sync from coreutils housekeeping patch
5460         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
5461         to keep lines within 80 columns.
5462
5463 2010-12-28  Jim Meyering  <meyering@redhat.com>
5464
5465         regex: don't infloop on persistent failing calloc
5466         * lib/regexec.c (build_trtable): Return failure indication upon
5467         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
5468         In glibc, this was fixed for version 2.13:
5469         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
5470
5471 2010-12-28  Bruno Haible  <bruno@clisp.org>
5472             Paul Eggert <eggert@cs.ucla.edu>
5473
5474         linkat: Make implementation robust against system behaviour variations.
5475         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
5476         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
5477         way, and to -2 if it needs a generic runtime test.
5478         * lib/linkat.c (solaris_optimized_link_immediate,
5479         solaris_optimized_link_follow): New functions.
5480         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
5481         (check_same_link): Use it.
5482
5483 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
5484
5485         New module 'unigbrk/base'.
5486         * modules/unigbrk/base: New file.
5487         * lib/unigbrk.in.h: New file.
5488
5489         New module 'unigbrk/uc-gbrk-prop'.
5490         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
5491         * modules/unigbrk/uc-gbrk-prop: New file.
5492         * lib/unigbrk/gbrkprop.h: New file.
5493         * lib/unigbrk/uc-gbrk-prop.c: New file.
5494
5495         New module 'unigbrk/uc-is-grapheme-break'.
5496         * modules/unigbrk/uc-is-grapheme-break: New file.
5497         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
5498         * lib/unigbrk/uc-is-grapheme-break.c: New file.
5499         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
5500         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
5501         * tests/unigbrk/GraphemeBreakTest.txt: New file.
5502
5503         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
5504
5505 2010-12-27  Bruno Haible  <bruno@clisp.org>
5506
5507         linkat test: Avoid failure on Solaris 11 2010-11.
5508         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
5509
5510 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5511
5512         utimens: work around glibc rounding bug on more platforms
5513         * lib/utimens.c (fdutimens): Work around rounding bug even if
5514         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
5515         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
5516
5517 2010-12-27  Bruno Haible  <bruno@clisp.org>
5518
5519         select tests: Improve comments.
5520         * tests/test-select.c (do_select): Add comments.
5521
5522 2010-12-27  Bruno Haible  <bruno@clisp.org>
5523
5524         select tests: Safer way of handling timeout.
5525         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
5526         at every invocation.
5527
5528 2010-12-27  Bruno Haible  <bruno@clisp.org>
5529
5530         select tests: Use 'bool' where appropriate.
5531         * tests/test-select.c (connect_to_socket): Change argument type to
5532         'bool'.
5533
5534 2010-12-27  Bruno Haible  <bruno@clisp.org>
5535
5536         select tests: Use existing modules.
5537         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
5538         (configure.ac): Don't test for unistd.h.
5539         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
5540         declared in <unistd.h>.
5541
5542 2010-12-27  Bruno Haible  <bruno@clisp.org>
5543
5544         mbrtowc: Work around a Solaris 7 bug.
5545         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
5546         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
5547         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
5548         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
5549         MBRTOWC_NULL_ARG1_BUG.
5550         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
5551         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
5552         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
5553         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
5554
5555 2010-12-27  Jim Meyering  <meyering@redhat.com>
5556
5557         read-file.c: tweak syntax
5558         * lib/read-file.c (fread_file): Remove space after "*" in function
5559         definitions.
5560
5561 2010-12-27  Bruno Haible  <bruno@clisp.org>
5562
5563         times test: Avoid gcc warnings on OSF/1.
5564         * tests/test-times.c (main): Cast printf arguments from clock_t to
5565         'long int'.
5566
5567 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5568
5569         utimens: work around glibc rounding bug on older Linux kernels
5570         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
5571         on Linux with a glibc whose utimes might not work, then work
5572         around a longstanding glibc bug involving rounding rather than
5573         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
5574         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5575
5576 2010-12-26  Bruno Haible  <bruno@clisp.org>
5577
5578         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
5579         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
5580         _GL_CXXALIAS_SYS.
5581         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5582
5583 2010-12-26  Bruno Haible  <bruno@clisp.org>
5584
5585         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
5586         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
5587         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
5588         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
5589         looking for the declaration.
5590         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5591         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
5592         problem.
5593         * doc/posix-functions/inet_pton.texi: Likewise.
5594
5595 2010-12-26  Bruno Haible  <bruno@clisp.org>
5596
5597         arpa_inet: Use the common idioms with C++ support.
5598         * lib/arpa_inet.in.h: Include c++defs.h.
5599         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
5600         support.
5601         * modules/arpa_inet (Depends-on): Add c++defs.
5602         (Makefile.am): Substitute the contents of c++defs.h.
5603         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
5604         * modules/arpa_inet-c++-tests: New file.
5605         * tests/test-arpa_inet-c++.cc: New file.
5606
5607 2010-12-25  Bruno Haible  <bruno@clisp.org>
5608
5609         Fix more C++ link errors on Solaris 8.
5610         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
5611         $(LIB_EACCESS).
5612         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
5613         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
5614         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
5615         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
5616         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
5617
5618 2010-12-25  Bruno Haible  <bruno@clisp.org>
5619
5620         printf-posix: Fix link error when a non-GCC compiler is used.
5621         * lib/stdio.in.h (printf): When not using GCC, override printf
5622         correctly.
5623         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5624
5625 2010-12-25  Bruno Haible  <bruno@clisp.org>
5626
5627         strerror_r-posix: Update doc.
5628         * doc/posix-functions/strerror_r.texi: Update doc about the return
5629         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
5630
5631 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5632
5633         utimens: simplify the logic of the previous change
5634         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
5635         This should not affect whether the test succeeds or fails.
5636
5637         utimens: configure better on hosts with NFS clock skew
5638         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
5639         uses the clock of the local host.  It might use the clock of the
5640         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
5641         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5642
5643 2010-12-25  Bruno Haible  <bruno@clisp.org>
5644
5645         ptsname test: Avoid failure on Solaris.
5646         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
5647         open a pseudo-terminal; don't use BSD-style ptys.
5648         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
5649
5650 2010-12-25  Bruno Haible  <bruno@clisp.org>
5651
5652         ptsname: Avoid ERANGE failure on some systems.
5653         * lib/ptsname.c (buffer): Increase size.
5654
5655 2010-12-25  Bruno Haible  <bruno@clisp.org>
5656
5657         rename, renameat: Avoid test failures at NFS mounted locations.
5658         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
5659         so that subsequent mkdir calls succeed.
5660
5661 2010-12-25  Bruno Haible  <bruno@clisp.org>
5662
5663         iswblank: Fix C++ link error on Solaris 8.
5664         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
5665         _GL_FUNCDECL_SYS.
5666
5667 2010-12-25  Bruno Haible  <bruno@clisp.org>
5668
5669         unistd: Fix C++ link error on Solaris 8.
5670         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
5671
5672 2010-12-25  Bruno Haible  <bruno@clisp.org>
5673
5674         readlink doc: Mention an old glibc bug.
5675         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
5676
5677 2010-12-25  Bruno Haible  <bruno@clisp.org>
5678
5679         fcntl-h: Fix for use of C++ on glibc systems.
5680         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
5681         also on glibc systems in C++ mode.
5682         Reported by Gary V. Vaughan <gary@gnu.org>.
5683
5684 2010-12-25  Bruno Haible  <bruno@clisp.org>
5685
5686         roundl-ieee: Make it work on OSF/1 5.1 with cc.
5687         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
5688
5689 2010-12-25  Bruno Haible  <bruno@clisp.org>
5690
5691         truncl-ieee: Make it work on OSF/1 5.1 with cc.
5692         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
5693         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
5694         test whether truncl works according to ISO C 99 with IEC 60559.
5695         * m4/truncl-ieee.m4: New file.
5696         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
5697         m4/signbit.m4.
5698         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
5699
5700 2010-12-25  Bruno Haible  <bruno@clisp.org>
5701
5702         ceill-ieee: Make it work on OSF/1 5.1 with cc.
5703         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
5704         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
5705         test whether ceill works according to ISO C 99 with IEC 60559.
5706         * m4/ceill-ieee.m4: New file.
5707         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
5708         m4/signbit.m4.
5709         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
5710
5711 2010-12-25  Bruno Haible  <bruno@clisp.org>
5712
5713         Ensure all prerequisites of <wchar.h> are included.
5714         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
5715         before <wchar.h>.
5716         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
5717         gl_MBRLEN_NUL_RETVAL): Likewise.
5718         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
5719         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
5720         AC_FUNC_MBRTOWC): Likewise.
5721         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5722         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
5723         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5724         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5725         Likewise.
5726         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5727         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
5728         (gl_WCHAR_H): Improve comments.
5729         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5730
5731 2010-12-25  Bruno Haible  <bruno@clisp.org>
5732
5733         strtok_r: Fix C syntax error in autoconf macro.
5734         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
5735         characters in test program.
5736
5737 2010-12-24  Bruno Haible  <bruno@clisp.org>
5738
5739         ceil, trunc, round: Fix gcc warnings.
5740         * lib/ceil.c (MIN): Undefine before redefining.
5741         * lib/trunc.c (MIN): Likewise.
5742         * lib/round.c (MIN): Likewise.
5743         Include <math.h> first.
5744
5745 2010-12-24  Bruno Haible  <bruno@clisp.org>
5746
5747         select tests: Avoid failures on OSF/1 5.1.
5748         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
5749         failure of closing the last socket; it may fail with ECONNRESET.
5750
5751 2010-12-24  Eric Blake  <eblake@redhat.com>
5752
5753         stdint: avoid HP-UX 10.20 preprocessor bug
5754         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
5755         than #if.
5756         * tests/test-floor2.c (main): Likewise.
5757         Reported by Peter O'Gorman.
5758
5759         pipe: make obsoletion transition easier
5760         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
5761         * modules/pipe (Files): Include revived file.
5762         (Include): Drop reference, to mirror getdate's behavior.
5763
5764 2010-12-24  Bruno Haible  <bruno@clisp.org>
5765
5766         sys_socket: Hide mismatch of declarations on NonStop Kernel.
5767         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
5768         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
5769         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5770
5771 2010-12-24  Bruno Haible  <bruno@clisp.org>
5772
5773         gethostname: Ensure declaration on NonStop Kernel.
5774         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
5775         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5776
5777 2010-12-24  Bruno Haible  <bruno@clisp.org>
5778
5779         sys_select: Ensure all necessary types on NonStop Kernel.
5780         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
5781         include <sys/time.h>.
5782         * doc/posix-headers/sys_select.texi: Mention that it's missing on
5783         NonStop Kernel.
5784         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5785
5786 2010-12-24  Bruno Haible  <bruno@clisp.org>
5787
5788         sys_select: Remove unneeded include.
5789         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
5790         have <sys/select.h>.
5791
5792 2010-12-24  Bruno Haible  <bruno@clisp.org>
5793
5794         gethostname: Provide a fallback for HOST_NAME_MAX.
5795         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
5796         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5797         instead.
5798         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5799
5800 2010-12-24  Bruno Haible  <bruno@clisp.org>
5801
5802         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5803         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5804         (SA_RESTART): Likewise.
5805         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5806
5807 2010-12-24  Bruno Haible  <bruno@clisp.org>
5808
5809         signal: Define NSIG.
5810         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5811         * tests/test-signal.c (nsig): New variable.
5812         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5813
5814 2010-12-24  Bruno Haible  <bruno@clisp.org>
5815
5816         rename, renameat: Avoid test failures on OSF/1 5.1.
5817         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5818         alternative error codes.
5819         * tests/test-renameat.c (main): Likewise.
5820
5821 2010-12-24  Bruno Haible  <bruno@clisp.org>
5822
5823         *printf: Detect large precisions bug on Solaris 10/SPARC.
5824         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5825         by Paul Eggert.
5826         * tests/test-snprintf-posix.h (test_function): Add this test code here
5827         too.
5828         * tests/test-sprintf-posix.h (test_function): Likewise.
5829         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5830         * tests/test-vasprintf-posix.c (test_function): Likewise.
5831         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5832         around by gnulib.
5833         * doc/posix-functions/printf.texi: Likewise.
5834         * doc/posix-functions/snprintf.texi: Likewise.
5835         * doc/posix-functions/sprintf.texi: Likewise.
5836         * doc/posix-functions/vfprintf.texi: Likewise.
5837         * doc/posix-functions/vprintf.texi: Likewise.
5838         * doc/posix-functions/vsnprintf.texi: Likewise.
5839         * doc/posix-functions/vsprintf.texi: Likewise.
5840         * doc/posix-functions/dprintf.texi: Undo last commit.
5841         * doc/posix-functions/vdprintf.texi: Likewise.
5842
5843 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5844
5845         tests: port test-fdutimensat.c to Solaris 8
5846         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5847         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5848         On Solaris 8, it fails with errno == ENOSYS, because there is no
5849         futimens (so it can't use the fd), and there is no lutimens (so it
5850         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5851
5852         vsnprintf: make more consistent with snprintf; doc fixes
5853
5854         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5855         the byte count return problem was promoted from the snprintf-posix
5856         to the snprintf module.
5857         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5858         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5859         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5860         * tests/test-snprintf.c (main): Check the byte count returned.
5861         * tests/test-vsnprintf.c (main): Likewise.
5862
5863 2010-12-23  Eric Blake  <eblake@redhat.com>
5864
5865         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5866         * modules/sigpipe (License): Relax license.
5867
5868 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5869
5870         doc: document Solaris printf bug with large float precisions
5871         * doc/posix-functions/dprintf.texi (dprintf):
5872         * doc/posix-functions/fprintf.texi (fprintf):
5873         * doc/posix-functions/printf.texi (printf):
5874         * doc/posix-functions/snprintf.texi (snprintf):
5875         * doc/posix-functions/sprintf.texi (sprintf):
5876         * doc/posix-functions/vdprintf.texi (vdprintf):
5877         * doc/posix-functions/vfprintf.texi (vfprintf):
5878         * doc/posix-functions/vprintf.texi (vprintf):
5879         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5880         * doc/posix-functions/vsprintf.texi (vsprintf):
5881         Mention that these functions mishandle large floating point
5882         precisions on Solaris 10.  The same bug is also present in Solaris
5883         8, and I assume earlier.  This causes "cd gnulib-tests; make
5884         check" to fail on Solaris 8 (and I assume, later) when building
5885         the latest coreutils, in test-vasprintf-posix's call to
5886         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5887         the wide flavors (e.g., wprintf) so this patch just updates the
5888         documentation for the narrow ones.
5889
5890         test-posixtm.c: add two tests
5891         * tests/test-posixtm.c: Add two tests, to highlight the
5892         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5893         around this bug; this is merely to document it.
5894
5895 2010-12-22  Bruno Haible  <bruno@clisp.org>
5896
5897         getlogin_r: Work around portability problem on OSF/1.
5898         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5899         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5900         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5901         test for a truncated result.
5902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5903         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5904         * modules/getlogin_r (Depends-on): Add memchr.
5905         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5906
5907 2010-12-22  Bruno Haible  <bruno@clisp.org>
5908
5909         ptsname: Avoid test failure on OSF/1 5.1.
5910         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5911         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5912         (same_slave): New function.
5913         (main): Use it to compare ptsname's result with the expected file name.
5914
5915 2010-12-22  Bruno Haible  <bruno@clisp.org>
5916
5917         Port extended stdio modules to HP NonStop Kernel.
5918         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5919         macros.
5920         * lib/fbufmode.c: Update comments.
5921         * lib/fflush.c: Likewise.
5922         * lib/fpurge.c: Likewise.
5923         * lib/freadable.c: Likewise.
5924         * lib/freadahead.c: Likewise.
5925         * lib/freading.c: Likewise.
5926         * lib/freadptr.c: Likewise.
5927         * lib/freadseek.c: Likewise.
5928         * lib/fseeko.c: Likewise.
5929         * lib/fseterr.c: Likewise.
5930         * lib/fwritable.c: Likewise.
5931         * lib/fwriting.c: Likewise.
5932         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5933
5934 2010-12-22  Bruno Haible  <bruno@clisp.org>
5935
5936         ttyname_r: Work around bug on OSF/1 5.1.
5937         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5938         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5939         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5940         present.
5941         * lib/ttyname_r.c (ttyname_r): Update comments.
5942
5943 2010-12-22  Bruno Haible  <bruno@clisp.org>
5944
5945         round: Implement result sign according to IEEE 754.
5946         * lib/round.c (MIN, MINUS_ZERO): New macros.
5947         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5948         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5949         * tests/test-round-ieee.c (main): Likewise.
5950         * tests/test-roundl-ieee.c (main): Likewise.
5951
5952         trunc: Implement result sign according to IEEE 754.
5953         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5954         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5955         * tests/test-trunc2.c: Include minus-zero.h.
5956         (MINUS_ZERO): New macro.
5957         (trunc_reference): Keep in sync with lib/trunc.c.
5958         * tests/test-truncf2.c: Include minus-zero.h.
5959         (MINUS_ZERO): New macro.
5960         (truncf_reference): Keep in sync with lib/trunc.c.
5961         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5962         * tests/test-trunc-ieee.c (main): Likewise.
5963         * tests/test-truncl-ieee.c (main): Likewise.
5964
5965         ceil: Implement result sign according to IEEE 754.
5966         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5967         (FUNC): Return -0.0 for -1 < x < 0.
5968         * tests/test-ceil2.c: Include minus-zero.h.
5969         (MINUS_ZERO): New macro.
5970         (ceil_reference): Keep in sync with lib/ceil.c.
5971         * tests/test-ceilf2.c: Include minus-zero.h.
5972         (MINUS_ZERO): New macro.
5973         (ceilf_reference): Keep in sync with lib/ceil.c.
5974         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5975         * tests/test-ceil-ieee.c (main): Likewise.
5976         * tests/test-ceill-ieee.c (main): Likewise.
5977
5978         floor: Implement result sign according to IEEE 754.
5979         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5980         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5981         * tests/test-floorf2.c (floorf_reference): Likewise.
5982         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5983         * tests/test-floor-ieee.c (main): Likewise.
5984         * tests/test-floorl-ieee.c (main): Likewise.
5985
5986 2010-12-22  Bruno Haible  <bruno@clisp.org>
5987
5988         getaddrinfo: Update doc.
5989         * doc/posix-functions/gai_strerror.texi: Return type is also different
5990         on AIX and HP-UX.
5991
5992 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5993
5994         getaddrinfo, inet_ntop: Update doc for Solaris.
5995         * doc/posix-functions/gai_strerror.texi: Return type is also an
5996         issue on Solaris 9 and earlier.
5997         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5998         on Solaris 10 and earlier.
5999
6000 2010-12-21  Bruno Haible  <bruno@clisp.org>
6001
6002         New module 'roundl-ieee'.
6003         * modules/roundl-ieee: New file.
6004         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
6005         test whether roundl works according to ISO C 99 with IEC 60559.
6006         * m4/roundl-ieee.m4: New file.
6007         * modules/roundl-ieee-tests: New file.
6008         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
6009         * tests/test-roundl.c (main): Remove signbit tests.
6010         * modules/roundl-tests (Depends-on): Remove signbit.
6011         * doc/posix-functions/roundl.texi: Mention the new module.
6012
6013 2010-12-21  Bruno Haible  <bruno@clisp.org>
6014
6015         New module 'truncl-ieee'.
6016         * modules/truncl-ieee: New file.
6017         * modules/truncl-ieee-tests: New file.
6018         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
6019         * tests/test-truncl.c (main): Remove signbit tests.
6020         * modules/truncl-tests (Depends-on): Remove signbit.
6021         * doc/posix-functions/truncl.texi: Mention the new module.
6022
6023 2010-12-21  Bruno Haible  <bruno@clisp.org>
6024
6025         New module 'ceill-ieee'.
6026         * modules/ceill-ieee: New file.
6027         * modules/ceill-ieee-tests: New file.
6028         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
6029         * tests/test-ceill.c (main): Remove signbit tests.
6030         * modules/ceill-tests (Depends-on): Remove signbit.
6031         * doc/posix-functions/ceill.texi: Mention the new module.
6032
6033 2010-12-21  Bruno Haible  <bruno@clisp.org>
6034
6035         New module 'floorl-ieee'.
6036         * modules/floorl-ieee: New file.
6037         * modules/floorl-ieee-tests: New file.
6038         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
6039         * tests/test-floorl.c (main): Remove signbit tests.
6040         * modules/floorl-tests (Depends-on): Remove signbit.
6041         * doc/posix-functions/floorl.texi: Mention the new module.
6042
6043 2010-12-21  Bruno Haible  <bruno@clisp.org>
6044
6045         New module 'round-ieee'.
6046         * modules/round-ieee: New file.
6047         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
6048         whether round works according to ISO C 99 with IEC 60559.
6049         * m4/round-ieee.m4: New file.
6050         * modules/round-ieee-tests: New file.
6051         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
6052         * tests/test-round1.c (main): Remove signbit tests.
6053         * modules/round-tests (Depends-on): Remove 'signbit'.
6054         * doc/posix-functions/round.texi: Mention the new module.
6055
6056 2010-12-21  Bruno Haible  <bruno@clisp.org>
6057
6058         New module 'trunc-ieee'.
6059         * modules/trunc-ieee: New file.
6060         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
6061         whether trunc works according to ISO C 99 with IEC 60559.
6062         * m4/trunc-ieee.m4: New file.
6063         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
6064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
6065         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
6066         * modules/trunc-ieee-tests: New file.
6067         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
6068         * tests/test-trunc1.c (main): Remove signbit tests.
6069         * modules/trunc-tests (Depends-on): Remove 'signbit'.
6070         * doc/posix-functions/trunc.texi: Mention the new module.
6071
6072 2010-12-21  Bruno Haible  <bruno@clisp.org>
6073
6074         New module 'ceil-ieee'.
6075         * modules/ceil-ieee: New file.
6076         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
6077         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
6078         ISO C 99 with IEC 60559.
6079         * m4/ceil-ieee.m4: New file.
6080         * modules/ceil (Files): Add lib/ceil.c.
6081         (Depends-on): Add 'float'.
6082         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6083         * lib/math.in.h (ceil): New declaration.
6084         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
6085         REPLACE_CEIL.
6086         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
6087         * modules/ceil-ieee-tests: New file.
6088         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
6089         * tests/test-math-c++.cc: Check the signature of 'ceil'.
6090         * doc/posix-functions/ceil.texi: Mention the new module.
6091
6092 2010-12-21  Bruno Haible  <bruno@clisp.org>
6093
6094         New module 'floor-ieee'.
6095         * modules/floor-ieee: New file.
6096         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
6097         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
6098         ISO C 99 with IEC 60559.
6099         * m4/floor-ieee.m4: New file.
6100         * modules/floor (Files): Add lib/floor.c.
6101         (Depends-on): Add 'float'.
6102         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6103         * lib/math.in.h (floor): New declaration.
6104         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
6105         REPLACE_FLOOR.
6106         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
6107         * modules/floor-ieee-tests: New file.
6108         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
6109         * tests/test-math-c++.cc: Check the signature of 'floor'.
6110         * doc/posix-functions/floor.texi: Mention the new module.
6111
6112 2010-12-21  Bruno Haible  <bruno@clisp.org>
6113
6114         New module 'roundf-ieee'.
6115         * modules/roundf-ieee: New file.
6116         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
6117         test whether roundf works according to ISO C 99 with IEC 60559.
6118         * m4/roundf-ieee.m4: New file.
6119         * modules/roundf-ieee-tests: New file.
6120         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
6121         * tests/test-roundf1.c (main): Remove signbit tests.
6122         * modules/roundf-tests (Depends-on): Remove 'signbit'.
6123         * doc/posix-functions/roundf.texi: Mention the new module.
6124
6125 2010-12-21  Bruno Haible  <bruno@clisp.org>
6126
6127         New module 'truncf-ieee'.
6128         * modules/truncf-ieee: New file.
6129         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
6130         test whether truncf works according to ISO C 99 with IEC 60559.
6131         * m4/truncf-ieee.m4: New file.
6132         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
6133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
6134         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
6135         * modules/truncf-ieee-tests: New file.
6136         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
6137         * tests/test-truncf1.c (main): Remove signbit tests.
6138         * modules/truncf-tests (Depends-on): Remove 'signbit'.
6139         * doc/posix-functions/truncf.texi: Mention the new module.
6140
6141 2010-12-21  Bruno Haible  <bruno@clisp.org>
6142
6143         New module 'ceilf-ieee'.
6144         * modules/ceilf-ieee: New file.
6145         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
6146         test whether ceilf works according to ISO C 99 with IEC 60559.
6147         * m4/ceilf-ieee.m4: New file.
6148         * modules/ceilf-ieee-tests: New file.
6149         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
6150         * tests/test-ceilf1.c (main): Remove signbit tests.
6151         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
6152         * doc/posix-functions/ceilf.texi: Mention the new module.
6153
6154 2010-12-21  Bruno Haible  <bruno@clisp.org>
6155
6156         New module 'floorf-ieee'.
6157         * modules/floorf-ieee: New file.
6158         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
6159         test whether floorf works according to ISO C 99 with IEC 60559.
6160         * m4/floorf-ieee.m4: New file.
6161         * modules/floorf-ieee-tests: New file.
6162         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
6163         * tests/test-floorf1.c (main): Remove signbit tests.
6164         * modules/floorf-tests (Depends-on): Remove 'signbit'.
6165         * doc/posix-functions/floorf.texi: Mention the new module.
6166
6167 2010-12-21  Bruno Haible  <bruno@clisp.org>
6168
6169         Support for minus zero in autoconf macros.
6170         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
6171         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
6172         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
6173         * tests/minus-zero.h: Update comments.
6174
6175 2010-12-21  Bruno Haible  <bruno@clisp.org>
6176
6177         Tests for module 'ceil'.
6178         * modules/ceil-tests: New file.
6179         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
6180         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
6181
6182 2010-12-21  Bruno Haible  <bruno@clisp.org>
6183
6184         Tests for module 'floor'.
6185         * modules/floor-tests: New file.
6186         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
6187         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
6188
6189 2010-12-21  Bruno Haible  <bruno@clisp.org>
6190
6191         math: Fix indentation.
6192         * lib/math.in.h (floorf): Fix indentation.
6193
6194 2010-12-21  Bruno Haible  <bruno@clisp.org>
6195
6196         Fix cross-compilation guesses on Solaris.
6197         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
6198         not match "solaris2.10".
6199         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6200         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
6201         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
6202
6203 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6204
6205         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
6206         This fixes a problem observed with the latest coreutils snapshot
6207         that caused a test to fail on Solaris 8.  src/csplit.c's call
6208         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
6209         earlier, instead of returning the number of bytes that would have
6210         been generated; this causes csplit to incorrectly report memory
6211         exhaustion.
6212         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
6213         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
6214         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
6215         comments to match.
6216         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
6217         Fix typo in matching older versions of Solaris: "solaris2.10"
6218         is matched by the shell pattern "solaris2.[0-9]*".  This matters
6219         only for guessing while cross-compiling.
6220         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
6221
6222 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6223
6224         ftoastr: fix comment again
6225         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6226         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
6227         Also, simplify example a bit by using flags = 0.
6228
6229 2010-12-20  Bruno Haible  <bruno@clisp.org>
6230
6231         round*, trunc*: Update documentation regarding glibc.
6232         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
6233         * doc/posix-functions/round.texi: Likewise.
6234         * doc/posix-functions/roundl.texi: Likewise.
6235         * doc/posix-functions/truncf.texi: Likewise.
6236         * doc/posix-functions/trunc.texi: Likewise.
6237         * doc/posix-functions/truncl.texi: Likewise.
6238
6239 2010-12-20  Bruno Haible  <bruno@clisp.org>
6240
6241         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
6242         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
6243         * doc/posix-functions/round.texi: Likewise.
6244         * doc/posix-functions/roundl.texi: Likewise.
6245
6246 2010-12-20  Bruno Haible  <bruno@clisp.org>
6247
6248         ttyname_r: Add missing declaration on HP-UX 11.
6249         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
6250         HAVE_TTYNAME_R.
6251         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
6252         declared. Set HAVE_TTYNAME_R always.
6253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6254         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
6255         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
6256         HAVE_TTYNAME_R.
6257         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
6258
6259 2010-12-20  Bruno Haible  <bruno@clisp.org>
6260
6261         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
6262         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
6263         * doc/posix-functions/getlogin_r.texi: Likewise.
6264         * tests/test-getlogin.c: Include <errno.h>.
6265         (main): Avoid test failure on HP-UX 11.11.
6266         * tests/test-getlogin_r.c (main): Likewise.
6267
6268 2010-12-20  Bruno Haible  <bruno@clisp.org>
6269
6270         getlogin_r: Add missing declaration on HP-UX 11.
6271         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
6272         declared also when it exists as a function.
6273         * doc/posix-functions/getlogin_r.texi: Document this workaround.
6274
6275 2010-12-20  Bruno Haible  <bruno@clisp.org>
6276
6277         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
6278         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
6279         through wcrtomb.
6280
6281 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6282
6283         ftoastr: fix comment
6284         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6285         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
6286
6287 2010-12-19  Bruno Haible  <bruno@clisp.org>
6288
6289         isnan: Ensure it is a macro.
6290         * lib/math.in.h (isnan): Define as a macro if not already a macro.
6291         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
6292         Solaris.
6293
6294 2010-12-19  Bruno Haible  <bruno@clisp.org>
6295
6296         ldexpl test: Fix link error on OSF/1 5.1.
6297         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
6298
6299 2010-12-19  Bruno Haible  <bruno@clisp.org>
6300
6301         wctype: Make it work in C++ mode on OSF/1 5.1.
6302         * lib/wctype.in.h (iswblank): Declare but not define here.
6303         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
6304         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
6305         * modules/wctype (Files): Add lib/iswblank.c.
6306
6307 2010-12-19  Bruno Haible  <bruno@clisp.org>
6308
6309         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
6310         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
6311         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
6312
6313 2010-12-19  Bruno Haible  <bruno@clisp.org>
6314
6315         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
6316         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
6317         _POSIX_PII_SOCKET.
6318         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
6319         * doc/posix-functions/recvfrom.texi: Likewise.
6320         * doc/posix-functions/send.texi: Likewise.
6321         * doc/posix-functions/sendto.texi: Likewise.
6322
6323 2010-12-19  Bruno Haible  <bruno@clisp.org>
6324
6325         tcgetsid: Add missing declaration on OSF/1 5.1.
6326         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
6327         HAVE_TCGETSID.
6328         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
6329         Don't set HAVE_TCGETSID.
6330         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
6331         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
6332         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
6333         HAVE_TCGETSID.
6334         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
6335
6336 2010-12-19  Bruno Haible  <bruno@clisp.org>
6337
6338         stdio: Fix problem with popen() declaration on OSF/1 5.1.
6339         * lib/stdio.in.h: During the include_next statement, let recursive
6340         includes of this file include only the system header file.
6341
6342 2010-12-19  Bruno Haible  <bruno@clisp.org>
6343
6344         iconv_open: Fix regression from 2010-12-04.
6345         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
6346         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
6347
6348 2010-12-19  Bruno Haible  <bruno@clisp.org>
6349
6350         stdbool test: Avoid a gcc warning.
6351         * tests/test-stdbool.c (main): Fail if e1 is false.
6352         Reported by Jim Meyering.
6353
6354 2010-12-19  Jim Meyering  <meyering@redhat.com>
6355
6356         setenv: restore to working order
6357         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
6358         mistakenly removed.
6359         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
6360         HAVE_SETENV.
6361         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
6362         HAVE_SETENV.
6363
6364 2010-12-19  Bruno Haible  <bruno@clisp.org>
6365
6366         Document some different function declarations on OSF/1 5.1.
6367         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
6368         * doc/posix-functions/inet_ntop.texi: Likewise.
6369         * doc/posix-functions/gethostname.texi: Likewise.
6370         * lib/unistd.in.h (gethostname): Update comment.
6371
6372 2010-12-19  Bruno Haible  <bruno@clisp.org>
6373
6374         doc: Mention vasprintf-posix module.
6375         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
6376         the 'vasprintf-posix' module.
6377         * doc/glibc-functions/vasprintf.texi: Likewise.
6378
6379 2010-12-19  Bruno Haible  <bruno@clisp.org>
6380
6381         unsetenv: Add missing declaration on OSF/1 5.1.
6382         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
6383         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
6384         Don't set HAVE_UNSETENV. In the test program, set _BSD.
6385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
6386         not HAVE_UNSETENV.
6387         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
6388         HAVE_UNSETENV.
6389         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
6390
6391 2010-12-19  Bruno Haible  <bruno@clisp.org>
6392
6393         setenv: Add missing declaration on OSF/1 5.1.
6394         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
6395         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
6396         declared. Don't set HAVE_SETENV.
6397         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
6398         not HAVE_SETENV.
6399         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
6400         HAVE_SETENV.
6401         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
6402
6403 2010-12-19  Bruno Haible  <bruno@clisp.org>
6404
6405         nl_langinfo tests: Avoid gcc warning.
6406         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
6407
6408 2010-12-19  Bruno Haible  <bruno@clisp.org>
6409
6410         mknod: Avoid error in C++ mode on OSF/1 with GCC.
6411         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
6412         _GL_CXXALIAS_SYS.
6413
6414 2010-12-19  Bruno Haible  <bruno@clisp.org>
6415
6416         stdbool: Relax test.
6417         * tests/test-stdbool.c (e): Don't require that casts from a variable's
6418         address to 'bool' work in static initializer, for compilers other than
6419         GCC.
6420
6421 2010-12-19  Bruno Haible  <bruno@clisp.org>
6422
6423         ftello: Add missing declaration on OSF/1 5.1.
6424         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
6425         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
6426         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
6427         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
6428         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
6429
6430 2010-12-19  Bruno Haible  <bruno@clisp.org>
6431
6432         fseeko: Add missing declaration on OSF/1 5.1.
6433         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
6434         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
6435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
6436         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
6437         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
6438
6439 2010-12-19  Bruno Haible  <bruno@clisp.org>
6440
6441         fchdir: Add missing declaration on OSF/1 5.1.
6442         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
6443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
6444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
6445         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
6446         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
6447
6448 2010-12-19  Bruno Haible  <bruno@clisp.org>
6449
6450         relocatable-prog-wrapper: Separate from relocatable-prog.
6451         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
6452         uninstall-relocwrapper rule here.
6453         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
6454         Reported by Ian Beckwith <ianb@erislabs.net>.
6455
6456 2010-12-19  Bruno Haible  <bruno@clisp.org>
6457
6458         unistr/u8-mbsnlen: Add missing dependency.
6459         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
6460         Reported by Ian Beckwith <ianb@erislabs.net>.
6461
6462 2010-12-19  Bruno Haible  <bruno@clisp.org>
6463
6464         iconv: Make it possible again to use this module without 'iconv-h'.
6465         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
6466         if it is not defined.
6467         Reported by Ian Beckwith <ianb@erislabs.net>.
6468
6469 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6470
6471         acl: port to Solaris 8 when copying from tmpfs to ufs
6472         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
6473         error number.  Problem observed on Solaris 8 with latest
6474         coreutils, with "mv A B", where A is on a tmpfs file system and B
6475         is on a ufs file system.  This caused coreutils' mv/part-symlink
6476         test to fail.
6477
6478         tests: set fail=0 at start
6479         * tests/init.sh (setup_): Move fail=0 initialization here ...
6480         (mktempd_): ... from here, so that tests can rely on fail being
6481         set to 0 initially.  This fixes a problem in coreutils; see:
6482         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
6483
6484 2010-12-18  Bruno Haible  <bruno@clisp.org>
6485
6486         memmem-simple: Stylistic changes.
6487         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
6488         Fix preprocessor directive indentation.
6489
6490 2010-12-15  Pádraig Brady <P@draigBrady.com>
6491
6492         memmem, memmem-simple: reorganize and expand empty needle check
6493         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
6494         functional checks to memmem-simple so that one has a fully functional
6495         memmem by using just this module.
6496         Restrict the performance only check to the memmem module.
6497         Also expand the empty needle check to ensure the correct
6498         pointer is returned, not just a non NULL pointer.
6499         * doc/glibc-functions/memmem.texi: Rearrange the portability
6500         documentation to correlate with the rearranged checks.
6501         Clarify exactly how the memmem and memmem-simple modules
6502         relate to each other.
6503
6504 2010-12-15  Pádraig Brady <P@draigBrady.com>
6505             Bruno Haible  <bruno@clisp.org>
6506
6507         Improve cross-compilation guesses for uClibc.
6508         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
6509         that uClibc does not have the glibc bug.
6510         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
6511         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
6512
6513 2010-12-14  Eric Blake  <eblake@redhat.com>
6514
6515         configmake: provide fallbacks for oldest supported autotools
6516         * m4/configmake.m4: New file.
6517         * modules/configmake (Files): Ship it.
6518         (configure.ac): Use it to guarantee fallbacks.
6519
6520 2010-12-13  Pádraig Brady <P@draigBrady.com>
6521
6522         read-file: Improve handling of large files
6523         * lib/read-file.c (fread_file): Minimize realloc()s
6524         for regular files, and better manage sizes around SIZE_MAX.
6525
6526 2010-12-13  Eric Blake  <eblake@redhat.com>
6527
6528         cloexec, fcntl: relax license
6529         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
6530         consent from all contributors.
6531         * modules/fcntl (License): Likewise.
6532
6533 2010-12-10  Bruno Haible  <bruno@clisp.org>
6534
6535         Tests for module 'pipe-posix'.
6536         * modules/pipe-posix-tests: New file.
6537         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
6538
6539 2010-12-10  Bruno Haible  <bruno@clisp.org>
6540
6541         pipe-posix: Make it work in C++ mode.
6542         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
6543         (pipe): Use common idiom, not a macro definition.
6544         * lib/pipe.c: New file.
6545         * m4/pipe.m4: New file.
6546         * modules/pipe-posix (Description): Enhance.
6547         (Files): Add lib/pipe.c, m4/pipe.m4.
6548         (configure.ac): Invoke gl_FUNC_PIPE.
6549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
6550         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
6551         * tests/test-unistd-c++.cc: Check the signature of pipe.
6552
6553 2010-12-10  Bruno Haible  <bruno@clisp.org>
6554
6555         Rename module 'pipe' to 'spawn-pipe'.
6556         * modules/spawn-pipe: New file, renamed from modules/pipe.
6557         (Files, configure.ac, Makefile.am): Update.
6558         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
6559         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
6560         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
6561         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
6562         "spawn-pipe.h" instead of "pipe.h".
6563         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
6564         to gl_SPAWN_PIPE.
6565         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
6566         (Files, Makefile.am): Update.
6567         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
6568         Update.
6569         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
6570         Include "spawn-pipe.h" instead of "pipe.h".
6571         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
6572         * lib/javacomp.c: Likewise.
6573         * lib/javaversion.c: Likewise.
6574         * lib/pipe-filter-gi.c: Likewise.
6575         * lib/pipe-filter-ii.c: Likewise.
6576         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
6577         * modules/javacomp (Depends-on): Likewise.
6578         * modules/javaversion (Depends-on): Likewise.
6579         * modules/pipe-filter-gi (Depends-on): Likewise.
6580         * modules/pipe-filter-ii (Depends-on): Likewise.
6581         * MODULES.html.sh (Executing programs): Update.
6582         * NEWS: Mention the change.
6583
6584 2010-12-10  Eric Blake  <eblake@redhat.com>
6585
6586         pipe-posix: new module
6587         * modules/pipe-posix: New file.
6588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
6589         (gl_UNISTD_H): Check for declaration.
6590         * modules/unistd (Makefile.am): Substitute it.
6591         * lib/unistd.in.h (pipe): Provide it for mingw.
6592         * doc/posix-functions/pipe.texi (pipe): Update documentation.
6593         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
6594
6595 2010-12-07  Bruno Haible  <bruno@clisp.org>
6596
6597         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
6598         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
6599         u8_strcmp_gnu.
6600         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
6601
6602 2010-12-06  Bruno Haible  <bruno@clisp.org>
6603
6604         Update internal documentation.
6605         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
6606
6607 2010-12-04  Bruno Haible  <bruno@clisp.org>
6608
6609         Put more information about failed tests into the test return codes.
6610         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
6611         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
6612         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6613         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6614         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6615         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6616         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6617         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6618         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
6619         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6620         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
6621         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6622         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6623         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6624         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
6625         returns a bit mask.
6626         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
6627         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
6628         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
6629         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
6630         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6631         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6632         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
6634         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6635         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
6636         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
6637         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6638         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6639         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6640         * m4/link.m4 (gl_FUNC_LINK): Likewise.
6641         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
6642         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
6643         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
6644         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6645         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
6646         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
6647         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6648         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
6649         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6650         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6651         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6652         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
6653         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6654         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6655         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
6656         gl_PRINTF_PRECISION): Likewise.
6657         * m4/regex.m4 (gl_REGEX): Likewise.
6658         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6659         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6660         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
6661         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6662         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6663         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6664         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
6665         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
6666         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6667         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6668         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
6669         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
6670         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
6671         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6672         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6673         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6674         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
6675         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6676         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6677         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
6678         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
6679         enumerated value.
6680         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
6681
6682 2010-12-04  Bruno Haible  <bruno@clisp.org>
6683
6684         Update for Solaris 11 2010-11.
6685         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
6686         Express, released in November 2010.
6687
6688 2010-12-04  Bruno Haible  <bruno@clisp.org>
6689
6690         nproc: Relax license.
6691         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
6692         and Paul Eggert.
6693         Requested by Ludovic Courtès <ludo@gnu.org>.
6694
6695 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6696
6697         utimecmp: fine-grained src to nearby coarse-grained dest
6698
6699         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
6700         and the source is on a file system with higher-resolution time
6701         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
6702         not work, and the time stamps are close together, the algorithm to
6703         determine the exact resolution from the read-back mtime was buggy:
6704         it had a "!=" where it should have had an "==".  This bug has been
6705         in the code ever since it was introduced to gnulib.
6706         Problem reported by Dan Jacobson in
6707         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
6708
6709 2010-11-30  Bruno Haible  <bruno@clisp.org>
6710
6711         strerror_r-posix: Fix autoconf test.
6712         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
6713
6714 2010-11-28  Bruno Haible  <bruno@clisp.org>
6715             Paul Eggert  <eggert@cs.ucla.edu>
6716
6717         Tests for module 'getdomainname'.
6718         * modules/getdomainname-tests: New file.
6719         * tests/test-getdomainname.c: New file, based on
6720         tests/test-gethostname.c.
6721
6722 2010-11-28  Bruno Haible  <bruno@clisp.org>
6723             Paul Eggert  <eggert@cs.ucla.edu>
6724
6725         getdomainname: Use the system function when possible.
6726         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
6727         (getdomainname): Replace if needed. Provide the declaration if it is
6728         missing. Don't use _GL_CXXALIAS_SYS_CAST.
6729         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
6730         (getdomainname): When the system has getdomainname, call the system
6731         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
6732         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
6733         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
6734         found in libnsl. Look for the declaration also in <netdb.h>. Replace
6735         the function if its second argument is of type 'int' or if it is found
6736         in libnsl.
6737         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
6738         <sys/systeminfo.h> and sysinfo().
6739         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
6740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6741         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
6742         HAVE_GETDOMAINNAME.
6743         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
6744         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
6745         * doc/glibc-functions/getdomainname.texi: Document the problems with
6746         the getdomainname declaration.
6747
6748 2010-11-28  Bruno Haible  <bruno@clisp.org>
6749
6750         sys_socket: Ensure ss_family field on AIX.
6751         * lib/sys_socket.in.h (ss_family): New macro definition.
6752         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
6753         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
6754         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6755         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6756         * modules/sys_socket (Makefile.am): Substitute
6757         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6758         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
6759
6760 2010-11-27  Bruno Haible  <bruno@clisp.org>
6761
6762         readline: Improve configure output.
6763         * m4/readline.m4 (gl_FUNC_READLINE): Make the
6764         "checking for readline..." result understandable.
6765
6766 2010-11-27  Bruno Haible  <bruno@clisp.org>
6767
6768         *printf-posix: Detect a bug on Solaris 10/x86.
6769         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
6770         for floating-point output.
6771         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
6772         directive.
6773         * tests/test-snprintf-posix.h (test_function): Likewise.
6774         * tests/test-sprintf-posix.h (test_function): Likewise.
6775         * tests/test-vasprintf-posix.c (test_function): Likewise.
6776         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
6777         * doc/posix-functions/printf.texi: Likewise.
6778         * doc/posix-functions/snprintf.texi: Likewise.
6779         * doc/posix-functions/sprintf.texi: Likewise.
6780         * doc/posix-functions/vfprintf.texi: Likewise.
6781         * doc/posix-functions/vprintf.texi: Likewise.
6782         * doc/posix-functions/vsnprintf.texi: Likewise.
6783         * doc/posix-functions/vsprintf.texi: Likewise.
6784         * doc/glibc-functions/obstack_printf.texi: Likewise.
6785         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6786
6787 2010-11-27  Bruno Haible  <bruno@clisp.org>
6788
6789         Fix link error when module libunistring-optional is in use.
6790         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
6791         * modules/striconveha-tests (Makefile.am): Likewise.
6792
6793 2010-11-27  Bruno Haible  <bruno@clisp.org>
6794
6795         regex: Mention link dependencies.
6796         * modules/regex (Link): New section.
6797         * modules/rpmatch (Link): Likewise.
6798         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6799
6800 2010-11-27  Bruno Haible  <bruno@clisp.org>
6801
6802         ftoastr: Fix compilation error on Solaris.
6803         * lib/ftoastr.c: Include <config.h>.
6804
6805 2010-11-27  Bruno Haible  <bruno@clisp.org>
6806
6807         getloadavg: Update documentation.
6808         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6809
6810 2010-11-27  Bruno Haible  <bruno@clisp.org>
6811
6812         sys_socket: Fix test whether the functions are declared.
6813         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6814         not <sys/select.h>.
6815
6816 2010-11-27  Bruno Haible  <bruno@clisp.org>
6817
6818         getpass: Make sure to get system declaration on some platforms.
6819         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6820         gl_USE_SYSTEM_EXTENSIONS.
6821         * modules/getpass (Depends-on): Add extensions.
6822
6823 2010-11-26  Bruno Haible  <bruno@clisp.org>
6824
6825         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6826         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6827         'iconv' module is present.
6828         (ICONV_CONST): New macro.
6829         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6830         ICONV_CONST.
6831         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6832         set ICONV_CONST.
6833         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6834         here.
6835         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6836         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6837         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6838         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6839         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6840         present.
6841
6842 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6843
6844         ftoastr: comment fix
6845         * lib/ftoastr.c: "little" -> "little or no" in comment
6846
6847 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         stdint: port to GCC 4.3 + OSX + Octave
6850         On this platform, stdint.h is buggy and defines int64_t to long
6851         long int.  The replacement defined it to long int, causing
6852         problems with C++ style name mangling.  Instead, trust the system
6853         definition if INT64_MAX is defined, and likewise for the unsigned
6854         variant.   Problem reported by Jarno Rajahalme in
6855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6856         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6857         and don't mess with int64_t and INT64_MAX in this case.
6858         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6859
6860 2010-11-24  Bruno Haible  <bruno@clisp.org>
6861
6862         doc: Corrections regarding MacOS X 10.4 and 10.5.
6863         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6864         MacOS X.
6865         Reported by Simon Josefsson.
6866
6867 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6868
6869         Uninstall ".bin" files installed by relocwrapper.
6870         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6871         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6872         unless it is already there.
6873
6874 2010-11-21  Bruno Haible  <bruno@clisp.org>
6875
6876         Update for NetBSD 5.0.
6877         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6878         NetBSD; the test fails on NetBSD 5.0.
6879         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6880         about NetBSD.
6881
6882 2010-11-21  Bruno Haible  <bruno@clisp.org>
6883
6884         Update for HP-UX 11.23 and HP-UX 11.31.
6885         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6886         HP-UX.
6887
6888 2010-11-21  Bruno Haible  <bruno@clisp.org>
6889
6890         Update for MacOS X 10.5.
6891         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6892         MacOS X; the test fails on MacOS X 10.5.8.
6893         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6894         about MacOS X.
6895
6896 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6897
6898         bootstrap: add bootstrap_sync option.
6899         See discussion at
6900         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6901         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6902         * build-aux/bootstrap: Accept --bootstrap-sync to update
6903         bootstrap if it is not identical to the local gnulib's
6904         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6905         enable this by default.  Accept --no-bootstrap-sync to disable
6906         it.
6907
6908 2010-11-20  Bruno Haible  <bruno@clisp.org>
6909
6910         Ensure that <features.h> is included before __GLIBC__ is tested.
6911         * lib/printf-parse.h: Include <features.h>.
6912         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6913         Reported by Mike Frysinger <vapier@gentoo.org>.
6914
6915         Ensure that <features.h> is included before __GLIBC__ is tested.
6916         * lib/wchar.in.h: Include <features.h>.
6917         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6918         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6919         Reported by Mike Frysinger <vapier@gentoo.org>.
6920
6921         Ensure that <features.h> is included before __GLIBC__ is tested.
6922         * lib/arpa_inet.in.h: Include <features.h>.
6923         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6924         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6925         Reported by Mike Frysinger <vapier@gentoo.org>.
6926
6927         Ensure that <features.h> is included before __GLIBC__ is tested.
6928         * build-aux/link-warning.h: Include <features.h>.
6929         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6930         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6931         Reported by Mike Frysinger <vapier@gentoo.org>.
6932
6933         Ensure that <features.h> is included before __GLIBC__ is tested.
6934         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6935         Reported by Mike Frysinger <vapier@gentoo.org>.
6936
6937 2010-11-20  Bruno Haible  <bruno@clisp.org>
6938
6939         memmem: Fix autoconf test.
6940         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6941
6942 2010-11-20  Bruno Haible  <bruno@clisp.org>
6943
6944         Port to uClibc.
6945         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6946         * lib/fcntl.in.h: Likewise.
6947         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6948         * lib/mbrtowc.c (mbrtowc): Likewise.
6949         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6950         * lib/strerror_r.c: Likewise.
6951         * lib/unistr/u8-strnlen.c: Likewise.
6952         * lib/vasnprintf.c (decimal_point_char): Likewise.
6953         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6954         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6955         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6956         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6957         * tests/test-sigaction.c (handler, main): Likewise.
6958         * lib/freading.h: Treat uClibc like a non-glibc platform.
6959         * lib/freading.c: Likewise.
6960         * lib/gettext.h: Likewise.
6961         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6962         Likewise.
6963         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6964         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6965         * lib/propername.c (proper_name_utf8): Likewise.
6966         * lib/spawn.in.h: Likewise.
6967         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6968         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6969         mem_cd_iconveh_internal): Likewise.
6970         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6971         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6972         strstr, strcasestr): Likewise.
6973         * lib/unicodeio.c (unicode_to_mb): Likewise.
6974         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6975         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6976         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6977         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6978         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6979         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6980         * lib/unistr/u8-stpncpy.c: Likewise.
6981         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6982         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6983         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6984         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6985         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6986         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6987         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6988         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6989         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6990         Likewise.
6991         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6992         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6993         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6994         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6995         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6996         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6997         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6998         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6999         * tests/test-getopt.h (OPTIND_MIN): Likewise.
7000         * tests/test-striconveha.c (main): Likewise.
7001         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7002         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
7003         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
7004         * doc/posix-functions/getline.texi: Likewise.
7005         Reported by Mike Frysinger <vapier@gentoo.org>.
7006
7007 2010-11-20  Bruno Haible  <bruno@clisp.org>
7008
7009         nproc: Fix condition.
7010         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
7011         HAVE_PTHREAD_AFFINITY_NP.
7012
7013 2010-11-20  Bruno Haible  <bruno@clisp.org>
7014
7015         Fix a comment.
7016         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
7017
7018 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7019
7020         ftoastr: don't assume snprintf
7021         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
7022         Implement a subset of snprintf here, by using sprintf safely.
7023         * modules/ftoastr (Depends-on): Remove snprintf.
7024
7025 2010-11-19  Jim Meyering  <meyering@redhat.com>
7026
7027         test-rename.h: fix compilation failure
7028         * tests/test-rename.h (test_rename): Add omitted "}".
7029
7030 2010-11-17  Jim Meyering  <meyering@redhat.com>
7031
7032         maint.mk: add a URL discussing the no-@acronym policy
7033         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
7034
7035 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7036
7037         ftoastr: depend on snprintf, improve comments
7038         * lib/ftoastr.c: Also mention Loitsch's draft.
7039         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
7040         needed in the current implementation, but it might simplify
7041         speeding up the code later.
7042         * modules/ftoastr: Depend on snprintf; this improves portability.
7043         Suggested by Bruno Haible in the same email.
7044
7045         ftoastr: port to hosts lacking strtof and strtold
7046         Problem reported by Bruno Haible in
7047         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
7048         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
7049         environment and strtold (and presumably strtof) are not available.
7050         * modules/ftoastr (Files): Add m4/c-strtod.m4.
7051         (configure.ac): Require gl_C99_STRTOLD.
7052
7053 2010-11-18  Bruno Haible  <bruno@clisp.org>
7054
7055         c-strtold: Avoid link error on AIX 7.
7056         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
7057         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
7058         (gl_C_STRTOLD): Test whether strtold_l exists.
7059         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7060
7061 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7062
7063         intprops: new macro INT_BITS_STRLEN_BOUND
7064         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
7065         ftoastr.h.  This exposes an internal of intprops.h that was formerly
7066         not exposed.  Also, it uses a slightly tighter bound than before;
7067         though this makes no practical difference, we might as well be as
7068         tight as we easily can.
7069
7070         ftoastr: new module, for lossless conversion of floats to short strings
7071         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
7072         * modules/ftoastr: New files.
7073
7074 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7075
7076         bootstrap: port to Solaris sed
7077         * build-aux/bootstrap (get_version): Port to Solaris sed.
7078         See Ralf Wildenhues's note in
7079         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
7080
7081 2010-11-14  Jim Meyering  <meyering@redhat.com>
7082
7083         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
7084         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
7085         and move definition closer to sole use.
7086
7087 2010-11-13  Jim Meyering  <meyering@redhat.com>
7088
7089         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
7090         Now we require at least autoconf-2.59, which means the work-around
7091         is no longer needed.
7092         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
7093         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7094         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
7095         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
7096         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7097
7098 2010-11-13  Bruno Haible  <bruno@clisp.org>
7099
7100         rename, renameat: Avoid test failures at NFS mounted locations.
7101         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
7102         functions.
7103         (test_rename): Use assert_nonexistent.
7104         * tests/test-rename.c: Include <dirent.h>.
7105         * tests/test-renameat.c: Likewise.
7106         Reported by Gary V. Vaughan <gary@gnu.org>.
7107
7108         rename, renameat: Document Linux bug with NFS
7109         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
7110         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
7111         * doc/posix-functions/renameat.texi: Likewise.
7112         Suggested by Eric Blake.
7113
7114 2010-11-13  Bruno Haible  <bruno@clisp.org>
7115
7116         rename test: Add comments.
7117         * tests/test-rename.h (test_rename): Add structure and comments.
7118
7119 2010-11-13  Eric Blake  <eblake@redhat.com>
7120
7121         maintainer-makefile: cover a few more files
7122         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
7123         scripts generated within C files, for libvirt.
7124
7125 2010-11-13  Bruno Haible  <bruno@clisp.org>
7126
7127         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
7128         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
7129         character, return the number of bytes that belong together, not always
7130         1.
7131         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
7132         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
7133         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
7134         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
7135         number of bytes of an invalid character.
7136         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
7137         (main): Invoke it.
7138         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
7139         results.
7140         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
7141         malformed byte sequences.
7142         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
7143         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
7144         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
7145         Reported by Ben Pfaff and Paolo Bonzini.
7146
7147 2010-11-13  Bruno Haible  <bruno@clisp.org>
7148
7149         openat: Work around glibc bug with fchownat() and empty file names.
7150         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
7151         (gl_FUNC_FCHOWNAT): Invoke it.
7152         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
7153         * doc/posix-functions/fchownat.texi: Document the glibc bug.
7154         Reported by Gary V. Vaughan <gary@gnu.org>.
7155
7156 2010-11-13  Bruno Haible  <bruno@clisp.org>
7157
7158         openat: Ensure autoconf macro ordering.
7159         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
7160         gl_USE_SYSTEM_EXTENSIONS.
7161         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
7162
7163 2010-11-13  Bruno Haible  <bruno@clisp.org>
7164
7165         Update comments.
7166         * lib/unistr/u8-check.c: Update file name in comments.
7167         * lib/unistr/u8-mblen.c: Likewise.
7168         * lib/unistr/u8-prev.c: Likewise.
7169         * lib/unistr/u8-strmblen.c: Likewise.
7170         * lib/unistr/u8-strmbtouc.c: Likewise.
7171
7172 2010-11-13  Jim Meyering  <meyering@redhat.com>
7173
7174         tests: avoid test failure on Solaris 10 due to lack of PATH export
7175         * tests/test-update-copyright.sh: Don't forget to export PATH.
7176
7177         init.sh: ensure that IFS is defined, just in case...
7178         * tests/init.sh (setup_): Ensure that IFS is defined,
7179         so that saving and restoring it works as expected.  This
7180         appears to be useful at least for an old version of dash
7181         from a long time ago (RH 6).  See here for details:
7182         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
7183
7184         maint.mk: tighten "test a == b" check
7185         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
7186         test to files that contain something like #!/bin/sh.
7187         Without this, coreutils would get two false positives in
7188         the comments of C source files.
7189
7190 2010-11-12  Eric Blake  <eblake@redhat.com>
7191
7192         bootstrap: fix typo in previous attempt
7193         * build-aux/bootstrap (buildreq): Correct the grouping.
7194         Reported by Paul Eggert.
7195
7196         maintainer-makefile: prohibit test x == x
7197         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
7198         Based on a report by Matthias Bolte.
7199
7200         bootstrap: allow FreeBSD gzip
7201         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
7202         which has no '.' and goes to stderr.
7203         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
7204         Reported by Matthias Bolte.
7205
7206         maintainer-makefile: check for i18n setup
7207         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
7208         will likely work.
7209
7210 2010-11-12  Bruno Haible  <bruno@clisp.org>
7211
7212         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
7213         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
7214         * lib/nanosleep.c (nanosleep): Likewise.
7215
7216 2010-11-11  Bruno Haible  <bruno@clisp.org>
7217
7218         fcntl-h: Fix for use of C++ on glibc systems.
7219         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7220         also on glibc systems in C++ mode.
7221         Reported by Gary V. Vaughan <gary@gnu.org>.
7222
7223 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7224
7225         mknod: avoid false failure with dash
7226         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
7227
7228 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7229
7230         unlink: Fix "is it should" typo in diagnostic.
7231         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
7232         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
7233
7234 2010-11-11  Bruno Haible  <bruno@clisp.org>
7235
7236         Tests for module 'strerror_r-posix'.
7237         * modules/strerror_r-posix-tests: New file.
7238         * tests/test-strerror_r.c: New file.
7239         * tests/test-string-c++.cc: Check the signature of strerror_r.
7240
7241         New module 'strerror_r-posix'.
7242         * lib/string.in.h (strerror_r): New declaration.
7243         * lib/strerror_r.c: New file.
7244         * m4/strerror_r.m4: New file.
7245         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
7246         of strerror_r.
7247         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
7248         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7249         * modules/strerror_r-posix: New file.
7250         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
7251         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7252         * doc/posix-functions/strerror_r.texi: Mention the new module and the
7253         portability problems.
7254
7255 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
7256
7257         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
7258         line is also considered for output. Quoted function name in shell
7259         command, so temporary files for functions like MyClass::operator()
7260         are removed correctly without errors.
7261
7262 2010-11-09  Bruno Haible  <bruno@clisp.org>
7263
7264         * doc/posix-functions/strerror.texi: List more failing platforms.
7265
7266         * doc/posix-functions/strerror.texi: Add a comment.
7267
7268 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
7269
7270         fdopendir: fix bug on MacOS X when low on file descriptors
7271
7272         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
7273         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
7274         All callers changed.
7275         (fdopendir): Invoke save_cwd at the top level, not after using
7276         multiple dup() calls to use up file descriptors.  Then retry
7277         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
7278         less than the maximum number of open file descriptors, because
7279         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
7280         on Mac OS X 10.6.4 for tar 1.24
7281         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
7282         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
7283         and for tar 1.25
7284         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
7285
7286 2010-11-07  Bruno Haible  <bruno@clisp.org>
7287
7288         vasnprintf: Support I flag on glibc systems.
7289         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
7290         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
7291         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
7292         snprintf function.
7293         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
7294         glibc systems.
7295         * tests/test-vasnprintf-posix3.c: New file.
7296         * modules/vasnprintf-posix-tests (Files): Add it.
7297         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
7298
7299 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7300
7301         [html] Fix copy/paste bug: Use unique name for compiler warnings.
7302         * MODULES.html.sh: For compiler warnings, use name
7303         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
7304
7305 2010-11-05  Eric Blake  <eblake@redhat.com>
7306
7307         ceil, floor: avoid spurious failure with icc
7308         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
7309         [denormals-as-zero] when optimizing without -mieee-fp option.
7310         * tests/test-floorf2.c (floorf_reference): Likewise.
7311         * tests/test-ceilf1.c (dummy): New function.
7312         (main): Use it to outsmart icc's optimization.
7313         * tests/test-floorf1.c (dummy, main): Likewise.
7314
7315         tests: require working signbit
7316         * modules/ceilf-tests (Depends-on): Add signbit.
7317         * modules/ceill-tests (Depends-on): Likewise.
7318         * modules/floorf-tests (Depends-on): Likewise.
7319         * modules/floorl-tests (Depends-on): Likewise.
7320         * modules/round-tests (Depends-on): Likewise.
7321         * modules/roundf-tests (Depends-on): Likewise.
7322         * modules/roundl-tests (Depends-on): Likewise.
7323         * modules/trunc-tests (Depends-on): Likewise.
7324         * modules/truncf-tests (Depends-on): Likewise.
7325         * modules/truncl-tests (Depends-on): Likewise.
7326
7327         strtod: work around icc bug
7328         * lib/strtod.c (minus_zero): Define to working value.
7329         (strtod): Use it to avoid icc bug.
7330
7331         copysign: enhance tests
7332         * modules/copysign-tests (Files): Add minus-zero.h.
7333         * tests/test-copysign.c (main): Also test zeros.
7334
7335 2010-11-04  Eric Blake  <eblake@redhat.com>
7336
7337         ceil, floor, round, trunc: enhance tests of -0
7338         * tests/test-ceilf1.c (main): Ensure correct sign of result.
7339         * tests/test-ceill.c (main): Likewise.
7340         * tests/test-floorf1.c (main): Likewise.
7341         * tests/test-floorl.c (main): Likewise.
7342         * tests/test-round1.c (main): Likewise.
7343         * tests/test-roundf1.c (main): Likewise.
7344         * tests/test-roundl.c (main): Likewise.
7345         * tests/test-trunc1.c (main): Likewise.
7346         * tests/test-truncf1.c (main): Likewise.
7347         * tests/test-truncl.c (main): Likewise.
7348
7349 2010-11-04  Eric Blake  <eblake@redhat.com>
7350
7351         frexp, tests: work around ICC bug with -zero
7352         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
7353         works with more compilers.
7354         * tests/minus-zero.h: New file.
7355         * modules/ceilf-tests (Files): Include it.
7356         * modules/ceill-tests (Files): Likewise.
7357         * modules/floorf-tests (Files): Likewise.
7358         * modules/floorl-tests (Files): Likewise.
7359         * modules/frexp-nolibm-tests (Files): Likewise.
7360         * modules/frexp-tests (Files): Likewise.
7361         * modules/frexpl-nolibm-tests (Files): Likewise.
7362         * modules/frexpl-tests (Files): Likewise.
7363         * modules/isnan-tests (Files): Likewise.
7364         * modules/isnand-nolibm-tests (Files): Likewise.
7365         * modules/isnand-tests (Files): Likewise.
7366         * modules/isnanf-nolibm-tests (Files): Likewise.
7367         * modules/isnanf-tests (Files): Likewise.
7368         * modules/isnanl-nolibm-tests (Files): Likewise.
7369         * modules/isnanl-tests (Files): Likewise.
7370         * modules/round-tests (Files): Likewise.
7371         * modules/roundf-tests (Files): Likewise.
7372         * modules/roundl-tests (Files): Likewise.
7373         * modules/ldexpl-tests (Files): Likewise.
7374         * modules/signbit-tests (Files): Likewise.
7375         * modules/snprintf-posix-tests (Files): Likewise.
7376         * modules/sprintf-posix-tests (Files): Likewise.
7377         * modules/strtod-tests (Files): Likewise.
7378         * modules/trunc-tests (Files): Likewise.
7379         * modules/truncf-tests (Files): Likewise.
7380         * modules/truncl-tests (Files): Likewise.
7381         * modules/vsnprintf-posix-tests (Files): Likewise.
7382         * modules/vsprintf-posix-tests (Files): Likewise.
7383         * modules/vasnprintf-posix-tests (Files): Likewise.
7384         * modules/vasprintf-posix-tests (Files): Likewise.
7385         * tests/test-ceilf1.c (main): Use it.
7386         * tests/test-ceill.c (main): Likewise.
7387         * tests/test-floorf1.c (main): Likewise.
7388         * tests/test-floorl.c (main): Likewise.
7389         * tests/test-frexp.c (main): Likewise.
7390         * tests/test-frexpl.c (main): Likewise.
7391         * tests/test-isnan.c (main): Likewise.
7392         * tests/test-isnand.h (main): Likewise.
7393         * tests/test-isnanf.h (main): Likewise.
7394         * tests/test-isnanl.h (main): Likewise.
7395         * tests/test-ldexpl.c (main): Likewise.
7396         * tests/test-round.c (main): Likewise.
7397         * tests/test-roundf.c (main): Likewise.
7398         * tests/test-roundl.c (main): Likewise.
7399         * tests/test-signbit.c (test_signbitf, test_signbitd)
7400         (test_signbitl): Likewise.
7401         * tests/test-snprintf-posix.h (test_function): Likewise.
7402         * tests/test-sprintf-posix.h (test_function): Likewise.
7403         * tests/test-strtod.c (main): Likewise.
7404         * tests/test-trunc1.c (main): Likewise.
7405         * tests/test-truncf1.c (main): Likewise.
7406         * tests/test-truncl.c (main): Likewise.
7407
7408         isnanl: work around icc bug
7409         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
7410
7411 2010-11-03  Eric Blake  <eblake@redhat.com>
7412
7413         tests: fix compiler warnings
7414         * tests/test-getopt.h (test_getopt): Fix condition.
7415         * tests/test-getopt_long.h (test_getopt_long): Likewise.
7416         * tests/test-pipe2.c (main): Likewise.
7417         * tests/test-quotearg-simple.c (main): Avoid icc warning.
7418
7419         utimens: fix broken m4 test
7420         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
7421
7422 2010-10-28  Bruno Haible  <bruno@clisp.org>
7423
7424         posix_spawn*, getdtablesize: Relax license.
7425         * modules/posix_spawn (License): Change to LGPLv2+.
7426         * modules/posix_spawnp (License): Likewise.
7427         * modules/posix_spawn-internal (License): Likewise.
7428         * modules/posix_spawnattr_init (License): Likewise.
7429         * modules/posix_spawnattr_getflags (License): Likewise.
7430         * modules/posix_spawnattr_setflags (License): Likewise.
7431         * modules/posix_spawnattr_getpgroup (License): Likewise.
7432         * modules/posix_spawnattr_setpgroup (License): Likewise.
7433         * modules/posix_spawnattr_getschedparam (License): Likewise.
7434         * modules/posix_spawnattr_setschedparam (License): Likewise.
7435         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
7436         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
7437         * modules/posix_spawnattr_getsigdefault (License): Likewise.
7438         * modules/posix_spawnattr_setsigdefault (License): Likewise.
7439         * modules/posix_spawnattr_getsigmask (License): Likewise.
7440         * modules/posix_spawnattr_setsigmask (License): Likewise.
7441         * modules/posix_spawnattr_destroy (License): Likewise.
7442         * modules/posix_spawn_file_actions_init (License): Likewise.
7443         * modules/posix_spawn_file_actions_addclose (License): Likewise.
7444         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
7445         * modules/posix_spawn_file_actions_addopen (License): Likewise.
7446         * modules/posix_spawn_file_actions_destroy (License): Likewise.
7447         * modules/getdtablesize (License): Likewise.
7448         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
7449
7450 2010-10-26  Bruno Haible  <bruno@clisp.org>
7451
7452         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
7453         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
7454         Cygwin and mingw.
7455         Suggested by Eric Blake.
7456
7457 2010-10-26  Bruno Haible  <bruno@clisp.org>
7458
7459         stdio: Work around compilation error due to renameat() on Solaris 10.
7460         * lib/stdio.in.h: Include <unistd.h> on Solaris.
7461         * lib/renameat.c: Don't include <unistd.h> here.
7462         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
7463         Reported by Paul Eggert and Eric Blake.
7464
7465 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
7466
7467         renameat: port to Solaris 10, which declares renameat in unistd.h
7468
7469         * lib/renameat.c: Include unistd.h before stdio.h, because
7470         Solaris 10 declares renameat in unistd.h.  Problem encountered
7471         when building GNU tar 1.24 on Solaris 10.
7472
7473 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7474
7475         fdopendir: fix C89 compilation
7476         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
7477         compilers.
7478
7479 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7480
7481         inttostr: simplify by removing unnecessary redundancy
7482         * lib/anytostr.c: Don't include verify.h.
7483         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
7484         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
7485         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
7486         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
7487         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
7488         Likewise.
7489         * modules/inttostr (Depends-on): Remove 'verify'.
7490
7491 2010-10-23  Bruno Haible  <bruno@clisp.org>
7492
7493         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
7494         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
7495         Reported by Eric Blake.
7496
7497 2010-10-23  Bruno Haible  <bruno@clisp.org>
7498
7499         Tests: Fix LOCALE_JA on MirBSD 10.
7500         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
7501         to an UTF-8 locale.
7502         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
7503         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7504         Reported by Eric Blake.
7505
7506 2010-10-21  Bruno Haible  <bruno@clisp.org>
7507
7508         nl_langinfo test: Avoid test failure on NetBSD 5.
7509         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
7510         Reported by Eric Blake.
7511
7512 2010-10-21  Eric Blake  <eblake@redhat.com>
7513
7514         c-stack: work around libsigsegv 2.8 bug
7515         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
7516         overflow on at least PowerPC64.
7517
7518 2010-10-17  Bruno Haible  <bruno@clisp.org>
7519
7520         userspec: Drop redundant file.
7521         * modules/userspec (Files): Remove lib/inttostr.h.
7522
7523 2010-10-17  Bruno Haible  <bruno@clisp.org>
7524
7525         nl_langinfo tests: Silence some warnings.
7526         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
7527         Reported by Jim Meyering.
7528
7529 2010-10-17  Bruno Haible  <bruno@clisp.org>
7530
7531         Make use of GCC's attribute __alloc_size__.
7532         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
7533         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
7534         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
7535         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
7536         __alloc_size__.
7537         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
7538         Suggested by Jim Meyering.
7539
7540 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
7541
7542         bootstrap: anchor .gitignore entries.
7543         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
7544         with...
7545         (insert_vc_ignore): ... this new function, which prepends `/' to
7546         all .gitignore entries before passing them to
7547         insert_sorted_if_absent.
7548
7549 2010-10-16  Bruno Haible  <bruno@clisp.org>
7550
7551         nextafter: Fix configure check.
7552         * modules/nextafter (configure.ac): Correct expected prototype.
7553
7554 2010-10-16  Bruno Haible  <bruno@clisp.org>
7555
7556         termios: Update documentation.
7557         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
7558
7559 2010-10-16  Bruno Haible  <bruno@clisp.org>
7560
7561         tests: Make them compile with TinyCC.
7562         * tests/test-strstr.c (main): Remove parentheses around array
7563         initializer.
7564
7565 2010-10-15  Eric Blake  <eblake@redhat.com>
7566
7567         ignore-value: make header idempotent
7568         * lib/ignore-value.h: Add double-inclusion guards.
7569         Reported by Stefan Berger.
7570
7571 2010-10-15  Jim Meyering  <meyering@redhat.com>
7572
7573         GNUmakefile: handle "stable" target, not "major"
7574         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
7575         lists in maint.mk and announce-gen.  Without this, "make stable"
7576         would fail to ensure that $(VERSION) is up to date.
7577
7578 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
7579
7580         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
7581         & co.
7582
7583 2010-10-14  Bruno Haible  <bruno@clisp.org>
7584
7585         vasnprintf: Don't set errno to 0.
7586         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
7587         block that sets it to 0.
7588         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
7589
7590 2010-10-14  Bruno Haible  <bruno@clisp.org>
7591
7592         socketlib: Fix.
7593         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
7594         gl_PREREQ_SYS_H_WINSOCK2.
7595         Reported by Ian Beckwith <ianb@erislabs.net>.
7596
7597 2010-10-13  Jim Meyering  <meyering@redhat.com>
7598
7599         test-select-stdin.c: avoid warn_unused_result warnings
7600         * tests/test-select-stdin.c: Include "macros.h".
7601         ASSERT that read and fflush succeed.
7602
7603 2010-10-13  Jim Meyering  <meyering@redhat.com>
7604
7605         git-version-gen: do require git-VC'd files in cwd
7606         * build-aux/git-version-gen: Reject a git version string
7607         if there are no commits associated with the current directory.
7608         This avoids an unlikely false-positive (unrelated dir whose parent
7609         repository also contains a tag matching v*), as pointed out
7610         by Giuseppe Scrivano in
7611         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
7612
7613 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7614
7615         argv-iter: omit nonconforming declaration
7616         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
7617         enum arg_iter_err declaration, which doesn't conform to C99.
7618         Solaris 10 cc warns about this.
7619
7620 2010-10-13  Eric Blake  <eblake@redhat.com>
7621
7622         termios: fix compilation on mingw
7623         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
7624         (gl_TERMIOS_H): Adjust it on mingw.
7625         * modules/termios (Makefile.am): Substitute new key.
7626         * lib/termios.in.h (includes): Make include_next conditional.
7627         * doc/posix-headers/termios.texi (termios.h): Update
7628         documentation.
7629         Reported by Daniel P. Berrange.
7630
7631 2010-10-13  Jim Meyering  <meyering@redhat.com>
7632
7633         git-version-gen: don't require that .git/ be in the current dir
7634         * build-aux/git-version-gen: Adjust this script so that it works
7635         when run from any working directory beneath the top-level .git/-
7636         containing directory.  Inspired by a patch from Giuseppe Scrivano,
7637         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
7638
7639         test-select: avoid warn_unused_result warnings
7640         * tests/test-select.c: Include "macros.h".
7641         ASSERT that each call to read, write, and pipe succeeds.
7642         While not technically required, also check each "close".
7643         * modules/select-tests (Files): Add tests/macros.h.
7644
7645         test-symlinkat: remove declaration of unused local
7646         * tests/test-symlinkat.c (main): Remove unused local, "buf".
7647
7648         test-inttostr: avoid shadowing warnings
7649         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
7650         and use malloc rather than the stack for the same reason as
7651         mentioned in the comment justifying the other allocation.
7652
7653 2010-10-11  Bruno Haible  <bruno@clisp.org>
7654
7655         stdlib: Allow multiple gnulib generated replacements to coexist.
7656         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
7657         Reported by Sam Steingold <sds@gnu.org>.
7658
7659 2010-10-11  Jim Meyering  <meyering@redhat.com>
7660
7661         fix a documentation typo
7662         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
7663
7664 2010-10-11  Eric Blake  <eblake@redhat.com>
7665
7666         futimens: work around Solaris 11 bug
7667         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
7668         * tests/test-futimens.h (test_futimens): Enhance, rather than
7669         weaken test.
7670         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7671
7672 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7673
7674         Indentation.
7675         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
7676         higher-level operators more to the left.
7677
7678 2010-10-11  Jim Meyering  <meyering@redhat.com>
7679
7680         test-futimens: avoid unwarranted test failure on Solaris 5.11
7681         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
7682         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
7683         because it tries to dereference the NULL name argument.
7684
7685 2010-10-11  Bruno Haible  <bruno@clisp.org>
7686
7687         Indentation.
7688         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
7689         indentation.
7690
7691 2010-10-11  Jim Meyering  <meyering@redhat.com>
7692
7693         spawn.in.h: make indentation consistent with parentheses
7694         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
7695         Make indentation consistent with parentheses.
7696
7697 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
7698
7699         Fix mismatched parens in previous commit
7700         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
7701         parens.
7702
7703 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7704
7705         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
7706
7707         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
7708         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
7709         * lib/malloca.c: Include "verify.h".
7710         (verify1): Remove, replacing with a verify call.
7711         * lib/relocwrapper.c (verify1): Likewise.
7712         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
7713         Likewise.
7714         * modules/malloca (Depends-on): Add 'verify'.
7715         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
7716         * modules/vasnprintf (Depends-on): Add 'verify'.
7717         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
7718         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
7719         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
7720         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
7721         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
7722         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
7723         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
7724
7725         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
7726
7727         Formerly the style was sometimes 2*X - 1, because the C standard
7728         was wrongly thought to disallow ?: in integral constant expressions.
7729         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
7730         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
7731         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7732         * lib/stdint.in.h (_verify_intmax_size): Likewise.
7733         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
7734         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
7735         verify that time_t cannot be floating.
7736
7737 2010-10-08  Eric Blake  <eblake@redhat.com>
7738
7739         time: enforce recent POSIX ruling that time_t is integral
7740         * lib/time.in.h (__time_t_must_be_integral): Detect any
7741         problematic systems, allowing the rest of gnulib to assume POSIX.
7742
7743 2010-10-08  Jim Meyering  <meyering@redhat.com>
7744
7745         fdopendir: fix a bug on systems lacking openat and /proc support
7746         OpenBSD 4.7 is one such system.  The most noticeable effect was
7747         failure of any application making nontrivial use of fts: rm, du,
7748         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
7749           ./rm: traversal failed: `a': Bad file descriptor
7750         Debugging that, you see that even though FD 6 was closed just
7751         prior to the opendir call in fd_clone_opendir, its resulting
7752         dir->dd_fd was 8, rather than the expected value of 6:
7753
7754         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
7755         93                close (fd);
7756         (gdb) n
7757         94                dir = fd_clone_opendir (dupfd);
7758         (gdb) n
7759         95                saved_errno = errno;
7760         (gdb) p dir->dd_fd
7761         $11 = 8
7762
7763         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
7764         The problem is that on OpenBSD, fd_clone_opendir has to resort
7765         to using the old-style save/restore CWD mechanism, due to its
7766         lack of openat/proc support, and *that* would steal the FD (6)
7767         that opendir was supposed to use.
7768
7769         The fix is to squirrel away the desired FD so that save_cwd uses a
7770         different one, and then free the dest FD right before calling opendir.
7771         That guarantees opendir will use the required file descriptor.
7772
7773         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
7774
7775 2010-10-08  Bruno Haible  <bruno@clisp.org>
7776
7777         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
7778         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
7779
7780 2010-10-08  Bruno Haible  <bruno@clisp.org>
7781
7782         nanosleep: Make replacement POSIX compliant.
7783         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
7784         is out of range.
7785         Reported by Jim Meyering.
7786
7787 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7788
7789         bootstrap: add hook for altering gnulib.mk, for Bison
7790         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
7791         the Bison bootstrapping process can rewrite file names and variables
7792         in this file before later parts of 'bootstrap' use the file.
7793         Bison wants to include lib/gnulib.mk from the top-level makefile,
7794         so it needs the file names in this file to be relative to the top
7795         level, not relative to lib; plus it needs variable names to be
7796         rewritten.
7797         (slurp): Use the new function.
7798
7799         bootstrap: reformat for readability
7800         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7801
7802 2010-10-08  Eric Blake  <eblake@redhat.com>
7803
7804         docs: update cygwin progress
7805         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7806         1.7.7.
7807         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7808         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7809         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7810         * doc/posix-functions/carg.texi (carg): Likewise.
7811         * doc/posix-functions/cargf.texi (cargf): Likewise.
7812         * doc/posix-functions/casin.texi (casin): Likewise.
7813         * doc/posix-functions/casinf.texi (casinf): Likewise.
7814         * doc/posix-functions/casinh.texi (casinh): Likewise.
7815         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7816         * doc/posix-functions/catan.texi (catan): Likewise.
7817         * doc/posix-functions/catanf.texi (catanf): Likewise.
7818         * doc/posix-functions/catanh.texi (catanh): Likewise.
7819         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7820         * doc/posix-functions/ccos.texi (ccos): Likewise.
7821         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7822         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7823         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7824         * doc/posix-functions/cexp.texi (cexp): Likewise.
7825         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7826         * doc/posix-functions/cimag.texi (cimag): Likewise.
7827         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7828         * doc/posix-functions/clog.texi (clog): Likewise.
7829         * doc/posix-functions/clogf.texi (clogf): Likewise.
7830         * doc/posix-functions/conj.texi (conj): Likewise.
7831         * doc/posix-functions/conjf.texi (conjf): Likewise.
7832         * doc/posix-functions/cpow.texi (cpow): Likewise.
7833         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7834         * doc/posix-functions/cproj.texi (cproj): Likewise.
7835         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7836         * doc/posix-functions/creal.texi (creal): Likewise.
7837         * doc/posix-functions/crealf.texi (crealf): Likewise.
7838         * doc/posix-functions/csin.texi (csin): Likewise.
7839         * doc/posix-functions/csinf.texi (csinf): Likewise.
7840         * doc/posix-functions/csinh.texi (csinh): Likewise.
7841         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7842         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7843         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7844         * doc/posix-functions/ctan.texi (ctan): Likewise.
7845         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7846         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7847         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7848         * doc/posix-headers/complex.texi (complex.h): Likewise.
7849
7850 2010-10-07  Jim Meyering  <meyering@redhat.com>
7851
7852         parse-datetime: avoid compilation failure on OpenBSD 4.7
7853         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7854         This works around a compilation failure on OpenBSD 4.7:
7855         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7856
7857 2010-10-07  Eric Blake  <eblake@redhat.com>
7858
7859         docs: update cygwin progress
7860         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7861         1.7.6.
7862         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7863         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7864         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7865         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7866         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7867         Likewise.
7868         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7869         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7870         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7871         Likewise.
7872         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7873         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7874         Likewise.
7875         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7876         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7877         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7878         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7879         Likewise.
7880         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7881         Likewise.
7882         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7883
7884         docs: update parse-datetime history
7885         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7886         documentation of this function's history and alternatives.
7887
7888         cygwin: use more robust version check
7889         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7890         exclude an eventual cygwin 1.9.1.
7891         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7892         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7893         (gl_FUNC_STRCASESTR): Likewise.
7894         Reported by Bruno Haible.
7895
7896 2010-10-06  Bruno Haible  <bruno@clisp.org>
7897
7898         string, sys_select: Avoid #including large headers unless necessary.
7899         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7900         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7901         OSF/1, BeOS, Haiku.
7902         Reported by Jim Meyering.
7903
7904 2010-10-05  Eric Blake  <eblake@redhat.com>
7905
7906         memmem, strstr, strcasestr: fix bug with long periodic needle
7907         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7908         periodic needle having false positive.
7909         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7910         and cygwin 1.7.7.
7911         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7912         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7913         (gl_FUNC_STRCASESTR): Likewise.
7914         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7915         * tests/test-memmem.c (main): Expose the bug.
7916         * tests/test-strcasestr.c (main): Likewise.
7917         * tests/test-strstr.c (main): Likewise.
7918         * tests/test-c-strcasestr.c (main): Likewise.
7919         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7920         * doc/posix-functions/strstr.texi (strstr): Likewise.
7921         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7922         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7923
7924 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7925
7926         parse-datetime: do some more renaming
7927         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7928         parse_datetime, not get_date.  Mention the renaming.
7929         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7930         in comments.
7931         * m4/bison.m4: Likewise.
7932
7933 2010-10-05  Eric Blake  <eblake@redhat.com>
7934
7935         parse-datetime: better name than get_date
7936         * NEWS: Reword the deprecation notice.
7937         * modules/get_date: Rename to modules/parse-datetime.
7938         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7939         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7940         * lib/get_date.y: Rename to lib/parse-datetime.y.
7941         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7942         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7943         * doc/getdate.texi: Provide fallback wrapper.
7944         * lib/getdate.h: Move guts, and wrap...
7945         * lib/parse-datetime.h: ...new file.
7946         * lib/parse-datetime.y (get_date): Rename...
7947         (parse_datetime): ...to this.
7948         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7949         (gl_PARSE_DATETIME): ...to this.
7950         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7951         documentation.
7952         * modules/getdate (Files): Provide fallback docs and header.
7953         (Notice, Depends-on): Update references.
7954         * tests/test-parse-datetime.c: Likewise.
7955         * DEPENDENCIES: Likewise.
7956         * MODULES.html.sh (Date and time <time.h>): Likewise.
7957         * doc/parse-datetime.texi (Date input formats)
7958         (Authors of parse_datetime): Likewise.
7959         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7960         (Include): Likewise.
7961         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7962         * gnulib-tool: Likewise.
7963         * m4/bison.m4 (gl_BISON): Likewise.
7964         Suggested by Bruno Haible.
7965
7966 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7967
7968         more ports to Solaris tr, which needs [] around ranges
7969         * gnulib-tool: Solaris tr needs [] around ranges.
7970         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7971         * tests/test-pipe-filter-gi1.c (main): Likewise.
7972         * tests/test-pipe-filter-ii1.c (main): Likewise.
7973
7974 2010-10-05  Eric Blake  <eblake@redhat.com>
7975
7976         bootstrap: fix Solaris regression
7977         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7978         around ranges.
7979         Reported by Pádraig Brady.
7980
7981         bootstrap: work with pkg-config
7982         * build-aux/bootstrap (check_versions): Also transliterate - in
7983         prerequisite name.
7984         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7985         prerequisites that were already found, to avoid confusion.
7986         Reported by Justin Clift.
7987
7988         faccessat: remove unused wrappers
7989         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7990         presence of these wrappers dragged in -lgen on Solaris.
7991         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7992
7993 2010-10-05  Jim Meyering  <meyering@redhat.com>
7994
7995         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7996         * Makefile (sc_pragma_columns): New syntax-check rule.
7997
7998 2010-10-04  Bruno Haible  <bruno@clisp.org>
7999
8000         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
8001         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
8002         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
8003         Reported by Bruce Korb and Eric Blake.
8004
8005 2010-10-04  Bruno Haible  <bruno@clisp.org>
8006
8007         threadlib: Make option --with-libpth-prefix work.
8008         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
8009         use $LIBPTH, not just -lpth.
8010
8011 2010-10-04  Bruno Haible  <bruno@clisp.org>
8012
8013         Avoid line length limitation from HP NonStop system header files.
8014         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
8015         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
8016         * lib/ctype.in.h: Likewise.
8017         * lib/dirent.in.h: Likewise.
8018         * lib/errno.in.h: Likewise.
8019         * lib/fcntl.in.h: Likewise.
8020         * lib/float.in.h: Likewise.
8021         * lib/getopt.in.h: Likewise.
8022         * lib/iconv.in.h: Likewise.
8023         * lib/inttypes.in.h: Likewise.
8024         * lib/langinfo.in.h: Likewise.
8025         * lib/locale.in.h: Likewise.
8026         * lib/math.in.h: Likewise.
8027         * lib/netdb.in.h: Likewise.
8028         * lib/netinet_in.in.h: Likewise.
8029         * lib/poll.in.h: Likewise.
8030         * lib/pthread.in.h: Likewise.
8031         * lib/pty.in.h: Likewise.
8032         * lib/sched.in.h: Likewise.
8033         * lib/se-selinux.in.h: Likewise.
8034         * lib/search.in.h: Likewise.
8035         * lib/signal.in.h: Likewise.
8036         * lib/spawn.in.h: Likewise.
8037         * lib/stdarg.in.h: Likewise.
8038         * lib/stddef.in.h: Likewise.
8039         * lib/stdint.in.h: Likewise.
8040         * lib/stdio.in.h: Likewise.
8041         * lib/stdlib.in.h: Likewise.
8042         * lib/string.in.h: Likewise.
8043         * lib/strings.in.h: Likewise.
8044         * lib/sys_file.in.h: Likewise.
8045         * lib/sys_ioctl.in.h: Likewise.
8046         * lib/sys_select.in.h: Likewise.
8047         * lib/sys_socket.in.h: Likewise.
8048         * lib/sys_stat.in.h: Likewise.
8049         * lib/sys_time.in.h: Likewise.
8050         * lib/sys_times.in.h: Likewise.
8051         * lib/sys_utsname.in.h: Likewise.
8052         * lib/sys_wait.in.h: Likewise.
8053         * lib/sysexits.in.h: Likewise.
8054         * lib/termios.in.h: Likewise.
8055         * lib/time.in.h: Likewise.
8056         * lib/unistd.in.h: Likewise.
8057         * lib/wchar.in.h: Likewise.
8058         * lib/wctype.in.h: Likewise.
8059         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
8060         * modules/ctype (Makefile.am): Likewise.
8061         * modules/dirent (Makefile.am): Likewise.
8062         * modules/errno (Makefile.am): Likewise.
8063         * modules/fcntl-h (Makefile.am): Likewise.
8064         * modules/float (Makefile.am): Likewise.
8065         * modules/getopt-posix (Makefile.am): Likewise.
8066         * modules/iconv-h (Makefile.am): Likewise.
8067         * modules/inttypes (Makefile.am): Likewise.
8068         * modules/langinfo (Makefile.am): Likewise.
8069         * modules/locale (Makefile.am): Likewise.
8070         * modules/math (Makefile.am): Likewise.
8071         * modules/netdb (Makefile.am): Likewise.
8072         * modules/netinet_in (Makefile.am): Likewise.
8073         * modules/poll-h (Makefile.am): Likewise.
8074         * modules/pthread (Makefile.am): Likewise.
8075         * modules/pty (Makefile.am): Likewise.
8076         * modules/sched (Makefile.am): Likewise.
8077         * modules/search (Makefile.am): Likewise.
8078         * modules/selinux-h (Makefile.am): Likewise.
8079         * modules/signal (Makefile.am): Likewise.
8080         * modules/spawn (Makefile.am): Likewise.
8081         * modules/stdarg (Makefile.am): Likewise.
8082         * modules/stddef (Makefile.am): Likewise.
8083         * modules/stdint (Makefile.am): Likewise.
8084         * modules/stdio (Makefile.am): Likewise.
8085         * modules/stdlib (Makefile.am): Likewise.
8086         * modules/string (Makefile.am): Likewise.
8087         * modules/strings (Makefile.am): Likewise.
8088         * modules/sys_file (Makefile.am): Likewise.
8089         * modules/sys_ioctl (Makefile.am): Likewise.
8090         * modules/sys_select (Makefile.am): Likewise.
8091         * modules/sys_socket (Makefile.am): Likewise.
8092         * modules/sys_stat (Makefile.am): Likewise.
8093         * modules/sys_time (Makefile.am): Likewise.
8094         * modules/sys_times (Makefile.am): Likewise.
8095         * modules/sys_utsname (Makefile.am): Likewise.
8096         * modules/sys_wait (Makefile.am): Likewise.
8097         * modules/sysexits (Makefile.am): Likewise.
8098         * modules/termios (Makefile.am): Likewise.
8099         * modules/time (Makefile.am): Likewise.
8100         * modules/unistd (Makefile.am): Likewise.
8101         * modules/wchar (Makefile.am): Likewise.
8102         * modules/wctype (Makefile.am): Likewise.
8103
8104 2010-10-04  Bruno Haible  <bruno@clisp.org>
8105
8106         read-file tests: Avoid a test failure on NonStop Kernel.
8107         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
8108         a regular file.
8109         Reported by Joachim Schmitz <schmitz@hp.com>.
8110
8111 2010-10-03  Bruno Haible  <bruno@clisp.org>
8112
8113         gnulib-tool: Fixes for --create-testdir with --libtool.
8114         * gnulib-tool (func_get_automake_snippet): Don't augment
8115         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
8116         an executable.
8117         (func_create_testdir): Handle module 'alloca' like func_import.
8118         Reported by Bruce Korb <bruce.korb@gmail.com>.
8119
8120 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8121
8122         Avoid some lines longer than 80 characters.
8123         * lib/stdint.in.h: Break long comment lines.
8124         * lib/math.in.h: Likewise.
8125         (_GL_NUM_UINT_WORDS): New macro, for readability.
8126         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
8127         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
8128         * lib/stdlib.in.h: Likewise.
8129         * lib/spawn.in.h: Likewise.
8130         * lib/sys_socket.in.h: Update an URL.
8131         * lib/sys_stat.in.h: Break long line.
8132
8133 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
8134
8135         Improve pmccabe2html.
8136         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
8137         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
8138         when the sources change. Remove the line in the HTML about "Used
8139         ranges" (which implied that there might be other unused ranges),
8140         rename "Resume" to "Summary" (easier to understand for more users).
8141         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
8142         styles, and some unnecessary blank lines.
8143
8144 2010-10-03  Bruno Haible  <bruno@clisp.org>
8145             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8146
8147         acl: Add support for ACLs on NonStop Kernel.
8148         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
8149         Check whether the function aclsort() exists.
8150         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
8151         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
8152         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8153         (acl_nontrivial [HAVE_ACLSORT]: New function.
8154         (file_has_acl): Implement for NonStop Kernel.
8155         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8156         (qset_acl): Implement for NonStop Kernel.
8157         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
8158         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8159         (main): Implement for NonStop Kernel.
8160         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
8161         Kernel. Handle this flavor.
8162         * tests/test-set-mode-acl.sh: Likewise.
8163         * tests/test-copy-acl.sh: Likewise.
8164         * tests/test-copy-file.sh: Likewise.
8165
8166 2010-10-03  Bruno Haible  <bruno@clisp.org>
8167
8168         Info about ACLs on NonStop Kernel.
8169         * doc/acl-resources.txt: Add info about NonStop Kernel.
8170         References by Joachim Schmitz <schmitz@hp.com>.
8171
8172 2010-10-02  Bruno Haible  <bruno@clisp.org>
8173
8174         Define missing EDQUOT on NonStop Kernel.
8175         * lib/errno.in.h (EDQUOT): Assign a value if missing.
8176         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
8177         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
8178         missing.
8179         * doc/posix-headers/errno.texi: Mention the NSK bug.
8180         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
8181         Reported by Joachim Schmitz <schmitz@hp.com>.
8182
8183 2010-10-02  Bruno Haible  <bruno@clisp.org>
8184
8185         Update doc for POSIX:2008.
8186         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
8187         Update URL of POSIX specification.
8188
8189 2010-10-02  Bruno Haible  <bruno@clisp.org>
8190
8191         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
8192         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
8193         from gnulib, not from Automake.
8194
8195 2010-10-02  Bruno Haible  <bruno@clisp.org>
8196
8197         New module 'system-posix'.
8198         * modules/system-posix: New file.
8199         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
8200         module is present.
8201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
8202         GNULIB_SYSTEM_POSIX.
8203         * modules/stdlib (Depends-on): Remove sys_wait.
8204         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
8205         * doc/posix-functions/system.texi: Mention the new module.
8206         * doc/posix-headers/stdlib.texi: Likewise.
8207         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
8208         define test_sys_wait_macros to a no-op.
8209         Reported by Sam Steingold <sds@gnu.org>.
8210
8211 2010-09-30  Bruno Haible  <bruno@clisp.org>
8212
8213         More renaming from 'getdate' to 'get_date'.
8214         * doc/get_date.texi: Renamed from doc/getdate.texi.
8215         * modules/get_date (Files): Update.
8216         * MODULES.html.sh (Date and time <time.h>): Update.
8217         * DEPENDENCIES: Update.
8218         * gnulib-tool: Update comment.
8219         * m4/bison.m4 (gl_BISON): Likewise.
8220         * m4/get_date.m4 (gl_GET_DATE): Likewise.
8221
8222 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
8223
8224         bootstrap: support ACLOCAL_FLAGS during aclocal
8225         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
8226         can add additional -I dir for third-party .m4 files.
8227
8228 2010-09-30  Eric Blake  <eblake@redhat.com>
8229
8230         bootstrap: use glibtoolize on MacOS
8231         * build-aux/bootstrap (check_versions): Convert libtool into
8232         libtoolize.
8233         (tool search): Move libtool check earlier, and look for
8234         glibtoolize for MacOS.
8235         (gnulib_tool_options): Auto-add --libtool when appropriate.
8236         Reported by Justin Clift.
8237
8238         poll: fix typo that broke test on MacOS
8239         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
8240         Reported by Justin Clift.
8241
8242         getdate: rename to get_date
8243         Note: getdate.h is not renamed, to minimize client impact.
8244         * modules/getdate: Mark obsolete.  Move old contents...
8245         * modules/get_date: ...to new module name.
8246         * modules/getdate-tests: Move...
8247         * modules/get_date-tests: ...here.
8248         * m4/getdate.m4: Move...
8249         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
8250         * lib/getdate.y: Move...
8251         * lib/get_date.y: ...here.
8252         * tests/test-getdate.c: Move...
8253         * tests/test-get_date.c: ...here.
8254         * doc/posix-functions/getdate.texi (getdate): Update name.
8255         * NEWS: Mention the change.
8256
8257 2010-09-29  Bruno Haible  <bruno@clisp.org>
8258
8259         Separate the module 'waitpid' from the module 'sys_wait'.
8260         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
8261         present.
8262         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
8263         gl_MODULE_INDICATOR_FOR_TESTS.
8264         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
8265         * modules/sys_wait (Depends-on): Remove waitpid.
8266         (Makefile.am): Substitute GNULIB_WAITPID.
8267         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
8268         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
8269         signature only if the 'waitpid' module is present.
8270         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
8271         * NEWS: Mention the change.
8272         * modules/grantpt (Depends-on): Add waitpid.
8273         * modules/wait-process (Depends-on): Likewise.
8274
8275 2010-09-29  Bruno Haible  <bruno@clisp.org>
8276
8277         More tests for module 'sys_wait'.
8278         * modules/sys_wait-c++-tests: New file.
8279         * tests/test-sys_wait-c++.cc: New file.
8280         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
8281         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8282
8283 2010-09-29  Bruno Haible  <bruno@clisp.org>
8284
8285         New module 'waitpid'.
8286         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
8287         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
8288         Don't include <process.h>.
8289         (waitpid): Declare only, using modern idiom.
8290         * m4/waitpid.m4: New file.
8291         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
8292         * modules/waitpid: New file.
8293         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
8294         (Makefile.am): Update.
8295         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8296
8297 2010-09-28  Bruno Haible  <bruno@clisp.org>
8298
8299         poll: Assume ANSI C.
8300         * lib/poll.c (poll): Use an ANSI C declaration.
8301
8302 2010-09-28  Bruno Haible  <bruno@clisp.org>
8303
8304         poll-h: Create poll.h on all platforms.
8305         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
8306         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
8307         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
8308         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
8309         (gl_REPLACE_POLL_H): Don't set POLL_H.
8310         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
8311         * modules/poll-h (Depends-on): Add include_next.
8312         (Makefile.am): Create poll.h unconditionally. Substitute also
8313         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
8314
8315 2010-09-28  Bruno Haible  <bruno@clisp.org>
8316
8317         Tests for module 'poll-h'.
8318         * modules/poll-h-c++-tests: New file.
8319         * tests/test-poll-h-c++.cc: New file.
8320
8321         Tests for module 'poll-h'.
8322         * modules/poll-h-tests: New file.
8323         * tests/test-poll-h.c: New file.
8324
8325 2010-09-28  Bruno Haible  <bruno@clisp.org>
8326
8327         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
8328         * modules/poll-h (Depends-on): Add 'extensions'.
8329
8330 2010-09-28  Bruno Haible  <bruno@clisp.org>
8331
8332         New module 'poll-h'.
8333         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
8334         (poll): Use modern idiom.
8335         * modules/poll-h: New file.
8336         * modules/poll (Files): Remove lib/poll.in.h.
8337         (Depends-on): Add poll-h.
8338         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
8339         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
8340         * m4/poll_h.m4: New file.
8341         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
8342         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
8343         and invoke gl_REPLACE_POLL_H.
8344         * lib/poll.c: Use common idiom.
8345         * tests/test-poll.c: Likewise.
8346         * doc/posix-headers/poll.texi: Mention the poll-h module.
8347         Suggested by Eric Blake.
8348
8349 2010-09-26  Bruno Haible  <bruno@clisp.org>
8350
8351         sys_wait: Implement WSTOPSIG.
8352         * lib/sys_wait.in.h (WSTOPSIG): New macro.
8353         Reported by Simon Josefsson.
8354
8355 2010-09-26  Simon Josefsson  <simon@josefsson.org>
8356
8357         stdlib, sys_wait: Avoid compilation error on mingw.
8358         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
8359
8360 2010-09-26  Bruno Haible  <bruno@clisp.org>
8361
8362         stdlib tests: Avoid code duplication.
8363         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
8364         * modules/sys_wait-tests (Files): Likewise.
8365         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
8366         * tests/test-stdlib.c: Include test-sys_wait.h.
8367         (main): Invoke test_sys_wait_macros.
8368         * tests/test-sys_wait.c: Include test-sys_wait.h.
8369         (main): Invoke test_sys_wait_macros.
8370
8371 2010-09-25  Simon Josefsson  <simon@josefsson.org>
8372
8373         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
8374         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
8375         sure Windows sockets are working before calling getaddrinfo.
8376         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
8377         * doc/gnulib.texi (Windows sockets): Fix typo.
8378
8379 2010-09-25  Bruno Haible  <bruno@clisp.org>
8380
8381         Tests for module 'regex-quote'.
8382         * modules/regex-quote-tests: New file.
8383         * tests/test-regex-quote.c: New file.
8384
8385         New module 'regex-quote'.
8386         * lib/regex-quote.h: New file.
8387         * lib/regex-quote.c: New file.
8388         * modules/regex-quote: New file.
8389         Suggested by Reuben Thomas <rrt@sc3d.org>.
8390
8391 2010-09-24  Bruno Haible  <bruno@clisp.org>
8392
8393         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
8394         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
8395
8396 2010-09-23  Bruno Haible  <bruno@clisp.org>
8397
8398         setenv: Relax license.
8399         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
8400         Blake.
8401         Requested by Eric Blake.
8402
8403 2010-09-22  Bruno Haible  <bruno@clisp.org>
8404
8405         termios: Relax license.
8406         * modules/termios (License): Change to LGPLv2+.
8407         Requested by Eric Blake.
8408
8409 2010-09-22  Bruno Haible  <bruno@clisp.org>
8410
8411         threadlib: Allow the package to change the default to 'no'.
8412         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
8413         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
8414         Reported by Paul Eggert.
8415
8416 2010-09-22  Pádraig Brady  <P@draigbrady.com>
8417             Bruno Haible  <bruno@clisp.org>
8418
8419         Fix endless loop in mbmemcasecoll.
8420         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
8421         byte.
8422         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
8423
8424 2010-09-22  Bruno Haible  <bruno@clisp.org>
8425
8426         Tests for module 'memcoll'.
8427         * modules/memcoll-tests: New file.
8428         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
8429
8430         memcoll, xmemcoll: Clarify size vs. length.
8431         * modules/memcoll.c (memcoll0): Clarify specification.
8432         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
8433         passed to collate_error.
8434
8435 2010-09-22  Bruno Haible  <bruno@clisp.org>
8436
8437         Tests for module 'memcasecmp'.
8438         * modules/memcasecmp-tests: New file.
8439         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
8440
8441 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8442
8443         * lib/pthread.in.h: Add split double-inclusion guard, and include
8444         system <pthread.h> if there is one.  Use @@-style as in other
8445         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
8446         pthread.h doesn't.
8447         (pthread_mutexattr_destroy, pthread_mutexattr_init):
8448         (pthread_mutexattr_settype, pthread_mutex_trylock):
8449         New static inline functions, if there's no system <pthread.h>.
8450         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
8451         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
8452         Approximate with mutexes if the system lacks spinlocks, as in
8453         MacOS.
8454         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
8455         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
8456         @@-style.  Check for spinlocks separately.
8457         (gl_PTHREAD_DEFAULTS): New macro.
8458         * modules/pthread: Redo to use a more typical style for in.h files.
8459
8460 2010-09-21  Eric Blake  <eblake@redhat.com>
8461
8462         net_if: enhance tests
8463         * tests/test-net_if.c (main): Move signature checks earlier.
8464         Print failures to stderr.
8465         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
8466         Document the bug that we do not yet fix.
8467
8468 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8469
8470         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
8471         about gnulib, not GSS.
8472
8473 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8474
8475         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
8476         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
8477         for Emacs.
8478         * build-aux/pmccabe2html: Make Makefile.am example code more
8479         cut-and-paste friendly.
8480
8481 2010-09-21  Simon Josefsson  <simon@josefsson.org>
8482
8483         * tests/test-net_if.c: New file.
8484         * modules/net_if-tests: New file.
8485
8486 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
8487
8488         pthread: add pthread_spin_destroy
8489         * lib/pthread.in.h (pthread_spin_destroy): New function.
8490
8491 2010-09-19  Bruno Haible  <bruno@clisp.org>
8492
8493         gnulib-tool: Fix --help output.
8494         * gnulib-tool (func_usage): Fix help message.
8495         Reported by Reuben Thomas <rrt@sc3d.org>.
8496
8497 2010-09-18  Jim Meyering  <meyering@redhat.com>
8498
8499         maint.mk: avoid unexpanded \n in two diagnostics
8500         * top/maint.mk (sc_prohibit_always_true_header_tests):
8501         Don't use a literal \n in a halt=... assignment.  It would not be
8502         expanded, and the two \n bytes would appear in the diagnostic output
8503         rather than the desired newline.  Use halt=$$(printf ... instead.
8504         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
8505
8506 2010-09-18  Bruno Haible  <bruno@clisp.org>
8507
8508         netinet_in: Doc tweak.
8509         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
8510         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8511
8512 2010-09-18  Jim Meyering  <meyering@redhat.com>
8513
8514         init.sh: correct an outdated comment
8515         * tests/init.sh (create_exe_shims_):  s/function/alias/
8516
8517         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
8518         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
8519         a file named "*.exe" is removed between the glob expansion and the
8520         processing of that oddly named file.
8521
8522 2010-09-17  Eric Blake  <eblake@redhat.com>
8523
8524         mirbsd: add some more support
8525         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
8526         in BSD family.
8527         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
8528         devices as OpenBSD.
8529         * m4/host-os.m4 (mirbsd): Add MirBSD.
8530
8531         tests: fix unportable assumption on sys/wait.h
8532         * tests/test-sys_wait.c (main): Relax test.
8533         * tests/test-stdlib.c (main): Likewise.
8534
8535         init.sh: accomodate directory with no .exes
8536         * tests/init.sh: Accomodate directory containing only scripts.
8537
8538         tests: avoid compiler warning
8539         * tests/test-stdlib.c (main): Use the variable.
8540
8541         fdutimens, fdutimensat: update signature, again
8542         * lib/utimens.h (gl_futimens): Delete, and move signature...
8543         (fdutimens): ...here.
8544         (fdutimensat): Rearrange signature.
8545         (lutimensat): Rename variable for clarity.
8546         * lib/fdutimensat.c (fdutimensat): Update signature.
8547         * lib/utimens.c (fdutimens): Likewise.
8548         (gl_futimens): Delete.
8549         (utimens, lutimens): Update callers.
8550         * lib/futimens.c (futimens): Likewise.
8551         * tests/test-fdutimensat.c: Likewise.
8552         * tests/test-utimens.c: Likewise.
8553         * tests/test-futimens.h: Update comment.
8554         * NEWS: Mention this.
8555         Suggested by Paul Eggert.
8556
8557 2010-09-17  Bruno Haible  <bruno@clisp.org>
8558
8559         Take over the maintenance of some older macros from Autoconf.
8560         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
8561         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
8562         GNU Autoconf.
8563         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
8564         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
8565
8566 2010-09-17  Eric Blake  <eblake@redhat.com>
8567
8568         fdutimensat: drop atflag validation
8569         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
8570         with valid fd, to close a race scenario where futimens is
8571         unsupported and FILE was replaced by a symlink.
8572         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
8573         accordingly.
8574         Suggested by Paul Eggert.
8575
8576 2010-09-16  Bruno Haible  <bruno@clisp.org>
8577
8578         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
8579         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
8580
8581 2010-09-16  Bruno Haible  <bruno@clisp.org>
8582
8583         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
8584         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
8585         login_tty exists.
8586         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8587
8588 2010-09-16  Bruno Haible  <bruno@clisp.org>
8589
8590         login_tty: Make the replacement code work on BSD systems.
8591         * lib/login_tty.c: Include <sys/ioctl.h>.
8592         (login_tty): Use ioctl TIOCSCTTY when available.
8593         * modules/login_tty (Depends-on): Add sys_ioctl.
8594         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8595
8596 2010-09-16  Bruno Haible  <bruno@clisp.org>
8597
8598         login_tty: Stricter unit test.
8599         * modules/login_tty-tests (Depends-on): Add tcgetsid.
8600         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
8601         and tcgetsid() after login_tty.
8602         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8603
8604 2010-09-16  Bruno Haible  <bruno@clisp.org>
8605
8606         New module 'tcgetsid'.
8607         * lib/tcgetsid.c: New file.
8608         * m4/tcgetsid.m4: New file.
8609         * modules/tcgetsid: New file.
8610         * modules/termios (Depends-on): Add c++defs, warn-on-use.
8611         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
8612         GNULIB_TCGETSID, HAVE_TCGETSID.
8613         * lib/termios.in.h: Include <sys/types.h>.
8614         (tcgetsid): New declaration.
8615         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
8616         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
8617         * doc/posix-functions/tcgetsid.texi: Mention the new module.
8618         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
8619
8620 2010-09-16  Bruno Haible  <bruno@clisp.org>
8621
8622         Tests for module 'termios'.
8623         * modules/termios-c++-tests: New file.
8624         * modules/termios-tests: New file.
8625         * tests/test-termios-c++.cc: New file.
8626         * tests/test-termios.c: New file.
8627
8628         New module 'termios'.
8629         * modules/termios: New file.
8630         * lib/termios.in.h: New file.
8631         * m4/termios_h.m4: New file.
8632         * doc/posix-headers/termios.texi: Mention the new module.
8633
8634 2010-09-16  Eric Blake  <eblake@redhat.com>
8635
8636         fdutimensat: add an atflag parameter
8637         * lib/fdutimensat.c (fdutimensat): Add new parameter.
8638         * lib/utimens.h (fdutimensat): Update prototype.
8639         * tests/test-fdutimensat.c: Adjust test to match.
8640         * NEWS: Document the change.
8641         Suggested by Paul Eggert.
8642
8643 2010-09-16  Bruno Haible  <bruno@clisp.org>
8644
8645         Fix typos in comments.
8646         * lib/striconveh.h: Fix typo in comment.
8647         * lib/login_tty.c (login_tty): Likewise.
8648
8649 2010-09-15  Bruno Haible  <bruno@clisp.org>
8650
8651         stdlib: clarify MirBSD WEXITSTATUS bug
8652         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
8653         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8654
8655 2010-09-15  Eric Blake  <eblake@redhat.com>
8656
8657         stdlib: work around MirBSD WEXITSTATUS bug
8658         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
8659         * modules/stdlib (Depends-on): Add sys_wait.
8660         * tests/test-sys_wait.c (main): Enhance test.
8661         * tests/test-stdlib.c (main): Likewise.
8662         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
8663
8664         docs: mention MacOS issue with WEXITSTATUS(constant)
8665         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
8666         issue.
8667         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8668
8669         strnlen: add tests
8670         * modules/strnlen-tests: New file.
8671         * tests/test-strnlen.c: Likewise.
8672
8673 2010-09-14  Bruno Haible  <bruno@clisp.org>
8674
8675         unistr/base: Avoid link errors when module 'libunistring' is also used.
8676         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
8677         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
8678         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
8679         Declare also when HAVE_LIBUNISTRING is set.
8680         Reported by Pádraig Brady <P@draigbrady.com>.
8681
8682 2010-09-14  Eric Blake  <eblake@redhat.com>
8683
8684         test-rawmemchr: make more robust
8685         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
8686         (Depends-on, configure.ac): Add needed prerequisites to use it.
8687         * modules/memchr-tests (Files, Depends-on, configure.ac):
8688         Likewise, to avoid implicit reliance on memchr module prereqs.
8689         * tests/test-memchr.c (main): Ensure proper masking.
8690         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
8691         reads.
8692
8693         memchr: detect glibc Alpha bug
8694         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
8695         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
8696         Alpha.
8697         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
8698         * tests/test-memchr.c (main): Enhance test.
8699         Reported by Nelson H. F. Beebe.
8700
8701 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8702
8703         fts, getcwd, glob: audit for dirfd returning -1
8704         * lib/fts.c (opendir): Remove #define; no longer used.
8705         (opendirat): New arg PDIR_FD.  All callers changed.
8706         (fts_build, _opendir2): Use new opendirat to avoid the need for
8707         dirfd, or for checking whether dirfd returns a negative value.
8708         Don't use opendir; always use openat followed by fdopendir.
8709         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
8710         it.
8711         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
8712         returns -1 here.
8713         * modules/fts (Depends-on): Remove dirfd.
8714         * modules/getcwd (Depends-on): Likewise.
8715
8716 2010-09-13  Eric Blake  <eblake@redhat.com>
8717
8718         float: fix broken MirBSD header
8719         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
8720         * doc/posix-headers/float.texi (float.h): Document it.
8721
8722 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8723
8724         fts: use O_NOFOLLOW to avoid race condition when opening a directory
8725         * lib/fts.c (opendirat): New arg extra_flags.
8726         (__opendir2): Use it to avoid following symlinks when opening
8727         a directory, if symlinks are not supposed to be followed.  See
8728         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
8729
8730         fdopendir: preserve argument fd before returning
8731         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
8732         (fdopendir_with_dup, fd_clone_opendir): New static functions.
8733         (fdopendir): Use them, arranging for FD to be open to the same
8734         directory that it was when it started.  (It might be temporarily
8735         closed while fdopendir is running, so this not thread- or
8736         signal-safe.)  Be careful to do the right thing even when file
8737         descriptors are scarce and dup fails with errno == EMFILE.  See
8738         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
8739
8740 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
8741
8742         regex: Pass the system regex if its only problem is 32-bit regoff_t.
8743         * NEWS: Document change.
8744         * m4/regex.m4: Disable test for regoff_t size.
8745
8746 2010-09-13  Jim Meyering  <meyering@redhat.com>
8747
8748         fts: don't operate on an invalid file descriptor after failed dup
8749         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
8750         negative file descriptor.
8751
8752 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8753
8754         savedir: add streamsavedir, deprecate fdsavedir
8755         * NEWS: Mention deprecation of fdsavedir.
8756         * lib/savedir.c (streamsavedir): New extern function, whose name
8757         ends in "savedir" to be consistent with the others.  This differs
8758         from savedirstream in that it doesn't close its argument.  The
8759         next version of GNU tar will use this instead of fdsavedir, to
8760         avoid some race conditions and conserve file descriptors.
8761         (savedirstream): Reimplement as a wrapper around streamsavedir.
8762         (fdsavedir): Add a comment deprecating this function.  As far as
8763         I know, only GNU tar used it, and GNU tar doesn't need it any more.
8764         * lib/savedir.h (streamsavedir): New decl.
8765         (fdsavedir): Add a comment deprecating this.
8766
8767 2010-09-10  Bruno Haible  <bruno@clisp.org>
8768
8769         langinfo: Fix last commit.
8770         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
8771         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
8772         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8773
8774 2010-09-10  Bruno Haible  <bruno@clisp.org>
8775
8776         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
8777         * lib/progreloc.c (O_EXEC): Define fallback.
8778
8779 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8780
8781         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
8782         * NEWS: Document recent changes to fcntl-h.
8783         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
8784         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
8785         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
8786         Similarly for O_SEARCH; this last was already true, but not documented.
8787         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
8788         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
8789         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
8790         Likewise.
8791         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
8792         is zero, not whether it is defined.
8793         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
8794         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
8795         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
8796
8797 2010-09-10  Bruno Haible  <bruno@clisp.org>
8798
8799         langinfo, nl_langinfo: Fix for IRIX 5.3.
8800         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8801         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8802         HAVE_LANGINFO_YESEXPR.
8803         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8804         HAVE_LANGINFO_YESEXPR.
8805         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8806         HAVE_LANGINFO_T_FMT_AMPM is 0.
8807         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8808         HAVE_LANGINFO_YESEXPR is 0.
8809         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8810         NOEXPR.
8811         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8812         * doc/posix-functions/nl_langinfo.texi: Likewise.
8813         Reported by Eric Blake.
8814
8815 2010-09-10  Bruno Haible  <bruno@clisp.org>
8816
8817         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8818         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8819         on FreeBSD 8.0 and OpenBSD 4.6.
8820         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8821         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8822         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8823         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8824         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8825         ac_includes_default.
8826         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8827
8828 2010-09-09  Eric Blake  <eblake@redhat.com>
8829
8830         strsignal: work around NetBSD bug
8831         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8832         * lib/string.in.h (includes): Likewise.
8833         * doc/posix-functions/strsignal.texi (strsignal): Document the
8834         bug.
8835         Reported by Nelson H. F. Beebe.
8836
8837         gnulib-tool: work with NetBSD /bin/sh
8838         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8839         (func_get_description, func_get_comment, func_get_status)
8840         (func_get_notice, func_get_applicability, func_get_filelist)
8841         (func_get_dependencies, func_get_autoconf_early_snippet)
8842         (func_get_autoconf_snippet, func_get_automake_snippet)
8843         (func_get_include_directive, func_get_link_directive)
8844         (func_get_license, func_get_maintainer, func_import): Avoid
8845         shell syntax errors from parsing syntax extensions.
8846
8847 2010-09-09  Bruno Haible  <bruno@clisp.org>
8848
8849         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8850         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8851         a reliable way to determine whether the 'alias' command works.
8852
8853 2010-09-08  Jim Meyering  <meyering@redhat.com>
8854
8855         init.sh: penalize a set-x-impaired shell; don't disqualify it
8856         * tests/init.sh: Too many shells corrupt application stderr when
8857         you set -x, so we can't afford to disqualify them, since at least
8858         on Irix-6.5, that would disqualify all bourne shells.
8859         Instead, use a two-pass approach.
8860         On the first pass, try to find a shell that meets the stricter
8861         condition that set -x does not corrupt stderr.
8862         If no shell meets the stricter condition, retest each candidate
8863         shell, but without that extra condition.  Finally, when
8864         VERBOSE=yes is requested and set -x might cause trouble, simply
8865         issue a warning and refrain from enabling debug output.
8866
8867 2010-09-08  Eric Blake  <eblake@redhat.com>
8868
8869         unsetenv: fix OpenBSD bug
8870         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8871         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8872         documentation.
8873         Reported by Jim Meyering.
8874
8875         strtod: work around IRIX 6.5 bug
8876         * lib/strtod.c (strtod): Reparse number on shorter string if
8877         exponent parse was invalid.
8878         * tests/test-strtod.c (main): Add check for "0x1p 2".
8879         Reported by Tom G. Christensen.
8880
8881         getopt: optimize previous patch
8882         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8883         empty variable.  Speed up awk script.
8884         Reported by Paolo Bonzini.
8885
8886 2010-09-08  Jim Meyering  <meyering@redhat.com>
8887
8888         test.sh: disqualify shells for which set -x corrupts stderr
8889         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8890         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8891         appear in stderr output.  For example, this command:
8892             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8893         prints "P=1" on those two systems:
8894
8895 2010-09-08  Bruno Haible  <bruno@clisp.org>
8896
8897         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8898         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8899         commands, because some shells ignore redirections when there is an
8900         error in the command lookup.
8901         Reported by Eric Blake.
8902
8903 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8904
8905         * lib/regex.h: Fix a mention of `regex_compile' (should be
8906         `re_compile_pattern').
8907         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8908         (re_set_registers): Correct name of parameter in comment.
8909
8910         * doc/regex.texi: Add documentation for missing syntax flags.
8911         Remove commented-out documentation of defunct syntax option
8912         RE_NO_EMPTY_ALTS.
8913         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8914         Add documentation of re_set_registers.
8915         Document trick to re-use a pattern buffer by setting fastmap manually.
8916         Update documentation of struct re_pattern_buffer per public members.
8917         Uncomment documentation of equivalence class operators and
8918         collating symbol operators, since they are now implemented,
8919         Explain leftmost-longest matching in relation to alternatives.
8920         Tidy documentation of substring matching.
8921         Remove POSIX documentation, which is done better in
8922         glibc, and refer the reader there. Keep BSD API documentation, as
8923         that is not readily available elsewhere.
8924
8925 2010-09-07  Eric Blake  <eblake@redhat.com>
8926
8927         getopt: handle POSIXLY_CORRECT set but not exported
8928         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8929         export state of POSIXLY_CORRECT, due to bash set -o posix.
8930         Reported by Dustin J. Mitchell.
8931
8932 2010-09-05  Bruno Haible  <bruno@clisp.org>
8933
8934         gnulib-tool: Highlight the changed options.
8935         * gnulib-tool (func_usage): Display the --import, --add-import,
8936         --remove-import explanations in bold font.
8937
8938 2010-09-06  Karl Berry  <karl@gnu.org>
8939
8940         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8941
8942 2010-09-05  Bruno Haible  <bruno@clisp.org>
8943
8944         uniwidth/width: Update comment.
8945         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8946         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8947
8948 2010-09-05  Bruno Haible  <bruno@clisp.org>
8949
8950         isinf, isnan: Relax license.
8951         * modules/isinf (License): Change from GPL to LGPL, with consent from
8952         Ben Pfaff.
8953         * modules/isnan (License): Likewise.
8954         Requested by Ludovic Courtès.
8955
8956 2010-09-04  Bruno Haible  <bruno@clisp.org>
8957
8958         gnulib-tool: Help migration from --import to --add-import or --update.
8959         * gnulib-tool: Emit a verbose error message when --import is used
8960         without any module name.
8961
8962 2010-09-04  Bruno Haible  <bruno@clisp.org>
8963
8964         Update doc about gnulib-tool.
8965         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8966         'gnulib-tool --update' in more detail.
8967         Reported by Eric Blake.
8968
8969 2010-09-04  Bruno Haible  <bruno@clisp.org>
8970
8971         gnulib-tool: Change --import. New options --add/remove-import.
8972         * gnulib-tool: New options --add-import, --remove-import.
8973         (func_usage): Document them.
8974         (have_associative): Define always.
8975         (func_import): In import mode, don't merge the specified settings with
8976         the cached settings. Implement remove-import mode.
8977         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8978         Explain when to use them versus --import.
8979         (Simple update): Use --add-import instead of --import.
8980         * NEWS: Mention the change.
8981
8982 2010-09-04  Bruno Haible  <bruno@clisp.org>
8983
8984         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8985         separate gnulib.mk.
8986
8987 2010-09-04  Bruno Haible  <bruno@clisp.org>
8988
8989         gnulib-tool: Don't talk about CVS any more.
8990         * gnulib-tool (func_usage, func_import): Write "version control"
8991         instead of CVS.
8992
8993 2010-09-04  Jim Meyering  <meyering@redhat.com>
8994
8995         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8996         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8997         false positives (whose names may be ill-chosen) when searching
8998         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8999         would cause a false-positive.
9000
9001         avoid coreutils "make distcheck" failure
9002         Coreutils tests with an absolute build directory name that contains
9003         a space.  Not quoting this directory name caused a failure.
9004         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
9005         * tests/test-vc-list-files-cvs.sh: Likewise.
9006
9007 2010-09-04  Bruno Haible  <bruno@clisp.org>
9008
9009         gnulib-tool: Avoid error when run in a package without Makefile.am.
9010         * gnulib-tool: When collecting the m4dirs in a package that does not
9011         have a Makefile.am, eliminate those directories that contain no
9012         gnulib-cache.m4. Fix expression that counts these directories.
9013
9014 2010-09-04  Bruno Haible  <bruno@clisp.org>
9015
9016         update-copyright test: Improve output when perl is missing or too old.
9017         * tests/test-update-copyright.sh: Move test of Perl version down after
9018         the test whether Perl exists. Provide an explanation relating Perl's
9019         error message to Automake's SKIP: message.
9020
9021 2010-09-04  Bruno Haible  <bruno@clisp.org>
9022
9023         Don't augment PATH in TESTS_ENVIRONMENT.
9024         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
9025         set abs_aux_dir instead of augmenting PATH.
9026         * modules/vc-list-files-tests (Makefile.am): Likewise.
9027         * tests/test-update-copyright.sh: Augment PATH here.
9028         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
9029         path_prepend_.
9030         * tests/test-vc-list-files-git.sh: Likewise.
9031
9032 2010-09-04  Jim Meyering  <meyering@redhat.com>
9033
9034         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
9035         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
9036
9037 2010-09-04  Bruno Haible  <bruno@clisp.org>
9038
9039         strdup: Fix compilation error in C++ mode.
9040         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
9041         the macro.
9042
9043 2010-09-04  Bruno Haible  <bruno@clisp.org>
9044
9045         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
9046         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
9047         macro into a function.
9048         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9049
9050 2010-09-04  Bruno Haible  <bruno@clisp.org>
9051
9052         Set PATH_SEPARATOR the same way autoconf does.
9053         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
9054         the value of PATH_SEPARATOR the same way autoconf-generated configure
9055         scripts do.
9056         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
9057         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
9058
9059 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9060
9061         Set PATH_SEPARATOR the same way autoconf does.
9062         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
9063         the same way autoconf-generated configure scripts do.
9064         * posix-modules: Likewise.
9065
9066 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9067
9068         hash: fix safe_hasher const typo
9069         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
9070         const; otherwise, there is a type error later.
9071
9072 2010-09-02  Jim Meyering  <meyering@redhat.com>
9073
9074         test-update-copyright.sh: require perl 5.8.0
9075         * tests/test-update-copyright.sh: Require 5.8.0,
9076         which Tom G. Christensen has confirmed is adequate,
9077         while 5.6.1 is not.
9078
9079 2010-09-02  Eric Blake  <eblake@redhat.com>
9080
9081         tests: init.sh improvements for re-exec'ing with zsh
9082         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
9083         -vx through shell re-exec.
9084         Reported by Tom G. Christensen.
9085
9086         wctype: fix typo in previous commit
9087         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
9088         Reported by Ludovic Courtès.
9089
9090 2010-09-02  Jim Meyering  <meyering@redhat.com>
9091
9092         test-update-copyright.sh: skip test if Perl is too old
9093         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
9094         Reported by Tom G. Christensen.
9095
9096 2010-09-02  Bruno Haible  <bruno@clisp.org>
9097
9098         wctype: Avoid compilation error on IRIX 6.5.30.
9099         * lib/wctype.in.h (iswblank): Declare with a replacement if
9100         REPLACE_ISWBLANK is set.
9101         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
9102         declared. Set REPLACE_ISWBLANK.
9103         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
9104         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
9105         * doc/posix-headers/wctype.texi: Likewise.
9106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9107
9108 2010-09-01  Bruno Haible  <bruno@clisp.org>
9109
9110         New module 'socketlib'.
9111         * modules/socketlib: New file.
9112         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
9113         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
9114         * modules/sockets (Depends-on): Add socketlib.
9115         Suggested by Sam Steingold <sds@gnu.org>.
9116
9117 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9118
9119         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
9120
9121         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
9122         when one needs search access to a directory but not read access.
9123         On systems where it is available, it works in some cases where
9124         O_RDONLY does not, namely on directories that are searchable but
9125         not readable, and which need only to be searchable.  If O_SEARCH
9126         is not available, fall back to the traditional method of using
9127         O_RDONLY.
9128
9129         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
9130         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
9131         when opening a directory that needs only to be searchable.
9132         * lib/chdir-safer.c (chdir_no_follow): Likewise.
9133         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
9134         * lib/openat-proc.c (openat_proc_name): Likewise.
9135         * lib/openat.c (openat_needs_fchdir): Likewise.
9136         * lib/save-cwd.c (save_cwd): Likewise.
9137         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
9138
9139 2010-08-28  Bruno Haible  <bruno@clisp.org>
9140
9141         New module 'host-cpu-c-abi'.
9142         * modules/host-cpu-c-abi: New file.
9143         * m4/host-cpu-c-abi.m4: New file, based on part of
9144         clisp/src/m4/general.m4.
9145         Requested by Sam Steingold <sds@gnu.org>.
9146
9147 2010-08-31  Eric Blake  <eblake@redhat.com>
9148         and Jim Meyering  <meyering@redhat.com>
9149
9150         hash: factor, and guard against misbehaving hasher function
9151         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
9152         of table->hasher's return value.  Also protect against a hash value
9153         so large that adding it to table->bucket results in a NULL pointer.
9154         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
9155         Use it in place of open-coded check-and-abort.
9156
9157 2010-08-30  Bruno Haible  <bruno@clisp.org>
9158
9159         hash: silence spurious clang warning
9160         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
9161         Reported by Eric Blake.
9162
9163 2010-08-30  Eric Blake  <eblake@redhat.com>
9164
9165         strstr, memmem, strcasestr: avoid leaked shell message
9166         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
9167         FreeBSD.
9168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9169         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9170
9171         tests: silence clang warning
9172         * tests/test-malloca.c (do_allocation): Avoid dead store.
9173
9174 2010-08-29  Bruno Haible  <bruno@clisp.org>
9175
9176         gettext: Fix recent mistake.
9177         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
9178
9179 2010-08-29  Bruno Haible  <bruno@clisp.org>
9180
9181         selinux-h: Offer a --without-selinux option.
9182         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
9183         --without-selinux was specified, skip all tests and define
9184         HAVE_SELINUX_SELINUX_H to 0.
9185         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
9186         set LIB_SELINUX to empty.
9187         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
9188         gl_LIBSELINUX. If --without-selinux was specified, replace
9189         selinux/context.h.
9190         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
9191
9192 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9193             Bruno Haible  <bruno@clisp.org>
9194
9195         Make the module 'realloc-gnu' work again on AIX and OSF/1.
9196         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
9197         of HAVE_REALLOC.
9198         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
9199         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
9200         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
9201         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9202
9203 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9204             Bruno Haible  <bruno@clisp.org>
9205
9206         Make the module 'calloc-gnu' work again on AIX and OSF/1.
9207         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
9208         HAVE_CALLOC.
9209         * lib/xmalloc.c: Update accordingly.
9210         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9211         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
9212         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
9213
9214 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9215             Bruno Haible  <bruno@clisp.org>
9216
9217         Make the module 'malloc-gnu' work again on AIX and OSF/1.
9218         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
9219         HAVE_MALLOC.
9220         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
9221         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
9222         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9223
9224 2010-08-29  Bruno Haible  <bruno@clisp.org>
9225
9226         Update modules list.
9227         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
9228         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
9229         (String handling <string.h>): Add astrxfrm.
9230         (File system functions): Add readlinkat.
9231
9232 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9233
9234         Tests for module 'realloc-gnu'.
9235         * modules/realloc-gnu-tests: New file.
9236         * tests/test-realloc-gnu.c: New file.
9237
9238         Tests for module 'calloc-gnu'.
9239         * modules/calloc-gnu-tests: New file.
9240         * tests/test-calloc-gnu.c: New file.
9241
9242         Tests for module 'malloc-gnu'.
9243         * modules/malloc-gnu-tests: New file.
9244         * tests/test-malloc-gnu.c: New file.
9245
9246 2010-08-28  Bruno Haible  <bruno@clisp.org>
9247
9248         Rename module 'realloc' -> 'realloc-gnu'.
9249         * modules/realloc-gnu: New file, copied from modules/realloc.
9250         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
9251         obsolete.
9252         * modules/mgetgroups (Depends-on): Update.
9253         * doc/posix-functions/realloc.texi: Update.
9254         * NEWS: Mention the change.
9255
9256         Rename module 'calloc' -> 'calloc-gnu'.
9257         * modules/calloc-gnu: New file, copied from modules/calloc.
9258         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
9259         obsolete.
9260         * doc/posix-functions/calloc.texi: Update.
9261         * NEWS: Mention the change.
9262
9263         Rename module 'malloc' -> 'malloc-gnu'.
9264         * modules/malloc-gnu: New file, copied from modules/malloc.
9265         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
9266         obsolete.
9267         * modules/argp (Depends-on): Update.
9268         * modules/regex (Depends-on): Update.
9269         * doc/posix-functions/malloc.texi: Update.
9270         * NEWS: Mention the change.
9271
9272 2010-08-28  Eric Blake  <eblake@redhat.com>
9273
9274         pread, pwrite: add missing dependency
9275         * modules/pread (Depends-on): Add extensions.
9276         * modules/pwrite (Depends-on): Likewise.
9277
9278 2010-08-28  Bruno Haible  <bruno@clisp.org>
9279
9280         unistr/u*-strchr: Fix tests dependencies.
9281         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
9282         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
9283         Reported by Ian Beckwith <ianb@erislabs.net>.
9284
9285 2010-08-28  Bruno Haible  <bruno@clisp.org>
9286
9287         read-file: Don't occupy too much unused memory.
9288         * lib/read-file.c (fread_file): Shrink the buffer at the end.
9289
9290 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
9291             Eric Blake  <eblake@redhat.com>
9292             Bruno Haible  <bruno@clisp.org>
9293
9294         read-file: Avoid memory reallocations with regular files.
9295         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
9296         (fread_file): With regular files, use the remaining length as the
9297         initial buffer size.  Check against overflow.
9298         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
9299         sys_stat.
9300
9301 2010-08-28  Bruno Haible  <bruno@clisp.org>
9302
9303         ftello: Relax license.
9304         * modules/ftello (License): Relax to LGPLv2+.
9305         Reported by Eric Blake.
9306
9307 2010-08-28  Bruno Haible  <bruno@clisp.org>
9308
9309         Avoid relocwrapper link errors due to gnulib replacement functions.
9310         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
9311         function.
9312         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9313
9314 2010-08-28  Bruno Haible  <bruno@clisp.org>
9315
9316         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
9317         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
9318         defined.
9319         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
9320         Suggested by Eric Blake.
9321
9322 2010-08-28  Bruno Haible  <bruno@clisp.org>
9323
9324         sys_socket, netdb: Ensure socklen_t gets defined.
9325         * modules/sys_socket (Depends-on): Add socklen.
9326         * modules/netdb (Depends-on): Likewise.
9327         * modules/getaddrinfo (Depends-on): Remove socklen.
9328         * modules/getsockopt (Depends-on): Likewise.
9329         * modules/setsockopt (Depends-on): Likewise.
9330         * tests/test-sys_socket.c: Check that socklen_t is defined.
9331         * tests/test-netdb.c: Likewise.
9332         * m4/socklen.m4: Update comments.
9333         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9334
9335 2010-08-27  Eric Blake  <eblake@redhat.com>
9336
9337         login_tty: add missing dependency
9338         * modules/login_tty (Depends-on): Add pty.
9339
9340 2010-08-26  Eric Blake  <eblake@redhat.com>
9341
9342         lib-symbol-versions: fix m4 quoting
9343         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
9344         format for AC_LINK_IFELSE.
9345
9346         glob: fix compile test
9347         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
9348
9349         btowc: fix missing file
9350         * modules/btowc (Files): Also ship locale-fr.m4.
9351
9352         lseek: fix link test
9353         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
9354         AC_LINK_IFELSE.
9355
9356         include_next: silence autoconf 2.68 warning
9357         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
9358         AC_COMPILE_IFELSE as special.
9359         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
9360         autoconf < 2.68.
9361
9362         acl: fix compilation test
9363         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
9364         AC_COMPILE_IFELSE.
9365
9366 2010-08-26  Bruno Haible  <bruno@clisp.org>
9367
9368         Modernize AC_TRY_RUN invocations.
9369         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
9370         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9371         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
9372         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
9373         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
9374         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9375         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9376         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9377         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9378         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9379         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9380         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9381         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9382         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9383         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9384         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9385         gl_MBRLEN_NUL_RETVAL): Likewise.
9386         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9387         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9388         Likewise.
9389         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9390         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9391         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9392         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9393         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
9394         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
9395         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
9396         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9397         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
9398         Likewise.
9399         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9400         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
9401         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9402         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9403         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9404         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9405         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9406         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
9407         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9408         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9409
9410 2010-08-26  Bruno Haible  <bruno@clisp.org>
9411
9412         Modernize AC_TRY_LINK invocations.
9413         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
9414         AC_TRY_LINK.
9415         * m4/argp.m4 (gl_ARGP): Likewise.
9416         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9417         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9418         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
9419         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
9420         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
9421         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
9422         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9423         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9424         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
9425         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
9426         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
9427         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
9428         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
9429         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9430         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
9431         * m4/hostent.m4 (gl_HOSTENT): Likewise.
9432         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9433         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
9434         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
9435         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
9436         Likewise.
9437         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
9438         Likewise.
9439         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
9440         Likewise.
9441         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
9442         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
9443         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
9444         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9445         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9446         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9447         * m4/servent.m4 (gl_SERVENT): Likewise.
9448         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9449         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9450         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9451         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9452         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9453         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9454         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9455         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9456         * modules/tsearch-tests (configure.ac): Likewise.
9457
9458 2010-08-26  Bruno Haible  <bruno@clisp.org>
9459
9460         Modernize AC_TRY_COMPILE invocations.
9461         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
9462         AC_TRY_COMPILE.
9463         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
9464         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
9465         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
9466         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
9467         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
9468         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
9469         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
9470         * m4/lock.m4 (gl_LOCK): Likewise.
9471         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
9472         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
9473         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
9474         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9475         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
9476         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
9477         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
9478         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
9479         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
9480         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
9481         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
9482         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9483         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
9484         extraneous semicolon.
9485
9486 2010-08-26  Jim Meyering  <meyering@redhat.com>
9487
9488         stat-time: relax license LGPL
9489         * modules/stat-time (License): Change from GPL to LGPL,
9490         with consent from all contributors, for use in libguile.
9491         Requested by Ludovic Courtès.
9492
9493 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
9494
9495         poll: return immediately on POLLHUP.
9496         * lib/poll.c (poll): Always set timeout before wait_timeout is
9497         computed.
9498
9499 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9500
9501         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
9502         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
9503         rmdir ("dir/.//"), unlinkat.
9504
9505 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9506
9507         stdbool: avoid spurious failure with modern xlc
9508         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9509
9510 2010-08-24  Bruno Haible  <bruno@clisp.org>
9511
9512         getloadavg: simplify code
9513         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
9514         gl_have_func. Update comments.
9515
9516 2010-08-24  Eric Blake  <eblake@redhat.com>
9517
9518         getloadavg: don't define SVR4 on cygwin
9519         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
9520         only define SVR4 when -lkvm is required.
9521         Reported by Yaakov Selkowitz.
9522
9523 2010-08-24  Bruno Haible  <bruno@clisp.org>
9524
9525         priv-set: fix comment
9526         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
9527
9528 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9529
9530         priv-set: fix comments
9531         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
9532         to match code, as suggested by David Bartley in:
9533         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
9534
9535 2010-08-23  Eric Blake  <eblake@redhat.com>
9536
9537         stdbool: avoid rejecting clang
9538         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9539         * tests/test-stdbool.c: Enable more tests if using the system
9540         <stdbool.h> instead of the gnulib replacement.
9541         (main): Move xlc bug test to a runtime test for all compilers.
9542         Reported by Anders Kaseorg.
9543
9544         argz: fix shell quoting issue
9545         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
9546         Reported by Charles Wilson.
9547
9548 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
9549             Erik Faye-Lund <kusmabite@gmail.com>
9550
9551         poll, select: handle ERROR_BROKEN_PIPE.
9552         * lib/poll.c (win32_compute_revents): Return POLLHUP when
9553         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9554         * lib/select.c (win32_compute_revents): Do not mark a pipe
9555         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9556
9557 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
9558
9559         fts: allow compilation with C++
9560         * lib/fts_.h: Specify extern "C" linkage with C++.
9561
9562 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9563
9564         Fix gnulib-tool sed script de-commentation for AIX sed.
9565         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
9566         sed.
9567
9568 2010-08-17  Eric Blake  <eblake@redhat.com>
9569
9570         test-stddef: test for (some) offsetof bugs
9571         * tests/test-stddef.c: Enhance test to ensure correct type of
9572         offsetof.
9573         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
9574         that we are not fixing at this time.
9575
9576 2010-08-15  Bruno Haible  <bruno@clisp.org>
9577
9578         stpncpy: Allow stpncpy to be defined as a macro.
9579         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
9580         if it's already correctly declared.
9581         * lib/string.in.h (stpncpy): Undefine before redefining.
9582         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
9583
9584 2010-08-14  Bruno Haible  <bruno@clisp.org>
9585
9586         Rename module 'memxfrm' to 'amemxfrm'.
9587         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
9588         (amemxfrm): Renamed from memxfrm.
9589         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
9590         (amemxfrm): Renamed from memxfrm.
9591         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
9592         * NEWS: Mention the change.
9593         * MODULES.html.sh (String handling <string.h>): Update.
9594         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
9595         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
9596         * lib/unicase/u16-casexfrm.c: Likewise.
9597         * lib/unicase/u32-casexfrm.c: Likewise.
9598         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
9599         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
9600         * lib/uninorm/u16-normxfrm.c: Likewise.
9601         * lib/uninorm/u32-normxfrm.c: Likewise.
9602         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
9603         memxfrm.
9604         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
9605         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
9606         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
9607         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
9608         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
9609         Suggested by Paul Eggert.
9610
9611 2010-08-14  Bruno Haible  <bruno@clisp.org>
9612
9613         Tests for module 'astrxfrm'.
9614         * modules/astrxfrm-tests: New file.
9615         * tests/test-astrxfrm.c: New file.
9616
9617         New module 'astrxfrm'.
9618         * lib/astrxfrm.h: New file.
9619         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
9620         * modules/astrxfrm: New file.
9621
9622 2010-08-14  Reuben Thomas <rrt@sc3d.org>
9623
9624         regex: Tweak doc.
9625         * doc/regex.texi (Overview): Don't mention regex.c.
9626         (GNU Regular Expression Compiling): Likewise.
9627         (Match-end-of-line Operator): Mention 'not_eol'.
9628
9629 2010-08-14  Brian Gough  <bjg@gnu.org>
9630             Bruno Haible  <bruno@clisp.org>
9631
9632         git-merge-changelog: add doc relating to use with bzr and hg.
9633         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
9634
9635 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
9636
9637         pthread: fix pthread.h creation for srcdir != builddir
9638         * modules/pthread (Makefile.am): Fix the rule to work also in a
9639         non-srcdir build.
9640
9641 2010-08-13  Karl Berry  <karl@gnu.org>
9642
9643         * doc/regex.texi (Predefined Syntaxes): @smallexample.
9644         * doc/posix-*/*: force line break before @url of POSIX
9645         specifications.
9646         Suggested by Werner Lemberg.
9647
9648 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9649
9650         strtod: fix const diagnostic
9651         * lib/strtod.c (strtod): Don't assign const char * to char *,
9652         as this elicits a warning from GCC when warnings are enabled.
9653
9654 2010-08-10  Pádraig Brady <P@draigbrady.com>
9655         and Eric Blake  <eblake@redhat.com>
9656
9657         copy-acl: ignore ENOTSUP on HP-UX
9658         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
9659         so that it is available for HP-UX.
9660         * lib/copy-acl.c (qcopy_acl): Use it.
9661         Reported by Patrick M. Callahan.
9662
9663 2010-08-10  Eric Blake  <eblake@redhat.com>
9664
9665         open, chown: relax license
9666         * modules/open (License): Change to LGPLv2+, with consent by all
9667         authors, for use in augeas.
9668         * modules/chown (License): Likewise.
9669         * modules/lchown (Likewise): Likewise.
9670         Requested by Adam Stokes.
9671
9672 2010-08-09  Karl Berry  <karl@gnu.org>
9673
9674         * build-aux/ar-lib: new file, import from Automake.
9675         * config/srclist.txt: autocheck for updates.
9676
9677 2010-08-09  Eric Blake  <eblake@redhat.com>
9678
9679         readlinkat: adjust client modules
9680         * modules/areadlinkat (Depends-on): Use readlinkat, not
9681         symlinkat.
9682         * modules/areadlinkat-with-size (Depends-on): Likewise.
9683
9684         mknod: be more vocal about danger of running tests as root
9685         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
9686         root, since that is just asking for problems.
9687         Suggested by Bruno Haible, based on a report by Rainer Tammer.
9688
9689         readlinkat: split into its own module
9690         * modules/symlinkat: Split readlinkat...
9691         * modules/readlinkat: ...into separate module.
9692         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
9693         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
9694         * lib/symlinkat.c (readlinkat): Move...
9695         * lib/readlinkat.c: ...into new file.
9696         * modules/symlinkat-tests: Split readlinkat test...
9697         * modules/readlinkat-tests: ...into separate module.
9698         * tests/test-symlinkat.c: Split...
9699         * tests/test-readlinkat.c: ...into new file.
9700         * NEWS: Document the split.
9701         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
9702         * lib/unistd.in.h (readlinkat): Likewise.
9703         Suggested by Bruno Haible.
9704
9705 2010-08-08  Bruno Haible  <bruno@clisp.org>
9706
9707         memxfrm: Speed up.
9708         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
9709         that usually only one call to strxfrm is necessary for each string
9710         part.
9711         Reported by Paul Eggert <eggert@cs.ucla.edu>.
9712
9713 2010-08-07  Karl Berry  <karl@gnu.org>
9714
9715         * doc/posix-headers/limits.texi,
9716         * doc/posix-functions/malloc.texi,
9717         * doc/posix-functions/strsignal.texi: missing @item.
9718         * doc/ld-version-script.texi: spurious leading i.
9719         * doc/regex.texi (Interval Operators): no commas inside @var.
9720
9721 2010-08-01  Bruno Haible  <bruno@clisp.org>
9722
9723         Integrate the regex documentation.
9724         * doc/gnulib.texi: Define 'cn' index.
9725         (Regular expressions): New a chapter that includes regex.texi and
9726         regexprops-generic.texi.
9727         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
9728         syntax.
9729
9730         Whitespace cleanup.
9731         * doc/regex.texi: Remove trailing spaces.
9732
9733         Add regex documentation.
9734         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
9735         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
9736         Written by Kathy A. Hargreaves and Karl Berry.
9737
9738 2010-08-01  Bruno Haible  <bruno@clisp.org>
9739
9740         link: Update documentation.
9741         * doc/posix-functions/link.texi: Update regarding Solaris.
9742
9743 2010-07-31  Bruno Haible  <bruno@clisp.org>
9744
9745         Update modules list.
9746         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
9747         (String handling <string.h>): Add memcmp2, memxfrm.
9748         (Container data structures): Add xlist, xsublist, xoset.
9749         (Core language properties): Add alignof, unused-parameter.
9750         (Process control, Numeric conversion functions <stdlib.h>): Renamed
9751         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
9752         (Unibyte characters <ctype.h>): New section.
9753         (String handling <string.h>): New section.
9754         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
9755         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
9756         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
9757         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
9758         tan, tanh, tanl, y0, y1, yn.
9759         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
9760         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
9761         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
9762         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
9763         unlockpt, vdprintf, vdprintf-posix.
9764         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
9765         (File system functions): Add concat-filename, sys_file, sys_ioctl,
9766         xconcat-filename.
9767         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
9768         getdtablesize, pipe2, pipe2-safer.
9769         (Security): New section.
9770         (Networking functions): Add accept4.
9771         (Signal handling): Add sigpipe.
9772         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
9773         mbmemcasecoll.
9774         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
9775         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
9776         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
9777         pipe-filter-ii.
9778         (Misc): Add argp-version-etc, login_tty, parse-duration.
9779
9780 2010-07-31  Bruno Haible  <bruno@clisp.org>
9781
9782         Improve doc in MODULES.html.
9783         * modules/linkat (Description): Add the word "function".
9784         * modules/mkfifo (Description): Likewise.
9785         * modules/mknod (Description): Likewise.
9786         * modules/remove (Description): Likewise.
9787         * modules/renameat (Description): Likewise.
9788         * modules/stat (Description): Likewise.
9789         * modules/symlink (Description): Likewise.
9790         * modules/unlink (Description): Likewise.
9791
9792 2010-07-31  Bruno Haible  <bruno@clisp.org>
9793
9794         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
9795         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
9796         option --enable/disable-c++ instead of --enable/disable-cxx.
9797         * NEWS: Mention the change.
9798
9799 2010-07-31  Bruno Haible  <bruno@clisp.org>
9800
9801         readlink, areadlink: Relax test a bit.
9802         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9803         alternative to ENOTDIR.
9804         * tests/test-areadlink.h (test_areadlink): Likewise.
9805         Reported by Rainer Tammer.
9806
9807 2010-07-31  Bruno Haible  <bruno@clisp.org>
9808
9809         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9810         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9811         character, perform the search using U_STRCHR.
9812         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9813         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9814         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9815         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9816         Suggested by Paolo Bonzini.
9817
9818 2010-07-31  Bruno Haible  <bruno@clisp.org>
9819
9820         unistr/u*-strstr: Fix dependencies.
9821         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9822         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9823         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9824
9825 2010-07-31  Bruno Haible  <bruno@clisp.org>
9826
9827         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9828         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9829         the beginning of the loop.
9830         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9831         cases in 'switch' statement.
9832
9833         unistr/u8-strchr: Fix several bugs.
9834         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9835         the string. When not found, return NULL, not a pointer near the end.
9836
9837         More tests for unistr/u8-strchr.
9838         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9839         that the function does not read past the first occurrence of the byte
9840         being searched.
9841         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9842         * tests/unistr/test-u16-strchr.c (main): New function.
9843         * tests/unistr/test-u32-strchr.c (main): New function.
9844
9845 2010-07-31  Bruno Haible  <bruno@clisp.org>
9846
9847         posix-modules: Ignore backup files of documentation files.
9848         * posix-modules: grep only through files named *.texi.
9849
9850 2010-07-31  Bruno Haible  <bruno@clisp.org>
9851
9852         symlinkat: Fix documentation.
9853         * doc/posix-functions/readlinkat.texi: Fix module name.
9854
9855 2010-07-31  Bruno Haible  <bruno@clisp.org>
9856
9857         fchownat: Replace also when chown has the trailing slash bug.
9858         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9859         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9860         introduced on 2010-04-10.
9861         Reported by Rainer Tammer.
9862
9863 2010-07-31  Bruno Haible  <bruno@clisp.org>
9864
9865         linkat: Work around AIX 7.1 bug.
9866         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9867         whether linkat handles trailing slash correctly. If not, replace linkat
9868         and define LINKAT_TRAILING_SLASH_BUG.
9869         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9870         check whether (fd1,file1) points to a directory if file1 or file2 ends
9871         in a slash. Code taken from lib/link.c.
9872         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9873         Reported by Rainer Tammer.
9874
9875 2010-07-31  Bruno Haible  <bruno@clisp.org>
9876
9877         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9878         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9879         This disables an xlc optimization that was causing wrong test results.
9880         Reported by Rainer Tammer.
9881
9882 2010-07-31  Bruno Haible  <bruno@clisp.org>
9883
9884         iconv: Work around AIX 6.1..7.1 bug.
9885         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9886         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9887         cross-compiling, guess no on all versions of AIX.
9888         Reported by Rainer Tammer.
9889
9890 2010-07-31  Bruno Haible  <bruno@clisp.org>
9891
9892         readlink: Relax test a bit.
9893         * tests/test-readlink.h (test_readlink): Allow different errno value
9894         when readlink is called with a file name that ends in / and refers to
9895         a file.
9896         Suggested by Eric Blake.
9897         Reported by Rainer Tammer.
9898
9899 2010-07-31  Bruno Haible  <bruno@clisp.org>
9900
9901         copysign: Does not require -lm on glibc systems.
9902         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9903         gl_COMMON_DOUBLE_MATHFUNC.
9904         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9905
9906 2010-07-31  Bruno Haible  <bruno@clisp.org>
9907
9908         duplocale: Work around AIX 7.1 bug.
9909         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9910         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9911         * lib/duplocale.c (rpl_duplocale): Update comment.
9912         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9913         Reported by Rainer Tammer.
9914
9915 2010-07-30  Bruno Haible  <bruno@clisp.org>
9916
9917         dirfd: Avoid link error on AIX 7.1.
9918         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9919         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9920         exist, set REPLACE_DIRFD.
9921         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9922         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9923         * doc/posix-functions/dirfd.texi: Update.
9924         Reported by Rainer Tammer.
9925
9926 2010-07-30  Eric Blake  <eblake@redhat.com>
9927
9928         strtod: next round of AIX fixes
9929         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9930         exponent.
9931         * tests/test-strtod.c (main): Enhance tests.
9932         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9933         Reported by Rainer Tammer.
9934
9935         futimens: fix configure check
9936         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9937         Reported by Bruno Haible.
9938
9939 2010-07-30  Bruno Haible  <bruno@clisp.org>
9940
9941         getline: Update regarding AIX.
9942         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9943         Reported by Rainer Tammer.
9944
9945 2010-07-30  Bruno Haible  <bruno@clisp.org>
9946
9947         wcwidth: Drop replacement on AIX 7.
9948         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9949         AIX 7.
9950         Reported by Rainer Tammer.
9951
9952 2010-07-30  Bruno Haible  <bruno@clisp.org>
9953
9954         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9955         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9956         a 'char *'.
9957         Reported by Rainer Tammer.
9958
9959 2010-07-30  Bruno Haible  <bruno@clisp.org>
9960
9961         unlink: Update regarding AIX.
9962         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9963         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9964         Reported by Rainer Tammer.
9965
9966 2010-07-30  Bruno Haible  <bruno@clisp.org>
9967
9968         symlink: Update regarding AIX.
9969         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9970         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9971         Reported by Rainer Tammer.
9972
9973 2010-07-30  Bruno Haible  <bruno@clisp.org>
9974
9975         strndup: Update regarding AIX.
9976         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9977         AIX 7.
9978         Reported by Rainer Tammer.
9979
9980 2010-07-30  Bruno Haible  <bruno@clisp.org>
9981
9982         stat: Update regarding AIX.
9983         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9984         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9985         Reported by Rainer Tammer.
9986
9987 2010-07-30  Bruno Haible  <bruno@clisp.org>
9988
9989         truncl: Fix autoconf test.
9990         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9991         whether truncl works.
9992         Reported by Rainer Tammer.
9993
9994 2010-07-30  Bruno Haible  <bruno@clisp.org>
9995
9996         round: Update regarding AIX.
9997         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9998         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9999         Reported by Rainer Tammer.
10000
10001 2010-07-30  Bruno Haible  <bruno@clisp.org>
10002
10003         rename: Update regarding AIX.
10004         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
10005         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
10006         Reported by Rainer Tammer.
10007
10008 2010-07-30  Bruno Haible  <bruno@clisp.org>
10009
10010         printf.m4: Update regarding AIX.
10011         * m4/printf.m4: Update comments regarding AIX.
10012         Reported by Rainer Tammer.
10013
10014 2010-07-30  Bruno Haible  <bruno@clisp.org>
10015
10016         iconv: Update regarding AIX.
10017         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
10018         AIX 7.
10019         Reported by Rainer Tammer.
10020
10021 2010-07-30  Bruno Haible  <bruno@clisp.org>
10022
10023         getopt: Update regarding AIX.
10024         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
10025         no on AIX.
10026         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
10027         Reported by Rainer Tammer.
10028
10029 2010-07-30  Bruno Haible  <bruno@clisp.org>
10030
10031         ldexpl; Update regarding AIX.
10032         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
10033         on AIX 7.
10034         Reported by Rainer Tammer.
10035
10036 2010-07-30  Bruno Haible  <bruno@clisp.org>
10037
10038         frexpl: Update regarding AIX.
10039         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
10040         on AIX 7.
10041         Reported by Rainer Tammer.
10042
10043 2010-07-30  Bruno Haible  <bruno@clisp.org>
10044
10045         open, fopen: Update regarding AIX.
10046         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
10047         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10048         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
10049         * doc/posix-functions/fopen.texi: Likewise.
10050         Reported by Rainer Tammer.
10051
10052 2010-07-30  Bruno Haible  <bruno@clisp.org>
10053
10054         chown: Update doc regarding AIX.
10055         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
10056         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
10057         Reported by Rainer Tammer.
10058
10059 2010-07-30  Eric Blake  <eblake@redhat.com>
10060
10061         strtod: fix bug in replacement function on AIX
10062         * lib/strtod.c (strtod): Special case broken "0x" parse in
10063         underlying strtod.
10064         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
10065         * doc/posix-functions/strtod.texi (strtod): Likewise.
10066         Reported by Rainer Tammer.
10067
10068 2010-07-30  Bruno Haible  <bruno@clisp.org>
10069
10070         mbrlen: Fix cross-compilation guess for AIX.
10071         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
10072         guess. Leftover from 2008-12-22.
10073
10074 2010-07-30  Bruno Haible  <bruno@clisp.org>
10075
10076         mbrtowc: Fix cross-compilation guess for AIX.
10077         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
10078         guess. Leftover from 2008-12-21.
10079
10080 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
10081
10082         init.sh: work around trap limitation of some shells
10083         * tests/init.sh (setup_): Move exit trap outside of shell function.
10084
10085 2010-07-29  Eric Blake  <eblake@redhat.com>
10086
10087         strtod: aid debugging
10088         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
10089         understanding why strtod is rejected.
10090
10091 2010-07-28  Bruno Haible  <bruno@clisp.org>
10092
10093         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
10094         * lib/unistr/u8-chr.c: Include <string.h>.
10095         * tests/unistr/test-u8-chr.c: Likewise.
10096         * tests/unistr/test-u16-chr.c: Likewise.
10097         * tests/unistr/test-u32-chr.c: Likewise.
10098         * tests/unistr/test-u8-strchr.c: Likewise.
10099         * tests/unistr/test-u16-strchr.c: Likewise.
10100         * tests/unistr/test-u32-strchr.c: Likewise.
10101         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
10102         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
10103         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
10104         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
10105
10106 2010-07-28  Bruno Haible  <bruno@clisp.org>
10107
10108         Use spaces for indentation, not tabs.
10109         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10110
10111 2010-07-27  Bruno Haible  <bruno@clisp.org>
10112
10113         mbspcasecmp: Fix function specification.
10114         * lib/string.in.h (mbspcasecmp): Fix specification comment.
10115         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
10116         Reported by Eric Blake <eblake@redhat.com>.
10117
10118 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
10119
10120         timespec: use cast and not conditional, as truncation isn't possible
10121         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
10122         instead of a conditional.  Comment about the situation in more detail.
10123         This undoes most of the 2009-10-29 patch.
10124
10125 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
10126
10127         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
10128         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
10129         * lib/unistr/u8-strchr.c: Likewise.
10130         * modules/unistr/u8-chr: Depend on memchr.
10131
10132         unistr/u*-strchr: add tests
10133         * modules/unistr/u8-strchr-tests: New file.
10134         * modules/unistr/u16-strchr-tests: New file.
10135         * modules/unistr/u32-strchr-tests: New file.
10136         * tests/unistr/test-strchr.h: New file.
10137         * tests/unistr/test-u8-strchr.c: New file.
10138         * tests/unistr/test-u16-strchr.c: New file.
10139         * tests/unistr/test-u32-strchr.c: New file.
10140
10141         unistr/u*-chr: test multibyte sequences more
10142         * tests/unistr/test-chr.h: Do complete testing of the characters in the
10143         test vector.
10144         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
10145         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
10146         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
10147
10148         unistr/u*-chr: test multibyte sequences
10149         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
10150
10151         unistr/u*-chr: prepare for multibyte tests
10152         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
10153         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
10154         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
10155         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
10156         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
10157         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
10158
10159 2010-07-18  Bruno Haible  <bruno@clisp.org>
10160
10161         unistr/u8-strchr: Optimize non-ASCII argument case.
10162         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
10163         because the first byte often matches anyway.
10164         Reported by Pádraig Brady <P@draigbrady.com>.
10165
10166 2010-07-15  Karl Berry  <karl@gnu.org>
10167
10168         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
10169
10170 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
10171
10172         getcwd: on Solaris, work better if ancestors are inaccessible
10173         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
10174         buffer and size, try again with a large buffer.  This works better
10175         on Solaris, since its getcwd succeeds even if the path to the root
10176         is inaccessible, and this is helpful in common cases such as .zfs
10177         hidden directories.  Problem reported by J Chapman Flack in
10178         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10179         Use system getcwd if it's declared, not merely if it's partly
10180         working; use the partly-working test only to avoid needless effort
10181         if the system getcwd fails.
10182         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
10183         comment that was already obsolete and is now even more obsolete.
10184         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
10185         now might call strdup.
10186
10187 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
10188
10189         pthread: Add enough so that coreutils/src/sort.c compiles.
10190         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
10191         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
10192         gnulib. Include <sched.h> and <time.h>, as per POSIX.
10193         Include <sys/types.h>, in case it defines pthread_t.
10194         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
10195         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
10196         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
10197         (pthread_rwlockattr_t, pthread_spinlock_t):
10198         New typedefs, if HAVE_PTHREAD_T is not defined.
10199         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
10200         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
10201         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
10202         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
10203         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
10204         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
10205         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
10206         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
10207         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
10208         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
10209         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
10210         New macros.
10211         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
10212         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
10213         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
10214         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
10215         (pthread_spin_unlock): New dummy functions.
10216         (pthread_create): Return EAGAIN; don't set errno.
10217         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
10218         require AC_C_INLINE.
10219         * modules/pthread (Depends-on): Add sched, time.
10220         (pthread.h): Use AM_V_GEN.
10221
10222 2010-07-13  Bruno Haible  <bruno@clisp.org>
10223
10224         striconveh: Don't malloc memory if the result buffer is sufficient.
10225         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
10226         buffer if its size is sufficient.
10227         Reported by Ludovic Courtès <ludo@gnu.org>.
10228
10229 2010-07-13  Bruno Haible  <bruno@clisp.org>
10230
10231         strtod: Add safety check.
10232         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
10233
10234 2010-07-12  Bruno Haible  <bruno@clisp.org>
10235
10236         Unify tests that set gl_cv_func_ldexpl_no_libm.
10237         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
10238         gl_FUNC_LDEXPL.
10239         (gl_FUNC_LDEXPL): Invoke it.
10240         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10241
10242 2010-07-12  Bruno Haible  <bruno@clisp.org>
10243
10244         Unify tests that set gl_cv_func_ldexp_no_libm.
10245         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
10246         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
10247         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
10248         (configure.ac): Simply invoke gl_FUNC_LDEXP.
10249         * modules/strtod (Files): Add m4/ldexp.m4.
10250
10251 2010-07-12  Bruno Haible  <bruno@clisp.org>
10252
10253         Unify tests that set gl_cv_func_frexpl_no_libm.
10254         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
10255         gl_FUNC_FREXPL_NO_LIBM.
10256         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
10257         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10258
10259 2010-07-12  Bruno Haible  <bruno@clisp.org>
10260
10261         Unify tests that set gl_cv_func_frexp_no_libm.
10262         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
10263         gl_FUNC_FREXP_NO_LIBM.
10264         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
10265         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10266
10267 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10268
10269         memcoll: clarify sizes versus lengths, document better, and tweak perf
10270         * lib/memcoll.c (strcoll_loop, memcoll0):
10271         Improve quality of descriptive comments.  Name variables
10272         consistently as to whether they are lengths (which do not include
10273         terminating null) versus sizes (which do).
10274         * lib/xmemcoll.c (xmemcoll0): Likewise.
10275         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
10276         returned when s1size == 0; this is easier to compile and saves
10277         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
10278
10279 2010-07-12  Bruno Haible  <bruno@clisp.org>
10280
10281         Tests for module '_Exit'.
10282         * modules/_Exit-tests: New file.
10283         * tests/test-_Exit.sh: New file.
10284         * tests/test-_Exit.c: New file.
10285
10286         New module '_Exit'.
10287         * lib/stdlib.in.h (__attribute__): New macro.
10288         (_Exit): New declaration.
10289         * lib/_Exit.c: New file.
10290         * m4/_Exit.m4: New file.
10291         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
10292         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
10293         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
10294         * modules/_Exit: New file.
10295         * tests/test-stdlib-c++.cc (_Exit): Check signature.
10296         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
10297
10298 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10299
10300         strtod: make it more-accurate typically, and don't require libm
10301         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
10302         Include limits.h.  Don't include string.h.
10303         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
10304         (locale_isspace): New function, so that no casts are needed to
10305         check whether *s is a space.
10306         (ldexp): Provide an unused dummy if not available.
10307         (scale_radix_exp, parse_number, underlying_strtod): New functions.
10308         (strtod): Use them.  This implementation prefers to use the
10309         underlying strtod if available, falling back on our own code
10310         only to fix known bugs.  This is more likely to produce an
10311         accurate result.  Also, it avoids the use of libm functions.
10312         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
10313         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
10314         was absent, but it caused a test failure with coreutils.
10315         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
10316         with libm.
10317         * modules/strtod (Makefile.am, Link): libm is no longer needed.
10318         * modules/strtod-tests (Makefile.am): Likewise.
10319
10320 2010-07-11  Pádraig Brady  <P@draigBrady.com>
10321             Bruno Haible  <bruno@clisp.org>
10322
10323         unistr/u8-strchr: Optimize ASCII argument case.
10324         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
10325
10326 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10327
10328         (x)memcoll: minor tweaks
10329         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
10330         is after the type that it qualifies.
10331         (memcoll0): Likewise.
10332         * lib/memcoll.h (memcoll0): Likewise.
10333         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
10334         * lib/xmemcoll.h (xmemcoll0): Likewise.
10335         * lib/memcoll.c (memcoll0): Correct the comment.  This function
10336         differs from memcoll in that the NUL byte is part of the argument.
10337         Omit the abort-checks, as performance is a real issue here.  Plus,
10338         the checks were wrong anyway (an off-by-one error).  Omit local
10339         variable 'diff', as it's a bit clearer that way.
10340         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
10341         no longer needed.
10342
10343 2010-07-08  Chen Guo <chenguo4@yahoo.com>
10344
10345         (x)memcoll: speedup when input is known to be NUL delimited
10346         * lib/memcoll.c: Include stdlib.
10347         (memcoll0) New function.
10348         (strcoll_loop) New function, refactored for use in both memcoll
10349         and memcoll0.
10350         * lib/memcoll.h: Add prototype for memcoll0.
10351         * lib/xmemcoll.c: (xmemcoll0) New function.
10352         (collate_error) New function, refactored for use in both xmemcoll
10353         and xmemcoll0.
10354         * lib/xmemcoll.h: Add prototype for xmemcoll0.
10355         * m4/memcoll.m4: add inline invocation.
10356
10357 2010-07-06  Pádraig Brady  <P@draigBrady.com>
10358
10359         * build-aux/bootstrap: Remove any local translations
10360         from the translation project synchronization directory,
10361         so that local only translations are not distributed.
10362
10363 2010-07-04  Bruno Haible  <bruno@clisp.org>
10364
10365         fsusage: Clarify which code applies to which platforms.
10366         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
10367         platform.
10368         * lib/fsusage.c (get_fs_usage): Likewise.
10369
10370 2010-07-04  Bruno Haible  <bruno@clisp.org>
10371
10372         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
10373         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
10374         Reported by Martin Lambers <marlam@marlam.de>.
10375
10376 2010-07-04  Jim Meyering  <meyering@redhat.com>
10377
10378         hash: once again explicitly disallow insertion of NULL
10379         * lib/hash.c (hash_insert0): Reinstate just-removed test:
10380         inserting a NULL pointer cannot work with these functions.
10381         Add a comment with details.
10382         This reverts part of the 2010-07-01 commit, 5bef1a35
10383         "hash: extend module to deal with non-pointer keys".
10384
10385 2010-07-01  Bruno Haible  <bruno@clisp.org>
10386
10387         stdbool: Update doc.
10388         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
10389         Info from Christian Weisgerber <naddy@mips.inka.de>.
10390
10391 2010-07-01  Jim Meyering  <meyering@redhat.com>
10392
10393         hash: extend module to deal with non-pointer keys
10394         * lib/hash.c (hash_insert0): New interface, much like hash_insert
10395         but that allows insertion of non-pointer entries.
10396         Do not disallow an ENTRY value of NULL.
10397         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
10398         * lib/hash.h (hash_insert0): Declare.
10399
10400 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10401
10402         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
10403         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
10404         not present (i.e. with autoconf 2.59 and when using gettextize, not
10405         gnulib), require AC_GNU_SOURCE instead.
10406
10407 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
10408
10409         idpriv-drop: Fix tests.
10410         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
10411         not to the test-idpriv-droptemp program.
10412
10413 2010-06-29  Bruno Haible  <bruno@clisp.org>
10414
10415         string: Fix syntax error with g++ 2.96.
10416         * lib/string.in.h (__pure__): Remove definition.
10417         (_GL_ATTRIBUTE_PURE): New macro.
10418         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
10419         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
10420         Reported by Christian Weisgerber <naddy@mips.inka.de>.
10421
10422 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
10423
10424         unitypes: Fix bug introduced on 2010-05-18.
10425         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
10426
10427 2010-06-22  Eric Blake  <eblake@redhat.com>
10428
10429         memmem: slight optimization
10430         * lib/str-two-way.h (critical_factorization): Update comments.
10431         Reduce work during factorization phase.
10432         Reported by Carlos Bueno <carlos@bueno.org>.
10433
10434 2010-06-21  Bruno Haible  <bruno@clisp.org>
10435
10436         Fix HAVE_CALLOC_POSIX misnomer.
10437         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
10438         !HAVE_CALLOC_POSIX.
10439         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
10440         HAVE_CALLOC_POSIX.
10441         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
10442         instead of HAVE_CALLOC_POSIX.
10443         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
10444         HAVE_CALLOC_POSIX.
10445
10446         Use modern idiom for calloc() replacement.
10447         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
10448         AC_FUNC_CALLOC.
10449         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
10450         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
10451         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10452         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
10453         (gl_REPLACE_CALLOC): New macro.
10454
10455 2010-06-21  Bruno Haible  <bruno@clisp.org>
10456
10457         Fix HAVE_REALLOC_POSIX misnomer.
10458         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
10459         !HAVE_REALLOC_POSIX.
10460         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
10461         HAVE_REALLOC_POSIX.
10462         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
10463         instead of HAVE_REALLOC_POSIX.
10464         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
10465         HAVE_REALLOC_POSIX.
10466
10467         Use modern idiom for realloc() replacement.
10468         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
10469         AC_FUNC_REALLOC.
10470         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
10471         Autoconf's AC_FUNC_REALLOC.
10472         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10473         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
10474         (gl_REPLACE_REALLOC): New macro.
10475         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10476
10477 2010-06-21  Bruno Haible  <bruno@clisp.org>
10478
10479         Fix HAVE_MALLOC_POSIX misnomer.
10480         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
10481         !HAVE_MALLOC_POSIX.
10482         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
10483         HAVE_MALLOC_POSIX.
10484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
10485         instead of HAVE_MALLOC_POSIX.
10486         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
10487         HAVE_MALLOC_POSIX.
10488
10489         Use modern idiom for malloc() replacement.
10490         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
10491         AC_FUNC_MALLOC.
10492         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
10493         Autoconf's AC_FUNC_MALLOC.
10494         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10495         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
10496         (gl_REPLACE_MALLOC): New macro.
10497         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10498
10499 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
10500
10501         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
10502         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
10503         This macro takes 3 arguments, not 4.
10504
10505 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
10506
10507         ipv6: fix detection under mingw
10508         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
10509         in6_addr.
10510
10511 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
10512
10513         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
10514         that strtod() works when cross-compiling to a glibc version known
10515         to work.
10516
10517 2010-06-15  Bruno Haible  <bruno@clisp.org>
10518
10519         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
10520
10521 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
10522
10523         select: Correct timeout.
10524         * lib/select.c (rpl_select): Compute wait_timeout correctly.
10525
10526 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
10527
10528         git-version-gen: init shell var to avoid env var influence
10529         * build-aux/git-version-gen (v): Init shell var to empty.
10530
10531 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
10532
10533         priv-set: Don't assume that priv.h exists merely because getppriv does.
10534         See Jan Andersen's bug report about AIX 5L in
10535         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
10536         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
10537         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
10538         * lib/priv-set.h: Likewise.
10539         * tests/test-priv-set.c: Likewise.
10540
10541 2010-06-13  Bruno Haible  <bruno@clisp.org>
10542
10543         relocatable: Make it easier to test whether to install wrappers.
10544         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
10545         RELOCATABLE_VIA_WRAPPER.
10546
10547 2010-06-13  Bruno Haible  <bruno@clisp.org>
10548
10549         gnulib-tool: Display specified modules and dependencies differently.
10550         * gnulib-tool (func_show_module_list): New function.
10551         (func_import, func_create_testdir): Invoke it.
10552         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
10553
10554 2010-06-13  Bruno Haible  <bruno@clisp.org>
10555
10556         gnulib-tool: Align code of func_import and func_create_testdir.
10557         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
10558         specified_modules.
10559
10560 2010-06-12  Jim Meyering  <meyering@redhat.com>
10561
10562         test-inttostr: avoid spurious failure on Solaris 9
10563         * tests/test-inttostr.c (main): Skip the test when snprintf fails
10564         to accept "%ju".  Reported by Bruno Haible.
10565
10566 2010-06-11  Jim Meyering  <meyering@redhat.com>
10567
10568         test-sys_socket: mark variables as used more readably
10569         * tests/test-sys_socket.c (main): Mark otherwise unused variables
10570         as "used" explicitly via (void) statement casts.  This is more
10571         readable than using them in an artificial return expression.
10572         Suggestion from Bruno Haible.
10573
10574 2010-06-11  Bruno Haible  <bruno@clisp.org>
10575
10576         Avoid some more warnings from "gcc -Wwrite-strings".
10577         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
10578         to 'const char *'.
10579         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
10580         * tests/test-c-strcasestr.c (main): Likewise.
10581         * tests/test-mbscasestr1.c (main): Likewise.
10582         * tests/test-mbscasestr2.c (main): Likewise.
10583         * tests/test-memmem.c (main): Likewise.
10584         * tests/test-strstr.c (main): Likewise.
10585         * tests/test-strcasestr.c (main): Likewise.
10586
10587 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10588
10589         init.sh: change framework_failure_ to fail with status 99, not 1
10590         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
10591         automake's parallel-tests rule that this is an unexpected failure,
10592         even if the test is listed in XFAIL_TESTS.
10593
10594 2010-06-11  Jim Meyering  <meyering@redhat.com>
10595
10596         test-inttostr: avoid warnings about 4-6KB literal strings
10597         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
10598         Include "macros.h", for its definition of ASSERT.
10599         (CK): s/assert/ASSERT/
10600         * modules/inttostr-tests (Files): Add macros.h.
10601
10602         init.sh: don't use $ME_ or skip_ before they are defined
10603         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
10604         their first uses.  Also hoist their companions: warn_, fail_,
10605         framework_failure_, $stderr_fileno.  Prompted by a patch from
10606         Stefano Lattarini.
10607
10608         test-sys_socket: avoid set-but-not-used warnings from gcc
10609         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
10610         avoid warning about set-but-not-used variables.
10611
10612         test-xvasprintf: avoid 'const' discard warnings
10613         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
10614         "const" when assigning from literal strings.
10615         (test_xasprintf): Add "void" in function argument list to placate
10616         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
10617
10618         tests: avoid compilation warnings in argmatch and exclude tests...
10619         in packages that define ARGMATCH_DIE_DECL, like coreutils.
10620         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
10621         Since it always exits, declare with the "noreturn" attribute.
10622         * tests/test-argmatch.c: Likewise.
10623
10624         tests: avoid 'const' discard warnings in mbsstr tests
10625         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
10626         * tests/test-mbsstr2.c (main): Likewise.
10627
10628         test-verify: avoid warning from gcc's -Wmissing-declarations
10629         * tests/test-verify.c (function): Declare to be static.
10630
10631         test-inttostr.c: include <string.h> for use of strcmp
10632         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
10633
10634         test-linkat: avoid failed assertion on "other" architectures
10635         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
10636         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
10637         sparc: https://bugs.launchpad.net/bugs/591968
10638
10639 2010-06-11  Jim Meyering  <meyering@redhat.com>
10640
10641         printf.m4: avoid autoconf's "Expanded Before Required" warning
10642         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
10643         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
10644         autoconf warning.
10645
10646 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
10647
10648         Replacement header templates are now named with ".in", not "_".
10649         * doc/gnulib-intro.texi: Correct.
10650
10651 2010-06-10  Jim Meyering  <meyering@redhat.com>
10652
10653         inttostr-tests: depend on snprintf, not snprintf-posix
10654         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
10655         snprintf-posix, to avoid this aclocal failure:
10656           missing file gnulib-tests/vasnprintf.c
10657           configure.ac:45: error: expected source file, required through \
10658           AC_LIBSOURCES, not found
10659
10660 2010-06-10  Jim Meyering  <meyering@redhat.com>
10661
10662         inttostr: add a new function, inttostr, and tests
10663         The namesake function was not available.  The existence of the
10664         template file, inttostr.c makes its addition nontrivial.
10665         * lib/anytostr.c: Rename from inttostr.c.
10666         (anytostr): Rename from inttostr.
10667         * lib/inttostr.c: New file.
10668         * modules/inttostr (Files): Add anytostr.c.
10669         (Makefile.am): Set lib_SOURCES instead of ...
10670         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
10671         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
10672         * lib/offtostr.c: Likewise.
10673         * lib/uinttostr.c: Likewise.
10674         * lib/umaxtostr.c: Likewise.
10675         * modules/inttostr-tests: New file.
10676         * tests/test-inttostr.c: New file.  Test these functions.
10677
10678 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
10679             Bruno Haible  <bruno@clisp.org>
10680
10681         Add "Extending Gnulib" chapter to manual.
10682         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
10683         chapter.
10684         (Extending Gnulib): New chapter.
10685         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
10686         chapter.
10687
10688 2010-06-09  Bruno Haible  <bruno@clisp.org>
10689
10690         Avoid relocwrapper link errors due to gnulib replacement functions.
10691         * lib/areadlink.c: Use the system's malloc, realloc functions.
10692         (areadlink): Set errno to ENOMEM explicitly.
10693         * modules/areadlink (Depends-on): Remove malloc-posix.
10694         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10695
10696 2010-06-09  Bruno Haible  <bruno@clisp.org>
10697
10698         Avoid relocwrapper link errors due to gnulib replacement functions.
10699         * lib/canonicalize-lgpl.c: Use the system's malloc function.
10700         * lib/malloca.c: Likewise.
10701         * lib/relocatable.c: Likewise.
10702         * lib/progreloc.c: Use the system's malloc, sprintf functions.
10703         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
10704         * lib/setenv.c: Use the system's malloc, realloc functions.
10705         * lib/strerror.c: Use the system's sprintf function.
10706         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10707
10708 2010-06-04  Bruno Haible  <bruno@clisp.org>
10709
10710         Prefer documented low-level autoconf macro names.
10711         * m4/lib-link.m4: Use m4_translit instead of translit.
10712         * m4/environ.m4: Likewise.
10713         * m4/mathfunc.m4: Likewise.
10714         * m4/onceonly.m4: Likewise.
10715         * m4/stdint.m4: Likewise.
10716         Suggested by Eric Blake.
10717
10718 2010-06-04  Martin Lambers  <marlam@marlam.de>
10719             Bruno Haible  <bruno@clisp.org>
10720
10721         havelib: Allow library names with '+' characters.
10722         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
10723         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
10724
10725 2010-06-09  Bruno Haible  <bruno@clisp.org>
10726
10727         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
10728         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
10729         realloc failed.
10730
10731 2010-06-08  Peter Simons  <simons@cryp.to>
10732
10733         maint.mk: make the news-check rule more configurable
10734         * top/maint.mk (news-check-lines-spec) New variable.
10735         (news-check): Use "sed -n 1,10p" in place of "head".
10736
10737 2010-06-07  Jim Meyering  <meyering@redhat.com>
10738
10739         do-release-commit-and-tag: fix typo in --help
10740         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
10741
10742         regex: avoid new dead-code warning with gcc-4.6.0
10743         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
10744         if-block containing a while-loop.  It's been unused for at least
10745         5 years.
10746
10747 2010-06-05  Bruno Haible  <bruno@clisp.org>
10748
10749         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
10750         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
10751
10752 2010-06-04  Bruno Haible  <bruno@clisp.org>
10753
10754         Update to GNU gettext 0.18.1.
10755         * modules/gettext (configure.ac): Require gettext infrastructure from
10756         version 0.18.1.
10757
10758 2010-06-03  Bruno Haible  <bruno@clisp.org>
10759
10760         Don't use AC_LIBOBJ with file names in subdirectories.
10761         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
10762         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
10763         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
10764         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
10765         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
10766         gl_LIBUNISTRING_LIBSOURCE.
10767         (Makefile.am): Augment lib_SOURCES here, conditionally.
10768         * NEWS: Drop requirement for Automake option 'subdir-objects'.
10769
10770 2010-06-03  Bruno Haible  <bruno@clisp.org>
10771
10772         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
10773         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
10774         expansion does not end with a newline.
10775         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
10776         unnecessary newline.
10777
10778 2010-06-03  Bruno Haible  <bruno@clisp.org>
10779
10780         Reduce dependencies.
10781         * tests/test-quotearg.h: New file, extracted from
10782         tests/test-quotearg.c.
10783         * tests/test-quotearg-simple.c: New file, extracted from
10784         tests/test-quotearg.c.
10785         * tests/test-quotearg.c: Don't include <ctype.h>.
10786         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
10787         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
10788         use_quote_double_quotes, use_quotearg_colon): Moved to
10789         tests/test-quotearg.h.
10790         (results_g, flag_results, custom_quotes, custom_results): Moved
10791         to tests/test-quotearg-simple.c.
10792         (main): Moved the part that does not depend on gettext to
10793         tests/test-quotearg-simple.c. Return 77 if the test cannot be
10794         performed.
10795         * modules/quotearg-simple: New file.
10796         * modules/quotearg-simple-tests: New file.
10797         * modules/quotearg (Depends-on): Add quotearg-simple.
10798         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10799         (Files): Add tests/test-quotearg.h.
10800         Reported by Paolo Bonzini.
10801
10802 2010-06-03  Bruno Haible  <bruno@clisp.org>
10803
10804         Reduce dependencies.
10805         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10806
10807 2010-06-03  Bruno Haible  <bruno@clisp.org>
10808
10809         time: Undefine more broken macros.
10810         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10811         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10812         Reported by Eric Blake.
10813
10814 2010-06-03  Bruno Haible  <bruno@clisp.org>
10815
10816         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10817         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10818         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10819         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10820         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10821         Reported by Ludovic Courtès <ludo@gnu.org>.
10822
10823 2010-06-02  Eric Blake  <eblake@redhat.com>
10824
10825         time: work with mingw + pthreads-win32 library
10826         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10827         if timespec is defined only in pthread.h.
10828         * modules/time (Makefile.am): Substitute it.
10829         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10830         <pthread.h>, when needed.
10831         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10832         from the library.
10833
10834 2010-05-31  Bruno Haible  <bruno@clisp.org>
10835
10836         Avoid expanding two macros in the wrong order.
10837         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10838         gl_LIBUNISTRING if it is defined.
10839         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10840         autoconf >= 2.64.
10841         Reported by Ludovic Courtès <ludo@gnu.org>.
10842
10843 2010-05-27  Jim Meyering  <meyering@redhat.com>
10844
10845         maint.mk: also prohibit "#undef" of always-defined symbols
10846         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10847         Allow more than one space before the symbol name.
10848         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10849         the regexp uses alternation.
10850
10851 2010-05-26  Eric Blake  <eblake@redhat.com>
10852
10853         maint.mk: avoid echo -e
10854         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10855         Convert all uses of echo -* to printf.
10856         Reported by Matthias Bolte.
10857
10858 2010-05-25  Bruno Haible  <bruno@clisp.org>
10859
10860         Update to GNU gettext 0.18, part 2.
10861         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10862         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10863
10864 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10865
10866         Add missing include in test-pwrite.c.
10867         * tests/test-pwrite.c: Include string.h, for strcmp.
10868
10869 2010-05-24  Bruno Haible  <bruno@clisp.org>
10870
10871         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10872
10873 2010-05-24  Bruno Haible  <bruno@clisp.org>
10874
10875         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10876         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10877         iconveh_error argument.
10878         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10879         U_STRCONV_TO_LOCALE.
10880         * lib/unistr/u16-strcoll.c: Likewise.
10881         * lib/unistr/u32-strcoll.c: Likewise.
10882         * modules/unistr/u8-strcoll (Depends-on): Add
10883         uniconv/u8-strconv-to-enc, localcharset. Remove
10884         uniconv/u8-strconv-to-locale.
10885         (configure.ac): Bump version number.
10886         * modules/unistr/u16-strcoll (Depends-on): Add
10887         uniconv/u16-strconv-to-enc, localcharset. Remove
10888         uniconv/u16-strconv-to-locale.
10889         (configure.ac): Bump version number.
10890         * modules/unistr/u32-strcoll (Depends-on): Add
10891         uniconv/u32-strconv-to-enc, localcharset. Remove
10892         uniconv/u32-strconv-to-locale.
10893         (configure.ac): Bump version number.
10894
10895 2010-05-24  Bruno Haible  <bruno@clisp.org>
10896
10897         Avoid a test failure on NetBSD 5.0.
10898         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10899         an iconv() bug.
10900
10901 2010-05-24  Bruno Haible  <bruno@clisp.org>
10902
10903         Adjust #include directive style.
10904         * modules/regex (Includes): Recommend to write <regex.h>.
10905
10906 2010-05-24  Bruno Haible  <bruno@clisp.org>
10907
10908         regex: Don't require alloca.
10909         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10910         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10911         only inside if (0).
10912
10913 2010-05-23  Jim Meyering  <meyering@redhat.com>
10914
10915         test-renameat.c: include <sys/stat.h>
10916         * tests/test-renameat.c: Include <sys/stat.h>; required for
10917         definition of S_IS* macros.
10918
10919 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10920
10921         Update maintainer documentation for 'relocatable-prog' module.
10922         * doc/relocatable-maint.texi: Update.
10923         Comments by Bruno Haible.
10924
10925 2010-05-23  Bruno Haible  <bruno@clisp.org>
10926
10927         git-merge-changelog: Enable --split-merged-entry by default.
10928         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10929         (usage): Don't mention this option any more.
10930         Reported by Ralf Wildenhues.
10931
10932 2010-05-23  Jim Meyering  <meyering@redhat.com>
10933
10934         test-pwrite: do not leave behind a test file named "out"
10935         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10936         The trivial-looking use of init.sh is really necessary.
10937         It ensures that the temporary file, "out", is created in
10938         a temporary directory, and removed upon termination.
10939         * tests/test-pwrite.sh: Re-add file.
10940         * modules/pwrite-tests: Reference it.
10941
10942 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10943
10944         Fix output redirection buglet in init.sh.
10945         * tests/init.sh: Fix redirection of stderr.
10946
10947 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10948
10949         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10950
10951 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10952
10953         * modules/valgrind-tests: New file.
10954         * m4/valgrind-tests.m4: New file.
10955         * doc/valgrind-tests.texi: New file.
10956         * doc/gnulib.texi (Running self-tests under valgrind): New
10957         section.
10958
10959 2010-05-19  Bruno Haible  <bruno@clisp.org>
10960
10961         Clean up dead code in recent commit.
10962         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10963         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10964         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10965         Suggested by Paolo Bonzini.
10966
10967 2010-05-19  Bruno Haible  <bruno@clisp.org>
10968
10969         Avoid valgrind error reports from libunistring.
10970         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10971         * modules/libunistring (Files): Add it.
10972         * modules/libunistring-optional (Files): Likewise.
10973
10974 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10975             Bruno Haible  <bruno@clisp.org>
10976
10977         New module 'libunistring-optional'.
10978         * modules/libunistring-optional: New file.
10979         * m4/libunistring-base.m4: New file.
10980         * m4/libunistring-optional.m4: New file.
10981         * lib/unicase.in.h: Renamed from lib/unicase.h.
10982         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10983         * lib/unictype.in.h: Renamed from lib/unictype.h.
10984         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10985         * lib/uniname.in.h: Renamed from lib/uniname.h.
10986         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10987         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10988         * lib/unistr.in.h: Renamed from lib/unistr.h.
10989         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10990         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10991         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10992         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10993         gl_LIBUNISTRING. If the library was found, determine the installed
10994         version and set LIBUNISTRING_VERSION.
10995         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10996         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10997         handle a configuration option --with-included-libunistring.
10998         * modules/libunistring (Files): Add m4/absolute-header.m4.
10999         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
11000         Add m4/libunistring-base.m4.
11001         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11002         (Makefile.am): Build unicase.h from unicase.in.h.
11003         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
11004         Add m4/libunistring-base.m4.
11005         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11006         (Makefile.am): Build uniconv.h from uniconv.in.h.
11007         * modules/unictype/base (Files): Use unictype.in.h instead of
11008         unictype.h. Add m4/libunistring-base.m4.
11009         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11010         (Makefile.am): Build unictype.h from unictype.in.h.
11011         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
11012         Add m4/libunistring-base.m4.
11013         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11014         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
11015         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
11016         Add m4/libunistring-base.m4.
11017         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11018         (Makefile.am): Build uniname.h from uniname.in.h.
11019         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
11020         Add m4/libunistring-base.m4.
11021         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11022         (Makefile.am): Build uninorm.h from uninorm.in.h.
11023         * modules/unistdio/base (Files): Use unistdio.in.h instead of
11024         unistdio.h. Add m4/libunistring-base.m4.
11025         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11026         (Makefile.am): Build unistdio.h from unistdio.in.h.
11027         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
11028         Add m4/libunistring-base.m4.
11029         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11030         (Makefile.am): Build unistr.h from unistr.in.h.
11031         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
11032         Add m4/libunistring-base.m4.
11033         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11034         (Makefile.am): Build unitypes.h from unitypes.in.h.
11035         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
11036         Add m4/libunistring-base.m4.
11037         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11038         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
11039         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
11040         uniwidth.h. Add m4/libunistring-base.m4.
11041         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11042         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
11043         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
11044         instead of augmenting lib_SOURCES.
11045         * modules/unicase/empty-suffix-context: Likewise.
11046         * modules/unicase/locale-language: Likewise.
11047         * modules/unicase/tolower: Likewise.
11048         * modules/unicase/totitle: Likewise.
11049         * modules/unicase/toupper: Likewise.
11050         * modules/unicase/u8-casecmp: Likewise.
11051         * modules/unicase/u8-casecoll: Likewise.
11052         * modules/unicase/u8-casefold: Likewise.
11053         * modules/unicase/u8-casexfrm: Likewise.
11054         * modules/unicase/u8-ct-casefold: Likewise.
11055         * modules/unicase/u8-ct-tolower: Likewise.
11056         * modules/unicase/u8-ct-totitle: Likewise.
11057         * modules/unicase/u8-ct-toupper: Likewise.
11058         * modules/unicase/u8-is-cased: Likewise.
11059         * modules/unicase/u8-is-casefolded: Likewise.
11060         * modules/unicase/u8-is-lowercase: Likewise.
11061         * modules/unicase/u8-is-titlecase: Likewise.
11062         * modules/unicase/u8-is-uppercase: Likewise.
11063         * modules/unicase/u8-prefix-context: Likewise.
11064         * modules/unicase/u8-suffix-context: Likewise.
11065         * modules/unicase/u8-tolower: Likewise.
11066         * modules/unicase/u8-totitle: Likewise.
11067         * modules/unicase/u8-toupper: Likewise.
11068         * modules/unicase/u16-casecmp: Likewise.
11069         * modules/unicase/u16-casecoll: Likewise.
11070         * modules/unicase/u16-casefold: Likewise.
11071         * modules/unicase/u16-casexfrm: Likewise.
11072         * modules/unicase/u16-ct-casefold: Likewise.
11073         * modules/unicase/u16-ct-tolower: Likewise.
11074         * modules/unicase/u16-ct-totitle: Likewise.
11075         * modules/unicase/u16-ct-toupper: Likewise.
11076         * modules/unicase/u16-is-cased: Likewise.
11077         * modules/unicase/u16-is-casefolded: Likewise.
11078         * modules/unicase/u16-is-lowercase: Likewise.
11079         * modules/unicase/u16-is-titlecase: Likewise.
11080         * modules/unicase/u16-is-uppercase: Likewise.
11081         * modules/unicase/u16-prefix-context: Likewise.
11082         * modules/unicase/u16-suffix-context: Likewise.
11083         * modules/unicase/u16-tolower: Likewise.
11084         * modules/unicase/u16-totitle: Likewise.
11085         * modules/unicase/u16-toupper: Likewise.
11086         * modules/unicase/u32-casecmp: Likewise.
11087         * modules/unicase/u32-casecoll: Likewise.
11088         * modules/unicase/u32-casefold: Likewise.
11089         * modules/unicase/u32-casexfrm: Likewise.
11090         * modules/unicase/u32-ct-casefold: Likewise.
11091         * modules/unicase/u32-ct-tolower: Likewise.
11092         * modules/unicase/u32-ct-totitle: Likewise.
11093         * modules/unicase/u32-ct-toupper: Likewise.
11094         * modules/unicase/u32-is-cased: Likewise.
11095         * modules/unicase/u32-is-casefolded: Likewise.
11096         * modules/unicase/u32-is-lowercase: Likewise.
11097         * modules/unicase/u32-is-titlecase: Likewise.
11098         * modules/unicase/u32-is-uppercase: Likewise.
11099         * modules/unicase/u32-prefix-context: Likewise.
11100         * modules/unicase/u32-suffix-context: Likewise.
11101         * modules/unicase/u32-tolower: Likewise.
11102         * modules/unicase/u32-totitle: Likewise.
11103         * modules/unicase/u32-toupper: Likewise.
11104         * modules/unicase/ulc-casecmp: Likewise.
11105         * modules/unicase/ulc-casecoll: Likewise.
11106         * modules/unicase/ulc-casexfrm: Likewise.
11107         * modules/uniconv/u8-conv-from-enc: Likewise.
11108         * modules/uniconv/u8-conv-to-enc: Likewise.
11109         * modules/uniconv/u8-strconv-from-enc: Likewise.
11110         * modules/uniconv/u8-strconv-from-locale: Likewise.
11111         * modules/uniconv/u8-strconv-to-enc: Likewise.
11112         * modules/uniconv/u8-strconv-to-locale: Likewise.
11113         * modules/uniconv/u16-conv-from-enc: Likewise.
11114         * modules/uniconv/u16-conv-to-enc: Likewise.
11115         * modules/uniconv/u16-strconv-from-enc: Likewise.
11116         * modules/uniconv/u16-strconv-from-locale: Likewise.
11117         * modules/uniconv/u16-strconv-to-enc: Likewise.
11118         * modules/uniconv/u16-strconv-to-locale: Likewise.
11119         * modules/uniconv/u32-conv-from-enc: Likewise.
11120         * modules/uniconv/u32-conv-to-enc: Likewise.
11121         * modules/uniconv/u32-strconv-from-enc: Likewise.
11122         * modules/uniconv/u32-strconv-from-locale: Likewise.
11123         * modules/uniconv/u32-strconv-to-enc: Likewise.
11124         * modules/uniconv/u32-strconv-to-locale: Likewise.
11125         * modules/unictype/bidicategory-byname: Likewise.
11126         * modules/unictype/bidicategory-name: Likewise.
11127         * modules/unictype/bidicategory-of: Likewise.
11128         * modules/unictype/bidicategory-test: Likewise.
11129         * modules/unictype/block-list: Likewise.
11130         * modules/unictype/block-test: Likewise.
11131         * modules/unictype/category-C: Likewise.
11132         * modules/unictype/category-Cc: Likewise.
11133         * modules/unictype/category-Cf: Likewise.
11134         * modules/unictype/category-Cn: Likewise.
11135         * modules/unictype/category-Co: Likewise.
11136         * modules/unictype/category-Cs: Likewise.
11137         * modules/unictype/category-L: Likewise.
11138         * modules/unictype/category-Ll: Likewise.
11139         * modules/unictype/category-Lm: Likewise.
11140         * modules/unictype/category-Lo: Likewise.
11141         * modules/unictype/category-Lt: Likewise.
11142         * modules/unictype/category-Lu: Likewise.
11143         * modules/unictype/category-M: Likewise.
11144         * modules/unictype/category-Mc: Likewise.
11145         * modules/unictype/category-Me: Likewise.
11146         * modules/unictype/category-Mn: Likewise.
11147         * modules/unictype/category-N: Likewise.
11148         * modules/unictype/category-Nd: Likewise.
11149         * modules/unictype/category-Nl: Likewise.
11150         * modules/unictype/category-No: Likewise.
11151         * modules/unictype/category-P: Likewise.
11152         * modules/unictype/category-Pc: Likewise.
11153         * modules/unictype/category-Pd: Likewise.
11154         * modules/unictype/category-Pe: Likewise.
11155         * modules/unictype/category-Pf: Likewise.
11156         * modules/unictype/category-Pi: Likewise.
11157         * modules/unictype/category-Po: Likewise.
11158         * modules/unictype/category-Ps: Likewise.
11159         * modules/unictype/category-S: Likewise.
11160         * modules/unictype/category-Sc: Likewise.
11161         * modules/unictype/category-Sk: Likewise.
11162         * modules/unictype/category-Sm: Likewise.
11163         * modules/unictype/category-So: Likewise.
11164         * modules/unictype/category-Z: Likewise.
11165         * modules/unictype/category-Zl: Likewise.
11166         * modules/unictype/category-Zp: Likewise.
11167         * modules/unictype/category-Zs: Likewise.
11168         * modules/unictype/category-and: Likewise.
11169         * modules/unictype/category-and-not: Likewise.
11170         * modules/unictype/category-byname: Likewise.
11171         * modules/unictype/category-name: Likewise.
11172         * modules/unictype/category-none: Likewise.
11173         * modules/unictype/category-of: Likewise.
11174         * modules/unictype/category-or: Likewise.
11175         * modules/unictype/category-test: Likewise.
11176         * modules/unictype/combining-class: Likewise.
11177         * modules/unictype/ctype-alnum: Likewise.
11178         * modules/unictype/ctype-alpha: Likewise.
11179         * modules/unictype/ctype-blank: Likewise.
11180         * modules/unictype/ctype-cntrl: Likewise.
11181         * modules/unictype/ctype-digit: Likewise.
11182         * modules/unictype/ctype-graph: Likewise.
11183         * modules/unictype/ctype-lower: Likewise.
11184         * modules/unictype/ctype-print: Likewise.
11185         * modules/unictype/ctype-punct: Likewise.
11186         * modules/unictype/ctype-space: Likewise.
11187         * modules/unictype/ctype-upper: Likewise.
11188         * modules/unictype/ctype-xdigit: Likewise.
11189         * modules/unictype/decimal-digit: Likewise.
11190         * modules/unictype/digit: Likewise.
11191         * modules/unictype/mirror: Likewise.
11192         * modules/unictype/numeric: Likewise.
11193         * modules/unictype/property-alphabetic: Likewise.
11194         * modules/unictype/property-ascii-hex-digit: Likewise.
11195         * modules/unictype/property-bidi-arabic-digit: Likewise.
11196         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
11197         * modules/unictype/property-bidi-block-separator: Likewise.
11198         * modules/unictype/property-bidi-boundary-neutral: Likewise.
11199         * modules/unictype/property-bidi-common-separator: Likewise.
11200         * modules/unictype/property-bidi-control: Likewise.
11201         * modules/unictype/property-bidi-embedding-or-override: Likewise.
11202         * modules/unictype/property-bidi-eur-num-separator: Likewise.
11203         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
11204         * modules/unictype/property-bidi-european-digit: Likewise.
11205         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
11206         * modules/unictype/property-bidi-left-to-right: Likewise.
11207         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
11208         * modules/unictype/property-bidi-other-neutral: Likewise.
11209         * modules/unictype/property-bidi-pdf: Likewise.
11210         * modules/unictype/property-bidi-segment-separator: Likewise.
11211         * modules/unictype/property-bidi-whitespace: Likewise.
11212         * modules/unictype/property-byname: Likewise.
11213         * modules/unictype/property-combining: Likewise.
11214         * modules/unictype/property-composite: Likewise.
11215         * modules/unictype/property-currency-symbol: Likewise.
11216         * modules/unictype/property-dash: Likewise.
11217         * modules/unictype/property-decimal-digit: Likewise.
11218         * modules/unictype/property-default-ignorable-code-point: Likewise.
11219         * modules/unictype/property-deprecated: Likewise.
11220         * modules/unictype/property-diacritic: Likewise.
11221         * modules/unictype/property-extender: Likewise.
11222         * modules/unictype/property-format-control: Likewise.
11223         * modules/unictype/property-grapheme-base: Likewise.
11224         * modules/unictype/property-grapheme-extend: Likewise.
11225         * modules/unictype/property-grapheme-link: Likewise.
11226         * modules/unictype/property-hex-digit: Likewise.
11227         * modules/unictype/property-hyphen: Likewise.
11228         * modules/unictype/property-id-continue: Likewise.
11229         * modules/unictype/property-id-start: Likewise.
11230         * modules/unictype/property-ideographic: Likewise.
11231         * modules/unictype/property-ids-binary-operator: Likewise.
11232         * modules/unictype/property-ids-trinary-operator: Likewise.
11233         * modules/unictype/property-ignorable-control: Likewise.
11234         * modules/unictype/property-iso-control: Likewise.
11235         * modules/unictype/property-join-control: Likewise.
11236         * modules/unictype/property-left-of-pair: Likewise.
11237         * modules/unictype/property-line-separator: Likewise.
11238         * modules/unictype/property-logical-order-exception: Likewise.
11239         * modules/unictype/property-lowercase: Likewise.
11240         * modules/unictype/property-math: Likewise.
11241         * modules/unictype/property-non-break: Likewise.
11242         * modules/unictype/property-not-a-character: Likewise.
11243         * modules/unictype/property-numeric: Likewise.
11244         * modules/unictype/property-other-alphabetic: Likewise.
11245         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
11246         * modules/unictype/property-other-grapheme-extend: Likewise.
11247         * modules/unictype/property-other-id-continue: Likewise.
11248         * modules/unictype/property-other-id-start: Likewise.
11249         * modules/unictype/property-other-lowercase: Likewise.
11250         * modules/unictype/property-other-math: Likewise.
11251         * modules/unictype/property-other-uppercase: Likewise.
11252         * modules/unictype/property-paired-punctuation: Likewise.
11253         * modules/unictype/property-paragraph-separator: Likewise.
11254         * modules/unictype/property-pattern-syntax: Likewise.
11255         * modules/unictype/property-pattern-white-space: Likewise.
11256         * modules/unictype/property-private-use: Likewise.
11257         * modules/unictype/property-punctuation: Likewise.
11258         * modules/unictype/property-quotation-mark: Likewise.
11259         * modules/unictype/property-radical: Likewise.
11260         * modules/unictype/property-sentence-terminal: Likewise.
11261         * modules/unictype/property-soft-dotted: Likewise.
11262         * modules/unictype/property-space: Likewise.
11263         * modules/unictype/property-terminal-punctuation: Likewise.
11264         * modules/unictype/property-test: Likewise.
11265         * modules/unictype/property-titlecase: Likewise.
11266         * modules/unictype/property-unassigned-code-value: Likewise.
11267         * modules/unictype/property-unified-ideograph: Likewise.
11268         * modules/unictype/property-uppercase: Likewise.
11269         * modules/unictype/property-variation-selector: Likewise.
11270         * modules/unictype/property-white-space: Likewise.
11271         * modules/unictype/property-xid-continue: Likewise.
11272         * modules/unictype/property-xid-start: Likewise.
11273         * modules/unictype/property-zero-width: Likewise.
11274         * modules/unictype/scripts: Likewise.
11275         * modules/unictype/syntax-c-ident: Likewise.
11276         * modules/unictype/syntax-c-whitespace: Likewise.
11277         * modules/unictype/syntax-java-ident: Likewise.
11278         * modules/unictype/syntax-java-whitespace: Likewise.
11279         * modules/unilbrk/u8-possible-linebreaks: Likewise.
11280         * modules/unilbrk/u8-width-linebreaks: Likewise.
11281         * modules/unilbrk/u16-possible-linebreaks: Likewise.
11282         * modules/unilbrk/u16-width-linebreaks: Likewise.
11283         * modules/unilbrk/u32-possible-linebreaks: Likewise.
11284         * modules/unilbrk/u32-width-linebreaks: Likewise.
11285         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
11286         * modules/unilbrk/ulc-width-linebreaks: Likewise.
11287         * modules/uniname/uniname: Likewise.
11288         * modules/uninorm/canonical-decomposition: Likewise.
11289         * modules/uninorm/composition: Likewise.
11290         * modules/uninorm/decomposing-form: Likewise.
11291         * modules/uninorm/decomposition: Likewise.
11292         * modules/uninorm/filter: Likewise.
11293         * modules/uninorm/nfc: Likewise.
11294         * modules/uninorm/nfd: Likewise.
11295         * modules/uninorm/nfkc: Likewise.
11296         * modules/uninorm/nfkd: Likewise.
11297         * modules/uninorm/u8-normalize: Likewise.
11298         * modules/uninorm/u8-normcmp: Likewise.
11299         * modules/uninorm/u8-normcoll: Likewise.
11300         * modules/uninorm/u8-normxfrm: Likewise.
11301         * modules/uninorm/u16-normalize: Likewise.
11302         * modules/uninorm/u16-normcmp: Likewise.
11303         * modules/uninorm/u16-normcoll: Likewise.
11304         * modules/uninorm/u16-normxfrm: Likewise.
11305         * modules/uninorm/u32-normalize: Likewise.
11306         * modules/uninorm/u32-normcmp: Likewise.
11307         * modules/uninorm/u32-normcoll: Likewise.
11308         * modules/uninorm/u32-normxfrm: Likewise.
11309         * modules/unistdio/u8-asnprintf: Likewise.
11310         * modules/unistdio/u8-asprintf: Likewise.
11311         * modules/unistdio/u8-snprintf: Likewise.
11312         * modules/unistdio/u8-sprintf: Likewise.
11313         * modules/unistdio/u8-u8-asnprintf: Likewise.
11314         * modules/unistdio/u8-u8-asprintf: Likewise.
11315         * modules/unistdio/u8-u8-snprintf: Likewise.
11316         * modules/unistdio/u8-u8-sprintf: Likewise.
11317         * modules/unistdio/u8-u8-vasnprintf: Likewise.
11318         * modules/unistdio/u8-u8-vasprintf: Likewise.
11319         * modules/unistdio/u8-u8-vsnprintf: Likewise.
11320         * modules/unistdio/u8-u8-vsprintf: Likewise.
11321         * modules/unistdio/u8-vasnprintf: Likewise.
11322         * modules/unistdio/u8-vasprintf: Likewise.
11323         * modules/unistdio/u8-vsnprintf: Likewise.
11324         * modules/unistdio/u8-vsprintf: Likewise.
11325         * modules/unistdio/u16-asnprintf: Likewise.
11326         * modules/unistdio/u16-asprintf: Likewise.
11327         * modules/unistdio/u16-snprintf: Likewise.
11328         * modules/unistdio/u16-sprintf: Likewise.
11329         * modules/unistdio/u16-u16-asnprintf: Likewise.
11330         * modules/unistdio/u16-u16-asprintf: Likewise.
11331         * modules/unistdio/u16-u16-snprintf: Likewise.
11332         * modules/unistdio/u16-u16-sprintf: Likewise.
11333         * modules/unistdio/u16-u16-vasnprintf: Likewise.
11334         * modules/unistdio/u16-u16-vasprintf: Likewise.
11335         * modules/unistdio/u16-u16-vsnprintf: Likewise.
11336         * modules/unistdio/u16-u16-vsprintf: Likewise.
11337         * modules/unistdio/u16-vasnprintf: Likewise.
11338         * modules/unistdio/u16-vasprintf: Likewise.
11339         * modules/unistdio/u16-vsnprintf: Likewise.
11340         * modules/unistdio/u16-vsprintf: Likewise.
11341         * modules/unistdio/u32-asnprintf: Likewise.
11342         * modules/unistdio/u32-asprintf: Likewise.
11343         * modules/unistdio/u32-snprintf: Likewise.
11344         * modules/unistdio/u32-sprintf: Likewise.
11345         * modules/unistdio/u32-u32-asnprintf: Likewise.
11346         * modules/unistdio/u32-u32-asprintf: Likewise.
11347         * modules/unistdio/u32-u32-snprintf: Likewise.
11348         * modules/unistdio/u32-u32-sprintf: Likewise.
11349         * modules/unistdio/u32-u32-vasnprintf: Likewise.
11350         * modules/unistdio/u32-u32-vasprintf: Likewise.
11351         * modules/unistdio/u32-u32-vsnprintf: Likewise.
11352         * modules/unistdio/u32-u32-vsprintf: Likewise.
11353         * modules/unistdio/u32-vasnprintf: Likewise.
11354         * modules/unistdio/u32-vasprintf: Likewise.
11355         * modules/unistdio/u32-vsnprintf: Likewise.
11356         * modules/unistdio/u32-vsprintf: Likewise.
11357         * modules/unistdio/ulc-asnprintf: Likewise.
11358         * modules/unistdio/ulc-asprintf: Likewise.
11359         * modules/unistdio/ulc-fprintf: Likewise.
11360         * modules/unistdio/ulc-snprintf: Likewise.
11361         * modules/unistdio/ulc-sprintf: Likewise.
11362         * modules/unistdio/ulc-vasnprintf: Likewise.
11363         * modules/unistdio/ulc-vasprintf: Likewise.
11364         * modules/unistdio/ulc-vfprintf: Likewise.
11365         * modules/unistdio/ulc-vsnprintf: Likewise.
11366         * modules/unistdio/ulc-vsprintf: Likewise.
11367         * modules/unistr/u8-check: Likewise.
11368         * modules/unistr/u8-chr: Likewise.
11369         * modules/unistr/u8-cmp: Likewise.
11370         * modules/unistr/u8-cmp2: Likewise.
11371         * modules/unistr/u8-cpy: Likewise.
11372         * modules/unistr/u8-cpy-alloc: Likewise.
11373         * modules/unistr/u8-endswith: Likewise.
11374         * modules/unistr/u8-mblen: Likewise.
11375         * modules/unistr/u8-mbsnlen: Likewise.
11376         * modules/unistr/u8-mbtouc: Likewise.
11377         * modules/unistr/u8-mbtouc-unsafe: Likewise.
11378         * modules/unistr/u8-mbtoucr: Likewise.
11379         * modules/unistr/u8-move: Likewise.
11380         * modules/unistr/u8-next: Likewise.
11381         * modules/unistr/u8-prev: Likewise.
11382         * modules/unistr/u8-set: Likewise.
11383         * modules/unistr/u8-startswith: Likewise.
11384         * modules/unistr/u8-stpcpy: Likewise.
11385         * modules/unistr/u8-stpncpy: Likewise.
11386         * modules/unistr/u8-strcat: Likewise.
11387         * modules/unistr/u8-strchr: Likewise.
11388         * modules/unistr/u8-strcmp: Likewise.
11389         * modules/unistr/u8-strcoll: Likewise.
11390         * modules/unistr/u8-strcpy: Likewise.
11391         * modules/unistr/u8-strcspn: Likewise.
11392         * modules/unistr/u8-strdup: Likewise.
11393         * modules/unistr/u8-strlen: Likewise.
11394         * modules/unistr/u8-strmblen: Likewise.
11395         * modules/unistr/u8-strmbtouc: Likewise.
11396         * modules/unistr/u8-strncat: Likewise.
11397         * modules/unistr/u8-strncmp: Likewise.
11398         * modules/unistr/u8-strncpy: Likewise.
11399         * modules/unistr/u8-strnlen: Likewise.
11400         * modules/unistr/u8-strpbrk: Likewise.
11401         * modules/unistr/u8-strrchr: Likewise.
11402         * modules/unistr/u8-strspn: Likewise.
11403         * modules/unistr/u8-strstr: Likewise.
11404         * modules/unistr/u8-strtok: Likewise.
11405         * modules/unistr/u8-to-u16: Likewise.
11406         * modules/unistr/u8-to-u32: Likewise.
11407         * modules/unistr/u8-uctomb: Likewise.
11408         * modules/unistr/u16-check: Likewise.
11409         * modules/unistr/u16-chr: Likewise.
11410         * modules/unistr/u16-cmp: Likewise.
11411         * modules/unistr/u16-cmp2: Likewise.
11412         * modules/unistr/u16-cpy: Likewise.
11413         * modules/unistr/u16-cpy-alloc: Likewise.
11414         * modules/unistr/u16-endswith: Likewise.
11415         * modules/unistr/u16-mblen: Likewise.
11416         * modules/unistr/u16-mbsnlen: Likewise.
11417         * modules/unistr/u16-mbtouc: Likewise.
11418         * modules/unistr/u16-mbtouc-unsafe: Likewise.
11419         * modules/unistr/u16-mbtoucr: Likewise.
11420         * modules/unistr/u16-move: Likewise.
11421         * modules/unistr/u16-next: Likewise.
11422         * modules/unistr/u16-prev: Likewise.
11423         * modules/unistr/u16-set: Likewise.
11424         * modules/unistr/u16-startswith: Likewise.
11425         * modules/unistr/u16-stpcpy: Likewise.
11426         * modules/unistr/u16-stpncpy: Likewise.
11427         * modules/unistr/u16-strcat: Likewise.
11428         * modules/unistr/u16-strchr: Likewise.
11429         * modules/unistr/u16-strcmp: Likewise.
11430         * modules/unistr/u16-strcoll: Likewise.
11431         * modules/unistr/u16-strcpy: Likewise.
11432         * modules/unistr/u16-strcspn: Likewise.
11433         * modules/unistr/u16-strdup: Likewise.
11434         * modules/unistr/u16-strlen: Likewise.
11435         * modules/unistr/u16-strmblen: Likewise.
11436         * modules/unistr/u16-strmbtouc: Likewise.
11437         * modules/unistr/u16-strncat: Likewise.
11438         * modules/unistr/u16-strncmp: Likewise.
11439         * modules/unistr/u16-strncpy: Likewise.
11440         * modules/unistr/u16-strnlen: Likewise.
11441         * modules/unistr/u16-strpbrk: Likewise.
11442         * modules/unistr/u16-strrchr: Likewise.
11443         * modules/unistr/u16-strspn: Likewise.
11444         * modules/unistr/u16-strstr: Likewise.
11445         * modules/unistr/u16-strtok: Likewise.
11446         * modules/unistr/u16-to-u32: Likewise.
11447         * modules/unistr/u16-to-u8: Likewise.
11448         * modules/unistr/u16-uctomb: Likewise.
11449         * modules/unistr/u32-check: Likewise.
11450         * modules/unistr/u32-chr: Likewise.
11451         * modules/unistr/u32-cmp: Likewise.
11452         * modules/unistr/u32-cmp2: Likewise.
11453         * modules/unistr/u32-cpy: Likewise.
11454         * modules/unistr/u32-cpy-alloc: Likewise.
11455         * modules/unistr/u32-endswith: Likewise.
11456         * modules/unistr/u32-mblen: Likewise.
11457         * modules/unistr/u32-mbsnlen: Likewise.
11458         * modules/unistr/u32-mbtouc: Likewise.
11459         * modules/unistr/u32-mbtouc-unsafe: Likewise.
11460         * modules/unistr/u32-mbtoucr: Likewise.
11461         * modules/unistr/u32-move: Likewise.
11462         * modules/unistr/u32-next: Likewise.
11463         * modules/unistr/u32-prev: Likewise.
11464         * modules/unistr/u32-set: Likewise.
11465         * modules/unistr/u32-startswith: Likewise.
11466         * modules/unistr/u32-stpcpy: Likewise.
11467         * modules/unistr/u32-stpncpy: Likewise.
11468         * modules/unistr/u32-strcat: Likewise.
11469         * modules/unistr/u32-strchr: Likewise.
11470         * modules/unistr/u32-strcmp: Likewise.
11471         * modules/unistr/u32-strcoll: Likewise.
11472         * modules/unistr/u32-strcpy: Likewise.
11473         * modules/unistr/u32-strcspn: Likewise.
11474         * modules/unistr/u32-strdup: Likewise.
11475         * modules/unistr/u32-strlen: Likewise.
11476         * modules/unistr/u32-strmblen: Likewise.
11477         * modules/unistr/u32-strmbtouc: Likewise.
11478         * modules/unistr/u32-strncat: Likewise.
11479         * modules/unistr/u32-strncmp: Likewise.
11480         * modules/unistr/u32-strncpy: Likewise.
11481         * modules/unistr/u32-strnlen: Likewise.
11482         * modules/unistr/u32-strpbrk: Likewise.
11483         * modules/unistr/u32-strrchr: Likewise.
11484         * modules/unistr/u32-strspn: Likewise.
11485         * modules/unistr/u32-strstr: Likewise.
11486         * modules/unistr/u32-strtok: Likewise.
11487         * modules/unistr/u32-to-u16: Likewise.
11488         * modules/unistr/u32-to-u8: Likewise.
11489         * modules/unistr/u32-uctomb: Likewise.
11490         * modules/uniwbrk/u8-wordbreaks: Likewise.
11491         * modules/uniwbrk/u16-wordbreaks: Likewise.
11492         * modules/uniwbrk/u32-wordbreaks: Likewise.
11493         * modules/uniwbrk/ulc-wordbreaks: Likewise.
11494         * modules/uniwbrk/wordbreak-property: Likewise.
11495         * modules/uniwidth/u8-strwidth: Likewise.
11496         * modules/uniwidth/u8-width: Likewise.
11497         * modules/uniwidth/u16-strwidth: Likewise.
11498         * modules/uniwidth/u16-width: Likewise.
11499         * modules/uniwidth/u32-strwidth: Likewise.
11500         * modules/uniwidth/u32-width: Likewise.
11501         * modules/uniwidth/width: Likewise.
11502         * modules/unicase/cased-tests (Makefile.am): Link all test programs
11503         with $(LIBUNISTRING).
11504         * modules/unicase/ignorable-tests: Likewise.
11505         * modules/unicase/locale-language-tests: Likewise.
11506         * modules/unicase/tolower-tests: Likewise.
11507         * modules/unicase/totitle-tests: Likewise.
11508         * modules/unicase/toupper-tests: Likewise.
11509         * modules/unicase/u8-casecmp-tests: Likewise.
11510         * modules/unicase/u8-casecoll-tests: Likewise.
11511         * modules/unicase/u8-casefold-tests: Likewise.
11512         * modules/unicase/u8-is-cased-tests: Likewise.
11513         * modules/unicase/u8-is-casefolded-tests: Likewise.
11514         * modules/unicase/u8-is-lowercase-tests: Likewise.
11515         * modules/unicase/u8-is-titlecase-tests: Likewise.
11516         * modules/unicase/u8-is-uppercase-tests: Likewise.
11517         * modules/unicase/u8-tolower-tests: Likewise.
11518         * modules/unicase/u8-totitle-tests: Likewise.
11519         * modules/unicase/u8-toupper-tests: Likewise.
11520         * modules/unicase/u16-casecmp-tests: Likewise.
11521         * modules/unicase/u16-casecoll-tests: Likewise.
11522         * modules/unicase/u16-casefold-tests: Likewise.
11523         * modules/unicase/u16-is-cased-tests: Likewise.
11524         * modules/unicase/u16-is-casefolded-tests: Likewise.
11525         * modules/unicase/u16-is-lowercase-tests: Likewise.
11526         * modules/unicase/u16-is-titlecase-tests: Likewise.
11527         * modules/unicase/u16-is-uppercase-tests: Likewise.
11528         * modules/unicase/u16-tolower-tests: Likewise.
11529         * modules/unicase/u16-totitle-tests: Likewise.
11530         * modules/unicase/u16-toupper-tests: Likewise.
11531         * modules/unicase/u32-casecmp-tests: Likewise.
11532         * modules/unicase/u32-casecoll-tests: Likewise.
11533         * modules/unicase/u32-casefold-tests: Likewise.
11534         * modules/unicase/u32-is-cased-tests: Likewise.
11535         * modules/unicase/u32-is-casefolded-tests: Likewise.
11536         * modules/unicase/u32-is-lowercase-tests: Likewise.
11537         * modules/unicase/u32-is-titlecase-tests: Likewise.
11538         * modules/unicase/u32-is-uppercase-tests: Likewise.
11539         * modules/unicase/u32-tolower-tests: Likewise.
11540         * modules/unicase/u32-totitle-tests: Likewise.
11541         * modules/unicase/u32-toupper-tests: Likewise.
11542         * modules/unicase/ulc-casecmp-tests: Likewise.
11543         * modules/unicase/ulc-casecoll-tests: Likewise.
11544         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
11545         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
11546         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
11547         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
11548         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
11549         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
11550         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
11551         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
11552         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
11553         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
11554         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
11555         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
11556         * modules/unictype/bidicategory-byname-tests: Likewise.
11557         * modules/unictype/bidicategory-name-tests: Likewise.
11558         * modules/unictype/bidicategory-of-tests: Likewise.
11559         * modules/unictype/bidicategory-test-tests: Likewise.
11560         * modules/unictype/block-list-tests: Likewise.
11561         * modules/unictype/block-of-tests: Likewise.
11562         * modules/unictype/block-test-tests: Likewise.
11563         * modules/unictype/category-C-tests: Likewise.
11564         * modules/unictype/category-Cc-tests: Likewise.
11565         * modules/unictype/category-Cf-tests: Likewise.
11566         * modules/unictype/category-Cn-tests: Likewise.
11567         * modules/unictype/category-Co-tests: Likewise.
11568         * modules/unictype/category-Cs-tests: Likewise.
11569         * modules/unictype/category-L-tests: Likewise.
11570         * modules/unictype/category-Ll-tests: Likewise.
11571         * modules/unictype/category-Lm-tests: Likewise.
11572         * modules/unictype/category-Lo-tests: Likewise.
11573         * modules/unictype/category-Lt-tests: Likewise.
11574         * modules/unictype/category-Lu-tests: Likewise.
11575         * modules/unictype/category-M-tests: Likewise.
11576         * modules/unictype/category-Mc-tests: Likewise.
11577         * modules/unictype/category-Me-tests: Likewise.
11578         * modules/unictype/category-Mn-tests: Likewise.
11579         * modules/unictype/category-N-tests: Likewise.
11580         * modules/unictype/category-Nd-tests: Likewise.
11581         * modules/unictype/category-Nl-tests: Likewise.
11582         * modules/unictype/category-No-tests: Likewise.
11583         * modules/unictype/category-P-tests: Likewise.
11584         * modules/unictype/category-Pc-tests: Likewise.
11585         * modules/unictype/category-Pd-tests: Likewise.
11586         * modules/unictype/category-Pe-tests: Likewise.
11587         * modules/unictype/category-Pf-tests: Likewise.
11588         * modules/unictype/category-Pi-tests: Likewise.
11589         * modules/unictype/category-Po-tests: Likewise.
11590         * modules/unictype/category-Ps-tests: Likewise.
11591         * modules/unictype/category-S-tests: Likewise.
11592         * modules/unictype/category-Sc-tests: Likewise.
11593         * modules/unictype/category-Sk-tests: Likewise.
11594         * modules/unictype/category-Sm-tests: Likewise.
11595         * modules/unictype/category-So-tests: Likewise.
11596         * modules/unictype/category-Z-tests: Likewise.
11597         * modules/unictype/category-Zl-tests: Likewise.
11598         * modules/unictype/category-Zp-tests: Likewise.
11599         * modules/unictype/category-Zs-tests: Likewise.
11600         * modules/unictype/category-and-not-tests: Likewise.
11601         * modules/unictype/category-and-tests: Likewise.
11602         * modules/unictype/category-byname-tests: Likewise.
11603         * modules/unictype/category-name-tests: Likewise.
11604         * modules/unictype/category-none-tests: Likewise.
11605         * modules/unictype/category-of-tests: Likewise.
11606         * modules/unictype/category-or-tests: Likewise.
11607         * modules/unictype/category-test-withtable-tests: Likewise.
11608         * modules/unictype/combining-class-tests: Likewise.
11609         * modules/unictype/ctype-alnum-tests: Likewise.
11610         * modules/unictype/ctype-alpha-tests: Likewise.
11611         * modules/unictype/ctype-blank-tests: Likewise.
11612         * modules/unictype/ctype-cntrl-tests: Likewise.
11613         * modules/unictype/ctype-digit-tests: Likewise.
11614         * modules/unictype/ctype-graph-tests: Likewise.
11615         * modules/unictype/ctype-lower-tests: Likewise.
11616         * modules/unictype/ctype-print-tests: Likewise.
11617         * modules/unictype/ctype-punct-tests: Likewise.
11618         * modules/unictype/ctype-space-tests: Likewise.
11619         * modules/unictype/ctype-upper-tests: Likewise.
11620         * modules/unictype/ctype-xdigit-tests: Likewise.
11621         * modules/unictype/decimal-digit-tests: Likewise.
11622         * modules/unictype/digit-tests: Likewise.
11623         * modules/unictype/mirror-tests: Likewise.
11624         * modules/unictype/numeric-tests: Likewise.
11625         * modules/unictype/property-alphabetic-tests: Likewise.
11626         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
11627         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
11628         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
11629         * modules/unictype/property-bidi-block-separator-tests: Likewise.
11630         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
11631         * modules/unictype/property-bidi-common-separator-tests: Likewise.
11632         * modules/unictype/property-bidi-control-tests: Likewise.
11633         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
11634         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
11635         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
11636         * modules/unictype/property-bidi-european-digit-tests: Likewise.
11637         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
11638         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
11639         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
11640         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
11641         * modules/unictype/property-bidi-pdf-tests: Likewise.
11642         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
11643         * modules/unictype/property-bidi-whitespace-tests: Likewise.
11644         * modules/unictype/property-byname-tests: Likewise.
11645         * modules/unictype/property-combining-tests: Likewise.
11646         * modules/unictype/property-composite-tests: Likewise.
11647         * modules/unictype/property-currency-symbol-tests: Likewise.
11648         * modules/unictype/property-dash-tests: Likewise.
11649         * modules/unictype/property-decimal-digit-tests: Likewise.
11650         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
11651         * modules/unictype/property-deprecated-tests: Likewise.
11652         * modules/unictype/property-diacritic-tests: Likewise.
11653         * modules/unictype/property-extender-tests: Likewise.
11654         * modules/unictype/property-format-control-tests: Likewise.
11655         * modules/unictype/property-grapheme-base-tests: Likewise.
11656         * modules/unictype/property-grapheme-extend-tests: Likewise.
11657         * modules/unictype/property-grapheme-link-tests: Likewise.
11658         * modules/unictype/property-hex-digit-tests: Likewise.
11659         * modules/unictype/property-hyphen-tests: Likewise.
11660         * modules/unictype/property-id-continue-tests: Likewise.
11661         * modules/unictype/property-id-start-tests: Likewise.
11662         * modules/unictype/property-ideographic-tests: Likewise.
11663         * modules/unictype/property-ids-binary-operator-tests: Likewise.
11664         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
11665         * modules/unictype/property-ignorable-control-tests: Likewise.
11666         * modules/unictype/property-iso-control-tests: Likewise.
11667         * modules/unictype/property-join-control-tests: Likewise.
11668         * modules/unictype/property-left-of-pair-tests: Likewise.
11669         * modules/unictype/property-line-separator-tests: Likewise.
11670         * modules/unictype/property-logical-order-exception-tests: Likewise.
11671         * modules/unictype/property-lowercase-tests: Likewise.
11672         * modules/unictype/property-math-tests: Likewise.
11673         * modules/unictype/property-non-break-tests: Likewise.
11674         * modules/unictype/property-not-a-character-tests: Likewise.
11675         * modules/unictype/property-numeric-tests: Likewise.
11676         * modules/unictype/property-other-alphabetic-tests: Likewise.
11677         * modules/unictype/property-other-default-ignorable-code-point-tests:
11678         Likewise.
11679         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
11680         * modules/unictype/property-other-id-continue-tests: Likewise.
11681         * modules/unictype/property-other-id-start-tests: Likewise.
11682         * modules/unictype/property-other-lowercase-tests: Likewise.
11683         * modules/unictype/property-other-math-tests: Likewise.
11684         * modules/unictype/property-other-uppercase-tests: Likewise.
11685         * modules/unictype/property-paired-punctuation-tests: Likewise.
11686         * modules/unictype/property-paragraph-separator-tests: Likewise.
11687         * modules/unictype/property-pattern-syntax-tests: Likewise.
11688         * modules/unictype/property-pattern-white-space-tests: Likewise.
11689         * modules/unictype/property-private-use-tests: Likewise.
11690         * modules/unictype/property-punctuation-tests: Likewise.
11691         * modules/unictype/property-quotation-mark-tests: Likewise.
11692         * modules/unictype/property-radical-tests: Likewise.
11693         * modules/unictype/property-sentence-terminal-tests: Likewise.
11694         * modules/unictype/property-soft-dotted-tests: Likewise.
11695         * modules/unictype/property-space-tests: Likewise.
11696         * modules/unictype/property-terminal-punctuation-tests: Likewise.
11697         * modules/unictype/property-test-tests: Likewise.
11698         * modules/unictype/property-titlecase-tests: Likewise.
11699         * modules/unictype/property-unassigned-code-value-tests: Likewise.
11700         * modules/unictype/property-unified-ideograph-tests: Likewise.
11701         * modules/unictype/property-uppercase-tests: Likewise.
11702         * modules/unictype/property-variation-selector-tests: Likewise.
11703         * modules/unictype/property-white-space-tests: Likewise.
11704         * modules/unictype/property-xid-continue-tests: Likewise.
11705         * modules/unictype/property-xid-start-tests: Likewise.
11706         * modules/unictype/property-zero-width-tests: Likewise.
11707         * modules/unictype/scripts-tests: Likewise.
11708         * modules/unictype/syntax-c-ident-tests: Likewise.
11709         * modules/unictype/syntax-c-whitespace-tests: Likewise.
11710         * modules/unictype/syntax-java-ident-tests: Likewise.
11711         * modules/unictype/syntax-java-whitespace-tests: Likewise.
11712         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
11713         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
11714         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
11715         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
11716         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
11717         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
11718         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
11719         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
11720         * modules/uniname/uniname-tests: Likewise.
11721         * modules/uninorm/canonical-decomposition-tests: Likewise.
11722         * modules/uninorm/compat-decomposition-tests: Likewise.
11723         * modules/uninorm/composition-tests: Likewise.
11724         * modules/uninorm/decomposing-form-tests: Likewise.
11725         * modules/uninorm/decomposition-tests: Likewise.
11726         * modules/uninorm/filter-tests: Likewise.
11727         * modules/uninorm/nfc-tests: Likewise.
11728         * modules/uninorm/nfd-tests: Likewise.
11729         * modules/uninorm/nfkc-tests: Likewise.
11730         * modules/uninorm/nfkd-tests: Likewise.
11731         * modules/uninorm/u8-normcmp-tests: Likewise.
11732         * modules/uninorm/u8-normcoll-tests: Likewise.
11733         * modules/uninorm/u16-normcmp-tests: Likewise.
11734         * modules/uninorm/u16-normcoll-tests: Likewise.
11735         * modules/uninorm/u32-normcmp-tests: Likewise.
11736         * modules/uninorm/u32-normcoll-tests: Likewise.
11737         * modules/unistdio/u8-asnprintf-tests: Likewise.
11738         * modules/unistdio/u8-vasnprintf-tests: Likewise.
11739         * modules/unistdio/u8-vasprintf-tests: Likewise.
11740         * modules/unistdio/u8-vsnprintf-tests: Likewise.
11741         * modules/unistdio/u8-vsprintf-tests: Likewise.
11742         * modules/unistdio/u16-asnprintf-tests: Likewise.
11743         * modules/unistdio/u16-vasnprintf-tests: Likewise.
11744         * modules/unistdio/u16-vasprintf-tests: Likewise.
11745         * modules/unistdio/u16-vsnprintf-tests: Likewise.
11746         * modules/unistdio/u16-vsprintf-tests: Likewise.
11747         * modules/unistdio/u32-asnprintf-tests: Likewise.
11748         * modules/unistdio/u32-vasnprintf-tests: Likewise.
11749         * modules/unistdio/u32-vasprintf-tests: Likewise.
11750         * modules/unistdio/u32-vsnprintf-tests: Likewise.
11751         * modules/unistdio/u32-vsprintf-tests: Likewise.
11752         * modules/unistdio/ulc-asnprintf-tests: Likewise.
11753         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
11754         * modules/unistdio/ulc-vasprintf-tests: Likewise.
11755         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
11756         * modules/unistdio/ulc-vsprintf-tests: Likewise.
11757         * modules/unistr/u8-check-tests: Likewise.
11758         * modules/unistr/u8-chr-tests: Likewise.
11759         * modules/unistr/u8-cmp-tests: Likewise.
11760         * modules/unistr/u8-cmp2-tests: Likewise.
11761         * modules/unistr/u8-cpy-alloc-tests: Likewise.
11762         * modules/unistr/u8-cpy-tests: Likewise.
11763         * modules/unistr/u8-mblen-tests: Likewise.
11764         * modules/unistr/u8-mbsnlen-tests: Likewise.
11765         * modules/unistr/u8-mbtouc-tests: Likewise.
11766         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
11767         * modules/unistr/u8-mbtoucr-tests: Likewise.
11768         * modules/unistr/u8-move-tests: Likewise.
11769         * modules/unistr/u8-next-tests: Likewise.
11770         * modules/unistr/u8-prev-tests: Likewise.
11771         * modules/unistr/u8-set-tests: Likewise.
11772         * modules/unistr/u8-stpcpy-tests: Likewise.
11773         * modules/unistr/u8-stpncpy-tests: Likewise.
11774         * modules/unistr/u8-strcat-tests: Likewise.
11775         * modules/unistr/u8-strcmp-tests: Likewise.
11776         * modules/unistr/u8-strcoll-tests: Likewise.
11777         * modules/unistr/u8-strcpy-tests: Likewise.
11778         * modules/unistr/u8-strdup-tests: Likewise.
11779         * modules/unistr/u8-strlen-tests: Likewise.
11780         * modules/unistr/u8-strmblen-tests: Likewise.
11781         * modules/unistr/u8-strmbtouc-tests: Likewise.
11782         * modules/unistr/u8-strncat-tests: Likewise.
11783         * modules/unistr/u8-strncmp-tests: Likewise.
11784         * modules/unistr/u8-strncpy-tests: Likewise.
11785         * modules/unistr/u8-strnlen-tests: Likewise.
11786         * modules/unistr/u8-to-u16-tests: Likewise.
11787         * modules/unistr/u8-to-u32-tests: Likewise.
11788         * modules/unistr/u8-uctomb-tests: Likewise.
11789         * modules/unistr/u16-check-tests: Likewise.
11790         * modules/unistr/u16-chr-tests: Likewise.
11791         * modules/unistr/u16-cmp-tests: Likewise.
11792         * modules/unistr/u16-cmp2-tests: Likewise.
11793         * modules/unistr/u16-cpy-alloc-tests: Likewise.
11794         * modules/unistr/u16-cpy-tests: Likewise.
11795         * modules/unistr/u16-mblen-tests: Likewise.
11796         * modules/unistr/u16-mbsnlen-tests: Likewise.
11797         * modules/unistr/u16-mbtouc-tests: Likewise.
11798         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11799         * modules/unistr/u16-mbtoucr-tests: Likewise.
11800         * modules/unistr/u16-move-tests: Likewise.
11801         * modules/unistr/u16-next-tests: Likewise.
11802         * modules/unistr/u16-prev-tests: Likewise.
11803         * modules/unistr/u16-set-tests: Likewise.
11804         * modules/unistr/u16-stpcpy-tests: Likewise.
11805         * modules/unistr/u16-stpncpy-tests: Likewise.
11806         * modules/unistr/u16-strcat-tests: Likewise.
11807         * modules/unistr/u16-strcmp-tests: Likewise.
11808         * modules/unistr/u16-strcoll-tests: Likewise.
11809         * modules/unistr/u16-strcpy-tests: Likewise.
11810         * modules/unistr/u16-strdup-tests: Likewise.
11811         * modules/unistr/u16-strlen-tests: Likewise.
11812         * modules/unistr/u16-strmblen-tests: Likewise.
11813         * modules/unistr/u16-strmbtouc-tests: Likewise.
11814         * modules/unistr/u16-strncat-tests: Likewise.
11815         * modules/unistr/u16-strncmp-tests: Likewise.
11816         * modules/unistr/u16-strncpy-tests: Likewise.
11817         * modules/unistr/u16-strnlen-tests: Likewise.
11818         * modules/unistr/u16-to-u32-tests: Likewise.
11819         * modules/unistr/u16-to-u8-tests: Likewise.
11820         * modules/unistr/u16-uctomb-tests: Likewise.
11821         * modules/unistr/u32-check-tests: Likewise.
11822         * modules/unistr/u32-chr-tests: Likewise.
11823         * modules/unistr/u32-cmp-tests: Likewise.
11824         * modules/unistr/u32-cmp2-tests: Likewise.
11825         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11826         * modules/unistr/u32-cpy-tests: Likewise.
11827         * modules/unistr/u32-mblen-tests: Likewise.
11828         * modules/unistr/u32-mbsnlen-tests: Likewise.
11829         * modules/unistr/u32-mbtouc-tests: Likewise.
11830         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11831         * modules/unistr/u32-mbtoucr-tests: Likewise.
11832         * modules/unistr/u32-move-tests: Likewise.
11833         * modules/unistr/u32-next-tests: Likewise.
11834         * modules/unistr/u32-prev-tests: Likewise.
11835         * modules/unistr/u32-set-tests: Likewise.
11836         * modules/unistr/u32-stpcpy-tests: Likewise.
11837         * modules/unistr/u32-stpncpy-tests: Likewise.
11838         * modules/unistr/u32-strcat-tests: Likewise.
11839         * modules/unistr/u32-strcmp-tests: Likewise.
11840         * modules/unistr/u32-strcoll-tests: Likewise.
11841         * modules/unistr/u32-strcpy-tests: Likewise.
11842         * modules/unistr/u32-strdup-tests: Likewise.
11843         * modules/unistr/u32-strlen-tests: Likewise.
11844         * modules/unistr/u32-strmblen-tests: Likewise.
11845         * modules/unistr/u32-strmbtouc-tests: Likewise.
11846         * modules/unistr/u32-strncat-tests: Likewise.
11847         * modules/unistr/u32-strncmp-tests: Likewise.
11848         * modules/unistr/u32-strncpy-tests: Likewise.
11849         * modules/unistr/u32-strnlen-tests: Likewise.
11850         * modules/unistr/u32-to-u16-tests: Likewise.
11851         * modules/unistr/u32-to-u8-tests: Likewise.
11852         * modules/unistr/u32-uctomb-tests: Likewise.
11853         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11854         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11855         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11856         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11857         * modules/uniwidth/u8-strwidth-tests: Likewise.
11858         * modules/uniwidth/u8-width-tests: Likewise.
11859         * modules/uniwidth/u16-strwidth-tests: Likewise.
11860         * modules/uniwidth/u16-width-tests: Likewise.
11861         * modules/uniwidth/u32-strwidth-tests: Likewise.
11862         * modules/uniwidth/u32-width-tests: Likewise.
11863         * modules/uniwidth/width-tests: Likewise.
11864
11865 2010-05-18  Richard Jones  <rjones@redhat.com>
11866
11867         doc: users.txt: list hivex
11868         * users.txt: Add hivex.
11869
11870 2010-05-18  Richard Jones  <rjones@redhat.com>
11871
11872         doc: users.txt: list febootstrap
11873         * users.txt: Add febootstrap.
11874
11875 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11876
11877         bootstrap: fix an error when gnulib is not used as a git submodule
11878         * build-aux/bootstrap (gnulib_path): If its length is zero then
11879         assign "gnulib" to it.
11880         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11881
11882 2010-05-16  Bruno Haible  <bruno@clisp.org>
11883
11884         Avoid autoconf warnings about AM_ICONV.
11885         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11886         2.64.
11887
11888 2010-05-16  Bruno Haible  <bruno@clisp.org>
11889
11890         absolute-header: Make the macro usable in more situations.
11891         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11892         from gl_ABSOLUTE_HEADER.
11893         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11894
11895 2010-05-16  James Youngman  <jay@gnu.org>
11896
11897         doc: update users.txt
11898         * users.txt: Add CSSC.
11899
11900 2010-05-16  Jim Meyering  <meyering@redhat.com>
11901
11902         init.sh: fix an error in the previous change; add more comments
11903         * tests/init.sh: Compare exit code in loop against 9, not 2.
11904         Patch by Bruno Haible.
11905         Make the two tests more similar by adding an empty "then" clause.
11906         Add comments.
11907
11908         init.sh: avoid unnecessary shell re-exec
11909         * tests/init.sh: Improve the re-exec-required check to first test the
11910         current shell.  If it passes the test, do not search for a shell that
11911         does pass, and do not re-exec.  This test is particularly contorted to
11912         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11913         of $(...) evokes a syntax error and causes immediate shell exit with
11914         status 2.  Bruno Haible reported that the re-exec made it impossible
11915         to single-step through any init.sh-using script.
11916
11917 2010-05-16  Bruno Haible  <bruno@clisp.org>
11918
11919         Fix collision between gnulib's and libintl's printf replacements.
11920         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11921         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11922         (printf): When using GNU C, map the __printf__ function to rpl_printf
11923         via __asm__. When not using GNU C, define rpl_printf instead of
11924         __printf__.
11925         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11926         commit.
11927         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11928         commit.
11929         * m4/asm-underscore.m4: New file.
11930         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11931         * modules/stdio (Files): Add m4/asm-underscore.m4.
11932         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11933         Reported by Ben Pfaff.
11934
11935 2010-05-16  Bruno Haible  <bruno@clisp.org>
11936
11937         verify: Avoid skipping the test on openSUSE 11.0.
11938         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11939
11940 2010-05-13  Bruno Haible  <bruno@clisp.org>
11941
11942         Avoid useless warnings from G++.
11943         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11944         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11945         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11946
11947 2010-05-11  Jim Meyering  <meyering@redhat.com>
11948
11949         maint.mk: tweak preceding change
11950         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11951         regexps tighter by anchoring at EOL, and make the new group "shy"
11952         for slightly decreased overhead.
11953
11954 2010-05-11  Eric Blake  <eblake@redhat.com>
11955
11956         maint.mk: gnulib doesn't guarantee NSIG
11957         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11958
11959 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11960
11961         test-pwrite.c: Remove unused variable declaration.
11962         * tests/test-pwrite.c (main): Remove read_buf declaration.
11963
11964         Remove useless test-pwrite.sh file.
11965         * tests/test-pwrite.sh: Delete file.
11966         * modules/pwrite-tests: Remove references.
11967         Reported by Bruno Haible.
11968
11969 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11970
11971         init.sh: fix a typo
11972         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11973
11974 2010-05-10  Jim Meyering  <meyering@redhat.com>
11975
11976         maint.mk: avoid using a temporary file in the always-defined-macros check
11977         * top/maint.mk (.re-defmac): Remove rule.
11978         (gl_trap_): Remove definition.
11979         (sc_prohibit_always-defined_macros): Rewrite not to create and
11980         depend on a temporary file.  Instead, depend on GNU grep's ability
11981         to read a list of regular expressions from stdin when given "-f -".
11982
11983 2010-05-09  Bruno Haible  <bruno@clisp.org>
11984
11985         Update to GNU gettext 0.18, part 1.
11986         * m4/gettext.m4: Update to GNU gettext 0.18.
11987         * m4/intl.m4: Likewise.
11988         * m4/po.m4: Likewise.
11989         * modules/gettext (Files): Add m4/fcntl-o.m4.
11990         (configure.ac): Require gettext infrastructure from version 0.18.
11991
11992 2010-05-09  Jim Meyering  <meyering@redhat.com>
11993
11994         init.sh: enable MALLOC_PERTURB_
11995         * tests/init.sh: Enable glibc's malloc-perturbing option.
11996
11997         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11998         With my recent change in init.sh from the two-line form:
11999             -#   : ${srcdir=.}
12000             -#   . "$srcdir/init.sh"; path_prepend_ .
12001             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
12002         I noticed that using the one-line form would cause this test
12003         to fail with a false-positive, or to stop working altogether,
12004         depending on whether help-version changed or all the tests did.
12005         * top/maint.mk (_hv_regex): Remove this definition.
12006         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
12007         (_hv_regex_strong): Use a stronger regex to check for conformance.
12008         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
12009         Give a separate diagnostic for lack of conforming use.
12010
12011         maint.mk: prohibit definition of symbols defined by gnulib
12012         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
12013         definition of symbols defined by gnulib.
12014
12015 2010-05-09  Bruno Haible  <bruno@clisp.org>
12016
12017         acl: Avoid test failure on Cygwin-hosted mingw.
12018         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
12019
12020 2010-05-09  Bruno Haible  <bruno@clisp.org>
12021
12022         error: Use system's fcntl function.
12023         * lib/error.c (fcntl): Undefine.
12024
12025 2010-05-09  Jim Meyering  <meyering@redhat.com>
12026
12027         verify: adjust formatting to be more consistent
12028         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
12029         argument-list '('s, and after one comma.
12030
12031 2010-05-09  Bruno Haible  <bruno@clisp.org>
12032
12033         error: More reliable output on mingw.
12034         * lib/error.c: Include <windows.h>.
12035         (is_open): New function.
12036         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
12037         defined.
12038
12039 2010-05-09  Bruno Haible  <bruno@clisp.org>
12040
12041         vasnprintf: Fix syntax errors in libintl build on mingw.
12042         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
12043         pad_ourselves and prec_ourselves after use.
12044
12045 2010-05-08  Bruno Haible  <bruno@clisp.org>
12046
12047         * lib/config.charset: Update comments for Cygwin 1.7.
12048         * lib/localcharset.c: Likewise.
12049
12050 2010-05-07  Jim Meyering  <meyering@redhat.com>
12051
12052         init.sh: improve comments
12053         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
12054         . "${srcdir=.}/init.sh"; path_prepend_ .
12055         Add a note about path_prepend_ and the alternative of using
12056         TESTS_ENVIRONMENT.
12057
12058 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
12059
12060         exclude: Unescape hashed patterns in wildcard mode.
12061         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
12062         to the hash list.
12063         * tests/test-exclude8.sh: New test case.
12064         * modules/exclude-tests: Add new test.
12065
12066 2010-05-05  Eric Blake  <eblake@redhat.com>
12067
12068         verify: automate tests
12069         * modules/verify-tests: New module.
12070         * tests/test-verify.sh: New file.
12071         * tests/test-verify.c: Guard each negative test with a unique id.
12072         Also avoid warning about unused left hand of comma expressions.
12073
12074 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12075
12076         Further improvements to verify.h, suggested by Eric Blake.
12077         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
12078         the GL_* versions, to avoid collision with OpenGL.
12079         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
12080         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
12081         than testing merely whether it's defined.
12082
12083         Modify verify.h to pacify gcc -Wredundant_decls.
12084         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
12085         These use the prefix "GL_" since they're likely to be useful elsewhere.
12086         We may need to break them out into a different .h file.
12087         (__COUNTER__): Define to 0 if the compiler doesn't support it.
12088         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
12089         of verify_function__.
12090
12091 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12092
12093         Tests for module pwrite.
12094         * modules/pwrite-tests: New file.
12095         * tests/test-pwrite.sh: New file.
12096         * tests/test-pwrite.c: New file.
12097
12098         New module pwrite.
12099         * lib/unistd.in.h (pwrite): New declaration.
12100         * lib/pwrite.c: New file, from glibc with modifications.
12101         * m4/pwrite.m4: New file.
12102         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
12103         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
12104         REPLACE_PWRITE.
12105         * modules/pwrite: New file.
12106         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
12107         REPLACE_PWRITE.
12108         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
12109         * doc/posix-functions/pwrite.texi: Mention the new module.
12110
12111 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12112
12113         pread: Update documentation.
12114         * doc/posix-functions/pread.texi: Mention the 'pread' module.
12115
12116 2010-05-04  Eric Blake  <eblake@redhat.com>
12117
12118         docs: update cygwin progress
12119         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
12120         this bug.
12121         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
12122         Added in cygwin 1.7.2.
12123         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
12124         Likewise.
12125         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
12126         Likewise.
12127         * doc/glibc-functions/dup3.texi (dup3): Likewise.
12128         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12129         * doc/glibc-functions/accept4.texi (accept4): Likewise.
12130         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
12131         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
12132         Mention nproc module.
12133         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
12134         bug in cygwin 1.7.5 addition.
12135         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
12136         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
12137         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
12138         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
12139         1.7.5.
12140         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
12141         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
12142         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
12143         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
12144         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
12145         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
12146         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
12147         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
12148         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
12149         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
12150         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
12151         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
12152         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
12153         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
12154         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
12155         Likewise.
12156         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
12157         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
12158         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
12159         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
12160         Likewise.
12161         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
12162         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
12163         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
12164         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
12165         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
12166         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
12167         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
12168         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
12169         Likewise.
12170         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
12171         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
12172         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
12173         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
12174         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
12175         Likewise.
12176         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
12177         Likewise.
12178         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
12179         Likewise.
12180         * doc/glibc-functions/xdrrec_endofrecord.texi
12181         (xdrrec_endofrecord): Likewise.
12182         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
12183         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
12184         Likewise.
12185         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
12186         Likewise.
12187
12188 2010-05-04  Jim Meyering  <meyering@redhat.com>
12189
12190         gendocs.sh: make its "-s FILE" option more useful
12191         * build-aux/gendocs.sh: When honoring the -s FILE option, update
12192         $PACKAGE to reflect the probably-different basename of "FILE".
12193
12194 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12195
12196         bootstrap: don't ignore download_po_files failure
12197         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
12198         failure.
12199
12200 2010-05-03  Jim Meyering  <meyering@redhat.com>
12201
12202         maint.mk: allow to pass options to gendocs.sh
12203         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
12204         (gendocs_options_): New overridable variable.
12205
12206         gnu-web-doc-update: don't ignore configure or build failure
12207         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
12208
12209         announce-gen: backslash-escape '@'s in --help output
12210         * build-aux/announce-gen: Fix syntax errors.
12211
12212         maint.mk, announce-gen: allow project-specific announcement mail headers
12213         * top/maint.mk (translation_project_): Define default.
12214         (announcement_Cc_, announcement_mail_headers_): Likewise.
12215         (announcement): Invoke announce-gen with new --mail-headers option.
12216         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
12217
12218         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
12219         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
12220         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
12221         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
12222         line in the "err2" output file when running "make check" in verbose
12223         mode (i.e., with set -x enabled).
12224
12225 2010-05-03  Bruno Haible  <bruno@clisp.org>
12226
12227         wctob: Fix for weird platforms.
12228         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
12229         argument value.
12230
12231 2010-05-03  Jim Meyering  <meyering@redhat.com>
12232
12233         maint.mk: prohibit unwarranted use of <strings.h>
12234         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
12235         strings.h in a file that does not also use strcasecmp, strncasecmp,
12236         ffs or ffsll.
12237
12238         maint.mk: remove obsolete comments
12239         * top/maint.mk: Remove stale, commented-out rules.
12240
12241 2010-05-02  Bruno Haible  <bruno@clisp.org>
12242
12243         wcwidth: Declare also when it's aliased.
12244         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
12245         macro.
12246
12247 2010-05-02  Bruno Haible  <bruno@clisp.org>
12248
12249         Fix regression from 2010-04-25.
12250         * gnulib-tool (func_modules_transitive_closure): Check the status of
12251         all modules, not only of the tests that are of the form foo-tests where
12252         foo is a module.
12253
12254 2010-05-02  Bruno Haible  <bruno@clisp.org>
12255
12256         wctob: Work around nasty Cygwin 1.7.2 bug.
12257         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
12258         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
12259
12260 2010-05-01  Bruno Haible  <bruno@clisp.org>
12261
12262         fpurge: Sharper test.
12263         * tests/test-fpurge.c (main): Add one more ftell check.
12264         * modules/fpurge-tests (Depends-on): Add ftell.
12265         Suggested by Eric Blake.
12266
12267 2010-05-01  Bruno Haible  <bruno@clisp.org>
12268
12269         ftello: Another test.
12270         * tests/test-ftello3.c: New file.
12271         * modules/ftello-tests (Files): Add it.
12272         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12273         MOSTLYCLEANFILES.
12274
12275         ftell: Another test.
12276         * tests/test-ftell3.c: New file.
12277         * modules/ftell-tests (Files): Add it.
12278         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12279         MOSTLYCLEANFILES.
12280
12281 2010-05-01  Bruno Haible  <bruno@clisp.org>
12282
12283         ftell, ftello: Work around Solaris bug.
12284         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
12285         * lib/ftello.c: Include stdio-impl.h.
12286         (ftello): On Solaris, when _IOWRT is set, compute the result without
12287         looking at _IOREAD.
12288         * modules/ftello (Files): Add lib/stdio-impl.h.
12289         * doc/posix-functions/ftell.texi: Mention Solaris bug.
12290         * doc/posix-functions/ftello.texi: Likewise.
12291         Reported by Eric Blake.
12292
12293 2010-05-01  Bruno Haible  <bruno@clisp.org>
12294
12295         freading: Adapt to special meaning of _IOREAD flag on Solaris.
12296         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
12297         the _IOWRT flag is also set.
12298
12299 2010-05-01  Bruno Haible  <bruno@clisp.org>
12300
12301         Fix doc about a HP-UX stdio bug.
12302         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
12303         * doc/posix-functions/ftello.texi: Likewise.
12304
12305 2010-05-01  Bruno Haible  <bruno@clisp.org>
12306
12307         lseek test: Fix failure on Solaris.
12308         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
12309         output.
12310
12311 2010-04-30  Jim Meyering  <meyering@redhat.com>
12312
12313         bootstrap: don't ignore failure to generate po*/Makevars
12314         * build-aux/bootstrap (with_gettext): Don't ignore failure
12315         to create po/Makevars or runtime-po/Makevars.
12316
12317 2010-04-29  Eric Blake  <eblake@redhat.com>
12318
12319         headers: relax license to LGPLv2+
12320         * modules/fcntl-h (License): Relax license.
12321         * modules/getopt-posix (License): Likewise.
12322         * modules/locale (License): Likewise.
12323         * modules/math (License): Likewise.
12324         * modules/pty (License): Likewise.
12325         * modules/sched (License): Likewise.
12326         * modules/search (License): Likewise.
12327         * modules/spawn (License): Likewise.
12328         * modules/stdarg (License): Likewise.
12329         * modules/sysexits (License): Likewise.
12330
12331 2010-04-29  Jim Meyering  <meyering@redhat.com>
12332
12333         inttypes: relax license to LGPLv2+
12334         * modules/inttypes (License): Relax license.
12335
12336 2010-04-29  Simon Josefsson  <simon@josefsson.org>
12337
12338         * top/maint.mk (indent): Run twice to produce idempotent results.
12339
12340 2010-04-28  Bruno Haible  <bruno@clisp.org>
12341
12342         getdate: Generate getdate.c in the source directory.
12343         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
12344         MOSTLYCLEANFILES.
12345         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
12346
12347 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
12348
12349         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
12350         is not declared as a const *; avoid warnings in that case.
12351
12352 2010-04-28  Eric Blake  <eblake@redhat.com>
12353
12354         canonicalize-lgpl: avoid compiler warning
12355         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
12356         declaration' / 'extraneous semicolon' warning with some compilers.
12357         Reported by Andreas Gruenbacher.
12358
12359 2010-04-28  Jim Meyering  <meyering@redhat.com>
12360
12361         init.sh: ensure a more reliable exit status when exiting via trap
12362         * tests/init.sh (setup_): Don't rely on $? in signal handler.
12363         Inspired by patches from Dmitry V. Levin.
12364         Also trap on signal 3 (SIGQUIT).
12365
12366 2010-04-27  Bruno Haible  <bruno@clisp.org>
12367
12368         Update doc about utimes().
12369         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
12370         'utimens' module.
12371         Reported by Andreas Gruenbacher <agruen@suse.de>.
12372
12373 2010-04-27  Eric Blake  <eblake@redhat.com>
12374
12375         full-read, full-write: relax license
12376         * modules/full-read (License): Drop to LGPLv2+.
12377         * modules/full-write (License): Likewise.
12378         * modules/safe-read (License): Likewise.
12379         * modules/safe-write (License): Likewise.
12380
12381         pthread: mention library for linking
12382         * modules/pthread (Link): Mention $(LIB_PTHREAD).
12383
12384 2010-04-27  Jim Meyering  <meyering@redhat.com>
12385
12386         maint.mk: fix a bug introduced in last change
12387         * top/maint.mk (gl_assured_headers_): Now that all names are on
12388         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
12389         is not anchored to end of word, it should be adequate.
12390
12391         maint.mk: avoid side-effect in latest syntax-check
12392         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
12393         to run commands via $(shell...), and hence to incur cost only when
12394         the new rule is actually run.
12395
12396         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
12397         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
12398         and use that to create a regexp used to detect all #if HAVE_..._H uses.
12399         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
12400         (gl_assured_headers_, az_, AZ_): Define.
12401         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
12402
12403 2010-04-26  Jim Meyering  <jim@meyering.net>
12404             Bruno Haible  <bruno@clisp.org>
12405
12406         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
12407         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
12408         Prompted by an exchange with Gilles Espinasse.
12409
12410 2010-04-26  Jim Meyering  <meyering@redhat.com>
12411
12412         git-version-gen: aesthetic tweak
12413         * build-aux/git-version-gen: Use "$nl" rather than a literal,
12414         so that the command remains on a single line.
12415
12416 2010-04-26  Eric Blake  <eblake@redhat.com>
12417
12418         git-version-gen: allow use on EBCDIC hosts
12419         * build-aux/git-version-gen (dirty): Use literal rather than tying
12420         ourselves to ascii.
12421         Reported by Steve Goetze.
12422
12423 2010-04-25  Bruno Haible  <bruno@clisp.org>
12424
12425         netdb: Add support for GNULIB_POSIXCHECK.
12426         * lib/netdb.in.h: Include warn-on-use.h.
12427         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
12428         functions are used when GNULIB_POSIXCHECK is defined and the
12429         getaddrinfo module is not in use.
12430         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
12431         freeaddrinfo, gai_strerror, getnameinfo are declared.
12432         * modules/netdb (Depends-on): Add warn-on-use.
12433         (Makefile.am): Include warn-on-use.h in netdb.h.
12434
12435 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
12436
12437         build: avoid "make check" failure without .git/ directory
12438         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
12439         there is no .git/ directory.
12440
12441 2010-04-25  Bruno Haible  <bruno@clisp.org>
12442
12443         ptsname: Fix misuse of ttyname_r.
12444         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
12445         of errno.
12446
12447 2010-04-25  Bruno Haible  <bruno@clisp.org>
12448
12449         ttyname_r: Make it work on Solaris 10.
12450         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
12451         if the system function has the POSIX declaration. Test whether the
12452         function fails if the buffer is less than 128 bytes large.
12453         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
12454         system's ttyname_r function. Provide a reasonably large buffer.
12455         * modules/ttyname_r (Depends-on): Add extensions.
12456         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
12457
12458 2010-04-25  Bruno Haible  <bruno@clisp.org>
12459
12460         Use the 'extensions' module for some more functions on Solaris.
12461         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
12462         module.
12463         * doc/posix-functions/ctime_r.texi: Likewise.
12464         * doc/posix-functions/getgrgid_r.texi: Likewise.
12465         * doc/posix-functions/getgrnam_r.texi: Likewise.
12466         * doc/posix-functions/getpwnam_r.texi: Likewise.
12467         * doc/posix-functions/getpwuid_r.texi: Likewise.
12468         * doc/posix-functions/readdir_r.texi: Likewise.
12469         * doc/posix-functions/sigwait.texi: Likewise.
12470         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
12471         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
12472
12473 2010-04-25  Bruno Haible  <bruno@clisp.org>
12474
12475         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
12476         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
12477         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
12478         * lib/ttyname_r.c: Include <limits.h>.
12479         (ttyname_r): Define using the system's ttyname_r function, if it exists
12480         and not on Solaris.
12481         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
12482         set.
12483         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
12484         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
12485         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
12486         Reported by Simon Josefsson.
12487
12488 2010-04-25  Bruno Haible  <bruno@clisp.org>
12489
12490         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
12491         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
12492         * doc/posix-functions/ctime_r.texi: Likewise.
12493         * doc/posix-functions/getgrgid_r.texi: Likewise.
12494         * doc/posix-functions/getgrnam_r.texi: Likewise.
12495         * doc/posix-functions/getlogin_r.texi: Likewise.
12496         * doc/posix-functions/getpwnam_r.texi: Likewise.
12497         * doc/posix-functions/getpwuid_r.texi: Likewise.
12498         * doc/posix-functions/readdir_r.texi: Likewise.
12499         * doc/posix-functions/sigwait.texi: Likewise.
12500         * doc/posix-functions/ttyname_r.texi: Likewise.
12501         Reported by Simon Josefsson.
12502
12503 2010-04-25  Bruno Haible  <bruno@clisp.org>
12504
12505         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
12506         * gnulib-tool (func_usage): Document that --with-*-tests options apply
12507         also to --create-testdir.
12508         (func_acceptable): Don't consider the status of *-tests modules here.
12509         (func_modules_transitive_closure): Consider it here, before including a
12510         test module.
12511         (func_import, func_create_testdir): Set inc_all_direct_tests,
12512         inc_all_indirect_tests.
12513         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
12514         --create-testdir and --create-megatestdir.
12515
12516 2010-04-25  Bruno Haible  <bruno@clisp.org>
12517
12518         gnulib-tool: Add --without-*-tests options.
12519         * gnulib-tool (func_usage): Document the --without-*-tests options.
12520         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
12521         excl_unportable_tests): New variables.
12522         Fail if they are specified with --import or --update.
12523         (func_acceptable): Respect the excl_*_tests variables.
12524         (func_import): Set the excl_*_tests variables to empty.
12525
12526 2010-04-25  Simon Josefsson  <simon@josefsson.org>
12527             Bruno Haible  <bruno@clisp.org>
12528
12529         Work around a MacOS X 10.4 bug with openpty.
12530         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
12531         * tests/test-openpty.c (main): Close the master side explicitly.
12532
12533 2010-04-25  Bruno Haible  <bruno@clisp.org>
12534
12535         strnlen: Fix a C++ test error on MacOS X and Solaris.
12536         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
12537         the function is not declared.
12538         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
12539         Simon Josefsson.
12540
12541 2010-04-24  Bruno Haible  <bruno@clisp.org>
12542
12543         Avoid a gcc warning.
12544         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
12545         of correct type for %08lx directive.
12546         Reported by Eric Blake.
12547
12548 2010-04-24  Bruno Haible  <bruno@clisp.org>
12549
12550         vasnprintf: Correct errno value in case of out-of-memory.
12551         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
12552         or sprintf. Use the errno value from SNPRINTF or sprintf.
12553         Reported by Ian Beckwith <ianb@erislabs.net>.
12554
12555 2010-04-24  Bruno Haible  <bruno@clisp.org>
12556
12557         ansi-c++-opt: Find correct compiler when cross-compiling.
12558         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
12559         AC_CHECK_PROGS.
12560         Reported by Simon Josefsson.
12561
12562 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
12563
12564         vc-list-files: Add support for subversion
12565         * build-aux/vc-list-files: Use "svn list" to generate the list of
12566         files controlled by subversion.
12567
12568 2010-04-23  Jim Meyering  <meyering@redhat.com>
12569
12570         vc-list-files tests: convert to use init.sh
12571         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
12572         path_prepend_.
12573         Use Exit, not exit.
12574         Use skip_ rather than open coding it.
12575         Remove trap set-up and compare definitions.
12576         * tests/test-vc-list-files-git.sh: Likewise.
12577         * modules/vc-list-files-tests (Files): Add tests/init.sh.
12578
12579 2010-04-22  Simon Josefsson  <simon@josefsson.org>
12580
12581         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
12582         backup files.
12583
12584 2010-04-21  Simon Josefsson  <simon@josefsson.org>
12585
12586         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
12587
12588 2010-04-20  Eric Blake  <eblake@redhat.com>
12589
12590         tests: be robust to ignored SIGPIPE
12591         * tests/test-select-in.sh: Consume all output.
12592         * tests/test-lseek.sh: Check correct exit status, while avoiding
12593         EPIPE.
12594
12595 2010-04-20  Simon Josefsson  <simon@josefsson.org>
12596             Bruno Haible  <bruno@clisp.org>
12597
12598         visibility: Don't use -fvisibility if it leads to a warning.
12599         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
12600         yes, don't pretend that visibility works if it leads to a warning.
12601         Reported by Mike Gran <spk121@yahoo.com>.
12602
12603 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
12604
12605         * build-aux/bootstrap: Use "git -h" for testing for supported options
12606         instead of "git --help".  The short-form option only shows a summary,
12607         and doesn't layout the full man page.  Grep for the full option name
12608         in the summary, too.
12609
12610 2010-04-19  Bruno Haible  <bruno@clisp.org>
12611
12612         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
12613         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
12614         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
12615         mention of RELOCATABLE_STRIP.
12616         Reported by Sylvain Beucler <beuc@beuc.net>.
12617
12618 2010-04-19  Bruno Haible  <bruno@clisp.org>
12619
12620         * lib/diffseq.h: Fix typo in comment.
12621         Reported by Eric Blake.
12622
12623 2010-04-19  Bruno Haible  <bruno@clisp.org>
12624
12625         ioctl: Move autoconf macro to a .m4 file.
12626         * m4/ioctl.m4: New file, extracted from modules/ioctl.
12627         * modules/ioctl (Files): Add it.
12628         (configure.ac): Simply invoke gl_FUNC_IOCTL.
12629         Reported by Ian Beckwith <ianb@erislabs.net>.
12630
12631 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
12632             Bruno Haible  <bruno@clisp.org>
12633
12634         diffseq: Accommodate use-case with abstract arrays.
12635         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
12636         is not defined.
12637         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
12638         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
12639
12640 2010-04-18  Bruno Haible  <bruno@clisp.org>
12641
12642         * doc/posix-headers/stdbool.texi: More precise wording.
12643
12644 2010-04-17  Jim Meyering  <meyering@redhat.com>
12645
12646         maint.mk: use gnu-style indentation in an embedded perl script
12647         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
12648         Rename variable: s/two/last_two_bytes/
12649
12650 2010-04-16  Eric Blake  <eblake@redhat.com>
12651
12652         test-stdbool: skip test that fails with Solaris CC
12653         * tests/test-stdbool.c (f): Skip test that causes compilation
12654         error under buggy C++ compiler.
12655         * lib/stdbool.in.h: Document the limitation.
12656         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
12657
12658         setenv: allow compilation with C++
12659         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
12660         register keyword.
12661
12662         stdint: allow test to pass with C++
12663         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
12664
12665         getopt: allow compilation with C++
12666         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
12667         struct.
12668         * lib/getopt.c (_getopt_internal_r): Use correct type.
12669         Reported by Dagobert Michelson, via Joel E. Denny.
12670
12671 2010-04-16  Bruno Haible  <bruno@clisp.org>
12672
12673         Override netdb.h always.
12674         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
12675         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
12676         Reported by Ludovic Courtès <ludo@gnu.org>.
12677
12678 2010-04-15  Bruno Haible  <bruno@clisp.org>
12679
12680         openpty: Fix mistake from 2010-03-21.
12681         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
12682         Reported by Simon Josefsson.
12683
12684 2010-04-15  Eric Blake  <eblake@redhat.com>
12685
12686         test-forkpty: fix expected signature
12687         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
12688         Reported by Simon Josefsson.
12689
12690 2010-04-15  Jim Meyering  <meyering@redhat.com>
12691
12692         maint.mk: texinfo_suffix_re_: correct the default regexp
12693         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
12694
12695         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
12696         make it configurable via texinfo_suffix_re_.
12697
12698 2010-04-14  Eric Blake  <eblake@redhat.com>
12699
12700         strtok_r: relax license to LGPLv2+
12701         * modules/strtok_r (License): Relax license.
12702         Reported by Matthias Bolte.
12703
12704 2010-04-14  Simon Josefsson  <simon@josefsson.org>
12705
12706         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
12707         version 1.4.4 by default instead of requiring the libgcrypt
12708         version used during build.  This makes it possible to use the
12709         application with older but still binary compatible libgcrypt
12710         versions.
12711
12712 2010-04-13  Eric Blake  <eblake@redhat.com>
12713
12714         getopt-gnu: match recent glibc fixes and posix ruling
12715         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
12716         '+' handling, when requesting extensions.
12717         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
12718         'W;' handling.
12719         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
12720         * doc/posix-functions/getopt.texi (getopt): Document this.
12721         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12722         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12723         Likewise.
12724
12725         getopt: merge bug fixes from glibc
12726         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
12727         diagnostics.  Honor '+:' correctly.  Reject ';'.
12728
12729         getopt-posix: detect MacOS bug
12730         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
12731         optind when missing a required argument.
12732         * doc/posix-functions/getopt.texi (getopt): Document the bug.
12733         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12734         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12735         Likewise.
12736
12737         getopt-posix: avoid spurious failure on Solaris
12738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
12739         an indicator that setting optind=1 is sufficient for reset.
12740
12741         getopt-posix: avoid spurious failure on FreeBSD
12742         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
12743         in POSIX mode, since the m4 test uses it.
12744
12745         gnulib-tool: silence warning on BSD sh
12746         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
12747
12748 2010-04-13  Jim Meyering  <meyering@redhat.com>
12749
12750         doc: users.txt: GNU patch now uses gnulib
12751         * users.txt: Add patch.
12752
12753 2010-04-12  Jim Meyering  <meyering@redhat.com>
12754
12755         maint.mk: generate more concise timing data for syntax-check rules
12756         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
12757         " done" from each line that reports a syntax-check test duration.
12758
12759 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
12760
12761         git-version-gen: use "git update-index..." rather than "git status"
12762         * build-aux/git-version-gen: Use git update-index --refresh, not
12763         "git status".  With some versions of git, "git status" would fail
12764         to update the index and result in an unwarranted "-dirty" suffix.
12765
12766 2010-04-11  Jim Meyering  <meyering@redhat.com>
12767
12768         openat: correct formatting (no semantic change)
12769         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
12770         Suggested by Bruno Haible.
12771
12772 2010-04-11  Bruno Haible  <bruno@clisp.org>
12773
12774         Stricter declaration checking in testdirs.
12775         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12776         If for_tests is true, augment AM_CPPFLAGS to define
12777         GNULIB_STRICT_CHECKING.
12778         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
12779         GNULIB_STRICT_CHECKING is defined, verify that the function is
12780         declared.
12781
12782 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
12783             Bruno Haible  <bruno@clisp.org>
12784
12785         libunistring: Improve configure output.
12786         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
12787         Don't say "consider installing GNU libunistring" when checking again
12788         with libiconv.
12789
12790 2010-04-11  Bruno Haible  <bruno@clisp.org>
12791
12792         libunistring: Correct value of $LTLIBUNISTRING.
12793         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
12794         correct the value of $LTLIBUNISTRING.
12795
12796 2010-04-11  Bruno Haible  <bruno@clisp.org>
12797
12798         havelib: Add static libraries to LIBS in the right order.
12799         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12800         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12801
12802 2010-04-11  Bruno Haible  <bruno@clisp.org>
12803
12804         libunistring: Detect libunistring also when it depends on libiconv.
12805         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12806         the second AC_LIB_HAVE_LINKFLAGS invocation.
12807
12808 2010-04-11  James Youngman  <jay@gnu.org>
12809
12810         close-stream: declare local scalars to be "const"
12811         * lib/close-stream.c (close_stream): Make boolean variables const
12812         to document the fact that we set but do not change them.
12813
12814 2010-04-11  Bruno Haible  <bruno@clisp.org>
12815
12816         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12817
12818 2010-04-11  Jim Meyering  <meyering@redhat.com>
12819
12820         maint.mk: don't include dist-check.mk
12821         * top/maint.mk: Remove bogus include directive.
12822
12823         maint.mk: improve empty-line-at-EOF check
12824         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12825         solution, rather than tail+Perl-based one.  The latter would read
12826         a few kilobytes from the end of each file, and did not handle empty
12827         files properly.
12828
12829         maint.mk: print the elapsed time for each syntax-check rule
12830         * top/maint.mk (sc_m_rules_): Save start time in a file.
12831         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12832         (local-check): Interpose the .z rules
12833
12834 2010-04-11  Jim Meyering  <meyering@redhat.com>
12835
12836         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12837         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12838         empty file with one that ends in an empty line.
12839
12840 2010-04-10  Bruno Haible  <bruno@clisp.org>
12841
12842         mkdir: Make it work on mingw64.
12843         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12844         * lib/mkdir.c: Update comment.
12845         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
12846
12847 2010-04-10  Bruno Haible  <bruno@clisp.org>
12848
12849         Don't override improved macro from newer autoconf.
12850         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12851         autoconf >= 2.62.
12852         Reported by Joel E. Denny <jdenny@clemson.edu>.
12853
12854 2010-04-10  Jim Meyering  <meyering@redhat.com>
12855
12856         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12857         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12858
12859         maint.mk: correct a diagnostic
12860         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12861         in diagnostic; now use $prohibit.
12862
12863 2010-04-10  Bruno Haible  <address@hidden>
12864
12865         fchownat: Fix a C++ test error on Solaris 8.
12866         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12867         the function does not exist.
12868
12869 2010-04-10  Bruno Haible  <bruno@clisp.org>
12870
12871         vasnprintf: Add more tests.
12872         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12873         (test_function): Test converting an invalid wide string.
12874
12875         vasnprintf: Correct handling of unconvertible wide string arguments.
12876         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12877         VASNPRINTF.
12878         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12879         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12880         smaller than the expected maximum need for the directive. Set errno to
12881         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12882         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12884         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12885         * modules/vasnprintf (Files): Add m4/printf.m4.
12886         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12887
12888 2010-04-10  Bruno Haible  <bruno@clisp.org>
12889
12890         vasnprintf: Fix crash in %ls directive.
12891         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12892         string is passed as argument to %ls, with no precision and no width.
12893         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12894
12895 2010-04-10  Bruno Haible  <bruno@clisp.org>
12896
12897         vasnprintf: Fix multiple test failures on mingw.
12898         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12899         _snprintf, or snwprintf, not _snwprintf.
12900
12901 2010-04-10  Bruno Haible  <bruno@clisp.org>
12902
12903         write: Fix a C++ test error on mingw.
12904         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12905
12906 2010-04-10  Bruno Haible  <bruno@clisp.org>
12907
12908         vasnprintf test: Reduce code duplication.
12909         * tests/test-vasnprintf.c (test_function): New function, extracted from
12910         test_vasnprintf.
12911         (test_vasnprintf, test_asnprintf): Invoke it.
12912
12913 2010-04-10  Bruno Haible  <bruno@clisp.org>
12914
12915         strnlen: Fix warning in C++ mode on MacOS X.
12916         * lib/string.in.h (strnlen): Use the modern idiom.
12917         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12918         defining strnlen as a macro already in <config.h>.
12919         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12920         REPLACE_STRNLEN.
12921         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12922         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12923
12924 2010-04-08  James Youngman  <jay@gnu.org>
12925
12926         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12927         the example.
12928
12929 2010-04-09  Jim Meyering  <meyering@redhat.com>
12930
12931         maint.mk: print better diagnostic when there is no $(_hv_file)
12932         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12933         announce that when $(_hv_file) (aka help-version) does not exist.
12934
12935         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12936         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12937         not try to interpret its random input bytes.  Jarno Rajahalme reported
12938         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12939         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12940         (mktempd_): Likewise, just in case.
12941
12942         ftruncate: add two years to projected module removal date: 2012
12943         * m4/ftruncate.m4: Adjust comments.
12944
12945         ftruncate: mark module as obsolete; even MinGW provides it, now
12946         * modules/ftruncate (Status): Obsolete.
12947         (Notice): Say that.
12948         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12949         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12950
12951 2010-04-08  Bruno Haible  <bruno@clisp.org>
12952
12953         Fix side effects from tests-related modules.
12954         * modules/dprintf-posix (Comment): New section.
12955         * modules/fprintf-posix (Comment): Likewise.
12956         * modules/obstack-printf-posix (Comment): Likewise.
12957         * modules/printf-posix (Comment): Likewise.
12958         * modules/snprintf-posix (Comment): Likewise.
12959         * modules/sprintf-posix (Comment): Likewise.
12960         * modules/vasnprintf-posix (Comment): Likewise.
12961         * modules/vasprintf-posix (Comment): Likewise.
12962         * modules/vdprintf-posix (Comment): Likewise.
12963         * modules/vfprintf-posix (Comment): Likewise.
12964         * modules/vprintf-posix (Comment): Likewise.
12965         * modules/vsnprintf-posix (Comment): Likewise.
12966         * modules/vsprintf-posix (Comment): Likewise.
12967         * modules/xprintf-posix (Comment): Likewise.
12968         * modules/xvasprintf-posix (Comment): Likewise.
12969         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12970         * modules/floorf-tests (Depends-on): Likewise.
12971         * modules/round-tests (Depends-on): Likewise.
12972         * modules/roundf-tests (Depends-on): Likewise.
12973         * modules/trunc-tests (Depends-on): Likewise.
12974         * modules/truncf-tests (Depends-on): Likewise.
12975         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12976         'fprintf-posix' module is not present.
12977         * tests/test-floorf2.c (check): Likewise.
12978         * tests/test-trunc2.c (check): Likewise.
12979         * tests/test-truncf2.c (check): Likewise.
12980         * tests/test-round2.c (equal): Likewise.
12981         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12982
12983 2010-04-07  Karl Berry  <karl@gnu.org>
12984
12985         * config/srclist.txt,
12986         * config/srclistvars.sh,
12987         * config/srclist-update: doc fixes.
12988
12989 2010-04-07  Jim Meyering  <meyering@redhat.com>
12990
12991         maint.mk: add a PATH crosschecking syntax-check rule
12992         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12993         Useful if you use a test like the one in help-version (coreutils,
12994         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12995         printed by prog --version.
12996
12997 2010-04-06  Bruno Haible  <bruno@clisp.org>
12998
12999         Fix link error on mingw.
13000         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
13001         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
13002
13003 2010-04-06  Bruno Haible  <bruno@clisp.org>
13004
13005         Assume rmdir exists.
13006         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
13007
13008 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
13009
13010         doc: update users.txt
13011         * users.txt: Add gcal.
13012
13013 2010-04-06  Jim Meyering  <meyering@redhat.com>
13014
13015         init.sh: simply unset TMPDIR rather than risking env -i
13016         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
13017         although it probably works fine on all Unix-based systems, some
13018         systems (Cygwin?) cannot tolerate a totally cleared environment.
13019         Suggestion from Eric Blake.
13020
13021 2010-04-06  Jim Meyering  <meyering@redhat.com>
13022
13023         init.sh: portability fix: use env's POSIX-specified -i option not -u
13024         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
13025         than unportable env -u.  Solaris 5.11's env lacks support for -u.
13026
13027 2010-04-05  Bruno Haible  <bruno@clisp.org>
13028
13029         btowc: Work around Cygwin 1.7.2 bug.
13030         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
13031         does not map NUL to 0.
13032         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
13033
13034 2010-04-05  Bruno Haible  <bruno@clisp.org>
13035
13036         Make the multithread modules work on Cygwin 1.7.2.
13037         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
13038         imported symbols can be declared weak, so that it returns "no" on
13039         Cygwin 1.7.2.
13040
13041 2010-04-05  Bruno Haible  <bruno@clisp.org>
13042
13043         Use the module 'strncat'.
13044         * modules/unistr/u8-strncat (Depends-on): Add strncat.
13045
13046         Tests for module 'strncat'.
13047         * modules/strncat-tests: New file.
13048         * tests/test-strncat.c: New file.
13049
13050         New module 'strncat'.
13051         * lib/string.in.h (strncat): New declaration.
13052         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
13053         * m4/strncat.m4: New file, based on m4/memchr.m4.
13054         * modules/strncat: New file.
13055         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
13056         is declared.
13057         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
13058         REPLACE_STRNCAT.
13059         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
13060         REPLACE_STRNCAT.
13061         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
13062         module.
13063         * tests/test-string-c++.cc: Check signature of strncat.
13064
13065 2010-04-05  Jim Meyering  <meyering@redhat.com>
13066
13067         xstrtoumax-tests: convert to use init.sh
13068         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
13069         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13070         Use Exit, not exit.
13071         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13072
13073         xstrtoimax-tests: convert to use init.sh
13074         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
13075         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13076         Use Exit, not exit.
13077         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13078
13079 2010-04-05  Bruno Haible  <bruno@clisp.org>
13080
13081         sys_socket: Avoid #define replacements in C++ mode.
13082         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
13083         warning to the function if possible, rather than #defining the symbol
13084         to a dysfunctional alias.
13085
13086 2010-04-05  Bruno Haible  <bruno@clisp.org>
13087
13088         fseeko: Fix C++ test error on mingw.
13089         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
13090         gl_FUNC_FSEEKO.
13091         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
13092         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
13093         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
13094         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
13095
13096 2010-04-05  Bruno Haible  <bruno@clisp.org>
13097
13098         duplocale: Improve test output.
13099         * tests/test-duplocale.c (main): Print reason for skipped test.
13100
13101 2010-04-05  Bruno Haible  <bruno@clisp.org>
13102
13103         Assume rmdir exists.
13104         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
13105         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
13106
13107 2010-04-05  Bruno Haible  <bruno@clisp.org>
13108
13109         Fix link error on Solaris 8 with cc.
13110         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
13111
13112 2010-04-05  Bruno Haible  <bruno@clisp.org>
13113
13114         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13115         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
13116
13117 2010-04-05  Bruno Haible  <bruno@clisp.org>
13118
13119         vasprintf: Update documentation.
13120         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
13121
13122 2010-04-05  Bruno Haible  <bruno@clisp.org>
13123
13124         ptsname: Improve test.
13125         * tests/test-ptsname.c (main): Also try the various master names of BSD
13126         systems.
13127
13128 2010-04-05  Bruno Haible  <bruno@clisp.org>
13129
13130         memchr: Avoid a possible C++ test error.
13131         * lib/string.in.h (memchr): Provide declaration if function is missing.
13132         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
13133         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
13134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
13135         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
13136
13137 2010-04-05  Bruno Haible  <bruno@clisp.org>
13138
13139         strtok_r: Improve idiom.
13140         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
13141         AC_LIBOBJ is used.
13142
13143 2010-04-05  Bruno Haible  <bruno@clisp.org>
13144
13145         strdup: Improve idiom.
13146         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
13147         AC_LIBOBJ is used.
13148         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
13149         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
13150         when AC_LIBOBJ is used.
13151
13152 2010-04-05  Bruno Haible  <bruno@clisp.org>
13153
13154         mbsinit, mbrtowc, wcrtomb: Improve idioms.
13155         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
13156         don't set REPLACE_MBSINIT to 1.
13157         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
13158         don't set REPLACE_MBRTOWC to 1.
13159         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
13160         exist, don't set REPLACE_MBSRTOWCS to 1.
13161         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
13162         exist, don't set REPLACE_MBSNRTOWCS to 1.
13163         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
13164         don't set REPLACE_WCRTOMB to 1.
13165         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
13166         exist, don't set REPLACE_WCSRTOMBS to 1.
13167         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
13168         exist, don't set REPLACE_WCSNRTOMBS to 1.
13169
13170 2010-04-05  Bruno Haible  <bruno@clisp.org>
13171
13172         ldexpl: Improve idiom.
13173         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
13174         make sure to set HAVE_DECL_LDEXPL to 0.
13175
13176 2010-04-05  Jim Meyering  <meyering@redhat.com>
13177
13178         xstrtol-tests: convert to use init.sh
13179         * modules/xstrtol-tests (Files): Add tests/init.sh.
13180         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13181         Use Exit, not exit.
13182         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13183
13184         atexit-tests: convert to use init.sh
13185         * modules/atexit-tests (Files): Add tests/init.sh.
13186         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13187         Use Exit, not exit.
13188         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13189
13190         init.sh: fix typo
13191         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
13192
13193         init.sh: make it easier for a test script to write to the tty, ...
13194         when using automake's parallel-tests mode.
13195         * tests/init.sh (stderr_fileno_): Define overridable variable.
13196         (warn_): New function, to use it.
13197         (fail_, skip_, framework_failure_): Use warn_.
13198
13199 2010-04-04  Bruno Haible  <bruno@clisp.org>
13200
13201         btowc: Avoid warning.
13202         * lib/btowc.c: Include <stdlib.h>.
13203         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
13204
13205 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13206             Bruno Haible  <bruno@clisp.org>
13207
13208         wchar: Port to NetBSD 1.5.
13209         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
13210         * lib/wctype.in.h (WEOF): Likewise.
13211
13212 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13213             Bruno Haible  <bruno@clisp.org>
13214
13215         Port extended stdio to NetBSD 1.5.
13216         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
13217         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
13218         older.
13219
13220 2010-04-04  Bruno Haible  <bruno@clisp.org>
13221
13222         string: Remove unused substitution.
13223         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13224         HAVE_DECL_STRERROR.
13225         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
13226
13227 2010-04-04  Bruno Haible  <bruno@clisp.org>
13228
13229         strtod: Avoid a possible C++ test error.
13230         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
13231         set REPLACE_STRTOD.
13232
13233 2010-04-04  Bruno Haible  <bruno@clisp.org>
13234
13235         strerror: Update documentation.
13236         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
13237
13238 2010-04-04  Bruno Haible  <bruno@clisp.org>
13239
13240         stdio: Fix some C++ test errors on Solaris 8 with GCC.
13241         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
13242         _GL_CXXALIAS_SYS_CAST.
13243
13244 2010-04-04  Bruno Haible  <bruno@clisp.org>
13245
13246         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13247         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
13248         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
13249         REPLACE_FREXPL to 1.
13250         * doc/posix-functions/frexpl.texi: Update documentation.
13251
13252 2010-04-04  Bruno Haible  <bruno@clisp.org>
13253
13254         math: Fix some C++ test errors on Solaris 8 and Cygwin.
13255         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
13256
13257 2010-04-04  Bruno Haible  <bruno@clisp.org>
13258
13259         Implement nanosleep for native Windows.
13260         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
13261
13262 2010-04-04  Bruno Haible  <bruno@clisp.org>
13263
13264         math: Fix some C++ test errors on Solaris 8.
13265         * lib/math.in.h (truncf, trunc): Use simpler idiom.
13266
13267 2010-04-04  Bruno Haible  <bruno@clisp.org>
13268
13269         math: Fix some C++ test errors on Cygwin.
13270         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
13271         truncl): Provide declaration if the system does not have it.
13272         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
13273         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
13274         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
13275         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
13276         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
13277         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
13278         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
13279         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
13280         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
13281         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
13282         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
13283         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
13284         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
13285         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
13286         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
13287         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
13288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
13289         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13290         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13291         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
13292         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13293         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13294
13295 2010-04-04  Bruno Haible  <bruno@clisp.org>
13296
13297         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
13298         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13299         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13300         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13301         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13302         * m4/isinf.m4 (gl_ISINF): Likewise.
13303         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13304
13305 2010-04-04  Bruno Haible  <bruno@clisp.org>
13306
13307         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
13308         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13309
13310 2010-04-04  Bruno Haible  <bruno@clisp.org>
13311
13312         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
13313         * modules/tmpfile (configure.ac): Update.
13314
13315         tmpfile: Fix C++ test error on mingw.
13316         * lib/stdio.in.h (tmpfile): New declaration.
13317         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
13318         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
13319         * modules/tmpfile (Depends-on): Add stdio.
13320         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13321         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
13322         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
13323         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
13324         REPLACE_TMPFILE.
13325         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
13326
13327 2010-04-04  Bruno Haible  <bruno@clisp.org>
13328
13329         ioctl: Fix C++ test error on mingw.
13330         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
13331         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
13332         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
13333
13334 2010-04-03  Bruno Haible  <bruno@clisp.org>
13335
13336         wcwidth: Fix C++ test error on mingw.
13337         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
13338         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
13339         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
13340
13341 2010-04-03  Bruno Haible  <bruno@clisp.org>
13342
13343         nanosleep: Fix C++ test error on mingw.
13344         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
13345         * lib/time.in.h (nanosleep): Use modern idiom.
13346         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
13347         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
13348         REPLACE_NANOSLEEP to 1.
13349         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
13350         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
13351
13352 2010-04-03  Bruno Haible  <bruno@clisp.org>
13353
13354         strptime: Fix C++ test error on mingw.
13355         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
13356         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
13357         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
13358         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
13359         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
13360         not REPLACE_STRPTIME.
13361         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
13362         REPLACE_STRPTIME.
13363
13364 2010-04-03  Bruno Haible  <bruno@clisp.org>
13365
13366         timegm: Fix C++ test error on mingw.
13367         * lib/time.in.h (timegm): Use modern idiom.
13368         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
13369         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
13370         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
13371         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
13372
13373 2010-04-03  Bruno Haible  <bruno@clisp.org>
13374
13375         timegm: Assume declaration if function exists.
13376         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
13377         if it exists. Don't clobber ac_cv_func_timegm.
13378
13379 2010-04-03  Bruno Haible  <bruno@clisp.org>
13380
13381         time_r: Fix C++ test error on mingw.
13382         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
13383         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
13384         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
13385         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
13386         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
13387
13388 2010-04-03  Bruno Haible  <bruno@clisp.org>
13389
13390         time_r: Minor updates.
13391         * modules/time_r (Description): Mention the provided functions.
13392         * lib/time_r.c: Don't include <string.h>.
13393         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
13394         * doc/posix-functions/localtime_r.texi: Likewise.
13395
13396 2010-04-03  Bruno Haible  <bruno@clisp.org>
13397
13398         time: Fix regression introduced on 2010-03-08.
13399         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
13400         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
13401
13402 2010-04-03  Jim Meyering  <meyering@redhat.com>
13403
13404         maint.mk: don't silently disable project-specific syntax-check rules
13405         * top/maint.mk (_prohibit_regexp): Define, to help people realize
13406         that they need to convert their project-specific syntax-check rules
13407         to use the new _sc_search_regexp.
13408
13409 2010-04-03  Bruno Haible  <bruno@clisp.org>
13410
13411         fchdir: Fix regression introduced on 2010-03-08.
13412         * lib/unistd.in.h (fchdir): Fix declaration.
13413         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
13414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
13415         REPLACE_FCHDIR.
13416         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
13417         REPLACE_FCHDIR.
13418
13419 2010-04-03  Bruno Haible  <bruno@clisp.org>
13420
13421         getpagesize: Fix C++ test error on mingw.
13422         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
13423         system does not declare the function.
13424         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
13425         declared.
13426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13427         HAVE_DECL_GETPAGESIZE.
13428         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
13429
13430 2010-04-03  Bruno Haible  <bruno@clisp.org>
13431
13432         stdio: Make C++ tests work on mingw.
13433         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
13434         does not declare the function.
13435
13436 2010-04-03  Bruno Haible  <bruno@clisp.org>
13437
13438         ftello: Fix C++ test error on mingw.
13439         * lib/stdio.in.h (ftello): Use modern idiom.
13440         * lib/ftello.c (ftello): Renamed from rpl_ftello.
13441         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
13442         is missing and that it needs to be replaced.
13443         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
13444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
13445         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
13446
13447 2010-04-03  Bruno Haible  <bruno@clisp.org>
13448
13449         fseeko: Fix C++ test error on mingw.
13450         * lib/stdio.in.h (fseeko): Use modern idiom.
13451         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
13452         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
13453         is missing and that it needs to be replaced.
13454         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
13455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
13456         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
13457
13458 2010-04-03  Bruno Haible  <bruno@clisp.org>
13459
13460         mkstemp: Fix C++ test error on mingw.
13461         * lib/stdlib.in.h (mkstemp): Use modern idiom.
13462         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
13463         function is missing and that it needs to be replaced.
13464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
13465         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
13466
13467 2010-04-03  Bruno Haible  <bruno@clisp.org>
13468
13469         stpncpy: Fix C++ test error on mingw.
13470         * lib/string.in.h (stpncpy): Use modern idiom.
13471         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
13472         function is missing and that it needs to be replaced.
13473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13474         REPLACE_STPNCPY.
13475         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
13476
13477 2010-04-03  Bruno Haible  <bruno@clisp.org>
13478
13479         sys_stat: Fix C++ test error on mingw.
13480         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
13481         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
13482
13483 2010-04-03  Bruno Haible  <bruno@clisp.org>
13484
13485         pty: Update doc.
13486         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
13487
13488 2010-04-03  Bruno Haible  <bruno@clisp.org>
13489
13490         unistd: Fix C++ test error on mingw.
13491         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
13492
13493 2010-04-03  Bruno Haible  <bruno@clisp.org>
13494
13495         Update doc regarding mingw.
13496         * doc/glibc-functions/openpty.texi: Update regarding mingw.
13497         * doc/glibc-functions/login_tty.texi: Likewise.
13498         * doc/glibc-functions/forkpty.texi: Likewise.
13499
13500 2010-04-03  Bruno Haible  <bruno@clisp.org>
13501
13502         stdlib: Avoid compilation failure of c-strtold on mingw.
13503         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
13504
13505 2010-04-03  Bruno Haible  <bruno@clisp.org>
13506
13507         locale: Make C++ tests work on Cygwin and mingw.
13508         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
13509         cannot provide the function.
13510         Reported by Simon Josefsson.
13511
13512 2010-04-03  Bruno Haible  <bruno@clisp.org>
13513
13514         localename: Port to MacOS X 10.6.
13515         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
13516         memory layout of the locales in MacOS X 10.6 as well.
13517         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
13518
13519 2010-04-02  Bruno Haible  <bruno@clisp.org>
13520
13521         gnulib-tool: Ensure that long-running tests are executed last.
13522         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
13523         running tests after the one for the other tests.
13524
13525 2010-04-02  Bruno Haible  <bruno@clisp.org>
13526
13527         gnulib-tool: Ensure the tests in the main directory are executed first.
13528         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
13529         start with the current directory.
13530
13531 2010-04-02  Bruno Haible  <bruno@clisp.org>
13532
13533         Tests for module 'havelib', moved here from GNU gettext.
13534         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
13535         modifications.
13536         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
13537         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
13538         with modifications.
13539         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
13540         modifications.
13541         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
13542         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
13543         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
13544         with modifications.
13545         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
13546         with modifications.
13547         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
13548         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
13549         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
13550         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
13551         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
13552         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
13553         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
13554         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
13555         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
13556         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
13557         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
13558         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
13559         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
13560         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
13561         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
13562         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
13563         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
13564         with modifications.
13565         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
13566         with modifications.
13567         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
13568         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
13569         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
13570         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
13571         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
13572         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
13573         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
13574         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
13575         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
13576         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
13577         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
13578         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
13579         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
13580         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
13581         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
13582         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
13583         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
13584         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
13585         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
13586         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
13587         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
13588         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
13589         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
13590         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
13591         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
13592         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
13593         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
13594         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
13595         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
13596         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
13597         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
13598         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
13599         * tests/havelib/rpathx/rpathx.c: New file, from
13600         gettext/autoconf-lib-link.
13601         * tests/havelib/rpathx/Makefile.am: New file, from
13602         gettext/autoconf-lib-link.
13603         * tests/havelib/rpathx/configure.ac: New file, from
13604         gettext/autoconf-lib-link with modifications.
13605         * tests/havelib/rpathy/rpathy.c: New file, from
13606         gettext/autoconf-lib-link.
13607         * tests/havelib/rpathy/Makefile.am: New file, from
13608         gettext/autoconf-lib-link.
13609         * tests/havelib/rpathy/configure.ac: New file, from
13610         gettext/autoconf-lib-link with modifications.
13611         * tests/havelib/rpathz/rpathz.c: New file, from
13612         gettext/autoconf-lib-link.
13613         * tests/havelib/rpathz/Makefile.am: New file, from
13614         gettext/autoconf-lib-link.
13615         * tests/havelib/rpathz/configure.ac: New file, from
13616         gettext/autoconf-lib-link with modifications.
13617         * tests/havelib/rpathlx/usex.c: New file, from
13618         gettext/autoconf-lib-link.
13619         * tests/havelib/rpathlx/Makefile.am: New file, from
13620         gettext/autoconf-lib-link.
13621         * tests/havelib/rpathlx/configure.ac: New file, from
13622         gettext/autoconf-lib-link with modifications.
13623         * tests/havelib/rpathly/usey.c: New file, from
13624         gettext/autoconf-lib-link.
13625         * tests/havelib/rpathly/Makefile.am: New file, from
13626         gettext/autoconf-lib-link.
13627         * tests/havelib/rpathly/configure.ac: New file, from
13628         gettext/autoconf-lib-link with modifications.
13629         * tests/havelib/rpathlz/usez.c: New file, from
13630         gettext/autoconf-lib-link.
13631         * tests/havelib/rpathlz/Makefile.am: New file, from
13632         gettext/autoconf-lib-link.
13633         * tests/havelib/rpathlz/configure.ac: New file, from
13634         gettext/autoconf-lib-link with modifications.
13635         * tests/havelib/rpathlyx/usey.c: New file, from
13636         gettext/autoconf-lib-link.
13637         * tests/havelib/rpathlyx/Makefile.am: New file, from
13638         gettext/autoconf-lib-link.
13639         * tests/havelib/rpathlyx/configure.ac: New file, from
13640         gettext/autoconf-lib-link with modifications.
13641         * tests/havelib/rpathlzyx/usez.c: New file, from
13642         gettext/autoconf-lib-link.
13643         * tests/havelib/rpathlzyx/Makefile.am: New file, from
13644         gettext/autoconf-lib-link.
13645         * tests/havelib/rpathlzyx/configure.ac: New file, from
13646         gettext/autoconf-lib-link with modifications.
13647         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
13648         with modifications.
13649
13650 2010-04-02  Bruno Haible  <bruno@clisp.org>
13651
13652         gnulib-tool: Create distributed built sources also for the tests.
13653         * gnulib-tool (func_create_testdir): Also generate distributed built
13654         sources in the tests directory.
13655
13656 2010-04-02  Bruno Haible  <bruno@clisp.org>
13657
13658         gnulib-tool: Obey user's environment variables.
13659         * gnulib-tool (func_create_testdir): When creating built sources,
13660         respect the environment variables for autoconf, automake, etc. given by
13661         the user.
13662
13663 2010-04-02  Bruno Haible  <bruno@clisp.org>
13664
13665         gnulib-tool: Provide the value of --m4-base to modules.
13666         * gnulib-tool (func_import, func_create_testdir): Emit a definition
13667         of gl_m4_base.
13668
13669 2010-04-02  Eric Blake  <eblake@redhat.com>
13670
13671         maint.mk: fix some fallout
13672         * NEWS: Document the incompatible change, and its effect on cfg.mk.
13673         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
13674
13675 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13676
13677         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
13678         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
13679         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
13680         (sc_cast_of_x_alloc_return_value): Likewise.
13681         (sc_cast_of_alloca_return_value): Likewise.
13682         (sc_space_tab): Likewise.
13683         (sc_prohibit_atoi_atof): Likewise.
13684         (sc_prohibit_magic_number_exit): Likewise.
13685         (sc_error_exit_success): Likewise.
13686         (sc_file_system): Likewise.
13687         (sc_prohibit_have_config_h): Likewise.
13688         (sc_require_config_h): Likewise.
13689         (sc_prohibit_HAVE_MBRTOWC): Likewise.
13690         (sc_obsolete_symbols): Likewise.
13691         (sc_changelog): Likewise.
13692         (sc_program_name): Likewise.
13693         (sc_the_the): Likewise.
13694         (sc_trailing_blank): Likewise.
13695         (sc_two_space_separator_in_usage): Likewise.
13696         (sc_useless_cpp_parens): Likewise.
13697         (sc_GPL_version): Likewise.
13698         (sc_GFDL_version): Likewise.
13699         (sc_texinfo_acronym): Likewise.
13700         (sc_prohibit_cvs_keyword): Likewise.
13701         (sc_prohibit_stat_st_blocks): Likewise.
13702         (sc_prohibit_S_IS_definition): Likewise.
13703         (sc_redundant_const): Likewise.
13704         (sc_makefile_TAB_only_indentation): Likewise.
13705         (sc_m4_quote_check): Likewise.
13706         (sc_makefile_path_separator_check): Likewise.
13707         (sc_copyright_check): Likewise.
13708         (sc_Wundef_boolean): Likewise.
13709         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
13710
13711         maint.mk: match 0 or more whitespace-before-function-call '('
13712         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
13713         that have zero or two-and-more spaces between the function name
13714         and the open parenthesis.
13715         (sc_error_message_warn_fatal): Likewise.
13716         (sc_error_message_uppercase): Likewise.
13717         (sc_error_message_period): Likewise.
13718
13719 2010-03-31  Eric Blake  <eblake@redhat.com>
13720
13721         maint.mk: check for [ as well as test
13722         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
13723         Based on a libvirt report by Matthias Bolte.
13724
13725         gnumakefile: don't squelch _version output
13726         * top/GNUmakefile (_version): Create one-shot dependency rather
13727         than using $(shell) when version must be regenerated.
13728         (_autoreconf): Run verbosely, by default.
13729
13730         sys_time: avoid compiler warnings
13731         * lib/sys_time.in.h (includes): Ensure gcc pragma is
13732         unconditional, fixing regression from 2010-03-29.
13733         Reported by Simon Josefsson.
13734
13735 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13736
13737         maint.mk: s/_header_without_use/_sc_header_without_use/
13738         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
13739         (sc_prohibit_assert_without_use): Use the new name.
13740         (sc_prohibit_close_stream_without_use): Likewise.
13741         (sc_prohibit_getopt_without_use): Likewise.
13742         (sc_prohibit_quotearg_without_use): Likewise.
13743         (sc_prohibit_quote_without_use): Likewise.
13744         (sc_prohibit_long_options_without_use): Likewise.
13745         (sc_prohibit_inttostr_without_use): Likewise.
13746         (sc_prohibit_ignore_value_without_use): Likewise.
13747         (sc_prohibit_error_without_use): Likewise.
13748         (sc_prohibit_xalloc_without_use): Likewise.
13749         (sc_prohibit_hash_without_use): Likewise.
13750         (sc_prohibit_hash_pjw_without_use): Likewise.
13751         (sc_prohibit_safe_read_without_use): Likewise.
13752         (sc_prohibit_argmatch_without_use): Likewise.
13753         (sc_prohibit_canonicalize_without_use): Likewise.
13754         (sc_prohibit_root_dev_ino_without_use): Likewise.
13755         (sc_prohibit_openat_without_use): Likewise.
13756         (sc_prohibit_c_ctype_without_use): Likewise.
13757         (sc_prohibit_signal_without_use): Likewise.
13758         (sc_prohibit_intprops_without_use): Likewise.
13759
13760 2010-03-30  Eric Blake  <eblake@redhat.com>
13761
13762         maint: improve module indicators
13763         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
13764         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
13765         columns, and avoid extra macro expansion.
13766
13767         fdopendir: work around FreeBSD bug
13768         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13769         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
13770         * modules/dirent (Makefile.am): Substitute it.
13771         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
13772         declaration.
13773         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
13774         fix.
13775         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13776
13777 2010-03-29  Bruno Haible  <bruno@clisp.org>
13778
13779         Emit #pragma system_header after the inclusion guard, not before.
13780         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
13781         guard that spans the entire file, not before. This enables an
13782         optimization in GCC's preprocessor.
13783         * lib/ctype.in.h: Likewise.
13784         * lib/dirent.in.h: Likewise.
13785         * lib/errno.in.h: Likewise.
13786         * lib/float.in.h: Likewise.
13787         * lib/getopt.in.h: Likewise.
13788         * lib/iconv.in.h: Likewise.
13789         * lib/langinfo.in.h: Likewise.
13790         * lib/locale.in.h: Likewise.
13791         * lib/math.in.h: Likewise.
13792         * lib/netdb.in.h: Likewise.
13793         * lib/netinet_in.in.h: Likewise.
13794         * lib/pty.in.h: Likewise.
13795         * lib/sched.in.h: Likewise.
13796         * lib/se-selinux.in.h: Likewise.
13797         * lib/search.in.h: Likewise.
13798         * lib/spawn.in.h: Likewise.
13799         * lib/stdarg.in.h: Likewise.
13800         * lib/stdint.in.h: Likewise.
13801         * lib/string.in.h: Likewise.
13802         * lib/strings.in.h: Likewise.
13803         * lib/sys_file.in.h: Likewise.
13804         * lib/sys_ioctl.in.h: Likewise.
13805         * lib/sys_time.in.h: Likewise.
13806         * lib/sys_times.in.h: Likewise.
13807         * lib/sys_utsname.in.h: Likewise.
13808         * lib/sys_wait.in.h: Likewise.
13809         * lib/sysexits.in.h: Likewise.
13810         * lib/wctype.in.h: Likewise.
13811
13812 2010-03-28  James Youngman  <jay@gnu.org>
13813
13814         save-cwd: don't leak a file descriptor when the caller execs.
13815         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13816         saved file descriptor.
13817         * modules/save-cwd (Depends-on): Depend on cloexec.
13818
13819 2010-03-29  Bruno Haible  <bruno@clisp.org>
13820
13821         Remove vestiges of fts-lgpl module.
13822         * lib/fts_.h: Assume GNULIB_FTS is 1.
13823         * lib/fts.c: Likewise.
13824         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13825
13826 2010-03-28  Bruno Haible  <bruno@clisp.org>
13827
13828         Fix definition of tests witness macro.
13829         * gnulib-tool (func_import): Fix definition of witness macro.
13830
13831 2010-03-28  Bruno Haible  <bruno@clisp.org>
13832
13833         Fix ioctl's protoype on glibc systems.
13834         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13835         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13836         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13837         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13838         signature. If not, arrange to replace the ioctl function.
13839         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13840         REPLACE_IOCTL.
13841         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13842         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13843         Reported by Ludovic Courtès <ludo@gnu.org>.
13844
13845 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13846
13847         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13848         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13849         made it so grep -r --include=GLOB* ... did not work.
13850
13851 2010-03-26  Jim Meyering  <meyering@redhat.com>
13852             Eric Blake  <eblake@redhat.com>
13853
13854         maint.mk: prohibit use of test's -o and -a operators
13855         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13856
13857 2010-03-28  Bruno Haible  <bruno@clisp.org>
13858
13859         Remove unused GNULIB_XYZ macro definitions.
13860         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13861         invocation.
13862
13863 2010-03-28  Bruno Haible  <bruno@clisp.org>
13864
13865         Mark privileged tests modules.
13866         * modules/idpriv-drop-tests (Status): New section.
13867         * modules/idpriv-droptemp-tests (Status): New section.
13868
13869 2010-03-28  Bruno Haible  <bruno@clisp.org>
13870
13871         Split C++ tests into separate tests modules.
13872         * modules/dirent-c++-tests: New file, extracted from
13873         modules/dirent-tests.
13874         * modules/dirent-tests: Depend on it.
13875         * modules/fcntl-h-c++-tests: New file, extracted from
13876         modules/fcntl-h-tests.
13877         * modules/fcntl-h-tests: Depend on it.
13878         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13879         * modules/glob-tests: Depend on it.
13880         * modules/iconv-h-c++-tests: New file, extracted from
13881         modules/iconv-h-tests.
13882         * modules/iconv-h-tests: Depend on it.
13883         * modules/langinfo-c++-tests: New file, extracted from
13884         modules/langinfo-tests.
13885         * modules/langinfo-tests: Depend on it.
13886         * modules/locale-c++-tests: New file, extracted from
13887         modules/locale-tests.
13888         * modules/locale-tests: Depend on it.
13889         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13890         * modules/math-tests: Depend on it.
13891         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13892         * modules/pty-tests: Depend on it.
13893         * modules/search-c++-tests: New file, extracted from
13894         modules/search-tests.
13895         * modules/search-tests: Depend on it.
13896         * modules/signal-c++-tests: New file, extracted from
13897         modules/signal-tests.
13898         * modules/signal-tests: Depend on it.
13899         * modules/spawn-c++-tests: New file, extracted from
13900         modules/spawn-tests.
13901         * modules/spawn-tests: Depend on it.
13902         * modules/stdio-c++-tests: New file, extracted from
13903         modules/stdio-tests.
13904         * modules/stdio-tests: Depend on it.
13905         * modules/stdlib-c++-tests: New file, extracted from
13906         modules/stdlib-tests.
13907         * modules/stdlib-tests: Depend on it.
13908         * modules/string-c++-tests: New file, extracted from
13909         modules/string-tests.
13910         * modules/string-tests: Depend on it.
13911         * modules/sys_ioctl-c++-tests: New file, extracted from
13912         modules/sys_ioctl-tests.
13913         * modules/sys_ioctl-tests: Depend on it.
13914         * modules/sys_select-c++-tests: New file, extracted from
13915         modules/sys_select-tests.
13916         * modules/sys_select-tests: Depend on it.
13917         * modules/sys_socket-c++-tests: New file, extracted from
13918         modules/sys_socket-tests.
13919         * modules/sys_socket-tests: Depend on it.
13920         * modules/sys_stat-c++-tests: New file, extracted from
13921         modules/sys_stat-tests.
13922         * modules/sys_stat-tests: Depend on it.
13923         * modules/sys_time-c++-tests: New file, extracted from
13924         modules/sys_time-tests.
13925         * modules/sys_time-tests: Depend on it.
13926         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13927         * modules/time-tests: Depend on it.
13928         * modules/unistd-c++-tests: New file, extracted from
13929         modules/unistd-tests.
13930         * modules/unistd-tests: Depend on it.
13931         * modules/wchar-c++-tests: New file, extracted from
13932         modules/wchar-tests.
13933         * modules/wchar-tests: Depend on it.
13934         * modules/wctype-c++-tests: New file, extracted from
13935         modules/wctype-tests.
13936         * modules/wctype-tests: Depend on it.
13937         Reported by Simon Josefsson.
13938
13939 2010-03-28  Bruno Haible  <bruno@clisp.org>
13940
13941         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13942         * gnulib-tool (func_exists_module): New function, extracted from
13943         func_verify_module.
13944         (func_verify_module): Use it.
13945         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13946         'foo' only if 'foo' exists.
13947         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13948         module.
13949
13950 2010-03-28  Bruno Haible  <bruno@clisp.org>
13951
13952         gnulib-tool: Add support for special categories of tests.
13953         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13954         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13955         (func_usage): Document them.
13956         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13957         inc_unportable_tests, inc_all_tests): New variables.
13958         (func_acceptable): Consider these variables.
13959         (func_modules_transitive_closure): Make it work when the 'Status' field
13960         consists of multiple words.
13961         (func_import): Store and restore the values of inc_cxx_tests,
13962         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13963         inc_all_tests in gnulib-comp.m4.
13964         (func_create_testdir): Set inc_all_tests to true.
13965         * doc/gnulib.texi (Extra tests modules): New section.
13966         Suggested by Jim Meyering.
13967
13968 2010-03-28  Bruno Haible  <bruno@clisp.org>
13969
13970         ansi-c++-opt: Allow turning off the C++ build by default.
13971         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13972         gl_CXX_CHOICE_DEFAULT_NO is defined.
13973         Requested by Eric Blake.
13974
13975 2010-03-28  Bruno Haible  <bruno@clisp.org>
13976
13977         unistd: Avoid #define replacements in C++ mode.
13978         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13979         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13980         setsockopt, shutdown, select): In C++, attach a warning to the function
13981         if possible, rather than #defining the symbol to a dysfunctional alias.
13982         Reported by John W. Eaton <jwe@gnu.org>.
13983
13984 2010-03-28  Bruno Haible  <bruno@clisp.org>
13985
13986         Fix link errors on mingw.
13987         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13988         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13989         $(LIBSOCKET).
13990         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13991         $(LIBSOCKET).
13992
13993 2010-03-28  Bruno Haible  <bruno@clisp.org>
13994             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13995
13996         lib-ignore: Determine different options for different compilers.
13997         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13998         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13999         Add comments.
14000         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
14001         * NEWS: Mention the change.
14002
14003 2010-03-27  Bruno Haible  <bruno@clisp.org>
14004
14005         Remove unused GNULIB_XYZ macro definitions.
14006         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14007         * modules/fseek (configure.ac): Likewise.
14008         * modules/ioctl (configure.ac): Likewise.
14009         * modules/open (configure.ac): Likewise.
14010         * modules/stdlib-safer (configure.ac): Likewise.
14011
14012 2010-03-27  Bruno Haible  <bruno@clisp.org>
14013
14014         Add a remark about certain modules.
14015         * modules/malloc (Comment): New section.
14016         * modules/realloc (Comment): Likewise.
14017         * modules/sigpipe (Comment): Likewise.
14018
14019 2010-03-27  Bruno Haible  <bruno@clisp.org>
14020
14021         Resolve conflict between the two kinds of module indicators.
14022         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
14023         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
14024         * modules/canonicalize (configure.ac): Invoke
14025         gl_MODULE_INDICATOR_FOR_TESTS.
14026         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
14027         GNULIB_XYZ.
14028         * tests/test-dirent-c++.cc: Likewise.
14029         * tests/test-dirent-safer.c: Likewise.
14030         * tests/test-dup2.c: Likewise.
14031         * tests/test-fchdir.c: Likewise.
14032         * tests/test-fcntl-h-c++.cc: Likewise.
14033         * tests/test-getopt.c: Likewise.
14034         * tests/test-getopt.h: Likewise.
14035         * tests/test-langinfo-c++.cc: Likewise.
14036         * tests/test-locale-c++.cc: Likewise.
14037         * tests/test-math-c++.cc: Likewise.
14038         * tests/test-pty-c++.cc: Likewise.
14039         * tests/test-search-c++.cc: Likewise.
14040         * tests/test-signal-c++.cc: Likewise.
14041         * tests/test-spawn-c++.cc: Likewise.
14042         * tests/test-stdio-c++.cc: Likewise.
14043         * tests/test-stdlib-c++.cc: Likewise.
14044         * tests/test-string-c++.cc: Likewise.
14045         * tests/test-sys_ioctl-c++.cc: Likewise.
14046         * tests/test-sys_select-c++.cc: Likewise.
14047         * tests/test-sys_socket-c++.cc: Likewise.
14048         * tests/test-sys_stat-c++.cc: Likewise.
14049         * tests/test-sys_time-c++.cc: Likewise.
14050         * tests/test-time-c++.cc: Likewise.
14051         * tests/test-unistd-c++.cc: Likewise.
14052         * tests/test-wchar-c++.cc: Likewise.
14053         * tests/uninorm/test-u8-nfc.c: Likewise.
14054         * tests/uninorm/test-u8-nfd.c: Likewise.
14055         * tests/uninorm/test-u8-nfkc.c: Likewise.
14056         * tests/uninorm/test-u8-nfkd.c: Likewise.
14057         * tests/uninorm/test-u16-nfc.c: Likewise.
14058         * tests/uninorm/test-u16-nfd.c: Likewise.
14059         * tests/uninorm/test-u16-nfkc.c: Likewise.
14060         * tests/uninorm/test-u16-nfkd.c: Likewise.
14061         * tests/uninorm/test-u32-nfc.c: Likewise.
14062         * tests/uninorm/test-u32-nfc-big.c: Likewise.
14063         * tests/uninorm/test-u32-nfd.c: Likewise.
14064         * tests/uninorm/test-u32-nfd-big.c: Likewise.
14065         * tests/uninorm/test-u32-nfkc.c: Likewise.
14066         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
14067         * tests/uninorm/test-u32-nfkd.c: Likewise.
14068         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
14069         * tests/uninorm/test-u32-normalize-big.c: Likewise.
14070
14071 2010-03-27  Bruno Haible  <bruno@clisp.org>
14072
14073         Distinguish two kinds of module indicators.
14074         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
14075         gl_MODULE_INDICATOR.
14076         (gl_MODULE_INDICATOR): New macro.
14077         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14078         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
14079         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14080         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14081         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14082         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14083         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14084         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14085         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14086         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14087         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14088         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14089         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14090         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14091         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14092         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14093         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14094         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14095         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14096         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14097         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14098         * modules/cloexec (configure.ac): Likewise.
14099         * modules/getopt-gnu (configure.ac): Likewise.
14100         * modules/uninorm/u8-normalize (configure.ac): Likewise.
14101         * modules/uninorm/u16-normalize (configure.ac): Likewise.
14102         * modules/uninorm/u32-normalize (configure.ac): Likewise.
14103         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
14104
14105 2010-03-27  Bruno Haible  <bruno@clisp.org>
14106
14107         New module description field 'Comment'.
14108         * gnulib-tool: New option --extract-comment.
14109         (func_usage): Document it.
14110         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
14111         (func_get_comment): New function.
14112         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
14113
14114 2010-03-27  Bruno Haible  <bruno@clisp.org>
14115
14116         Addendum to 2010-02-07 commit.
14117         * gnulib-tool (func_usage): Document --extract-applicability option.
14118
14119 2010-03-27  Bruno Haible  <bruno@clisp.org>
14120
14121         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
14122         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
14123         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
14124         rather than link errors.
14125
14126 2010-03-27  Bruno Haible  <bruno@clisp.org>
14127
14128         Avoid side effects from tests-related modules on the compilation of lib.
14129         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
14130         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
14131         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
14132         parameter. Emit into AM_CPPFLAGS a definition of the designated C
14133         macro.
14134         (func_import): Define a witness macro. Assign it a value that depends
14135         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
14136         tests-related modules.
14137         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
14138         Reported by Jim Meyering.
14139
14140 2010-03-27  Bruno Haible  <bruno@clisp.org>
14141
14142         Factorize common .m4 code.
14143         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
14144         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
14145         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
14146         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
14147         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14148         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
14149         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
14150         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14151         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14152         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14153         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
14154         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14155         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14156         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14157         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14158         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
14159         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14160         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14161         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14162         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
14163         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
14164         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14165         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14166         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14167         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14168         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14169         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
14170         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
14171         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
14172         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14173         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14174         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14175
14176 2010-03-27  Bruno Haible  <bruno@clisp.org>
14177
14178         Fix a compilation error on Cygwin with g++ >= 4.3.
14179         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
14180         if it is undefined or if we alias it to chmod.
14181         (lstat): Don't warn about the use of this function if it is undefined
14182         or if we alias it to stat.
14183         Reported by Simon Josefsson.
14184
14185 2010-03-27  Bruno Haible  <bruno@clisp.org>
14186
14187         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
14188         * modules/getlogin (configure.ac): Update.
14189
14190         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
14191         * modules/getlogin_r (configure.ac): Update.
14192
14193         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
14194         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
14195         * modules/inet_ntop (configure.ac): Update.
14196
14197         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
14198         * modules/inet_pton (configure.ac): Update.
14199
14200         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
14201         * modules/mbslen (configure.ac): Update.
14202
14203         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
14204         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
14205         * modules/forkpty (configure.ac): Update.
14206         * modules/openpty (configure.ac): Update.
14207
14208 2010-03-26  Simon Josefsson  <simon@josefsson.org>
14209
14210         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
14211         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
14212
14213 2010-03-25  Eric Blake  <eblake@redhat.com>
14214
14215         maint: use pragma consistently across replacement headers
14216         * lib/ctype.in.h (system_header): Hoist for consistent placement.
14217         * lib/dirent.in.h (system_header): Likewise.
14218         * lib/errno.in.h (system_header): Likewise.
14219         * lib/float.in.h (system_header): Likewise.
14220         * lib/getopt.in.h (system_header): Likewise.
14221         * lib/iconv.in.h (system_header): Likewise.
14222         * lib/inttypes.in.h (system_header): Likewise.
14223         * lib/langinfo.in.h (system_header): Likewise.
14224         * lib/locale.in.h (system_header): Likewise.
14225         * lib/math.in.h (system_header): Likewise.
14226         * lib/netdb.in.h (system_header): Likewise.
14227         * lib/netinet_in.in.h (system_header): Likewise.
14228         * lib/pty.in.h (system_header): Likewise.
14229         * lib/sched.in.h (system_header): Likewise.
14230         * lib/se-selinux.in.h (system_header): Likewise.
14231         * lib/search.in.h (system_header): Likewise.
14232         * lib/spawn.in.h (system_header): Likewise.
14233         * lib/stdarg.in.h (system_header): Likewise.
14234         * lib/stdint.in.h (system_header): Likewise.
14235         * lib/string.in.h (system_header): Likewise.
14236         * lib/strings.in.h (system_header): Likewise.
14237         * lib/sys_file.in.h (system_header): Likewise.
14238         * lib/sys_ioctl.in.h (system_header): Likewise.
14239         * lib/sys_socket.in.h (system_header): Likewise.
14240         * lib/sys_times.in.h (system_header): Likewise.
14241         * lib/sys_utsname.in.h (system_header): Likewise.
14242         * lib/sys_wait.in.h (system_header): Likewise.
14243         * lib/sysexits.in.h (system_header): Likewise.
14244         * lib/unistd.in.h (system_header): Likewise.
14245         * lib/wctype.in.h (system_header): Likewise.
14246
14247         arpa/inet: fix mingw compilation warning
14248         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
14249         Reported by Matthew Bolte.
14250
14251 2010-03-25  Bruno Haible  <bruno@clisp.org>
14252
14253         Avoid collision between gnulib wrapper and libintl wrapper.
14254         * lib/printf.c (printf): Don't define if a printf wrapper is already
14255         defined in intl/printf.c.
14256         Reported by Michel Boaventura <michel@michelboaventura.com>.
14257
14258 2010-03-25  Bruno Haible  <bruno@clisp.org>
14259
14260         Use ANSI C.
14261         * lib/readutmp.h (getutent): Provide ANSI C prototype.
14262
14263 2010-03-25  Bruno Haible  <bruno@clisp.org>
14264
14265         Minor formatting changes.
14266         * lib/acosl.c: Insert space before function argument list.
14267         * lib/argz.c: Likewise.
14268         * lib/asinl.c: Likewise.
14269         * lib/expl.c: Likewise.
14270         * lib/gen-uni-tables.c: Likewise.
14271         * lib/gettext.h: Likewise.
14272         * lib/glthread/lock.h: Likewise.
14273         * lib/tanl.c: Likewise.
14274         * lib/uniname/uniname.c: Likewise.
14275         * tests/test-idpriv-drop.c: Likewise.
14276         * tests/test-idpriv-droptemp.c: Likewise.
14277         * tests/test-lock.c: Likewise.
14278         * tests/test-tls.c: Likewise.
14279         * lib/argp-help.c: Insert space before function-like macro argument
14280         list.
14281         * lib/memcmp.c: Likewise.
14282         * tests/test-base64.c: Likewise.
14283         * lib/localename.c: Insert space before sizeof's argument list.
14284         * lib/safe-alloc.h: Likewise.
14285         * lib/file-set.h: Insert space before macro argument list.
14286         * tests/test-argp.c: Likewise.
14287         * lib/argp-namefrob.h: Insert space before function parameter list.
14288         * lib/getaddrinfo.c: Likewise.
14289         * lib/netdb.in.h: Likewise.
14290         * lib/parse-duration.h: Likewise.
14291         * lib/parse-duration.c: Likewise.
14292         * lib/poll.c: Likewise.
14293         * lib/select.c: Likewise.
14294         * lib/trim.h: Likewise.
14295         * tests/test-usleep.c: Likewise.
14296         * lib/ldexpl.c: Insert space before function parameter list and before
14297         function argument list.
14298         * lib/logl.c: Likewise.
14299         * lib/sqrtl.c: Likewise.
14300         * lib/trim.c: Likewise.
14301         * lib/cosl.c: Use GNU style indentation. Insert space before function
14302         argument list.
14303         * lib/sinl.c: Likewise.
14304         * lib/tsearch.c: Insert space after 'for'.
14305         Reported by Jim Meyering.
14306
14307 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
14308
14309         * maint.mk (sc_Wundef_boolean): Check for the presence of the
14310         config header before grepping, as it's not present before
14311         autoreconf/configure are run.  Reported by Simon Josefsson.
14312
14313 2010-03-23  Bruno Haible  <bruno@clisp.org>
14314
14315         pt_chown: Make it work with automake < 1.11.
14316         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
14317         Reported by Simon Josefsson.
14318
14319 2010-03-23  Bruno Haible  <bruno@clisp.org>
14320
14321         pt_chown: Don't depend on GPLed modules.
14322         * lib/pt_chown.c: Don't include idpriv.h.
14323         (main): Don't drop privileges.
14324         * modules/pt_chown (Depends-on): Remove idpriv-drop.
14325         Reported by Simon Josefsson.
14326
14327 2010-03-24  Simon Josefsson  <simon@josefsson.org>
14328
14329         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
14330         suggestions from karl@freefriends.org (Karl Berry).
14331
14332 2010-03-22  Eric Blake  <eblake@redhat.com>
14333
14334         gethostname: further tweaks
14335         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
14336         are overriding gethostname.
14337         Suggested by Bruno Haible.
14338
14339 2010-03-21  Bruno Haible  <bruno@clisp.org>
14340
14341         Fix comments.
14342         * lib/forkpty.c (rpl_forkpty): Fix comment.
14343         * lib/openpty.c (rpl_openpty): Likewise.
14344         Reported by Eric Blake.
14345
14346 2010-03-22  Eric Blake  <eblake@redhat.com>
14347
14348         gethostname: fix build on mingw
14349         * lib/unistd.in.h (includes): Work around fact that mingw
14350         <winsock2.h> re-includes <unistd.h>, by avoiding any
14351         redeclarations if we are being included by <winsock2.h>.
14352         Reported by Matthias Bolte.
14353
14354 2010-03-21  Bruno Haible  <bruno@clisp.org>
14355
14356         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14357         * lib/forkpty.c (forkpty): New replacement function, from glibc with
14358         modifications.
14359         * lib/pty.in.h (forkpty): Update declaration. Add comments.
14360         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
14361         provide the replacement.
14362         * modules/forkpty (Depends-on): Add openpty, login_tty.
14363         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
14364         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
14365         * doc/glibc-functions/forkpty.texi: More supported platforms.
14366         * config/srclist.txt: Add forkpty.c (commented).
14367
14368 2010-03-21  Bruno Haible  <bruno@clisp.org>
14369
14370         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
14371         (Makefile.am): Verify that PTY_LIB is defined.
14372
14373         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
14374
14375 2010-03-21  Bruno Haible  <bruno@clisp.org>
14376
14377         Tests for module 'login_tty'.
14378         * modules/login_tty-tests: New file.
14379         * tests/test-login_tty.c: New file.
14380
14381         New module 'login_tty'.
14382         * lib/login_tty.c: New file.
14383         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
14384         * modules/login_tty: New file.
14385         * doc/glibc-functions/login_tty.texi: Mention the new module.
14386
14387 2010-03-21  Bruno Haible  <bruno@clisp.org>
14388
14389         login_tty: Documentation.
14390         * doc/glibc-functions/login_tty.texi: New file.
14391         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
14392
14393 2010-03-21  Bruno Haible  <bruno@clisp.org>
14394
14395         pty: Consistent macro naming.
14396         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
14397         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
14398         * modules/pty (configure.ac): Update.
14399
14400 2010-03-21  Bruno Haible  <bruno@clisp.org>
14401
14402         Tests for openpty: Make stricter.
14403         * tests/test-openpty.c (main): Add test of canonical processing and
14404         erase.
14405         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
14406
14407         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14408         * lib/openpty.c (openpty): New replacement function.
14409         * lib/pty.in.h: Include <termios.h>.
14410         (openpty): Update declaration. Add comments.
14411         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
14412         is not declared, arrange to provide the replacement. Check for _getpty
14413         and posix_openpt.
14414         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
14415         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
14416         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
14417         * modules/pty-tests (test_pty_c___LDADD): New variable.
14418         * doc/glibc-functions/openpty.texi: More supported platforms.
14419
14420 2010-03-21  Bruno Haible  <bruno@clisp.org>
14421
14422         setenv: Tweaks.
14423         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
14424         the test program.
14425         * doc/posix-functions/setenv.texi: Update platforms list.
14426
14427 2010-03-21  Bruno Haible  <bruno@clisp.org>
14428
14429         New module 'unlockpt'.
14430         * lib/unlockpt.c: New file, from glibc with modifications.
14431         * m4/unlockpt.m4: New file.
14432         * modules/unlockpt: New file.
14433         * lib/stdlib.in.h (unlockpt): New declaration.
14434         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
14435         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
14436         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
14437         HAVE_UNLOCKPT.
14438         * doc/posix-functions/unlockpt.texi: Mention the new module.
14439         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
14440         * config/srclist.txt: Add unlockpt.c (commented).
14441
14442 2010-03-21  Jim Meyering  <meyering@redhat.com>
14443
14444         maint.mk: prohibit inclusion of "intprops.h" without use
14445         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
14446
14447 2010-03-21  Bruno Haible  <bruno@clisp.org>
14448
14449         New module 'grantpt'.
14450         * lib/grantpt.c: New file, from glibc with modifications.
14451         * m4/grantpt.m4: New file.
14452         * modules/grantpt: New file.
14453         * lib/stdlib.in.h (grantpt): New declaration.
14454         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
14455         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
14456         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
14457         HAVE_GRANTPT.
14458         * doc/posix-functions/grantpt.texi: Mention the new module.
14459         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
14460         * config/srclist.txt: Add grantpt.c (commented).
14461
14462 2010-03-21  Bruno Haible  <bruno@clisp.org>
14463
14464         New module 'pt_chown'.
14465         * lib/pt_chown.c: New file, from glibc with modifications.
14466         * lib/pty-private.h: New file, from glibc with modifications.
14467         * modules/pt_chown: New file.
14468         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
14469
14470 2010-03-21  Bruno Haible  <bruno@clisp.org>
14471
14472         Tests for module 'ptsname'.
14473         * modules/ptsname-tests: New file.
14474         * tests/test-ptsname.c: New file.
14475
14476         New module 'ptsname'.
14477         * lib/ptsname.c: New file, from glibc with modifications.
14478         * m4/ptsname.m4: New file.
14479         * modules/ptsname: New file.
14480         * lib/stdlib.in.h (ptsname): New declaration.
14481         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
14482         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
14483         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
14484         HAVE_PTSNAME.
14485         * doc/posix-functions/ptsname.texi: Mention the new module.
14486         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
14487         * config/srclist.txt: Add ptsname.c (commented).
14488
14489 2010-03-21  Bruno Haible  <bruno@clisp.org>
14490
14491         Tests for module 'ttyname_r'.
14492         * modules/ttyname_r-tests: New file.
14493         * tests/test-ttyname_r.c: New file.
14494
14495         New module 'ttyname_r'.
14496         * lib/ttyname_r.c: New file.
14497         * m4/ttyname_r.m4: New file.
14498         * modules/ttyname_r: New file.
14499         * lib/unistd.in.h (ttyname_r): New declaration.
14500         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
14501         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
14502         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
14503         HAVE_TTYNAME_R.
14504         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
14505         * doc/posix-functions/ttyname_r.texi: Mention the new module.
14506
14507 2010-03-20  Bruno Haible  <bruno@clisp.org>
14508
14509         signal: Undefine macro definitions in C++ mode.
14510         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
14511         sigfillset): Undefine macro definitions from the system header in C++
14512         mode.
14513         Reported by John W. Eaton <jwe@gnu.org>.
14514
14515 2010-03-20  Bruno Haible  <bruno@clisp.org>
14516
14517         Ensure no #include statements inside extern "C" { ... }.
14518         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
14519         contain #include statements.
14520         * lib/time.in.h: Likewise.
14521
14522 2010-03-20  Bruno Haible  <bruno@clisp.org>
14523
14524         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
14525         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
14526         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
14527         Reported by John W. Eaton <jwe@gnu.org>.
14528
14529 2010-03-20  Bruno Haible  <bruno@clisp.org>
14530
14531         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
14532         Reported by Jim Meyering.
14533
14534 2010-03-20  Bruno Haible  <bruno@clisp.org>
14535
14536         pipe: Set errno upon failure.
14537         * lib/pipe.h: Specify that when -1 is returned, errno is set.
14538         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
14539         errno value in error message.
14540
14541 2010-03-20  Bruno Haible  <bruno@clisp.org>
14542             Jim Meyering  <meyering@redhat.com>
14543
14544         lchown: Avoid "unused variable" warning.
14545         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
14546
14547 2010-03-20  Bruno Haible  <bruno@clisp.org>
14548
14549         Work around unlink() bug on MacOS X 10.5.6.
14550         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
14551         attempting to unlink a parent directory.
14552         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
14553         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
14554         activate for the replacement function.
14555         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
14556
14557 2010-03-20  Bruno Haible  <bruno@clisp.org>
14558
14559         Fix link errors on Solaris 8.
14560         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
14561         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
14562
14563 2010-03-19  Jim Meyering  <meyering@redhat.com>
14564
14565         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
14566         The _LIBC implementation of build_range_exp correctly honors the
14567         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
14568         However, the non-_LIBC implementation would ignore that syntax-bit
14569         flag and return REG_ERANGE unconditionally.
14570         This change makes it honor that flag.
14571         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
14572         Make two pointer parameters "const".
14573         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
14574         (parse_bracket_exp): Update caller.
14575
14576         regex.m4: correct the reversed range endpoint ([b-a]) test
14577         * m4/regex.m4: When requiring that [b-a] evoke failure,
14578         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
14579         test pass once again for x86-based systems.
14580
14581 2010-03-19  Bruno Haible  <bruno@clisp.org>
14582
14583         scandir: Fix link error on Solaris 8.
14584         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
14585         macros.
14586
14587 2010-03-19  Bruno Haible  <bruno@clisp.org>
14588
14589         getusershell: Fix documentation.
14590         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
14591         module.
14592         * doc/glibc-functions/setusershell.texi: Likewise.
14593
14594         getusershell: Provide declaration, missing on Solaris 9.
14595         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
14596         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
14597         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
14598         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
14599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14600         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
14601         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
14602         HAVE_GETUSERSHELL.
14603         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
14604
14605 2010-03-19  Bruno Haible  <bruno@clisp.org>
14606
14607         wctype: Provide iswblank function.
14608         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
14609         exists and is fine.
14610         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
14611         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
14612         * tests/test-wctype.c (main): Re-enable the iswblank tests.
14613         * doc/posix-functions/iswblank.texi: Update.
14614
14615 2010-03-19  Bruno Haible  <bruno@clisp.org>
14616
14617         Tests of module 'pty' in C++ mode.
14618         * modules/pty-tests: New file.
14619         * tests/test-pty-c++.cc: New file.
14620         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14621
14622 2010-03-19  Eric Blake  <eblake@redhat.com>
14623
14624         logb: fix documentation
14625         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
14626         1.5 declaration bug.
14627
14628         forkpty, openpty: prefer glibc's const-safe prototype
14629         * lib/forkpty.c (rpl_forkpty): New file.
14630         * lib/openpty.c (rpl_openpty): Likewise.
14631         * modules/forkpty (Files): Distribute it.
14632         * modules/openpty (Files): Likewise.
14633         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
14634         check...
14635         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
14636         replacement for for non-const BSD signature.
14637         * modules/pty (Makefile.am): Substitute witnesses.
14638         * lib/pty.in.h (forkpty, openpty): Declare replacements.
14639         * tests/test-forkpty.c: Update signature check.
14640         * tests/test-openpty.c: Likewise.
14641         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
14642         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14643
14644         forkpty, openpty: split functions into new modules
14645         * modules/pty (Makefile.am): Substitute new witnesses.
14646         (Libraries): Move library detection...
14647         * modules/forkpty: ...into new module.
14648         * modules/openpty: Another new module.
14649         * modules/pty-tests: Rename and split...
14650         * modules/forkpty-tests: ...to this...
14651         * modules/openpty-tests: ...and this.
14652         * tests/test-pty.c: Rename and split...
14653         * tests/test-forkpty.c: ...to this...
14654         * tests/test-openpty.c: ...and this.
14655         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
14656         (gl_PTY): Split library searching...
14657         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
14658         (gl_FORKPTY, gl_OPENPTY): New macros.
14659         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
14660         * NEWS: Mention the split.
14661         * MODULES.html.sh (Misc): Document the modules.
14662         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
14663         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14664
14665         pty: improve replacement header
14666         * lib/pty.in.h: New file.
14667         * modules/pty (Files): Ship it.
14668         (Makefile.am): Always build replacement.
14669         * m4/pty.m4: Rename...
14670         * m4/pty_h.m4: ...to this.
14671         (gl_PTY): Modernize setting of witness macros; update check of
14672         forkpty to take proper advantage of cache.
14673         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
14674
14675         getopt: avoid compiler warning
14676         * lib/getopt.c (attribute_hidden): Remove unused macro.
14677
14678 2010-03-18  Bruno Haible  <bruno@clisp.org>
14679
14680         Fix link errors on Solaris 8.
14681         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
14682         * modules/search-tests (test_search_c___LDADD): Likewise.
14683         * modules/signal-tests (test_signal_c___LDADD): Likewise.
14684         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
14685         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
14686         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
14687         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
14688         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
14689         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
14690
14691 2010-03-18  Bruno Haible  <bruno@clisp.org>
14692
14693         Fix bug introduced on 2010-03-14.
14694         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
14695         (gl_SPAWN_H): Require it.
14696         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
14697         Reported by Simon Josefsson.
14698
14699 2010-03-18  Bruno Haible  <bruno@clisp.org>
14700
14701         Fix typo introduced on 2009-12-31.
14702         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
14703         posix_spawn_file_actions_adddup2.
14704
14705 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
14706         and Eric Blake  <eblake@redhat.com>
14707
14708         test-vc-list-files-git: make more robust
14709         * tests/test-vc-list-files-git.sh: Unset problematic environment
14710         variables.  Chain commands together.
14711
14712 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
14713
14714         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
14715         `AC_CHECK_DECL' invocation.
14716
14717 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
14718
14719         * lib/inttostr.c (inttostr): Make sure the invocation of verify
14720         appears before executable statements. Suggested by Petr Sumbera
14721         <Petr.Sumbera@Sun.COM>.
14722
14723 2010-03-14  Bruno Haible  <bruno@clisp.org>
14724
14725         * tests/test-flock.c (test_exclusive): Comment out a test that causes
14726         portability problems. Instead use a simpler test.
14727         (main): Check that invalid arguments are rejected only on Linux.
14728
14729 2010-03-14  Bruno Haible  <bruno@clisp.org>
14730
14731         Fix bug introduced on 2009-12-31.
14732         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
14733         gl_PREREQ_SYS_H_WINSOCK2 always.
14734         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
14735         SYS_SOCKET_H variable.
14736         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
14737         Update comments.
14738         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
14739         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
14740         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14741         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14742         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14743
14744 2010-03-14  Bruno Haible  <bruno@clisp.org>
14745
14746         Fix values returned by sinl, cosl.
14747         * lib/trigl.h: Add specification comments.
14748         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
14749         that combines the values from the precomputed table with the values of
14750         the Chebyshev polynomials.
14751
14752 2010-03-14  Bruno Haible  <bruno@clisp.org>
14753
14754         Fix compilation error when modules 'posix_spawn[p]' are not used.
14755         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
14756         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
14757
14758 2010-03-14  Bruno Haible  <bruno@clisp.org>
14759
14760         Fix compilation error on mingw when module 'time_r' is not used.
14761         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
14762         is 1.
14763         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
14764         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14765         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
14766         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
14767
14768 2010-03-14  Bruno Haible  <bruno@clisp.org>
14769
14770         Fix compilation error with Sun C.
14771         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
14772         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
14773         instead of GCC specific ULONG_LONG_MAX.
14774         * lib/xstrtoll.c: Likewise.
14775         * lib/xstrtoull.c: Likewise.
14776
14777 2010-03-13  Bruno Haible  <bruno@clisp.org>
14778
14779         Allow the user to disable C++ code and tests.
14780         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
14781         (gl_PROG_ANSI_CXX): Require it.
14782
14783 2010-03-13  Bruno Haible  <bruno@clisp.org>
14784
14785         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
14786         cases.
14787
14788 2010-03-13  Bruno Haible  <bruno@clisp.org>
14789
14790         Test that gnulib does not break the standard C++ headers.
14791         * tests/test-locale-c++2.cc: New file.
14792         * modules/locale-tests (Files): Add it.
14793         (Makefile.am): Compile it for test-locale-c++.
14794         * tests/test-math-c++2.cc: New file.
14795         * modules/math-tests (Files): Add it.
14796         (Makefile.am): Compile it for test-math-c++.
14797         * tests/test-signal-c++2.cc: New file.
14798         * modules/signal-tests (Files): Add it.
14799         (Makefile.am): Compile it for test-signal-c++.
14800         * tests/test-stdio-c++2.cc: New file.
14801         * modules/stdio-tests (Files): Add it.
14802         (Makefile.am): Compile it for test-stdio-c++.
14803         * tests/test-stdlib-c++2.cc: New file.
14804         * modules/stdlib-tests (Files): Add it.
14805         (Makefile.am): Compile it for test-stdlib-c++.
14806         * tests/test-string-c++2.cc: New file.
14807         * modules/string-tests (Files): Add it.
14808         (Makefile.am): Compile it for test-string-c++.
14809         * tests/test-time-c++2.cc: New file.
14810         * modules/time-tests (Files): Add it.
14811         (Makefile.am): Compile it for test-time-c++.
14812         Reported by John W. Eaton <jwe@gnu.org>.
14813
14814 2010-03-13  Bruno Haible  <bruno@clisp.org>
14815
14816         * gnulib-tool (func_usage): Clarify which options are available for
14817         --create-testdir and --create-megatestdir.
14818
14819 2010-03-13  Bruno Haible  <bruno@clisp.org>
14820
14821         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14822         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14823         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14824         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14825         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14826         when appropriate.
14827         Reported by Jim Meyering.
14828
14829 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14830
14831         * gnulib-tool (func_import): Explain origin of code.
14832
14833 2010-03-12  Bruno Haible  <bruno@clisp.org>
14834
14835         Fix problem with automake's definition of CXXLINK.
14836         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14837         Reported by Simon Josefsson and Ludovic Courtès.
14838
14839 2010-03-12  Bruno Haible  <bruno@clisp.org>
14840
14841         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14842         stable releases.
14843
14844 2010-03-11  Bruno Haible  <bruno@clisp.org>
14845
14846         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14847         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14848         whether the system provides one variant or multiple variants of the
14849         function.
14850         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14851         C++ compilers.
14852         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14853         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14854         Reported by Jim Meyering.
14855
14856 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14857
14858         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14859
14860 2010-03-08  Bruno Haible  <bruno@clisp.org>
14861
14862         gnulib-tool: Add support for --libtool in --create-testdir.
14863         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14864         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14865
14866 2010-03-08  Eric Blake  <eblake@redhat.com>
14867
14868         gnulib-tool.texi: mention possibility of git submodule
14869         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14870         submodules.
14871         * doc/.gitignore: Ignore another generated file.
14872
14873 2010-03-08  Karl Berry  <karl@gnu.org>
14874
14875         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14876         of committing gnulib files while skipping others.
14877
14878 2010-03-07  Bruno Haible  <bruno@clisp.org>
14879
14880         Tests of module 'wctype' in C++ mode.
14881         * tests/test-wctype-c++.cc: New file.
14882         * modules/wctype-tests (Files): Add it and tests/signature.h.
14883         (Depends-on): Add ansi-c++-opt.
14884         (Makefile.am): Arrange to compile and run test-wctype-c++.
14885
14886         Tests of module 'wchar' in C++ mode.
14887         * tests/test-wchar-c++.cc: New file.
14888         * modules/wchar-tests (Files): Add it and tests/signature.h.
14889         (Depends-on): Add ansi-c++-opt.
14890         (Makefile.am): Arrange to compile and run test-wchar-c++.
14891         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14892         gl_MODULE_INDICATOR.
14893
14894         Tests of module 'unistd' in C++ mode.
14895         * tests/test-unistd-c++.cc: New file.
14896         * modules/unistd-tests (Files): Add it and tests/signature.h.
14897         (Depends-on): Add ansi-c++-opt.
14898         (Makefile.am): Arrange to compile and run test-unistd-c++.
14899         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14900         gl_MODULE_INDICATOR.
14901
14902         Tests of module 'time' in C++ mode.
14903         * tests/test-time-c++.cc: New file.
14904         * modules/time-tests (Files): Add it and tests/signature.h.
14905         (Depends-on): Add ansi-c++-opt.
14906         (Makefile.am): Arrange to compile and run test-time-c++.
14907         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14908
14909         Tests of module 'sys_time' in C++ mode.
14910         * tests/test-sys_time-c++.cc: New file.
14911         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14912         (Depends-on): Add ansi-c++-opt.
14913         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14914         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14915         gl_MODULE_INDICATOR.
14916
14917         Tests of module 'sys_stat' in C++ mode.
14918         * tests/test-sys_stat-c++.cc: New file.
14919         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14920         (Depends-on): Add ansi-c++-opt.
14921         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14922         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14923         gl_MODULE_INDICATOR.
14924
14925         Tests of module 'sys_socket' in C++ mode.
14926         * tests/test-sys_socket-c++.cc: New file.
14927         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14928         (Depends-on): Add ansi-c++-opt.
14929         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14930         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14931         gl_MODULE_INDICATOR.
14932
14933         Tests of module 'sys_select' in C++ mode.
14934         * tests/test-sys_select-c++.cc: New file.
14935         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14936         (Depends-on): Add ansi-c++-opt.
14937         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14938         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14939         gl_MODULE_INDICATOR.
14940
14941         Tests of module 'sys_ioctl' in C++ mode.
14942         * tests/test-sys_ioctl-c++.cc: New file.
14943         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14944         (Depends-on): Add ansi-c++-opt.
14945         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14946         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14947         gl_MODULE_INDICATOR.
14948
14949         Tests of module 'string' in C++ mode.
14950         * tests/test-string-c++.cc: New file.
14951         * modules/string-tests (Files): Add it and tests/signature.h.
14952         (Depends-on): Add ansi-c++-opt.
14953         (Makefile.am): Arrange to compile and run test-string-c++.
14954         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14955         gl_MODULE_INDICATOR.
14956
14957         Tests of module 'stdlib' in C++ mode.
14958         * tests/test-stdlib-c++.cc: New file.
14959         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14960         (Depends-on): Add ansi-c++-opt.
14961         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14962         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14963         gl_MODULE_INDICATOR.
14964
14965         Tests of module 'stdio' in C++ mode.
14966         * tests/test-stdio-c++.cc: New file.
14967         * modules/stdio-tests (Files): Add it and tests/signature.h.
14968         (Depends-on): Add ansi-c++-opt.
14969         (Makefile.am): Arrange to compile and run test-stdio-c++.
14970         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14971         gl_MODULE_INDICATOR.
14972
14973         Tests of module 'spawn' in C++ mode.
14974         * tests/test-spawn-c++.cc: New file.
14975         * modules/spawn-tests (Files): Add it and tests/signature.h.
14976         (Depends-on): Add ansi-c++-opt.
14977         (Makefile.am): Arrange to compile and run test-spawn-c++.
14978         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14979         gl_MODULE_INDICATOR.
14980
14981         Tests of module 'signal' in C++ mode.
14982         * tests/test-signal-c++.cc: New file.
14983         * modules/signal-tests (Files): Add it and tests/signature.h.
14984         (Depends-on): Add ansi-c++-opt.
14985         (Makefile.am): Arrange to compile and run test-signal-c++.
14986         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14987         gl_MODULE_INDICATOR.
14988
14989         Tests of module 'search' in C++ mode.
14990         * tests/test-search-c++.cc: New file.
14991         * modules/search-tests (Files): Add it and tests/signature.h.
14992         (Depends-on): Add ansi-c++-opt.
14993         (Makefile.am): Arrange to compile and run test-search-c++.
14994         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14995         gl_MODULE_INDICATOR.
14996
14997         Tests of module 'math' in C++ mode.
14998         * tests/test-math-c++.cc: New file.
14999         * modules/math-tests (Files): Add it and tests/signature.h.
15000         (Depends-on): Add ansi-c++-opt.
15001         (Makefile.am): Arrange to compile and run test-math-c++.
15002         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15003
15004         Tests of module 'locale' in C++ mode.
15005         * tests/test-locale-c++.cc: New file.
15006         * modules/locale-tests (Files): Add it and tests/signature.h.
15007         (Depends-on): Add ansi-c++-opt.
15008         (Makefile.am): Arrange to compile and run test-locale-c++.
15009         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
15010         gl_MODULE_INDICATOR.
15011
15012         Tests of module 'langinfo' in C++ mode.
15013         * tests/test-langinfo-c++.cc: New file.
15014         * modules/langinfo-tests (Files): Add it and tests/signature.h.
15015         (Depends-on): Add ansi-c++-opt.
15016         (Makefile.am): Arrange to compile and run test-langinfo-c++.
15017         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
15018         gl_MODULE_INDICATOR.
15019
15020         Tests of module 'iconv-h' in C++ mode.
15021         * tests/test-iconv-h-c++.cc: New file.
15022         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
15023         (Depends-on): Add ansi-c++-opt.
15024         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
15025
15026         Tests of module 'glob' in C++ mode.
15027         * tests/test-glob-c++.cc: New file.
15028         * modules/glob-tests (Files): Add it.
15029         (Depends-on): Add ansi-c++-opt.
15030         (Makefile.am): Arrange to compile and run test-glob-c++.
15031
15032         Tests of module 'fcntl-h' in C++ mode.
15033         * tests/test-fcntl-h-c++.cc: New file.
15034         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
15035         (Depends-on): Add ansi-c++-opt.
15036         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
15037         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
15038         gl_MODULE_INDICATOR.
15039
15040         Tests of module 'dirent' in C++ mode.
15041         * tests/test-dirent-c++.cc: New file.
15042         * modules/dirent-tests (Files): Add it and tests/signature.h.
15043         (Depends-on): Add ansi-c++-opt.
15044         (Makefile.am): Arrange to compile and run test-dirent-c++.
15045         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15046         gl_MODULE_INDICATOR.
15047
15048         New module 'ansi-c++-opt'.
15049         * modules/ansi-c++-opt: New file.
15050         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
15051
15052         Document C++ namespace mode.
15053         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
15054
15055         wctype: Avoid #define replacements in C++ mode.
15056         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
15057         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
15058         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
15059         In C++, define a namespaced alias symbol.
15060         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
15061         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
15062         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
15063         rule.
15064
15065         wchar: Avoid #define replacements in C++ mode.
15066         * lib/wchar.in.h: Include c++defs.h.
15067         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
15068         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
15069         symbol.
15070         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
15071         * modules/wchar (Depends-on): Add c++defs.
15072         (Makefile.am): Update wchar.h rule.
15073
15074         unistd: Avoid #define replacements in C++ mode.
15075         * lib/unistd.in.h: Include c++defs.h.
15076         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
15077         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
15078         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
15079         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
15080         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
15081         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
15082         symbol.
15083         (environ): Update.
15084         * modules/unistd (Depends-on): Add c++defs.
15085         (Makefile.am): Update unistd.h rule.
15086
15087         time: Avoid #define replacements in C++ mode.
15088         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
15089         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
15090         define a namespaced alias symbol.
15091         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
15092         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
15093         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
15094         * modules/time (Depends-on): Add c++defs, warn-on-use.
15095         (Makefile.am): Update time.h rule.
15096         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15097         * modules/nanosleep (configure.ac): Likewise.
15098         * modules/strptime (configure.ac): Likewise.
15099         * modules/timegm (configure.ac): Likewise.
15100
15101         sys_time: Avoid #define replacements in C++ mode.
15102         * lib/sys_time.in.h: Include c++defs.h.
15103         (gettimeofday): In C++, define a namespaced alias symbol.
15104         * modules/sys_time (Depends-on): Add c++defs.
15105         (Makefile.am): Update sys/time.h rule.
15106
15107         sys_stat: Avoid #define replacements in C++ mode.
15108         * lib/sys_stat.in.h: Include c++defs.h.
15109         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
15110         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
15111         namespaced alias symbol.
15112         In C++, define a namespaced alias symbol.
15113         * modules/sys_stat (Depends-on): Add c++defs.
15114         (Makefile.am): Update sys/stat.h rule.
15115
15116         sys_socket: Avoid #define replacements in C++ mode.
15117         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
15118         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
15119         definitions also when the system has a <sys/socket.h>.
15120         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15121         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
15122         In C++, define a namespaced alias symbol.
15123         * modules/sys_socket (Depends-on): Add c++defs.
15124         (Makefile.am): Update sys/socket.h rule.
15125
15126         sys_select: Avoid #define replacements in C++ mode.
15127         * lib/sys_select.in.h: Include c++defs.h. Enable the function
15128         definitions also when the system has a <sys/select.h>.
15129         (select): In C++, define a namespaced alias symbol.
15130         * modules/sys_select (Depends-on): Add c++defs.
15131         (Makefile.am): Update sys/select.h rule.
15132
15133         sys_ioctl: Avoid #define replacements in C++ mode.
15134         * lib/sys_ioctl.in.h: Include c++defs.h.
15135         (ioctl): In C++, define a namespaced alias symbol.
15136         * modules/sys_ioctl (Depends-on): Add c++defs.
15137         (Makefile.am): Update sys/ioctl.h rule.
15138
15139         string: Avoid #define replacements in C++ mode.
15140         * lib/string.in.h: Include c++defs.h.
15141         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
15142         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15143         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15144         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
15145         strsignal, strverscmp): In C++, define a namespaced alias symbol.
15146         * modules/string (Depends-on): Add c++defs.
15147         (Makefile.am): Update string.h rule.
15148
15149         stdlib: Avoid #define replacements in C++ mode.
15150         * lib/stdlib.in.h: Include c++defs.h.
15151         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
15152         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
15153         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
15154         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
15155         symbol.
15156         * modules/stdlib (Depends-on): Add c++defs.
15157         (Makefile.am): Update stdlib.h rule.
15158
15159         stdio: Avoid #define replacements in C++ mode.
15160         * lib/stdio.in.h: Include c++defs.h.
15161         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
15162         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
15163         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
15164         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
15165         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
15166         namespaced alias symbol.
15167         * modules/stdio (Depends-on): Add c++defs.
15168         (Makefile.am): Update stdio.h rule.
15169
15170         spawn: Avoid #define replacements in C++ mode.
15171         * lib/spawn.in.h: Include c++defs.h.
15172         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15173         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15174         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15175         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15176         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15177         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15178         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15179         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15180         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15181         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15182         In C++, define a namespaced alias symbol.
15183         * modules/spawn (Depends-on): Add c++defs.
15184         (Makefile.am): Update spawn.h rule.
15185
15186         signal: Avoid #define replacements in C++ mode.
15187         * lib/signal.in.h: Include c++defs.h.
15188         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15189         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
15190         namespaced alias symbol.
15191         * modules/signal (Depends-on): Add c++defs.
15192         (Makefile.am): Update signal.h rule.
15193
15194         search: Avoid #define replacements in C++ mode.
15195         * lib/search.in.h: Include c++defs.h.
15196         (_gl_search_compar_fn, _gl_search_action_fn): New types.
15197         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
15198         symbol.
15199         * modules/search (Depends-on): Add c++defs.
15200         (Makefile.am): Update search.h rule.
15201
15202         math: Avoid #define replacements in C++ mode.
15203         * lib/math.in.h: Include c++defs.h.
15204         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
15205         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
15206         trunc, truncl): In C++, define a namespaced alias symbol.
15207         * modules/math (Depends-on): Add c++defs.
15208         (Makefile.am): Update math.h rule.
15209
15210         locale: Avoid #define replacements in C++ mode.
15211         * lib/locale.in.h: Include c++defs.h.
15212         (duplocale): In C++, define a namespaced alias symbol.
15213         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
15214         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
15215         * modules/locale (Depends-on): Add c++defs.
15216         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
15217
15218         langinfo: Avoid #define replacements in C++ mode.
15219         * lib/langinfo.in.h: Include c++defs.h.
15220         (nl_langinfo): In C++, define a namespaced alias symbol.
15221         * modules/langinfo (Depends-on): Add c++defs.
15222         (Makefile.am): Update langinfo.h rule.
15223
15224         iconv-h: Avoid #define replacements in C++ mode.
15225         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
15226         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
15227         symbol.
15228         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
15229         whenever iconv is present.
15230         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
15231         (Makefile.am): Update iconv.h rule.
15232
15233         glob: Avoid #define replacements in C++ mode.
15234         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
15235         (_gl_glob_errfunc_fn): New type.
15236         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
15237         symbol.
15238         * modules/glob (Depends-on): Add c++defs, warn-on-use.
15239         (Makefile.am): Update glob.h rule.
15240
15241         fcntl-h: Avoid #define replacements in C++ mode.
15242         * lib/fcntl.in.h: Include c++defs.h.
15243         (fcntl, open, openat): In C++, define a namespaced alias symbol.
15244         * modules/fcntl-h (Depends-on): Add c++defs.
15245         (Makefile.am): Update fcntl.h rule.
15246
15247         dirent: Avoid #define replacements in C++ mode.
15248         * lib/dirent.in.h: Include c++defs.h.
15249         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
15250         namespaced alias symbol.
15251         (dirfd): Update declaration.
15252         * modules/dirent (Depends-on): Add c++defs.
15253         (Makefile.am): Update dirent.h rule.
15254
15255         ctype: Make it usable in C++ code.
15256         * lib/ctype.in.h: Include c++defs.h.
15257         (isblank): Declare as extern "C".
15258         * modules/ctype (Depends-on): Add c++defs.
15259         (Makefile.am): Update ctype.h rule.
15260
15261         New module 'c++defs'.
15262         * modules/c++defs: New file.
15263         * build-aux/c++defs.h: New file.
15264         Reported by John W. Eaton <jwe@gnu.org>.
15265
15266 2010-03-07  Bruno Haible  <bruno@clisp.org>
15267
15268         logb: Provide missing declaration for Cygwin.
15269         * lib/math.in.h (logb): New declaration.
15270         * m4/logb.m4: New file.
15271         * modules/logb (Files): Add m4/logb.m4.
15272         (Depends-on): Add math.
15273         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
15274         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
15275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
15276         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
15277         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
15278
15279 2010-03-07  Bruno Haible  <bruno@clisp.org>
15280
15281         Fix test-cond link error.
15282         * tests/test-cond.c: Include <stdio.h>.
15283
15284 2010-03-07  Bruno Haible  <bruno@clisp.org>
15285
15286         Fix test-dirent-safer link error.
15287         * modules/dirent-safer-tests (Makefile.am): Define
15288         test_dirent_safer_LDADD.
15289
15290 2010-03-07  Bruno Haible  <bruno@clisp.org>
15291
15292         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
15293         among default module list.
15294
15295 2010-03-07  Bruno Haible  <bruno@clisp.org>
15296
15297         Fix link error on platforms with GNU libiconv.
15298         * modules/unistr/u8-strcoll-tests (Makefile): Define
15299         test_u8_strcoll_LDADD.
15300         * modules/unistr/u16-strcoll-tests (Makefile): Define
15301         test_u16_strcoll_LDADD.
15302         * modules/unistr/u32-strcoll-tests (Makefile): Define
15303         test_u32_strcoll_LDADD.
15304
15305 2010-03-07  Bruno Haible  <bruno@clisp.org>
15306
15307         Use POSIX declarations for socket functions.
15308         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
15309         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
15310         rpl_sendto): Change declaration to match POSIX.
15311         * lib/connect.c (rpl_connect): Likewise.
15312         * lib/accept.c (rpl_accept): Likewise.
15313         * lib/bind.c (rpl_bind): Likewise.
15314         * lib/getpeername.c (rpl_getpeername): Likewise.
15315         * lib/getsockname.c (rpl_getsockname): Likewise.
15316         * lib/recv.c (rpl_recv): Likewise.
15317         * lib/send.c (rpl_send): Likewise.
15318         * lib/recvfrom.c (rpl_recvfrom): Likewise.
15319         * lib/sendto.c (rpl_sendto): Likewise.
15320
15321 2010-03-06  Bruno Haible  <bruno@clisp.org>
15322
15323         Clarify access, euidaccess, faccessat.
15324         * doc/posix-functions/faccessat.texi: Mention security problem under
15325         "Other problems", not "Portability problems".
15326         * doc/posix-functions/access.texi: Likewise. Mention a related security
15327         problem.
15328         * doc/glibc-functions/euidaccess.texi: Mention security problems.
15329         * lib/euidaccess.c: Add comments about platforms.
15330         * lib/unistd.in.h (access, euidaccess): Add warnings.
15331
15332 2010-03-07  Bruno Haible  <bruno@clisp.org>
15333
15334         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
15335         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
15336         (POSIX_SPAWN_SETSCHEDULER): Likewise.
15337         (POSIX_SPAWN_USEVFORK): Define in a way that works when
15338         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15339         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
15340         declare when POSIX_SPAWN_SETSCHEDULER is zero.
15341         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
15342         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
15343         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
15344         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
15345         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
15346         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
15347         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
15348         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
15349         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
15350         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
15351         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
15352         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
15353         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
15354         Likewise.
15355         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
15356         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
15357         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
15358         Likewise.
15359         * tests/test-spawn.c (main): Make it work when
15360         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15361
15362 2010-03-07  Bruno Haible  <bruno@clisp.org>
15363
15364         Fix incorrect Makefile.am generation in German locale.
15365         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15366         Execute sed command with character range in C locale.
15367
15368 2010-03-06  Bruno Haible  <bruno@clisp.org>
15369
15370         Tests for module 'iconv-h'.
15371         * modules/iconv-h-tests: New file.
15372         * tests/test-iconv-h.c: New file.
15373
15374         New module 'iconv-h'.
15375         * modules/iconv-h: New file.
15376         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
15377         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
15378         (configure.ac): Remove gl_ICONV_H.
15379         (Makefile.am): Remove rule for iconv.h.
15380
15381 2010-03-06  Bruno Haible  <bruno@clisp.org>
15382
15383         More consistent naming of *.m4 files.
15384         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
15385         * modules/wctype (Files): Update.
15386
15387         More consistent naming of *.m4 files.
15388         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
15389         * modules/wchar (Files): Update.
15390
15391 2010-03-06  Jim Meyering  <meyering@redhat.com>
15392
15393         euidaccess: relax license to LGPLv2+
15394         * modules/euidaccess (License): Relax to LGPLv2+.
15395
15396 2010-03-06  Bruno Haible  <bruno@clisp.org>
15397
15398         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
15399         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
15400         (Makefile.am): Augment lib_SOURCES instead.
15401
15402 2010-03-04  Jim Meyering  <meyering@redhat.com>
15403
15404         utime: remove obsolete module
15405         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
15406         unnecessary for years, and has been marked as obsolete for 10 months.
15407         * modules/utime: Remove file.
15408         * lib/utime.c: Remove file.
15409         * m4/utime.m4: Remove file.
15410         * m4/utimes-null.m4: Remove file.
15411         * doc/posix-functions/utime.texi (utime): Remove reference to
15412         the module.  Move the sole "fixed by gnulib" item into the
15413         "problems not fixed by Gnulib" list.
15414         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
15415
15416 2010-03-05  Simon Josefsson  <simon@josefsson.org>
15417
15418         * modules/exit (License): Relax license to LGPLv2+.
15419         (Status): Mark as obsolete.
15420         * NEWS: Mention deprecated 'exit' module.
15421         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
15422         of now obsolete 'exit'.
15423
15424 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15425
15426         fts-lgpl: remove unused module
15427         * modules/fts-lgpl: Remove.
15428         * MODULES.html.sh (func_all_modules): Adjust.
15429         * check-module (find_included_lib_files): Adjust.
15430         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
15431
15432 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
15433
15434         copy-acl: enhance Solaris ACL error handling
15435         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
15436         * lib/set-mode-acl.c (qset_acl): Likewise.
15437
15438 2010-03-02  Bruno Haible  <bruno@clisp.org>
15439
15440         spawn: Don't override the system defined values on FreeBSD 8.
15441         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
15442         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
15443         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
15444         if HAVE_POSIX_SPAWN is 1.
15445         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
15446
15447 2010-03-01  Bruno Haible  <bruno@clisp.org>
15448
15449         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
15450         regarding Automake.
15451
15452 2010-02-25  Bruno Haible  <bruno@clisp.org>
15453
15454         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
15455         * gnulib-tool: Define 'echo' as a function only before the ksh alias
15456         setting, not afterwards.
15457         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
15458
15459 2010-02-24  Eric Blake  <eblake@redhat.com>
15460
15461         bootstrap, git-version-gen: use timestamp
15462         * build-aux/git-version-gen (scriptversion): Force UTC.
15463         * build-aux/bootstrap (scriptversion): New variable.
15464
15465         bootstrap: allow older git
15466         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
15467         older than 1.6.4.  Requested by the libvirt project.
15468
15469 2010-02-23  Eric Blake  <eblake@redhat.com>
15470
15471         warn-on-use: work with old autoconf
15472         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
15473         AS_VAR semantics of autoconf 2.60.
15474         Reported by Bruno Haible.
15475
15476         bootstrap: improve some comments
15477         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
15478         clarification comments.
15479
15480         gettimeofday: provide correct function
15481         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
15482         when replacement is declared, otherwise provide gettimeofday.
15483         Reported by Michael Goffioul.
15484
15485 2010-02-23  Jim Meyering  <meyering@redhat.com>
15486
15487         lib-ignore: relax license to "unlimited", not LGPLv2+
15488         * modules/lib-ignore (License): Relax to "unlimited".
15489
15490 2010-02-23  Jim Meyering  <meyering@redhat.com>
15491
15492         lib-ignore: relax license to LGPLv2+
15493         * modules/lib-ignore (License): Relax to LGPLv2+.
15494
15495 2010-02-22  Eric Blake  <eblake@redhat.com>
15496
15497         lseek: avoid bash 3.2 broken pipe bug
15498         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
15499         warning from bash 3.2.
15500         Reported by Ben Pfaff, with analysis from Bruno Haible.
15501
15502         bootstrap: support non-FSF copyright holder
15503         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
15504         bootstrap.conf override of COPYRIGHT_HOLDER.
15505         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
15506
15507         bootstrap: interoperate with gettext 0.14.1
15508         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
15509
15510         bootstrap: allow for alternate submodule location
15511         * build-aux/bootstrap (gnulib_path): New variable; use instead of
15512         hardcoding submodule location.
15513         (gnulib_mk): Allow direct use of Makefile.am.
15514
15515         bootstrap: use GNULIB_SRCDIR to reduce disk usage
15516         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
15517         rather than reconfiguring where the submodule points.
15518
15519         gettimeofday: restore support for platforms that lack function
15520         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
15521         replacement if function is missing.
15522         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
15523         * modules/sys_time (Makefile.am): Substitute it.
15524         * lib/sys_time.in.h (gettimeofday): Check it.
15525         Reported by Michael Goffioul.
15526
15527 2010-02-21  Bruno Haible  <bruno@clisp.org>
15528
15529         * lib/stdio.in.h (obstack_printf): Fix typo.
15530
15531 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
15532
15533         vc-list-files: use bzr ls's -R option
15534         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
15535         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
15536
15537 2010-02-21  Jim Meyering  <meyering@redhat.com>
15538
15539         init.sh: fix EXEEXT shims to work also for names like test-prog
15540         * tests/init.sh: Re-exec a better shell, when needed.
15541         If the current shell lacks support for posix $(...), an init.sh-using
15542         test will now try to find a shell that supports that.  If EXEEXT is
15543         nonempty, we also require support for hyphen-in-alias-name and shell
15544         substitutions like ${var#glob}.  Failure to find such a shell results
15545         in a skipped test.
15546
15547 2010-02-21  Bruno Haible  <bruno@clisp.org>
15548
15549         Really work around around "broken pipe" error message from bash 3.2.
15550         * gnulib-tool (func_reset_sigpipe): Remove function.
15551         (echo): In bash 3.2, define to a function that uses printf.
15552         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
15553
15554 2010-02-20  Bruno Haible  <bruno@clisp.org>
15555
15556         Restore support for automake 1.9.6 with autoconf 2.61.
15557         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
15558         Reported by James Youngman <jay@gnu.org>.
15559
15560 2010-02-20  Bruno Haible  <bruno@clisp.org>
15561
15562         Improve *printf warning condition.
15563         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
15564         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
15565         and the function is overridden due to SIGPIPE emulation.
15566
15567 2010-02-20  Bruno Haible  <bruno@clisp.org>
15568
15569         * lib/stdio.in.h: Tweak comments.
15570
15571 2010-02-19  Bruno Haible  <bruno@clisp.org>
15572
15573         Make it easier to find modules. New gnulib-tool option '--find'.
15574         * gnulib-tool: New option --find.
15575         (func_usage): Document it.
15576         (func_sanitize_modulelist): New function, extracted from
15577         func_all_modules.
15578         (func_all_modules): Invoke it.
15579         * doc/gnulib-tool.texi (Which modules?): New node.
15580
15581 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
15582
15583         * lib/sys_select.in.h: Provide select replacement even if
15584         sys/select.h exists on a system, for Interix.
15585
15586 2010-02-18  Jim Meyering  <meyering@redhat.com>
15587
15588         init.sh: don't use $(...) just yet
15589         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
15590         to accommodate e.g., Solaris' /bin/sh.
15591
15592 2010-02-17  Bruno Haible  <bruno@clisp.org>
15593
15594         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
15595         Reported by Ludovic Courtès <ludo@gnu.org>.
15596
15597 2010-02-16  Simon Josefsson  <simon@josefsson.org>
15598
15599         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
15600         linking with -lintl.
15601
15602 2010-02-17  Simon Josefsson  <simon@josefsson.org>
15603
15604         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
15605         if not provided by the system's netdb.h.  Reported by
15606         ludo@gnu.org (Ludovic Courtès).
15607
15608 2010-02-15  Jim Meyering  <meyering@redhat.com>
15609
15610         init.sh: improve portability and efficiency
15611         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
15612         "dummy" in a for loop.
15613         Use '!', not '^' to select the complement of a character set used
15614         in a "case" statement.
15615         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
15616         Suggestions from Eric Blake.
15617
15618         init.sh: automatically accommodate programs with the .exe suffix
15619         Automatically arrange for an invocation of "prog" to execute the
15620         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
15621         may use the simpler "prog", yet still work when built on a system
15622         that requires specifying the added suffix.
15623         Do this by constructing a function named "prog" that invokes
15624         "prog.exe" for each .exe file in selected directories.
15625         * tests/init.sh (find_exe_basenames_): New function.
15626         (create_exe_shim_functions_): New function.
15627         (path_prepend_): Use it.
15628
15629         maint.mk: mark syntax-check sc_*.m rules as .PHONY
15630         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
15631         "make -t syntax-check" doesn't create a ton of sc_*.m files.
15632
15633 2010-02-14  Jim Meyering  <meyering@redhat.com>
15634
15635         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
15636         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
15637         (sc_prohibit_hash_pjw_without_use): New rule.
15638
15639         maint.mk: allow the default upload destination dir to be overridden
15640         * top/maint.mk (upload_dest_dir_): Define with a default that
15641         preserves the status quo.
15642         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
15643         Reported by Peter Simons.
15644
15645         maint.mk: prohibit inclusion of "hash.h" without_use
15646         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
15647
15648 2010-02-10  Jim Meyering  <meyering@redhat.com>
15649
15650         maint.mk: prohibit inclusion of "ignore-value.h" without_use
15651         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
15652
15653 2010-02-09  Eric Blake  <ebb9@byu.net>
15654         and Bruno Haible  <bruno@clisp.org>
15655
15656         obstack-printf-posix: ensure declaration
15657         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
15658         extracted from gl_FUNC_OBSTACK_PRINTF.
15659         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
15660         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15661         Likewise.
15662         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
15663         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
15664         0.
15665
15666 2010-02-08  Bruno Haible  <bruno@clisp.org>
15667
15668         gnulib-tool: Fix typo in 2010-02-07 commit.
15669         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
15670         Reported by Eric Blake.
15671
15672 2010-02-07  Bruno Haible  <bruno@clisp.org>
15673
15674         gnulib-tool: Fix up caching patches.
15675         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
15676         option --no-cache. Use associative arrays when supported by the shell.
15677         (sed_comments): New variable.
15678         (modcache): Renamed from do_cache.
15679         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
15680         abbreviate unnecessarily.
15681         (have_associative): New variable.
15682         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
15683         way also for ksh and zsh.
15684         (func_init_sed_convert_to_cache_statements): New function, extracted
15685         from func_cache_lookup_module. Add support for associative arrays.
15686         Don't set the c_MODULE_cached variable here. Ignore all lines before
15687         the first field header. Remove only the final newline, not all trailing
15688         newlines. Support empty fields correctly. Limit the use of 'eval' to
15689         assignments.
15690         (func_get_description, func_get_status, func_get_notice,
15691         func_get_applicability, func_get_filelist, func_get_dependencies,
15692         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
15693         func_get_automake_snippet, func_get_include_directive,
15694         func_get_link_directive, func_get_license, func_get_maintainer):
15695         Update documentation. List the unoptimized code first. Add support for
15696         associative arrays. Limit the use of 'eval' to assignments.
15697         (func_get_applicability): Undo stylistic pessimisations.
15698         (func_get_automake_snippet, func_get_include_directive): Reduce code
15699         duplication.
15700         (func_modules_transitive_closure, func_modules_add_dummy,
15701         func_modules_notice, func_modules_to_filelist, func_add_file,
15702         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
15703         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
15704         func_create_testdir, func_create_megatestdir): Update documentation.
15705
15706 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15707
15708         * gnulib-tool (func_cache_lookup_module): Store the module name
15709         belonging to the cache variable; error out if two different
15710         module names map to the same cache variable name.
15711
15712 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15713
15714         gnulib-tool: Make caching optional.
15715         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
15716         Update matching short versions of --no-changelog.
15717         (func_usage): Update.
15718         (sed_extract_cache_prog): Renamed from ...
15719         (sed_extract_prog): ... this; revert to old extraction script.
15720         (func_get_description, func_get_status)
15721         (func_get_notice, func_get_applicability, func_get_filelist)
15722         (func_get_dependencies, func_get_autoconf_early_snippet)
15723         (func_get_autoconf_snippet, func_get_automake_snippet)
15724         (func_get_include_directive, func_get_link_directive)
15725         (func_get_license, func_get_maintainer): If $do_cache is false,
15726         use old, non-caching extraction scripts.
15727         Suggestion by Bruno Haible.
15728
15729 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15730
15731         gnulib-tool: cache module metainformation.
15732         * gnulib-tool (sed_extract_prog): Match newline before each
15733         header, and rewrite header to a shell variable suffix.
15734         (func_cache_var, func_cache_lookup_module): New functions,
15735         to turn a module name into a cache variable prefix, and to
15736         look up and cache module metainformation.
15737         (func_get_description, func_get_status)
15738         (func_get_notice, func_get_applicability, func_get_filelist)
15739         (func_get_dependencies, func_get_autoconf_early_snippet)
15740         (func_get_autoconf_snippet, func_get_automake_snippet)
15741         (func_get_include_directive, func_get_link_directive)
15742         (func_get_license, func_get_maintainer): Use
15743         func_cache_lookup_module.
15744
15745 2010-02-07  Bruno Haible  <bruno@clisp.org>
15746
15747         fnctl: Fix missing dependency.
15748         * modules/fcntl (Depends-on): Add getdtablesize.
15749         Reported by John W. Eaton <jwe@gnu.org>.
15750
15751 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15752
15753         Argp: fix recognition of short alias options.
15754
15755         * lib/argp-parse.c (convert_options): Fix improper use of
15756         `|' between character values.
15757         * tests/test-argp.c (group1_option): New alias option
15758         --read (-r).
15759         (group1_parser): Special handling for 'r'.
15760         (test15): New test case.
15761         (test_fun): Add test15.
15762         * tests/test-argp-2.sh: Update expected --help and --usage
15763         outputs.
15764
15765 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15766
15767         * tests/test-argp.c: Fix indentation.
15768
15769 2010-02-04  Eric Blake  <ebb9@byu.net>
15770
15771         gettimeofday: expose type of second argument
15772         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
15773         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
15774         * tests/test-gettimeofday.c: Use it to silence warning.
15775         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
15776         the issue.
15777
15778 2010-02-03  Jim Meyering  <meyering@redhat.com>
15779
15780         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
15781         * lib/regcomp.c (TYPE_SIGNED): Define.
15782         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
15783
15784         regcomp.c: avoid a new -Wshadow warning
15785         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
15786
15787 2010-02-01  Jim Meyering  <meyering@redhat.com>
15788
15789         removing useless parentheses in cpp #define directives
15790         For motivation, see commit c0221df4, "define STREQ(a,b)
15791         consistently, removing useless parentheses"
15792         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
15793         * lib/mountlist.c (MNT_IGNORE): Likewise.
15794         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
15795
15796 2010-02-01  Eric Blake  <ebb9@byu.net>
15797
15798         sys_time: use link-warning
15799         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15800         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15801         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15802         * modules/sys_time (Depends-on): Add warn-on-use.
15803         (Makefile.am): Always build replacement.
15804         (configure.ac): Update substitutions.
15805         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15806         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15807         bother with SYS_TIME_H.
15808         * modules/gettimeofday (configure.ac): Declare indicator.
15809         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15810         in use.
15811
15812         closein-tests: silence compiler warning
15813         * tests/test-closein.c (main): Ignore fread result.
15814         * modules/closein-tests (Depends-on): Add ignore-value.
15815
15816         tests: silence warning about system return
15817         * tests/test-areadlink-with-size.c (main): Ignore system result.
15818         * tests/test-areadlink.c (main): Likewise.
15819         * tests/test-areadlinkat-with-size.c (main): Likewise.
15820         * tests/test-areadlinkat.c (main): Likewise.
15821         * tests/test-canonicalize-lgpl.c (main): Likewise.
15822         * tests/test-canonicalize.c (main): Likewise.
15823         * tests/test-chown.c (main): Likewise.
15824         * tests/test-fchownat.c (main): Likewise.
15825         * tests/test-fdutimensat.c (main): Likewise.
15826         * tests/test-fstatat.c (main): Likewise.
15827         * tests/test-futimens.c (main): Likewise.
15828         * tests/test-lchown.c (main): Likewise.
15829         * tests/test-link.c (main): Likewise.
15830         * tests/test-linkat.c (main): Likewise.
15831         * tests/test-lstat.c (main): Likewise.
15832         * tests/test-mkdir.c (main): Likewise.
15833         * tests/test-mkdirat.c (main): Likewise.
15834         * tests/test-mkfifo.c (main): Likewise.
15835         * tests/test-mkfifoat.c (main): Likewise.
15836         * tests/test-mknod.c (main): Likewise.
15837         * tests/test-readlink.c (main): Likewise.
15838         * tests/test-remove.c (main): Likewise.
15839         * tests/test-rename.c (main): Likewise.
15840         * tests/test-renameat.c (main): Likewise.
15841         * tests/test-rmdir.c (main): Likewise.
15842         * tests/test-symlink.c (main): Likewise.
15843         * tests/test-symlinkat.c (main): Likewise.
15844         * tests/test-unlink.c (main): Likewise.
15845         * tests/test-unlinkat.c (main): Likewise.
15846         * tests/test-utimens.c (main): Likewise.
15847         * tests/test-utimensat.c (main): Likewise.
15848         * modules/areadlink-tests (Depends-on): Add ignore-value.
15849         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15850         * modules/areadlinkat-tests (Depends-on): Likewise.
15851         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15852         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15853         * modules/canonicalize-tests (Depends-on): Likewise.
15854         * modules/chown-tests (Depends-on): Likewise.
15855         * modules/fdutimensat-tests (Depends-on): Likewise.
15856         * modules/futimens-tests (Depends-on): Likewise.
15857         * modules/lchown-tests (Depends-on): Likewise.
15858         * modules/link-tests (Depends-on): Likewise.
15859         * modules/linkat-tests (Depends-on): Likewise.
15860         * modules/lstat-tests (Depends-on): Likewise.
15861         * modules/mkdir-tests (Depends-on): Likewise.
15862         * modules/mkfifo-tests (Depends-on): Likewise.
15863         * modules/mkfifoat-tests (Depends-on): Likewise.
15864         * modules/mknod-tests (Depends-on): Likewise.
15865         * modules/openat-tests (Depends-on): Likewise.
15866         * modules/readlink-tests (Depends-on): Likewise.
15867         * modules/remove-tests (Depends-on): Likewise.
15868         * modules/rename-tests (Depends-on): Likewise.
15869         * modules/renameat-tests (Depends-on): Likewise.
15870         * modules/rmdir-tests (Depends-on): Likewise.
15871         * modules/symlink-tests (Depends-on): Likewise.
15872         * modules/symlinkat-tests (Depends-on): Likewise.
15873         * modules/unlink-tests (Depends-on): Likewise.
15874         * modules/utimens-tests (Depends-on): Likewise.
15875         * modules/utimensat-tests (Depends-on): Likewise.
15876
15877 2010-01-31  Bruno Haible  <bruno@clisp.org>
15878
15879         Perform the same test for many <math.h> functions.
15880         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15881         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15882         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15883         of gl_MATHFUNC.
15884         * modules/acos (configure.ac): Likewise.
15885         * modules/asin (configure.ac): Likewise.
15886         * modules/atan (configure.ac): Likewise.
15887         * modules/atan2 (configure.ac): Likewise.
15888         * modules/cbrt (configure.ac): Likewise.
15889         * modules/copysign (configure.ac): Likewise.
15890         * modules/cos (configure.ac): Likewise.
15891         * modules/cosh (configure.ac): Likewise.
15892         * modules/erf (configure.ac): Likewise.
15893         * modules/erfc (configure.ac): Likewise.
15894         * modules/exp (configure.ac): Likewise.
15895         * modules/fmod (configure.ac): Likewise.
15896         * modules/hypot (configure.ac): Likewise.
15897         * modules/j0 (configure.ac): Likewise.
15898         * modules/j1 (configure.ac): Likewise.
15899         * modules/jn (configure.ac): Likewise.
15900         * modules/lgamma (configure.ac): Likewise.
15901         * modules/log (configure.ac): Likewise.
15902         * modules/log10 (configure.ac): Likewise.
15903         * modules/log1p (configure.ac): Likewise.
15904         * modules/pow (configure.ac): Likewise.
15905         * modules/remainder (configure.ac): Likewise.
15906         * modules/sin (configure.ac): Likewise.
15907         * modules/sinh (configure.ac): Likewise.
15908         * modules/tan (configure.ac): Likewise.
15909         * modules/tanh (configure.ac): Likewise.
15910         * modules/y0 (configure.ac): Likewise.
15911         * modules/y1 (configure.ac): Likewise.
15912         * modules/yn (configure.ac): Likewise.
15913         Suggested by Paolo Bonzini.
15914
15915 2010-01-31  Bruno Haible  <bruno@clisp.org>
15916
15917         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15918
15919 2010-01-31  Bruno Haible  <bruno@clisp.org>
15920
15921         Work around getdelim() bug on FreeBSD 8.0.
15922         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15923         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15924         not work.
15925         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15926         is 1.
15927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15928         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15929         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15930         a non-zero size.
15931         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15932
15933 2010-01-31  Bruno Haible  <bruno@clisp.org>
15934
15935         Work around getline() bug on FreeBSD 8.0.
15936         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15937         and a non-zero size.
15938         * tests/test-getline.c (main): Likewise.
15939         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15940         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15941
15942 2010-01-28  Eric Blake  <ebb9@byu.net>
15943
15944         regex: fix build failure
15945         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15946         platforms.
15947
15948 2010-01-28  Jim Meyering  <meyering@redhat.com>
15949
15950         regex: do not ignore memory allocation failure
15951         * lib/regex_internal.c (create_cd_newstate): Detect
15952         re_node_set_init_copy failure.   Extracted from glibc commit
15953         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15954
15955         regex: sync more white-space changes from libc
15956         * lib/regex_internal.c: White-space only changes.
15957         * lib/regexec.c: Likewise.
15958
15959         regex: add many uses of __attribute_warn_unused_result__
15960         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15961         * lib/regexec.c: Likewise.
15962         Extracted from a messy glibc commit.
15963
15964         regcomp.c: spelling and merge-artifact from glibc
15965         * lib/regcomp.c: Merge remainder of glibc's
15966         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15967
15968         regcomp.c: sync white-space changes from glibc
15969         * lib/regcomp.c: Merge to accommodate white space
15970         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15971
15972         regcomp.c: do not ignore internal return values
15973         * lib/regcomp.c: Do not ignore internal return values.
15974         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15975         but without its white-space changes and spelling fixes.
15976
15977         regex_internal.h: define __attribute_warn_unused_result__
15978         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15979
15980         maint: add a syntax-check rule to check for vulnerable Makefile.in
15981         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15982
15983 2010-01-27  Jim Meyering  <meyering@redhat.com>
15984
15985         ncftpput-ftp: clean up spaces
15986         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15987         Remove trailing blanks.
15988
15989 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15990
15991         * build-aux/git-version-gen: Fix copyright statement.
15992         * build-aux/gnupload: Likewise.
15993         * tests/test-arcfour.c: Likewise.
15994         * tests/test-arctwo.c: Likewise.
15995         * tests/test-count-one-bits.c: Likewise.
15996         * tests/test-crc.c: Likewise.
15997         * tests/test-des.c: Likewise.
15998         * tests/test-gc-arcfour.c: Likewise.
15999         * tests/test-gc-arctwo.c: Likewise.
16000         * tests/test-gc-des.c: Likewise.
16001         * tests/test-gc-hmac-md5.c: Likewise.
16002         * tests/test-gc-hmac-sha1.c: Likewise.
16003         * tests/test-gc-md2.c: Likewise.
16004         * tests/test-gc-md4.c: Likewise.
16005         * tests/test-gc-md5.c: Likewise.
16006         * tests/test-gc-pbkdf2-sha1.c: Likewise.
16007         * tests/test-gc-rijndael.c: Likewise.
16008         * tests/test-gc-sha1.c: Likewise.
16009         * tests/test-gc.c: Likewise.
16010         * tests/test-gethostname.c: Likewise.
16011         * tests/test-gettimeofday.c: Likewise.
16012         * tests/test-hash.c: Likewise.
16013         * tests/test-hmac-md5.c: Likewise.
16014         * tests/test-hmac-sha1.c: Likewise.
16015         * tests/test-md2.c: Likewise.
16016         * tests/test-md4.c: Likewise.
16017         * tests/test-md5.c: Likewise.
16018         * tests/test-memchr.c: Likewise.
16019         * tests/test-memchr2.c: Likewise.
16020         * tests/test-memcmp.c: Likewise.
16021         * tests/test-memmem.c: Likewise.
16022         * tests/test-memrchr.c: Likewise.
16023         * tests/test-rawmemchr.c: Likewise.
16024         * tests/test-read-file.c: Likewise.
16025         * tests/test-rijndael.c: Likewise.
16026         * tests/test-sockets.c: Likewise.
16027         * tests/test-strchrnul.c: Likewise.
16028         * tests/test-strstr.c: Likewise.
16029         * tests/test-strtod.c: Likewise.
16030         * build-aux/ncftpput-ftp: Likewise.
16031
16032 2010-01-26  Eric Blake  <ebb9@byu.net>
16033
16034         ignore-value: update recommended header name
16035         * modules/ignore-value (Include): Only use <> for headers that
16036         exist in glibc.
16037
16038 2010-01-26  Jim Meyering  <meyering@redhat.com>
16039
16040         test-userspec.c: avoid compiler warnings
16041         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
16042         and "initialization discards qualifiers..." warnings.
16043         Put the first "uid" in its own scope, and make char* members "const".
16044
16045 2010-01-25  Bruno Haible  <bruno@clisp.org>
16046
16047         gnulib-tool: Make warning diagnostics consistent.
16048         * gnulib-tool (func_warning): New function.
16049         Use it everywhere where gnulib-tool produces output to stderr and it is
16050         not a fatal error.
16051
16052 2010-01-25  Bruno Haible  <bruno@clisp.org>
16053
16054         Fix test dependencies.
16055         * modules/xstrtol-tests (Depends-on): Add inttypes.
16056         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
16057
16058 2010-01-25 Pádraig Brady <P@draigBrady.com>
16059
16060         syntax-check: detect incorrect boolean macro values in config.h
16061         * modules/maintainer-makefile (configure.ac): Parameterize the location
16062         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
16063         The logic is from Eric Blake and the location indicated by Jim Meyering.
16064         Note the more natural CONFIG_HEADER name is prohibited by automake
16065         for backwards compatibility reasons.
16066         * top/maint.mk (sc_Wundef_boolean): New rule.
16067
16068 2010-01-25  Jim Meyering  <meyering@redhat.com>
16069
16070         bootstrap: detect MacOS 10.6's shasum, too
16071         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
16072         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
16073
16074 2010-01-23  Jim Meyering  <meyering@redhat.com>
16075
16076         xstrtoll: new module
16077         * modules/xstrtoll: New file.
16078         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
16079         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
16080         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
16081         ./configure fails if you use this module and lack "long long".
16082         * modules/xstrtoll-tests: New module.
16083         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
16084         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
16085         new init.sh-based test framework.
16086
16087 2010-01-24  Bruno Haible  <bruno@clisp.org>
16088
16089         Tests for module 'yn'.
16090         * modules/yn-tests: New file.
16091         * tests/test-yn.c: New file.
16092
16093         Tests for module 'y1'.
16094         * modules/y1-tests: New file.
16095         * tests/test-y1.c: New file.
16096
16097         Tests for module 'y0'.
16098         * modules/y0-tests: New file.
16099         * tests/test-y0.c: New file.
16100
16101         Tests for module 'tanh'.
16102         * modules/tanh-tests: New file.
16103         * tests/test-tanh.c: New file.
16104
16105         Tests for module 'tan'.
16106         * modules/tan-tests: New file.
16107         * tests/test-tan.c: New file.
16108
16109         Tests for module 'sqrt'.
16110         * modules/sqrt-tests: New file.
16111         * tests/test-sqrt.c: New file.
16112
16113         Tests for module 'sinh'.
16114         * modules/sinh-tests: New file.
16115         * tests/test-sinh.c: New file.
16116
16117         Tests for module 'sin'.
16118         * modules/sin-tests: New file.
16119         * tests/test-sin.c: New file.
16120
16121         Tests for module 'rint'.
16122         * modules/rint-tests: New file.
16123         * tests/test-rint.c: New file.
16124
16125         Tests for module 'remainder'.
16126         * modules/remainder-tests: New file.
16127         * tests/test-remainder.c: New file.
16128
16129         Tests for module 'pow'.
16130         * modules/pow-tests: New file.
16131         * tests/test-pow.c: New file.
16132
16133         Tests for module 'nextafter'.
16134         * modules/nextafter-tests: New file.
16135         * tests/test-nextafter.c: New file.
16136
16137         Tests for module 'modf'.
16138         * modules/modf-tests: New file.
16139         * tests/test-modf.c: New file.
16140
16141         Tests for module 'logb'.
16142         * modules/logb-tests: New file.
16143         * tests/test-logb.c: New file.
16144
16145         Tests for module 'log1p'.
16146         * modules/log1p-tests: New file.
16147         * tests/test-log1p.c: New file.
16148
16149         Tests for module 'log10'.
16150         * modules/log10-tests: New file.
16151         * tests/test-log10.c: New file.
16152
16153         Tests for module 'log'.
16154         * modules/log-tests: New file.
16155         * tests/test-log.c: New file.
16156
16157         Tests for module 'lgamma'.
16158         * modules/lgamma-tests: New file.
16159         * tests/test-lgamma.c: New file.
16160
16161         Tests for module 'ldexp'.
16162         * modules/ldexp-tests: New file.
16163         * tests/test-ldexp.c: New file.
16164
16165         Tests for module 'jn'.
16166         * modules/jn-tests: New file.
16167         * tests/test-jn.c: New file.
16168
16169         Tests for module 'j1'.
16170         * modules/j1-tests: New file.
16171         * tests/test-j1.c: New file.
16172
16173         Tests for module 'j0'.
16174         * modules/j0-tests: New file.
16175         * tests/test-j0.c: New file.
16176
16177         Tests for module 'hypot'.
16178         * modules/hypot-tests: New file.
16179         * tests/test-hypot.c: New file.
16180
16181         Tests for module 'fmod'.
16182         * modules/fmod-tests: New file.
16183         * tests/test-fmod.c: New file.
16184
16185         Tests for module 'fabs'.
16186         * modules/fabs-tests: New file.
16187         * tests/test-fabs.c: New file.
16188
16189         Tests for module 'exp'.
16190         * modules/exp-tests: New file.
16191         * tests/test-exp.c: New file.
16192
16193         Tests for module 'erfc'.
16194         * modules/erfc-tests: New file.
16195         * tests/test-erfc.c: New file.
16196
16197         Tests for module 'erf'.
16198         * modules/erf-tests: New file.
16199         * tests/test-erf.c: New file.
16200
16201         Tests for module 'cosh'.
16202         * modules/cosh-tests: New file.
16203         * tests/test-cosh.c: New file.
16204
16205         Tests for module 'cos'.
16206         * modules/cos-tests: New file.
16207         * tests/test-cos.c: New file.
16208
16209         Tests for module 'copysign'.
16210         * modules/copysign-tests: New file.
16211         * tests/test-copysign.c: New file.
16212
16213         Tests for module 'cbrt'.
16214         * modules/cbrt-tests: New file.
16215         * tests/test-cbrt.c: New file.
16216
16217         Tests for module 'atan2'.
16218         * modules/atan2-tests: New file.
16219         * tests/test-atan2.c: New file.
16220
16221         Tests for module 'atan'.
16222         * modules/atan-tests: New file.
16223         * tests/test-atan.c: New file.
16224
16225         Tests for module 'asin'.
16226         * modules/asin-tests: New file.
16227         * tests/test-asin.c: New file.
16228
16229         Tests for module 'acos'.
16230         * modules/acos-tests: New file.
16231         * tests/test-acos.c: New file.
16232
16233 2010-01-24  Bruno Haible  <bruno@clisp.org>
16234
16235         Fix tests for common <math.h> functions.
16236         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
16237         code snippet that references the function pointer, rather than merely
16238         calling the function. Substitute the FUNC_LIBM variable.
16239         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
16240         * modules/acos (configure.ac): Likewise.
16241         * modules/asin (configure.ac): Likewise.
16242         * modules/atan (configure.ac): Likewise.
16243         * modules/atan2 (configure.ac): Likewise.
16244         * modules/cbrt (configure.ac): Likewise.
16245         * modules/copysign (configure.ac): Likewise.
16246         * modules/cos (configure.ac): Likewise.
16247         * modules/cosh (configure.ac): Likewise.
16248         * modules/erf (configure.ac): Likewise.
16249         * modules/erfc (configure.ac): Likewise.
16250         * modules/exp (configure.ac): Likewise.
16251         * modules/fabs (configure.ac): Likewise.
16252         * modules/fmod (configure.ac): Likewise.
16253         * modules/hypot (configure.ac): Likewise.
16254         * modules/j0 (configure.ac): Likewise.
16255         * modules/j1 (configure.ac): Likewise.
16256         * modules/jn (configure.ac): Likewise.
16257         * modules/ldexp (configure.ac): Likewise.
16258         * modules/lgamma (configure.ac): Likewise.
16259         * modules/log (configure.ac): Likewise.
16260         * modules/log10 (configure.ac): Likewise.
16261         * modules/log1p (configure.ac): Likewise.
16262         * modules/logb (configure.ac): Likewise.
16263         * modules/modf (configure.ac): Likewise.
16264         * modules/nextafter (configure.ac): Likewise.
16265         * modules/pow (configure.ac): Likewise.
16266         * modules/remainder (configure.ac): Likewise.
16267         * modules/rint (configure.ac): Likewise.
16268         * modules/sin (configure.ac): Likewise.
16269         * modules/sinh (configure.ac): Likewise.
16270         * modules/tan (configure.ac): Likewise.
16271         * modules/tanh (configure.ac): Likewise.
16272         * modules/y0 (configure.ac): Likewise.
16273         * modules/y1 (configure.ac): Likewise.
16274         * modules/yn (configure.ac): Likewise.
16275
16276 2010-01-24  Bruno Haible  <bruno@clisp.org>
16277
16278         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
16279         * tests/test-acosl.c (x): New variable.
16280         (main): Store argument in x and fetch it from x.
16281         * tests/test-asinl.c (x): New variable.
16282         (main): Store argument in x and fetch it from x.
16283         * tests/test-atanl.c (x): New variable.
16284         (main): Store argument in x and fetch it from x.
16285         * tests/test-cosl.c (x): New variable.
16286         (main): Store argument in x and fetch it from x.
16287         * tests/test-expl.c (x): New variable.
16288         (main): Store argument in x and fetch it from x.
16289         * tests/test-logl.c (x): New variable.
16290         (main): Store argument in x and fetch it from x.
16291         * tests/test-sinl.c (x): New variable.
16292         (main): Store argument in x and fetch it from x.
16293         * tests/test-sqrtl.c (x): New variable.
16294         (main): Store argument in x and fetch it from x.
16295         * tests/test-tanl.c (x): New variable.
16296         (main): Store argument in x and fetch it from x.
16297
16298 2010-01-24  Bruno Haible  <bruno@clisp.org>
16299
16300         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
16301         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
16302         assignments to the initial TESTS_ENVIRONMENT.
16303         * doc/gnulib.texi (Unit test modules): Document it.
16304         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
16305         TESTS_ENVIRONMENT.
16306         * modules/btowc-tests (Makefile.am): Likewise.
16307         * modules/c-stack-tests (Makefile.am): Likewise.
16308         * modules/c-strcase-tests (Makefile.am): Likewise.
16309         * modules/copy-file-tests (Makefile.am): Likewise.
16310         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
16311         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
16312         * modules/mbrtowc-tests (Makefile.am): Likewise.
16313         * modules/mbscasecmp-tests (Makefile.am): Likewise.
16314         * modules/mbscasestr-tests (Makefile.am): Likewise.
16315         * modules/mbschr-tests (Makefile.am): Likewise.
16316         * modules/mbscspn-tests (Makefile.am): Likewise.
16317         * modules/mbsinit-tests (Makefile.am): Likewise.
16318         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
16319         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
16320         * modules/mbspbrk-tests (Makefile.am): Likewise.
16321         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
16322         * modules/mbsrchr-tests (Makefile.am): Likewise.
16323         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
16324         * modules/mbsspn-tests (Makefile.am): Likewise.
16325         * modules/mbsstr-tests (Makefile.am): Likewise.
16326         * modules/nl_langinfo-tests (Makefile.am): Likewise.
16327         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
16328         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
16329         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
16330         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
16331         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
16332         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
16333         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
16334         * modules/wcrtomb-tests (Makefile.am): Likewise.
16335         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
16336         * modules/wcsrtombs-tests (Makefile.am): Likewise.
16337         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
16338         assignments from TESTS_ENVIRONMENT.
16339         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
16340         augmentation.
16341         * modules/argp-version-etc-tests (Makefile.am): Likewise.
16342         * modules/atexit-tests (Makefile.am): Likewise.
16343         * modules/binary-io-tests (Makefile.am): Likewise.
16344         * modules/closein-tests (Makefile.am): Likewise.
16345         * modules/dprintf-posix-tests (Makefile.am): Likewise.
16346         * modules/exclude-tests (Makefile.am): Likewise.
16347         * modules/fflush-tests (Makefile.am): Likewise.
16348         * modules/fpending-tests (Makefile.am): Likewise.
16349         * modules/fprintf-posix-tests (Makefile.am): Likewise.
16350         * modules/freadahead-tests (Makefile.am): Likewise.
16351         * modules/freadptr-tests (Makefile.am): Likewise.
16352         * modules/freadseek-tests (Makefile.am): Likewise.
16353         * modules/fseek-tests (Makefile.am): Likewise.
16354         * modules/fseeko-tests (Makefile.am): Likewise.
16355         * modules/ftell-tests (Makefile.am): Likewise.
16356         * modules/ftello-tests (Makefile.am): Likewise.
16357         * modules/idpriv-drop-tests (Makefile.am): Likewise.
16358         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
16359         * modules/lseek-tests (Makefile.am): Likewise.
16360         * modules/parse-duration-tests (Makefile.am): Likewise.
16361         * modules/perror-tests (Makefile.am): Likewise.
16362         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
16363         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
16364         * modules/pipe-tests (Makefile.am): Likewise.
16365         * modules/pread-tests (Makefile.am): Likewise.
16366         * modules/printf-posix-tests (Makefile.am): Likewise.
16367         * modules/select-tests (Makefile.am): Likewise.
16368         * modules/sigpipe-tests (Makefile.am): Likewise.
16369         * modules/tsearch-tests (Makefile.am): Likewise.
16370         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
16371         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
16372         * modules/uniname/uniname-tests (Makefile.am): Likewise.
16373         * modules/uniwidth/width-tests (Makefile.am): Likewise.
16374         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
16375         * modules/version-etc-tests (Makefile.am): Likewise.
16376         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
16377         * modules/vprintf-posix-tests (Makefile.am): Likewise.
16378         * modules/xalloc-die-tests (Makefile.am): Likewise.
16379         * modules/xprintf-posix-tests (Makefile.am): Likewise.
16380         * modules/xstrtoimax-tests (Makefile.am): Likewise.
16381         * modules/xstrtol-tests (Makefile.am): Likewise.
16382         * modules/xstrtoumax-tests (Makefile.am): Likewise.
16383         * modules/yesno-tests (Makefile.am): Likewise.
16384         Suggested by Jim Meyering.
16385
16386 2010-01-24  Bruno Haible  <bruno@clisp.org>
16387
16388         More documentation.
16389         * doc/gnulib.texi (Writing modules): New chapter.
16390         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
16391         the new chapter.
16392
16393 2010-01-24  Jim Meyering  <meyering@redhat.com>
16394
16395         maint.mk: do not prepend "./" after filtering
16396         * top/maint.mk (_prepend_srcdir_prefix): New variable
16397         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
16398         "./" when $(srcdir) is ".".
16399
16400         define STREQ(a,b) consistently, removing useless parentheses
16401         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
16402         since the only risk is that "a" or "b" contains an unparenthesized
16403         comma, but if either did that, STREQ would have 3 or more arguments.
16404         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
16405         * lib/fts.c (STREQ): Remove unnecessary parentheses.
16406         * lib/hash-triple.c (STREQ): Likewise.
16407         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
16408         * lib/getugroups.c (STREQ): Likewise.
16409
16410 2010-01-23  Jim Meyering  <meyering@redhat.com>
16411
16412         maint.mk: fix syntax-check in a non-srcdir build directory
16413         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
16414         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
16415
16416 2010-01-22  Jim Meyering  <meyering@redhat.com>
16417
16418         userspec: add unit tests
16419         * tests/test-userspec.c: New file.
16420         * modules/userspec-tests: Likewise.
16421
16422 2010-01-21  Jim Meyering  <meyering@redhat.com>
16423
16424         maint.mk: handle source file names containing "." robustly
16425         * top/maint.mk (_dot_escaped_srcdir): Define.
16426         (VC_LIST): Use it in LHS of sed substitution.
16427
16428 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
16429
16430         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
16431         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
16432         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
16433         from a non-srcdir build.
16434
16435 2010-01-20  Eric Blake  <ebb9@byu.net>
16436
16437         warn-on-use: use instead of link-warning
16438         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
16439         * modules/unistd (Depends-on, Makefile.am): Likewise.
16440         * modules/arpa_inet (Depends-on): Replace link-warning with
16441         warn-on-use.
16442         (Makefile.am): Update rules accordingly.
16443         * modules/ctype (Depends-on, Makefile.am): Likewise.
16444         * modules/dirent (Depends-on, Makefile.am): Likewise.
16445         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
16446         * modules/inttypes (Depends-on, Makefile.am): Likewise.
16447         * modules/langinfo (Depends-on, Makefile.am): Likewise.
16448         * modules/locale (Depends-on, Makefile.am): Likewise.
16449         * modules/math (Depends-on, Makefile.am): Likewise.
16450         * modules/search (Depends-on, Makefile.am): Likewise.
16451         * modules/signal (Depends-on, Makefile.am): Likewise.
16452         * modules/spawn (Depends-on, Makefile.am): Likewise.
16453         * modules/stdlib (Depends-on, Makefile.am): Likewise.
16454         * modules/string (Depends-on, Makefile.am): Likewise.
16455         * modules/strings (Depends-on, Makefile.am): Likewise.
16456         * modules/sys_file (Depends-on, Makefile.am): Likewise.
16457         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
16458         * modules/sys_select (Depends-on, Makefile.am): Likewise.
16459         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
16460         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
16461         * modules/sys_times (Depends-on, Makefile.am): Likewise.
16462         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
16463         * modules/wchar (Depends-on, Makefile.am): Likewise.
16464         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
16465         should be poisoned.
16466         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
16467         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
16468         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
16469         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
16470         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16471         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16472         * m4/math_h.m4 (gl_MATH_H): Likewise.
16473         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16474         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
16475         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
16476         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
16477         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
16478         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
16479         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
16480         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
16481         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
16482         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16483         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
16484         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
16485         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16486         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16487         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
16488         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16489         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
16490         GL_LINK_WARNING.
16491         * lib/ctype.in.h: Likewise.
16492         * lib/dirent.in.h: Likewise.
16493         * lib/fcntl.in.h: Likewise.
16494         * lib/inttypes.in.h: Likewise.
16495         * lib/langinfo.in.h: Likewise.
16496         * lib/locale.in.h: Likewise.
16497         * lib/math.in.h: Likewise.
16498         * lib/search.in.h: Likewise.
16499         * lib/signal.in.h: Likewise.
16500         * lib/spawn.in.h: Likewise.
16501         * lib/stdio.in.h: Likewise.
16502         * lib/stdlib.in.h: Likewise.
16503         * lib/string.in.h: Likewise.
16504         * lib/strings.in.h: Likewise.
16505         * lib/sys_file.in.h: Likewise.
16506         * lib/sys_ioctl.in.h: Likewise.
16507         * lib/sys_select.in.h: Likewise.
16508         * lib/sys_socket.in.h: Likewise.
16509         * lib/sys_stat.in.h: Likewise.
16510         * lib/sys_times.in.h: Likewise.
16511         * lib/sys_utsname.in.h: Likewise.
16512         * lib/unistd.in.h: Likewise.
16513         * lib/wchar.in.h: Likewise.
16514
16515 2010-01-20  Bruno Haible  <bruno@clisp.org>
16516
16517         Avoid duplicate -lm.
16518         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
16519         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
16520         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
16521         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
16522         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
16523         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
16524         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
16525         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
16526         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
16527         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
16528         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
16529         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16530         Reported by Paolo Bonzini.
16531
16532 2010-01-19  Bruno Haible  <bruno@clisp.org>
16533
16534         langinfo, nl_langinfo: Relicense under LGPLv2+.
16535         * modules/langinfo (License): Change to LGPLv2+.
16536         * modules/nl_langinfo (License): Likewise.
16537         Patch by David Lutterkort <lutter@redhat.com>.
16538
16539 2010-01-19  Bruno Haible  <bruno@clisp.org>
16540
16541         Avoid compilation error with cc on OSF/1 5.1.
16542         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
16543         statement, not before.
16544         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16545
16546 2010-01-18  Bruno Haible  <bruno@clisp.org>
16547
16548         Avoid a link error due to the __printf__ symbol.
16549         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
16550         and 2.6.x.
16551         (__format__, __printf__): Remove definitions.
16552         * lib/argp-fmtstream.h: Likewise.
16553         * lib/argp.h: Likewise.
16554         * lib/error.h: Likewise.
16555         * lib/vasnprintf.h: Likewise.
16556         * lib/xprintf.h: Likewise.
16557         * lib/xvasprintf.h: Likewise.
16558         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16559
16560 2010-01-18  Bruno Haible  <bruno@clisp.org>
16561
16562         Tests for module 'tanl'.
16563         * modules/tanl-tests: New file.
16564         * tests/test-tanl.c: New file.
16565
16566         Tests for module 'sqrtl'.
16567         * modules/sqrtl-tests: New file.
16568         * tests/test-sqrtl.c: New file.
16569
16570         Tests for module 'sinl'.
16571         * modules/sinl-tests: New file.
16572         * tests/test-sinl.c: New file.
16573
16574         Tests for module 'logl'.
16575         * modules/logl-tests: New file.
16576         * tests/test-logl.c: New file.
16577
16578         Tests for module 'expl'.
16579         * modules/expl-tests: New file.
16580         * tests/test-expl.c: New file.
16581
16582         Tests for module 'cosl'.
16583         * modules/cosl-tests: New file.
16584         * tests/test-cosl.c: New file.
16585
16586         Tests for module 'atanl'.
16587         * modules/atanl-tests: New file.
16588         * tests/test-atanl.c: New file.
16589
16590         Tests for module 'asinl'.
16591         * modules/asinl-tests: New file.
16592         * tests/test-asinl.c: New file.
16593
16594         Tests for module 'acosl'.
16595         * modules/acosl-tests: New file.
16596         * tests/test-acosl.c: New file.
16597
16598         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16599         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
16600         tanl): Use the standard gnulib idiom.
16601         * lib/cosl.c: Don't include trigl.c and sincosl.c.
16602         * lib/sinl.c: Likewise.
16603         * lib/tanl.c: Don't include trigl.c.
16604         (kernel_tanl): Make static.
16605         * lib/sincosl.c: Include trigl.h first.
16606         * lib/trigl.c: Likewise.
16607         * m4/acosl.m4: New file.
16608         * m4/asinl.m4: New file.
16609         * m4/atanl.m4: New file.
16610         * m4/cosl.m4: New file.
16611         * m4/expl.m4: New file.
16612         * m4/logl.m4: New file.
16613         * m4/sinl.m4: New file.
16614         * m4/sqrtl.m4: New file.
16615         * m4/tanl.m4: New file.
16616         * m4/mathl.m4: Remove file.
16617         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
16618         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16619         Don't initialize GNULIB_MATHL.
16620         * modules/acosl: New file.
16621         * modules/asinl: New file.
16622         * modules/atanl: New file.
16623         * modules/cosl: New file.
16624         * modules/expl: New file.
16625         * modules/logl: New file.
16626         * modules/sinl: New file.
16627         * modules/sqrtl: New file.
16628         * modules/tanl: New file.
16629         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
16630         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
16631         substitute GNULIB_MATHL.
16632         * modules/mathl: Rewritten.
16633         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
16634         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
16635         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
16636         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
16637         * doc/posix-functions/expl.texi: Mention the 'expl' module.
16638         * doc/posix-functions/logl.texi: Mention the 'logl' module.
16639         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
16640         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
16641         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
16642
16643 2010-01-18  Bruno Haible  <bruno@clisp.org>
16644
16645         sqrt: Make gl_FUNC_SQRT requirable.
16646         * m4/sqrt.m4: New file.
16647         * modules/sqrt (Files): Add it.
16648         (configure.ac): Invoke gl_FUNC_SQRT.
16649
16650 2010-01-18  Bruno Haible  <bruno@clisp.org>
16651
16652         New modules for common <math.h> functions.
16653         * m4/mathfunc.m4: New file.
16654         * modules/acos: New file.
16655         * modules/asin: New file.
16656         * modules/atan: New file.
16657         * modules/atan2: New file.
16658         * modules/cbrt: New file.
16659         * modules/copysign: New file.
16660         * modules/cos: New file.
16661         * modules/cosh: New file.
16662         * modules/erf: New file.
16663         * modules/erfc: New file.
16664         * modules/exp: New file.
16665         * modules/fabs: New file.
16666         * modules/fmod: New file.
16667         * modules/hypot: New file.
16668         * modules/j0: New file.
16669         * modules/j1: New file.
16670         * modules/jn: New file.
16671         * modules/ldexp: New file.
16672         * modules/lgamma: New file.
16673         * modules/log: New file.
16674         * modules/log10: New file.
16675         * modules/log1p: New file.
16676         * modules/logb: New file.
16677         * modules/modf: New file.
16678         * modules/nextafter: New file.
16679         * modules/pow: New file.
16680         * modules/remainder: New file.
16681         * modules/rint: New file.
16682         * modules/sin: New file.
16683         * modules/sinh: New file.
16684         * modules/sqrt: New file.
16685         * modules/tan: New file.
16686         * modules/tanh: New file.
16687         * modules/y0: New file.
16688         * modules/y1: New file.
16689         * modules/yn: New file.
16690         * doc/posix-functions/acos.texi: Mention the 'acos' module.
16691         * doc/posix-functions/asin.texi: Mention the 'asin' module.
16692         * doc/posix-functions/atan.texi: Mention the 'atan' module.
16693         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
16694         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
16695         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
16696         * doc/posix-functions/cos.texi: Mention the 'cos' module.
16697         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
16698         * doc/posix-functions/erf.texi: Mention the 'erf' module.
16699         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
16700         * doc/posix-functions/exp.texi: Mention the 'exp' module.
16701         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
16702         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
16703         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
16704         * doc/posix-functions/j0.texi: Mention the 'j0' module.
16705         * doc/posix-functions/j1.texi: Mention the 'j1' module.
16706         * doc/posix-functions/jn.texi: Mention the 'jn' module.
16707         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
16708         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
16709         * doc/posix-functions/log.texi: Mention the 'log' module.
16710         * doc/posix-functions/log10.texi: Mention the 'log10' module.
16711         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
16712         * doc/posix-functions/logb.texi: Mention the 'logb' module.
16713         * doc/posix-functions/modf.texi: Mention the 'modf' module.
16714         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
16715         * doc/posix-functions/pow.texi: Mention the 'pow' module.
16716         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
16717         * doc/posix-functions/rint.texi: Mention the 'rint' module.
16718         * doc/posix-functions/sin.texi: Mention the 'sin' module.
16719         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
16720         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
16721         * doc/posix-functions/tan.texi: Mention the 'tan' module.
16722         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
16723         * doc/posix-functions/y0.texi: Mention the 'y0' module.
16724         * doc/posix-functions/y1.texi: Mention the 'y1' module.
16725         * doc/posix-functions/yn.texi: Mention the 'yn' module.
16726
16727 2010-01-18  Jim Meyering  <meyering@redhat.com>
16728
16729         ignore-value: relax license to LGPLv2+
16730         * modules/ignore-value (License): Relax to LGPLv2+.
16731
16732         getdate: don't leak when TZ contains two or more '"'s
16733         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
16734         double quote in TZ after the first one.
16735
16736         readtokens: do not leak internal token_lengths buffer
16737         * lib/readtokens.c (readtokens): Free the local, lengths,
16738         when the supplied "token_lengths" parameter is NULL.
16739
16740 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16741
16742         Fix a couple of missing LIBTHREAD link failures on AIX.
16743         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
16744         $(LIBTHREAD).
16745         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
16746
16747         Link test-poll against INET_PTON_LIB.
16748         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
16749         for inet_pton on Solaris 10.
16750
16751 2010-01-17  Bruno Haible  <bruno@clisp.org>
16752
16753         unistdio/*-sprintf: Fix typo in module description.
16754         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
16755         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
16756         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
16757         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
16758         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
16759         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
16760         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
16761         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16762
16763 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16764
16765         gnulib-tool: fix filelist for AIX, HP-UX ksh.
16766         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
16767         variables in shell case patterns, for AIX and HP-UX ksh.
16768
16769         Split large sed scripts, for HP-UX sed.
16770         * modules/stdio: Split sed scripts around 50 sed commands,
16771         to avoid HP-UX limit of 99 commands, in the near future.
16772         * modules/string: Likewise.
16773         * modules/unistd: Likewise.
16774
16775         gnulib-tool: avoid writing in the current directory.
16776         * gnulib-tool (func_emit_lib_Makefile_am)
16777         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
16778         not in the current directory, so concurrent gnulib-tool
16779         instances do not interfere.
16780
16781 2010-01-16  Jim Meyering  <meyering@redhat.com>
16782
16783         doc: update users.txt
16784         * users.txt: Add grep.
16785         (diffutils, gzip): Update URLs.
16786
16787 2010-01-12  Bruno Haible  <bruno@clisp.org>
16788
16789         posix_spawn: Avoid test failure on Cygwin.
16790         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
16791         characters.
16792         Reported by Simon Josefsson.
16793
16794 2010-01-12  Bruno Haible  <bruno@clisp.org>
16795
16796         * tests/test-cond.c (main): When skipping the test, show the reason.
16797
16798 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16799
16800         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16801
16802 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16803
16804         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16805         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16806
16807 2010-01-12  Eric Blake  <ebb9@byu.net>
16808
16809         build: guarantee AS_VAR_IF
16810         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16811         (gl_AS_VAR_IF): Move...
16812         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16813         Reported by Simon Josefsson.
16814
16815 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16816
16817         * lib/stdio.in.h: Fix typo.
16818
16819 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16820
16821         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16822         libgpg-error.
16823
16824 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16825
16826         * tests/test-xalloc-die.sh: Use $EXEEXT.
16827
16828 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16829             Bruno Haible  <bruno@clisp.org>
16830
16831         getlogin, getlogin_r: Avoid test failure.
16832         * tests/test-getlogin.c: Include <stdio.h>.
16833         (main): Skip the test when the function fails because stdin is not a
16834         tty.
16835         * tests/test-getlogin_r.c: Include <stdio.h>.
16836         (main): Skip the test when the function fails because stdin is not a
16837         tty.
16838
16839 2010-01-11  Eric Blake  <ebb9@byu.net>
16840
16841         tests: avoid more large file warnings
16842         * tests/test-fflush.c: Avoid warning about ftell use.
16843         * tests/test-fseek.c: Avoid warning about fseek use.
16844
16845 2010-01-10  Bruno Haible  <bruno@clisp.org>
16846
16847         nproc: Work better on Linux when /proc and /sys are not mounted.
16848         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16849         as lower bound when, on glibc/Linux systems,
16850         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16851         Suggested by Pádraig Brady <P@draigbrady.com>.
16852         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16853
16854         nproc: Refactor.
16855         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16856         extracted from num_processors.
16857         (num_processors): Call it.
16858
16859 2010-01-11  Jim Meyering  <meyering@redhat.com>
16860
16861         utimecmp: avoid new warning from upcoming gcc-4.5.0
16862         * lib/utimecmp.c (BILLION): Define using #define rather than an
16863         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16864
16865 2010-01-11  Eric Blake  <ebb9@byu.net>
16866
16867         math: add portability warnings for classification macros
16868         * modules/math (Depends-on): Add warn-on-use.
16869         (Makefile.am): Provide new substitutions.
16870         * m4/math_h.m4 (gl_MATH_H): Require inline.
16871         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16872         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16873         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16874         implement warnings.
16875
16876         unistd: warn on use of environ without module
16877         * modules/unistd (Depends-on): Add warn-on-use.
16878         (Makefile.am): Provide new substitutions.
16879         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16880         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16881
16882         stdio: warn on suspicious uses
16883         * modules/stdio (Depends-on): Add warn-on-use.
16884         (Makefile.am): Provide new substitutions.
16885         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16886         fseeko.
16887         * lib/stdio.in.h (gets): Always warn on use.
16888         (fseek, ftell): Adjust when warnings are issued, and honor
16889         _GL_NO_LARGE_FILES as a way to silence the warning.
16890         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16891         any warning about large file offsets.
16892         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16893         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16894         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16895         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16896         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16897         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16898         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16899         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16900
16901         warn-on-use: new module
16902         * modules/warn-on-use: New file.
16903         * build-aux/warn-on-use.h: Likewise.
16904         * m4/warn-on-use.m4: Likewise.
16905         * MODULES.html.sh (Support for building): Mention it.
16906
16907 2010-01-10  Bruno Haible  <bruno@clisp.org>
16908
16909         Tests for module 'unistr/u32-strdup'.
16910         * modules/unistr/u32-strdup-tests: New file.
16911         * tests/unistr/test-u32-strdup.c: New file.
16912
16913         Tests for module 'unistr/u16-strdup'.
16914         * modules/unistr/u16-strdup-tests: New file.
16915         * tests/unistr/test-u16-strdup.c: New file.
16916
16917         Tests for module 'unistr/u8-strdup'.
16918         * modules/unistr/u8-strdup-tests: New file.
16919         * tests/unistr/test-u8-strdup.c: New file.
16920         * tests/unistr/test-strdup.h: New file.
16921
16922         Tests for module 'unistr/u32-strncmp'.
16923         * modules/unistr/u32-strncmp-tests: New file.
16924         * tests/unistr/test-u32-strncmp.c: New file.
16925
16926         Tests for module 'unistr/u16-strncmp'.
16927         * modules/unistr/u16-strncmp-tests: New file.
16928         * tests/unistr/test-u16-strncmp.c: New file.
16929
16930         Tests for module 'unistr/u8-strncmp'.
16931         * modules/unistr/u8-strncmp-tests: New file.
16932         * tests/unistr/test-u8-strncmp.c: New file.
16933         * tests/unistr/test-strncmp.h: New file.
16934
16935         Tests for module 'unistr/u32-strcoll'.
16936         * modules/unistr/u32-strcoll-tests: New file.
16937         * tests/unistr/test-u32-strcoll.c: New file.
16938
16939         Tests for module 'unistr/u16-strcoll'.
16940         * modules/unistr/u16-strcoll-tests: New file.
16941         * tests/unistr/test-u16-strcoll.c: New file.
16942
16943         Tests for module 'unistr/u8-strcoll'.
16944         * modules/unistr/u8-strcoll-tests: New file.
16945         * tests/unistr/test-u8-strcoll.c: New file.
16946
16947         Tests for module 'unistr/u32-strcmp'.
16948         * modules/unistr/u32-strcmp-tests: New file.
16949         * tests/unistr/test-u32-strcmp.c: New file.
16950         * tests/unistr/test-u32-strcmp.h: New file.
16951
16952         Tests for module 'unistr/u16-strcmp'.
16953         * modules/unistr/u16-strcmp-tests: New file.
16954         * tests/unistr/test-u16-strcmp.c: New file.
16955         * tests/unistr/test-u16-strcmp.h: New file.
16956
16957         Tests for module 'unistr/u8-strcmp'.
16958         * modules/unistr/u8-strcmp-tests: New file.
16959         * tests/unistr/test-u8-strcmp.c: New file.
16960         * tests/unistr/test-u8-strcmp.h: New file.
16961         * tests/unistr/test-strcmp.h: New file.
16962
16963         Tests for module 'unistr/u32-strncat'.
16964         * modules/unistr/u32-strncat-tests: New file.
16965         * tests/unistr/test-u32-strncat.c: New file.
16966
16967         Tests for module 'unistr/u16-strncat'.
16968         * modules/unistr/u16-strncat-tests: New file.
16969         * tests/unistr/test-u16-strncat.c: New file.
16970
16971         Tests for module 'unistr/u8-strncat'.
16972         * modules/unistr/u8-strncat-tests: New file.
16973         * tests/unistr/test-u8-strncat.c: New file.
16974         * tests/unistr/test-strncat.h: New file.
16975
16976         Tests for module 'unistr/u32-strcat'.
16977         * modules/unistr/u32-strcat-tests: New file.
16978         * tests/unistr/test-u32-strcat.c: New file.
16979
16980         Tests for module 'unistr/u16-strcat'.
16981         * modules/unistr/u16-strcat-tests: New file.
16982         * tests/unistr/test-u16-strcat.c: New file.
16983
16984         Tests for module 'unistr/u8-strcat'.
16985         * modules/unistr/u8-strcat-tests: New file.
16986         * tests/unistr/test-u8-strcat.c: New file.
16987         * tests/unistr/test-strcat.h: New file.
16988
16989         Tests for module 'unistr/u32-stpncpy'.
16990         * modules/unistr/u32-stpncpy-tests: New file.
16991         * tests/unistr/test-u32-stpncpy.c: New file.
16992
16993         Tests for module 'unistr/u16-stpncpy'.
16994         * modules/unistr/u16-stpncpy-tests: New file.
16995         * tests/unistr/test-u16-stpncpy.c: New file.
16996
16997         Tests for module 'unistr/u8-stpncpy'.
16998         * modules/unistr/u8-stpncpy-tests: New file.
16999         * tests/unistr/test-u8-stpncpy.c: New file.
17000         * tests/unistr/test-stpncpy.h: New file.
17001
17002         Tests for module 'unistr/u32-strncpy'.
17003         * modules/unistr/u32-strncpy-tests: New file.
17004         * tests/unistr/test-u32-strncpy.c: New file.
17005
17006         Tests for module 'unistr/u16-strncpy'.
17007         * modules/unistr/u16-strncpy-tests: New file.
17008         * tests/unistr/test-u16-strncpy.c: New file.
17009
17010         Tests for module 'unistr/u8-strncpy'.
17011         * modules/unistr/u8-strncpy-tests: New file.
17012         * tests/unistr/test-u8-strncpy.c: New file.
17013         * tests/unistr/test-strncpy.h: New file.
17014
17015         Tests for module 'unistr/u32-stpcpy'.
17016         * modules/unistr/u32-stpcpy-tests: New file.
17017         * tests/unistr/test-u32-stpcpy.c: New file.
17018
17019         Tests for module 'unistr/u16-stpcpy'.
17020         * modules/unistr/u16-stpcpy-tests: New file.
17021         * tests/unistr/test-u16-stpcpy.c: New file.
17022
17023         Tests for module 'unistr/u8-stpcpy'.
17024         * modules/unistr/u8-stpcpy-tests: New file.
17025         * tests/unistr/test-u8-stpcpy.c: New file.
17026         * tests/unistr/test-stpcpy.h: New file.
17027
17028         Tests for module 'unistr/u32-strcpy'.
17029         * modules/unistr/u32-strcpy-tests: New file.
17030         * tests/unistr/test-u32-strcpy.c: New file.
17031
17032         Tests for module 'unistr/u16-strcpy'.
17033         * modules/unistr/u16-strcpy-tests: New file.
17034         * tests/unistr/test-u16-strcpy.c: New file.
17035
17036         Tests for module 'unistr/u8-strcpy'.
17037         * modules/unistr/u8-strcpy-tests: New file.
17038         * tests/unistr/test-u8-strcpy.c: New file.
17039         * tests/unistr/test-strcpy.h: New file.
17040
17041         Tests for module 'unistr/u32-strnlen'.
17042         * modules/unistr/u32-strnlen-tests: New file.
17043         * tests/unistr/test-u32-strnlen.c: New file.
17044
17045         Tests for module 'unistr/u16-strnlen'.
17046         * modules/unistr/u16-strnlen-tests: New file.
17047         * tests/unistr/test-u16-strnlen.c: New file.
17048
17049         Tests for module 'unistr/u8-strnlen'.
17050         * modules/unistr/u8-strnlen-tests: New file.
17051         * tests/unistr/test-u8-strnlen.c: New file.
17052         * tests/unistr/test-strnlen.h: New file.
17053
17054         Tests for module 'unistr/u32-strlen'.
17055         * modules/unistr/u32-strlen-tests: New file.
17056         * tests/unistr/test-u32-strlen.c: New file.
17057
17058         Tests for module 'unistr/u16-strlen'.
17059         * modules/unistr/u16-strlen-tests: New file.
17060         * tests/unistr/test-u16-strlen.c: New file.
17061
17062         Tests for module 'unistr/u8-strlen'.
17063         * modules/unistr/u8-strlen-tests: New file.
17064         * tests/unistr/test-u8-strlen.c: New file.
17065
17066         Tests for module 'unistr/u32-prev'.
17067         * modules/unistr/u32-prev-tests: New file.
17068         * tests/unistr/test-u32-prev.c: New file.
17069
17070         Tests for module 'unistr/u16-prev'.
17071         * modules/unistr/u16-prev-tests: New file.
17072         * tests/unistr/test-u16-prev.c: New file.
17073
17074         Tests for module 'unistr/u8-prev'.
17075         * modules/unistr/u8-prev-tests: New file.
17076         * tests/unistr/test-u8-prev.c: New file.
17077
17078         Tests for module 'unistr/u32-next'.
17079         * modules/unistr/u32-next-tests: New file.
17080         * tests/unistr/test-u32-next.c: New file.
17081
17082         Tests for module 'unistr/u16-next'.
17083         * modules/unistr/u16-next-tests: New file.
17084         * tests/unistr/test-u16-next.c: New file.
17085
17086         Tests for module 'unistr/u8-next'.
17087         * modules/unistr/u8-next-tests: New file.
17088         * tests/unistr/test-u8-next.c: New file.
17089
17090         Tests for module 'unistr/u32-strmbtouc'.
17091         * modules/unistr/u32-strmbtouc-tests: New file.
17092         * tests/unistr/test-u32-strmbtouc.c: New file.
17093
17094         Tests for module 'unistr/u16-strmbtouc'.
17095         * modules/unistr/u16-strmbtouc-tests: New file.
17096         * tests/unistr/test-u16-strmbtouc.c: New file.
17097
17098         Tests for module 'unistr/u8-strmbtouc'.
17099         * modules/unistr/u8-strmbtouc-tests: New file.
17100         * tests/unistr/test-u8-strmbtouc.c: New file.
17101
17102         Tests for module 'unistr/u32-strmblen'.
17103         * modules/unistr/u32-strmblen-tests: New file.
17104         * tests/unistr/test-u32-strmblen.c: New file.
17105
17106         Tests for module 'unistr/u16-strmblen'.
17107         * modules/unistr/u16-strmblen-tests: New file.
17108         * tests/unistr/test-u16-strmblen.c: New file.
17109
17110         Tests for module 'unistr/u8-strmblen'.
17111         * modules/unistr/u8-strmblen-tests: New file.
17112         * tests/unistr/test-u8-strmblen.c: New file.
17113
17114         Tests for module 'unistr/u32-cpy-alloc'.
17115         * modules/unistr/u32-cpy-alloc-tests: New file.
17116         * tests/unistr/test-u32-cpy-alloc.c: New file.
17117
17118         Tests for module 'unistr/u16-cpy-alloc'.
17119         * modules/unistr/u16-cpy-alloc-tests: New file.
17120         * tests/unistr/test-u16-cpy-alloc.c: New file.
17121
17122         Tests for module 'unistr/u8-cpy-alloc'.
17123         * modules/unistr/u8-cpy-alloc-tests: New file.
17124         * tests/unistr/test-u8-cpy-alloc.c: New file.
17125         * tests/unistr/test-cpy-alloc.h: New file.
17126
17127         Tests for module 'unistr/u32-mbsnlen'.
17128         * modules/unistr/u32-mbsnlen-tests: New file.
17129         * tests/unistr/test-u32-mbsnlen.c: New file.
17130
17131         Tests for module 'unistr/u16-mbsnlen'.
17132         * modules/unistr/u16-mbsnlen-tests: New file.
17133         * tests/unistr/test-u16-mbsnlen.c: New file.
17134
17135         Tests for module 'unistr/u8-mbsnlen'.
17136         * modules/unistr/u8-mbsnlen-tests: New file.
17137         * tests/unistr/test-u8-mbsnlen.c: New file.
17138
17139         Tests for module 'unistr/u32-chr'.
17140         * modules/unistr/u32-chr-tests: New file.
17141         * tests/unistr/test-u32-chr.c: New file.
17142
17143         Tests for module 'unistr/u16-chr'.
17144         * modules/unistr/u16-chr-tests: New file.
17145         * tests/unistr/test-u16-chr.c: New file.
17146
17147         Tests for module 'unistr/u8-chr'.
17148         * modules/unistr/u8-chr-tests: New file.
17149         * tests/unistr/test-u8-chr.c: New file.
17150         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
17151
17152         Tests for module 'unistr/u32-cmp2'.
17153         * modules/unistr/u32-cmp2-tests: New file.
17154         * tests/unistr/test-u32-cmp2.c: New file.
17155
17156         Tests for module 'unistr/u16-cmp2'.
17157         * modules/unistr/u16-cmp2-tests: New file.
17158         * tests/unistr/test-u16-cmp2.c: New file.
17159
17160         Tests for module 'unistr/u8-cmp2'.
17161         * modules/unistr/u8-cmp2-tests: New file.
17162         * tests/unistr/test-u8-cmp2.c: New file.
17163         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
17164
17165         Tests for module 'unistr/u32-cmp'.
17166         * modules/unistr/u32-cmp-tests: New file.
17167         * tests/unistr/test-u32-cmp.c: New file.
17168
17169         Tests for module 'unistr/u16-cmp'.
17170         * modules/unistr/u16-cmp-tests: New file.
17171         * tests/unistr/test-u16-cmp.c: New file.
17172
17173         Tests for module 'unistr/u8-cmp'.
17174         * modules/unistr/u8-cmp-tests: New file.
17175         * tests/unistr/test-u8-cmp.c: New file.
17176         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
17177
17178         Tests for module 'unistr/u32-set'.
17179         * modules/unistr/u32-set-tests: New file.
17180         * tests/unistr/test-u32-set.c: New file.
17181
17182         Tests for module 'unistr/u16-set'.
17183         * modules/unistr/u16-set-tests: New file.
17184         * tests/unistr/test-u16-set.c: New file.
17185
17186         Tests for module 'unistr/u8-set'.
17187         * modules/unistr/u8-set-tests: New file.
17188         * tests/unistr/test-u8-set.c: New file.
17189         * tests/unistr/test-set.h: New file.
17190
17191         Tests for module 'unistr/u32-move'.
17192         * modules/unistr/u32-move-tests: New file.
17193         * tests/unistr/test-u32-move.c: New file.
17194
17195         Tests for module 'unistr/u16-move'.
17196         * modules/unistr/u16-move-tests: New file.
17197         * tests/unistr/test-u16-move.c: New file.
17198
17199         Tests for module 'unistr/u8-move'.
17200         * modules/unistr/u8-move-tests: New file.
17201         * tests/unistr/test-u8-move.c: New file.
17202         * tests/unistr/test-move.h: New file.
17203
17204         Tests for module 'unistr/u32-cpy'.
17205         * modules/unistr/u32-cpy-tests: New file.
17206         * tests/unistr/test-u32-cpy.c: New file.
17207
17208         Tests for module 'unistr/u16-cpy'.
17209         * modules/unistr/u16-cpy-tests: New file.
17210         * tests/unistr/test-u16-cpy.c: New file.
17211
17212         Tests for module 'unistr/u8-cpy'.
17213         * modules/unistr/u8-cpy-tests: New file.
17214         * tests/unistr/test-u8-cpy.c: New file.
17215         * tests/unistr/test-cpy.h: New file.
17216
17217 2010-01-09  Bruno Haible  <bruno@clisp.org>
17218
17219         Tests for module 'unistr/u32-uctomb'.
17220         * modules/unistr/u32-uctomb-tests: New file.
17221         * tests/unistr/test-u32-uctomb.c: New file.
17222
17223         Tests for module 'unistr/u16-uctomb'.
17224         * modules/unistr/u16-uctomb-tests: New file.
17225         * tests/unistr/test-u16-uctomb.c: New file.
17226
17227         Tests for module 'unistr/u8-uctomb'.
17228         * modules/unistr/u8-uctomb-tests: New file.
17229         * tests/unistr/test-u8-uctomb.c: New file.
17230
17231         Tests for module 'unistr/u32-mbtoucr'.
17232         * modules/unistr/u32-mbtoucr-tests: New file.
17233         * tests/unistr/test-u32-mbtoucr.c: New file.
17234
17235         Tests for module 'unistr/u16-mbtoucr'.
17236         * modules/unistr/u16-mbtoucr-tests: New file.
17237         * tests/unistr/test-u16-mbtoucr.c: New file.
17238
17239         Tests for module 'unistr/u8-mbtoucr'.
17240         * modules/unistr/u8-mbtoucr-tests: New file.
17241         * tests/unistr/test-u8-mbtoucr.c: New file.
17242
17243         Tests for module 'unistr/u32-mbtouc'.
17244         * modules/unistr/u32-mbtouc-tests: New file.
17245         * tests/unistr/test-u32-mbtouc.c: New file.
17246
17247         Tests for module 'unistr/u16-mbtouc'.
17248         * modules/unistr/u16-mbtouc-tests: New file.
17249         * tests/unistr/test-u16-mbtouc.c: New file.
17250
17251         Tests for module 'unistr/u8-mbtouc'.
17252         * modules/unistr/u8-mbtouc-tests: New file.
17253         * tests/unistr/test-u8-mbtouc.c: New file.
17254
17255         Tests for module 'unistr/u32-mbtouc-unsafe'.
17256         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
17257         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
17258         * tests/unistr/test-u32-mbtouc.h: New file.
17259
17260         Tests for module 'unistr/u16-mbtouc-unsafe'.
17261         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
17262         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
17263         * tests/unistr/test-u16-mbtouc.h: New file.
17264
17265         Tests for module 'unistr/u8-mbtouc-unsafe'.
17266         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
17267         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
17268         * tests/unistr/test-u8-mbtouc.h: New file.
17269
17270         Tests for module 'unistr/u32-mblen'.
17271         * modules/unistr/u32-mblen-tests: New file.
17272         * tests/unistr/test-u32-mblen.c: New file.
17273
17274         Tests for module 'unistr/u16-mblen'.
17275         * modules/unistr/u16-mblen-tests: New file.
17276         * tests/unistr/test-u16-mblen.c: New file.
17277
17278         Tests for module 'unistr/u8-mblen'.
17279         * modules/unistr/u8-mblen-tests: New file.
17280         * tests/unistr/test-u8-mblen.c: New file.
17281
17282         Tests for module 'unistr/u32-to-u16'.
17283         * modules/unistr/u32-to-u16-tests: New file.
17284         * tests/unistr/test-u32-to-u16.c: New file.
17285
17286         Tests for module 'unistr/u32-to-u8'.
17287         * modules/unistr/u32-to-u8-tests: New file.
17288         * tests/unistr/test-u32-to-u8.c: New file.
17289
17290         Tests for module 'unistr/u16-to-u32'.
17291         * modules/unistr/u16-to-u32-tests: New file.
17292         * tests/unistr/test-u16-to-u32.c: New file.
17293
17294         Tests for module 'unistr/u16-to-u8'.
17295         * modules/unistr/u16-to-u8-tests: New file.
17296         * tests/unistr/test-u16-to-u8.c: New file.
17297
17298         Tests for module 'unistr/u8-to-u32'.
17299         * modules/unistr/u8-to-u32-tests: New file.
17300         * tests/unistr/test-u8-to-u32.c: New file.
17301
17302         Tests for module 'unistr/u8-to-u16'.
17303         * modules/unistr/u8-to-u16-tests: New file.
17304         * tests/unistr/test-u8-to-u16.c: New file.
17305
17306         Tests for module 'unistr/u32-check'.
17307         * modules/unistr/u32-check-tests: New file.
17308         * tests/unistr/test-u32-check.c: New file.
17309
17310         Tests for module 'unistr/u16-check'.
17311         * modules/unistr/u16-check-tests: New file.
17312         * tests/unistr/test-u16-check.c: New file.
17313
17314         Tests for module 'unistr/u8-check'.
17315         * modules/unistr/u8-check-tests: New file.
17316         * tests/unistr/test-u8-check.c: New file.
17317
17318         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
17319         (category_equals): New function.
17320         (main): Add more tests.
17321         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
17322
17323         * tests/unictype/test-bidi_byname.c (main): Add more tests.
17324
17325 2010-01-10  Bruno Haible  <bruno@clisp.org>
17326
17327         unistr/u*-strcoll: Try harder to distinguish different strings.
17328         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
17329         compare s1 and s2 to see if they are different.
17330
17331 2010-01-10  Bruno Haible  <bruno@clisp.org>
17332
17333         unistr/u*-stpncpy: Fix the return value.
17334         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
17335         description of the return value consistent with stpncpy in glibc.
17336         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
17337         written non-NUL unit.
17338
17339 2010-01-10  Bruno Haible  <bruno@clisp.org>
17340
17341         unistr/u*-next: Add missing dependencies.
17342         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
17343         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
17344         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
17345
17346 2010-01-10  Bruno Haible  <bruno@clisp.org>
17347
17348         unistr/u8-mbsnlen: Fix return value for incomplete character.
17349         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
17350         u8_mblen.
17351         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
17352         Remove unistr/u8-mblen.
17353         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
17354         u16_mblen.
17355         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
17356         Remove unistr/u16-mblen.
17357
17358 2010-01-10  Bruno Haible  <bruno@clisp.org>
17359
17360         wchar: Fix compilation error when <wchar.h> is used from coreutils.
17361         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
17362         Reported by Brian Gough <bjg@gnu.org> and
17363         Chris Clayton <chris2553@googlemail.com> via
17364         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
17365
17366 2010-01-09  Bruno Haible  <bruno@clisp.org>
17367
17368         unistr/u16-to-u32: Reject invalid input.
17369         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
17370         u16_mbtouc.
17371         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
17372         Remove unistr/u16-mbtouc.
17373
17374         unistr/u16-to-u8: Reject invalid input.
17375         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
17376         u16_mbtouc.
17377         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
17378         Remove unistr/u16-mbtouc.
17379
17380         unistr/u8-to-u32: Reject invalid input.
17381         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
17382         u8_mbtouc.
17383         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
17384         Remove unistr/u8-mbtouc.
17385
17386         unistr/u8-to-u16: Reject invalid input.
17387         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
17388         u8_mbtouc.
17389         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
17390         Remove unistr/u8-mbtouc.
17391
17392 2010-01-09  Bruno Haible  <bruno@clisp.org>
17393
17394         Tests for module 'getlogin'.
17395         * modules/getlogin-tests: New file.
17396         * tests/test-getlogin.c: New file.
17397
17398         New module 'getlogin'.
17399         * lib/unistd.in.h (getlogin): New declaration.
17400         * lib/getlogin.c: New file.
17401         * m4/getlogin.m4: New file.
17402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
17403         HAVE_GETLOGIN.
17404         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
17405         HAVE_GETLOGIN.
17406         * modules/getlogin: New file.
17407         * doc/posix-functions/getlogin.texi: Mention the new module.
17408         Reported by John W. Eaton <jwe@gnu.org>.
17409
17410 2010-01-09  Bruno Haible  <bruno@clisp.org>
17411
17412         getlogin_r: Support for native Windows.
17413         * lib/getlogin_r.c: Include <windows.h>
17414         (getlogin_r): Implement for native Windows.
17415         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
17416         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
17417         via John W. Eaton <jwe@gnu.org>.
17418
17419 2010-01-09  Bruno Haible  <bruno@clisp.org>
17420
17421         getlogin_r: Small fixes.
17422         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
17423         succeeds.
17424         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
17425         before testing whether getlogin_r is declared. No need to set
17426         HAVE_DECL_GETLOGIN_R to 1.
17427         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
17428
17429 2010-01-09  Bruno Haible  <bruno@clisp.org>
17430
17431         * lib/unistd.in.h (getlogin_r): Add comment.
17432
17433 2010-01-09  Bruno Haible  <bruno@clisp.org>
17434
17435         Tests for module 'getlogin_r'.
17436         * modules/getlogin_r-tests: New file.
17437         * tests/test-getlogin_r.c: New file.
17438
17439 2010-01-09  Jim Meyering  <meyering@redhat.com>
17440
17441         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
17442         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
17443         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
17444
17445 2010-01-08  Simon Josefsson  <simon@josefsson.org>
17446
17447         * lib/dup2.c (rpl_dup2): Improve comment.
17448
17449 2010-01-08  Eric Blake  <ebb9@byu.net>
17450
17451         maint.mk: allow packages to add makefile @@ exceptions
17452         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
17453         (sc_makefile_check): Rename...
17454         (sc_makefile_at_at_check): ...to this, and use hook.
17455
17456         dup2: work around mingw bug
17457         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
17458         Reported by Simon Josefsson.
17459
17460 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
17461
17462         glob: Fix C++ compilation.
17463         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
17464         C++.
17465
17466 2010-01-07  Bruno Haible  <bruno@clisp.org>
17467
17468         Fix indentation of wctype.in.h, broken since 2007-01-06.
17469         * lib/wctype.in.h: Fix indentation of preprocessor directives.
17470
17471 2010-01-07  Bruno Haible  <bruno@clisp.org>
17472
17473         mbslen: Avoid collision with system function.
17474         * lib/string.in.h [MirBSD]: Include <wchar.h>.
17475         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
17476         * m4/mbslen.m4: New file.
17477         * modules/mbslen (Files): Add it.
17478         (configure.ac): Invoke gl_MBSLEN.
17479         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
17480         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
17481         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
17482         via Ian Beckwith <ianb@erislabs.net>.
17483
17484 2010-01-07  Bruno Haible  <bruno@clisp.org>
17485
17486         dirent: Document the last fix.
17487         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
17488
17489 2010-01-07  Bruno Haible  <bruno@clisp.org>
17490
17491         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
17492         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
17493         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
17494         va_list are defined.
17495         * doc/posix-headers/stdio.texi: Document the bug of missing types.
17496         Reported by Eric Blake.
17497
17498 2010-01-07  Bruno Haible  <bruno@clisp.org>
17499
17500         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
17501         * modules/xlist (Depends-on): Add 'list',
17502         * modules/xoset (Depends-on): Add 'oset'.
17503         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17504
17505 2010-01-07  Bruno Haible  <bruno@clisp.org>
17506
17507         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
17508         * doc/posix-functions/strncasecmp.texi: Likewise.
17509
17510 2010-01-07  Bruno Haible  <bruno@clisp.org>
17511
17512         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
17513
17514 2010-01-07  John W. Eaton  <jwe@octave.org>
17515
17516         wctype: allow C++ use
17517         * lib/wctype.in.h: Add extern "C" block for C++.
17518
17519 2010-01-06  Eric Blake  <ebb9@byu.net>
17520
17521         maint.mk: detect incorrect GFDL usage
17522         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
17523
17524 2010-01-06  Jim Meyering  <meyering@redhat.com>
17525         and Eric Blake  <ebb9@byu.net>
17526
17527         maint.mk: ignore multi-line copyright in NEWS
17528         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
17529
17530 2010-01-06  Eric Blake  <ebb9@byu.net>
17531
17532         select: add missing dependency
17533         * modules/select-tests (Depends-on): Move sockets dependency...
17534         * modules/select (Depends-on): ...here.
17535         Reported by Ian Beckwith.
17536
17537         doc: regenerate INSTALL
17538         * doc/INSTALL: Reflect recent autoconf update.
17539         * doc/INSTALL.ISO: Likewise.
17540         * doc/INSTALL.UTF-8: Likewise.
17541
17542         pread: fix compilation on glibc
17543         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
17544         Reported by Ralf Wildenhues.
17545
17546         dirent: fix test failure
17547         * lib/dirent.in.h (includes): Guarantee ino_t.
17548         Reported by Ralf Wildenhues.
17549
17550 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
17551
17552         linkat, renameat: avoid bad free
17553         * lib/at-func2.c (at_func2): Fix typo.
17554         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
17555
17556 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17557
17558         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
17559         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
17560         to avoid failure of symlink test later.
17561
17562 2010-01-06  Eric Blake  <ebb9@byu.net>
17563
17564         stdio, unistd: guarantee ssize_t
17565         * lib/unistd.in.h (includes): Ensure that types required by POSIX
17566         2008 are exposed when needed.
17567         * lib/stdio.in.h (includes): Likewise.
17568         Reported by Ralf Wildenhues.
17569
17570 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
17571
17572         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
17573         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
17574         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
17575
17576 2010-01-06  Jim Meyering  <meyering@redhat.com>
17577
17578         readtokens: this module *does* require xalloc.h
17579         It uses only functions that were omitted by the old syntax-check rule.
17580         * lib/readtokens.c: Include "xalloc.h" once again.
17581         * modules/readtokens (Depends-on): Add xalloc.
17582         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
17583
17584 2010-01-05  Eric Blake  <ebb9@byu.net>
17585
17586         maint: support 'make announcement' from a VPATH build
17587         * top/maint.mk (announcement): Look for correct NEWS file.
17588
17589 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
17590
17591         utimens (fdutimens): ignore a negative FD, per contract
17592         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
17593         when we have a valid file descriptor.  Otherwise, using a brand
17594         new glibc (with just-patched futimens that now fails with EBADF)
17595         would cause this function to fail with ENOSYS.
17596         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
17597         See also http://bugzilla.redhat.com/552320.
17598
17599 2010-01-05  Eric Blake  <ebb9@byu.net>
17600
17601         strcase: document what it provides
17602         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
17603         gnulib module.
17604         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
17605         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
17606
17607 2010-01-05  Jim Meyering  <meyering@redhat.com>
17608
17609         maint: remove useless inclusions of "xalloc.h"
17610         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
17611         * lib/readtokens.c: Likewise.
17612         * lib/same.c: Likewise.
17613         * modules/getloadavg (Depends-on): Remove xalloc.
17614         * modules/readtokens: Likewise.
17615         * modules/same: Likewise.
17616
17617         maint.mk: include 4 more function names in alloca.h-checking regexp
17618         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
17619         regexp.  Before, we would give a false-positive (saying alloca.h
17620         is included unnecessarily) when the only uses involved omitted symbols.
17621
17622         xalloc.h: use consistent formatting
17623         * lib/xalloc.h: Move declarations to start in the first column.
17624
17625 2010-01-05  Eric Blake  <ebb9@byu.net>
17626
17627         mkdir: avoid xalloc
17628         * lib/mkdir.c (includes): Drop unused header.
17629         Reported by John W. Eaton.
17630
17631 2010-01-04  Jim Meyering  <meyering@redhat.com>
17632
17633         nl_langinfo: avoid configure-time syntax error
17634         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
17635         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
17636         the empty string.  Don't let that provoke a shell syntax error.
17637
17638         regcomp, regexec, fnmatch: avoid array bounds read error
17639         * lib/regcomp.c (build_equiv_class): From glibc:
17640         Use only the low 24 bits of a findidx return value as an index
17641         into the weights array.  Patch by Ulrich Drepper:
17642         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
17643         * lib/regexec.c (check_node_accept_bytes): Likewise.
17644         * lib/fnmatch_loop.c (FCT): Likewise.
17645
17646         regcomp: skip collseq lookup when there are no rules
17647         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
17648         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
17649
17650         regcomp: recognize ill-formed { } expressions
17651         * lib/regcomp.c (parse_dup_op): From glibc:
17652         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
17653
17654         regcomp: fix typo in comment
17655         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
17656         s/satisfy/satisfies/.
17657
17658         regcomp: sync from glibc: remove dead store
17659         * lib/regcomp.c (duplicate_node_closure): Remove useless
17660         search_duplicated_node call and dead store.
17661
17662         regcomp: sync from glibc; always use nl_langinfo
17663         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
17664         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
17665         * modules/regex (Depends-on): Add nl_langinfo.
17666
17667 2010-01-04  Eric Blake  <ebb9@byu.net>
17668
17669         fdopendir: fix configure test
17670         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
17671
17672 2010-01-01  Bruno Haible  <bruno@clisp.org>
17673
17674         wchar: Remove unused configure check.
17675         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
17676
17677 2010-01-01  Eric Blake  <ebb9@byu.net>
17678
17679         headers: make check of system header explicit
17680         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
17681         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
17682         ourselves.
17683         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17684         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17685         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
17686         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
17687         internals.
17688         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
17689         missing.
17690         Suggested by Bruno Haible.
17691
17692 2010-01-01  Jim Meyering  <meyering@redhat.com>
17693
17694         ChangeLog: tweak to eliminate unnecessary copyright line
17695         * ChangeLog: Remove a copyright line that was mistakenly updated
17696         by today's update-copyright run.  Reported by Eric Blake.
17697
17698         test-update-copyright: don't let envvar setting cause test failure
17699         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17700
17701 2010-01-01  Bruno Haible  <bruno@clisp.org>
17702
17703         localename: Avoid gcc warning.
17704         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
17705         function if it is not used.
17706
17707 2010-01-01  Jim Meyering  <meyering@redhat.com>
17708
17709         update nearly all FSF copyright year lists to include 2010
17710         Use the same procedure as for 2009, outlined in
17711         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
17712
17713         version-etc: set COPYRIGHT_YEAR to 2010
17714         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
17715
17716 2009-12-31  Eric Blake  <ebb9@byu.net>
17717
17718         doc: correct availability of cygwin 1.5.x getopt
17719         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
17720         variables.
17721         * doc/posix-functions/opterr.texi (opterr): Likewise.
17722         * doc/posix-functions/optind.texi (optind): Likewise.
17723         * doc/posix-functions/optopt.texi (optopt): Likewise.
17724         * doc/posix-functions/tzname.texi (tzname): Likewise.
17725
17726         openat: update maintainer
17727         * modules/openat (Maintainer): Add myself.
17728
17729         utimens: avoid shadowing warning
17730         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
17731         buffers into one, to avoid shadowing, as well as avoiding a
17732         redundant stat.
17733         Reported by Jim Meyering.
17734
17735         test-dup2: avoid compiler warning
17736         * tests/test-dup2.c (is_inheritable): Only define if used.
17737
17738 2010-01-01  Bruno Haible  <bruno@clisp.org>
17739
17740         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
17741         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
17742         defined, use wctomb instead of wcrtomb.
17743
17744 2010-01-01  Bruno Haible  <bruno@clisp.org>
17745
17746         iconv: Reject native Solaris iconv.
17747         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
17748         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
17749
17750 2009-12-31  Bruno Haible  <bruno@clisp.org>
17751
17752         * tests/test-signal.c (main): Remove test of 'SIG'.
17753
17754 2009-12-31  Bruno Haible  <bruno@clisp.org>
17755
17756         spawn: Fix incomplete fix.
17757         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17758         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17759         warnings for GNULIB_POSIXCHECK again.
17760         Reported by Eric Blake.
17761
17762 2009-12-31  Bruno Haible  <bruno@clisp.org>
17763
17764         Avoid namespace pollution on glibc systems.
17765         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
17766         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
17767         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
17768         glibc systems.
17769
17770 2009-12-31  Bruno Haible  <bruno@clisp.org>
17771
17772         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
17773         (gl_REPLACE_WCHAR_H): Turn into a no-op.
17774         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
17775         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17776         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17777         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17778         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17779
17780 2009-12-31  Bruno Haible  <bruno@clisp.org>
17781
17782         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17783         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
17784         afterwards.
17785
17786 2009-12-31  Bruno Haible  <bruno@clisp.org>
17787
17788         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
17789         SYS_UTSNAME_H.
17790
17791 2009-12-31  Bruno Haible  <bruno@clisp.org>
17792
17793         spawn: Fix misapplied patch.
17794         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17795         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17796         warnings for GNULIB_POSIXCHECK.
17797
17798 2009-12-31  Bruno Haible  <bruno@clisp.org>
17799
17800         times: Update after sys_times changed.
17801         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17802         * modules/times (Files): Add it.
17803         (configure.ac): Invoke gl_FUNC_TIMES.
17804
17805 2009-12-31  Bruno Haible  <bruno@clisp.org>
17806
17807         Use AC_C_INLINE where necessary.
17808         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17809         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17810         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17811         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17812         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17813         * m4/mbiter.m4 (gl_MBITER): Likewise.
17814         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17815         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17816         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17817         * modules/u64 (configure.ac): Likewise.
17818
17819 2009-12-31  Bruno Haible  <bruno@clisp.org>
17820
17821         Use AC_C_INLINE instead of module 'inline' where possible.
17822         * modules/inline (Description): Clarify purpose.
17823         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17824         * modules/count-one-bits (Depends-on): Remove inline.
17825         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17826         * modules/openat (Depends-on): Remove inline.
17827         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17828         instead of depending on module 'inline'.
17829         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17830         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17831         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17832         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17833         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17834         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17835         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17836         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17837         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17838         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17839         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17840         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17841         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17842         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17843         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17844         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17845         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17846         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17847         Likewise.
17848         * modules/unictype/property-ascii-hex-digit (Depends-on,
17849         configure.ac): Likewise.
17850         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17851         configure.ac): Likewise.
17852         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17853         configure.ac): Likewise.
17854         * modules/unictype/property-bidi-block-separator (Depends-on,
17855         configure.ac): Likewise.
17856         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17857         configure.ac): Likewise.
17858         * modules/unictype/property-bidi-common-separator (Depends-on,
17859         configure.ac): Likewise.
17860         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17861         Likewise.
17862         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17863         configure.ac): Likewise.
17864         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17865         configure.ac): Likewise.
17866         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17867         configure.ac): Likewise.
17868         * modules/unictype/property-bidi-european-digit (Depends-on,
17869         configure.ac): Likewise.
17870         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17871         configure.ac): Likewise.
17872         * modules/unictype/property-bidi-left-to-right (Depends-on,
17873         configure.ac): Likewise.
17874         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17875         configure.ac): Likewise.
17876         * modules/unictype/property-bidi-other-neutral (Depends-on,
17877         configure.ac): Likewise.
17878         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17879         Likewise.
17880         * modules/unictype/property-bidi-segment-separator (Depends-on,
17881         configure.ac): Likewise.
17882         * modules/unictype/property-bidi-whitespace (Depends-on,
17883         configure.ac): Likewise.
17884         * modules/unictype/property-combining (Depends-on, configure.ac):
17885         Likewise.
17886         * modules/unictype/property-composite (Depends-on, configure.ac):
17887         Likewise.
17888         * modules/unictype/property-currency-symbol (Depends-on,
17889         configure.ac): Likewise.
17890         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17891         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17892         Likewise.
17893         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17894         configure.ac): Likewise.
17895         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17896         Likewise.
17897         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17898         Likewise.
17899         * modules/unictype/property-extender (Depends-on, configure.ac):
17900         Likewise.
17901         * modules/unictype/property-format-control (Depends-on, configure.ac):
17902         Likewise.
17903         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17904         Likewise.
17905         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17906         Likewise.
17907         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17908         Likewise.
17909         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17910         Likewise.
17911         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17912         Likewise.
17913         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17914         Likewise.
17915         * modules/unictype/property-id-start (Depends-on, configure.ac):
17916         Likewise.
17917         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17918         Likewise.
17919         * modules/unictype/property-ids-binary-operator (Depends-on,
17920         configure.ac): Likewise.
17921         * modules/unictype/property-ids-trinary-operator (Depends-on,
17922         configure.ac): Likewise.
17923         * modules/unictype/property-ignorable-control (Depends-on,
17924         configure.ac): Likewise.
17925         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17926         Likewise.
17927         * modules/unictype/property-join-control (Depends-on, configure.ac):
17928         Likewise.
17929         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17930         Likewise.
17931         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17932         Likewise.
17933         * modules/unictype/property-logical-order-exception (Depends-on,
17934         configure.ac): Likewise.
17935         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17936         Likewise.
17937         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17938         * modules/unictype/property-non-break (Depends-on, configure.ac):
17939         Likewise.
17940         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17941         Likewise.
17942         * modules/unictype/property-numeric (Depends-on, configure.ac):
17943         Likewise.
17944         * modules/unictype/property-other-alphabetic (Depends-on,
17945         configure.ac): Likewise.
17946         * modules/unictype/property-other-default-ignorable-code-point
17947         (Depends-on, configure.ac): Likewise.
17948         * modules/unictype/property-other-grapheme-extend (Depends-on,
17949         configure.ac): Likewise.
17950         * modules/unictype/property-other-id-continue (Depends-on,
17951         configure.ac): Likewise.
17952         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17953         Likewise.
17954         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17955         Likewise.
17956         * modules/unictype/property-other-math (Depends-on, configure.ac):
17957         Likewise.
17958         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17959         Likewise.
17960         * modules/unictype/property-paired-punctuation (Depends-on,
17961         configure.ac): Likewise.
17962         * modules/unictype/property-paragraph-separator (Depends-on,
17963         configure.ac): Likewise.
17964         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17965         Likewise.
17966         * modules/unictype/property-pattern-white-space (Depends-on,
17967         configure.ac): Likewise.
17968         * modules/unictype/property-private-use (Depends-on, configure.ac):
17969         Likewise.
17970         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17971         Likewise.
17972         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17973         Likewise.
17974         * modules/unictype/property-radical (Depends-on, configure.ac):
17975         Likewise.
17976         * modules/unictype/property-sentence-terminal (Depends-on,
17977         configure.ac): Likewise.
17978         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17979         Likewise.
17980         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17981         * modules/unictype/property-terminal-punctuation (Depends-on,
17982         configure.ac): Likewise.
17983         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17984         Likewise.
17985         * modules/unictype/property-unassigned-code-value (Depends-on,
17986         configure.ac): Likewise.
17987         * modules/unictype/property-unified-ideograph (Depends-on,
17988         configure.ac): Likewise.
17989         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17990         Likewise.
17991         * modules/unictype/property-variation-selector (Depends-on,
17992         configure.ac): Likewise.
17993         * modules/unictype/property-white-space (Depends-on, configure.ac):
17994         Likewise.
17995         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17996         Likewise.
17997         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17998         Likewise.
17999         * modules/unictype/property-zero-width (Depends-on, configure.ac):
18000         Likewise.
18001         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
18002         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
18003         Likewise.
18004
18005 2009-12-31  Bruno Haible  <bruno@clisp.org>
18006
18007         Remove unnecessary AC_C_INLINE invocation.
18008         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
18009         since 2009-08-21.
18010
18011 2009-12-31  Jim Meyering  <meyering@redhat.com>
18012
18013         maint.mk: don't require explicit gpg_key_ID in cfg.mk
18014         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
18015         With this change, we can all remove the gpg_key_ID = ... definition
18016         from our respective cfg.mk files.
18017
18018         maint.mk: create announcement template in ~/, not in /tmp
18019         * top/maint.mk (emit_upload_commands): Adjust.
18020         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
18021         Remove temporary file, .ci-msg.
18022
18023 2009-12-31  Eric Blake  <ebb9@byu.net>
18024
18025         link-warning: always build headers with link warnings
18026         * modules/arpa_inet (Makefile.am): Always build replacement
18027         header.
18028         * modules/ctype (Makefile.am): Likewise.
18029         * modules/dirent (Makefile.am): Likewise.
18030         * modules/inttypes (Makefile.am): Likewise.
18031         * modules/langinfo (Makefile.am): Likewise.
18032         * modules/locale (Makefile.am): Likewise.
18033         * modules/spawn (Makefile.am): Likewise.
18034         * modules/sys_file (Makefile.am): Likewise.
18035         * modules/sys_ioctl (Makefile.am): Likewise.
18036         * modules/sys_select (Makefile.am): Likewise.
18037         * modules/sys_socket (Makefile.am): Likewise.
18038         * modules/sys_times (Makefile.am): Likewise.
18039         * modules/sys_utsname (Makefile.am): Likewise.
18040         * modules/sys_wait (Makefile.am): Likewise.
18041         * modules/wchar (Makefile.am): Likewise.
18042         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
18043         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
18044         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
18045         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
18046         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
18047         Likewise.
18048         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18049         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18050         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
18051         Likewise.
18052         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
18053         Likewise.
18054         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18055         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
18056         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
18057         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18058         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18059         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18060         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18061         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
18062         (gl_WCHAR_H_DEFAULTS): Likewise.
18063
18064 2009-12-31  Eric Blake  <ebb9@byu.net>
18065
18066         signal, spawn: use link warnings
18067         * lib/signal.in.h (sigset_t): Make unconditional.
18068         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
18069         (sigpending, sigprocmask, sigaction): Add link warnings.
18070         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
18071         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
18072         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
18073         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
18074         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
18075         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
18076         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
18077         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
18078         (posix_spawn_file_actions_destroy)
18079         (posix_spawn_file_actions_addopen)
18080         (posix_spawn_file_actions_addclose)
18081         (posix_spawn_file_actions_adddup2): Likewise.
18082         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
18083         * tests/test-signal.c (main): Enhance test.
18084
18085         spawn: improve wrapper support
18086         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
18087         (gl_SPAWN_H_DEFAULTS): New defaults.
18088         * modules/spawn (Makefile.am): Substitute them.
18089         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
18090         Only declare if missing or broken.
18091
18092         sys_times, sys_utsname: use include_next
18093         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
18094         header.
18095         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
18096         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18097         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18098         * modules/sys_times (Depends-on): Add include_next.
18099         (Makefile.am): Substitute additional values.
18100         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18101         * lib/sys_times.in.h (includes): Include native header, if
18102         available.
18103         * lib/sys_utsname.in.h (includes): Likewise.
18104         * tests/test-sys_times.c (main): Enhance test.
18105
18106         fdutimensat: revert prior patch
18107         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
18108         utimens.h.
18109         Reported by Bruno Haible.
18110
18111 2009-12-30  Eric Blake  <ebb9@byu.net>
18112
18113         sys_wait: drop link-warning dependency
18114         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
18115         link-warning efforts.
18116         * lib/sys_wait.in.h: Likewise.
18117
18118         fdutimensat: remove bogus dependency
18119         * modules/fdutimensat (Depends-on): Drop inline.
18120
18121         unistd: fix typo
18122         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
18123
18124 2009-12-30  Bruno Haible  <bruno@clisp.org>
18125
18126         Fix compilation error with Solaris cc.
18127         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
18128         * lib/unicase/u16-is-invariant.c: Likewise.
18129         * lib/unicase/u32-is-invariant.c: Likewise.
18130         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18131
18132 2009-12-30  Bruno Haible  <bruno@clisp.org>
18133
18134         Fix test crash.
18135         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
18136         locales.
18137         Reported by Simon Josefsson <simon@josefsson.org>.
18138
18139 2009-12-30  Bruno Haible  <bruno@clisp.org>
18140
18141         Fix compilation error on most platforms.
18142         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
18143         Reported by Simon Josefsson <simon@josefsson.org>
18144         and Nelson H. F. Beebe <beebe@math.utah.edu>.
18145
18146 2009-12-30  Eric Blake  <ebb9@byu.net>
18147
18148         futimens, utimensat: work around ntfs-3g bug
18149         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
18150         a ctime bug is present, and expand workaround to cover ntfs-3g.
18151         * lib/utimens.c (fdutimens, lutimens): Likewise.
18152         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
18153         (validate_timespec): Adjust return value.
18154         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
18155         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18156         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
18157
18158 2009-12-29  Eric Blake  <ebb9@byu.net>
18159
18160         link-warning: make usage consistent
18161         * modules/ctype (Depends-on): Add link-warning.
18162         (Makefile.am): Update rules accordingly.
18163         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18164         * modules/locale (Depends-on, Makefile.am): Likewise.
18165         * modules/sys_file (Makefile.am): Likewise.
18166         * modules/getopt-posix (Makefile.am): Delete unused link warning
18167         efforts.
18168         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
18169         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
18170         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
18171         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
18172
18173         stdio: remove unused variables
18174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
18175         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
18176         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18177
18178         tests: test more substitute headers
18179         * modules/ctype-tests: New file.
18180         * modules/dirent-tests: Likewise.
18181         * modules/spawn-tests: Likewise.
18182         * modules/sys_file-tests: Likewise.
18183         * modules/sys_ioctl-tests: Likewise.
18184         * modules/sys_wait-tests: Likewise.
18185         * tests/test-ctype.c: Likewise.
18186         * tests/test-dirent.c: Likewise.
18187         * tests/test-spawn.c: Likewise.
18188         * tests/test-sys_file.c: Likewise.
18189         * tests/test-sys_ioctl.c: Likewise.
18190         * tests/test-sys_wait.c: Likewise.
18191         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
18192         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
18193         whether or not flock is in use.
18194
18195         tests: remove License section from module
18196         * modules/arpa_inet-tests: Remove unneeded section.
18197         * modules/byteswap-tests: Likewise.
18198         * modules/ceilf-tests: Likewise.
18199         * modules/ceill-tests: Likewise.
18200         * modules/crypto/des-tests: Likewise.
18201         * modules/crypto/gc-arcfour-tests: Likewise.
18202         * modules/crypto/gc-arctwo-tests: Likewise.
18203         * modules/crypto/gc-des-tests: Likewise.
18204         * modules/crypto/gc-hmac-md5-tests: Likewise.
18205         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18206         * modules/crypto/gc-md2-tests: Likewise.
18207         * modules/crypto/gc-md4-tests: Likewise.
18208         * modules/crypto/gc-md5-tests: Likewise.
18209         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18210         * modules/crypto/gc-rijndael-tests: Likewise.
18211         * modules/crypto/gc-sha1-tests: Likewise.
18212         * modules/crypto/gc-tests: Likewise.
18213         * modules/crypto/md2-tests: Likewise.
18214         * modules/crypto/md4-tests: Likewise.
18215         * modules/fcntl-h-tests: Likewise.
18216         * modules/floorf-tests: Likewise.
18217         * modules/floorl-tests: Likewise.
18218         * modules/frexp-nolibm-tests: Likewise.
18219         * modules/frexp-tests: Likewise.
18220         * modules/frexpl-nolibm-tests: Likewise.
18221         * modules/frexpl-tests: Likewise.
18222         * modules/getaddrinfo-tests: Likewise.
18223         * modules/inttypes-tests: Likewise.
18224         * modules/isfinite-tests: Likewise.
18225         * modules/isinf-tests: Likewise.
18226         * modules/ldexpl-tests: Likewise.
18227         * modules/locale-tests: Likewise.
18228         * modules/math-tests: Likewise.
18229         * modules/netdb-tests: Likewise.
18230         * modules/netinet_in-tests: Likewise.
18231         * modules/printf-frexp-tests: Likewise.
18232         * modules/printf-frexpl-tests: Likewise.
18233         * modules/priv-set-tests: Likewise.
18234         * modules/random_r-tests: Likewise.
18235         * modules/round-tests: Likewise.
18236         * modules/roundf-tests: Likewise.
18237         * modules/roundl-tests: Likewise.
18238         * modules/search-tests: Likewise.
18239         * modules/select-tests: Likewise.
18240         * modules/signal-tests: Likewise.
18241         * modules/stdbool-tests: Likewise.
18242         * modules/stddef-tests: Likewise.
18243         * modules/stdint-tests: Likewise.
18244         * modules/stdio-tests: Likewise.
18245         * modules/stdlib-tests: Likewise.
18246         * modules/string-tests: Likewise.
18247         * modules/strings-tests: Likewise.
18248         * modules/sys_select-tests: Likewise.
18249         * modules/sys_socket-tests: Likewise.
18250         * modules/sys_stat-tests: Likewise.
18251         * modules/sys_time-tests: Likewise.
18252         * modules/sys_utsname-tests: Likewise.
18253         * modules/sysexits-tests: Likewise.
18254         * modules/time-tests: Likewise.
18255         * modules/trunc-tests: Likewise.
18256         * modules/truncf-tests: Likewise.
18257         * modules/truncl-tests: Likewise.
18258         * modules/tsearch-tests: Likewise.
18259         * modules/unistd-tests: Likewise.
18260         * modules/wchar-tests: Likewise.
18261         * modules/wctype-tests: Likewise.
18262
18263         tests: fix license on several tests
18264         * tests/test-des.c: Update to GPLv3+.
18265         * tests/test-flock.c: Likewise.
18266         * tests/test-fsync.c: Likewise.
18267         * tests/test-futimens.h: Likewise.
18268         * tests/test-gc-arcfour.c: Likewise.
18269         * tests/test-gc-arctwo.c: Likewise.
18270         * tests/test-gc-des.c: Likewise.
18271         * tests/test-gc-hmac-md5.c: Likewise.
18272         * tests/test-gc-hmac-sha1.c: Likewise.
18273         * tests/test-gc-md2.c: Likewise.
18274         * tests/test-gc-md4.c: Likewise.
18275         * tests/test-gc-md5.c: Likewise.
18276         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18277         * tests/test-gc-rijndael.c: Likewise.
18278         * tests/test-gc-sha1.c: Likewise.
18279         * tests/test-gc.c: Likewise.
18280         * tests/test-getcwd.c: Likewise.
18281         * tests/test-link.c: Likewise.
18282         * tests/test-link.h: Likewise.
18283         * tests/test-lutimens.h: Likewise.
18284         * tests/test-md2.c: Likewise.
18285         * tests/test-md4.c: Likewise.
18286         * tests/test-mkdir.h: Likewise.
18287         * tests/test-rename.c: Likewise.
18288         * tests/test-rename.h: Likewise.
18289         * tests/test-safe-alloc.c: Likewise.
18290         * tests/test-utimens-common.h: Likewise.
18291         * tests/test-utimens.h: Likewise.
18292
18293         maint: sync license texts
18294         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
18295         * doc/gpl-3.0.texi: Revert copyright year update.
18296         * doc/lgpl-3.0.texi: Likewise.
18297
18298 2009-12-29  Jim Meyering  <meyering@redhat.com>
18299
18300         update nearly all FSF copyright year lists to include 2009
18301         The files named by the following are exempted:
18302             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
18303               test -f "$dst" && { echo "$dst"; continue; }
18304               test -d "$dst" || continue
18305               echo "$dst"/$(basename "$src")
18306             done > exempt
18307             git ls-files tests/unictype >> exempt
18308         In the remaining files, convert to all-interval notation if
18309         - there is already at least one year interval like 2000-2003
18310         - the file is maintained by me
18311         - the file is in lib/uni*/, where that style already prevails
18312         Otherwise, use update-copyright's default.
18313
18314 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18315         and Eric Blake  <ebb9@byu.net>
18316
18317         tests: don't require debug system() to pass
18318         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
18319         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18320         * tests/test-unlink.h (test_unlink_func): Likewise.
18321         * tests/test-fstatat.c (main): ...into callers.
18322         * tests/test-lstat.c (main): Likewise.
18323         * tests/test-rmdir.c (main): Likewise.
18324         * tests/test-unlink.c (main): Likewise.
18325         * tests/test-unlinkat.c (main): Likewise.
18326         * tests/test-areadlink-with-size.c (main): Don't require a
18327         debug-only system call to pass, aiding cross-testing to mingw.
18328         * tests/test-areadlink.c (main): Likewise.
18329         * tests/test-areadlinkat-with-size.c (main): Likewise.
18330         * tests/test-areadlinkat.c (main): Likewise.
18331         * tests/test-canonicalize-lgpl.c (main): Likewise.
18332         * tests/test-canonicalize.c (main): Likewise.
18333         * tests/test-chown.c (main): Likewise.
18334         * tests/test-fchownat.c (main): Likewise.
18335         * tests/test-lchown.c (main): Likewise.
18336         * tests/test-fdutimensat.c (main): Likewise.
18337         * tests/test-futimens.c (main): Likewise.
18338         * tests/test-link.c (main): Likewise.
18339         * tests/test-linkat.c (main): Likewise.
18340         * tests/test-mkdir.c (main): Likewise.
18341         * tests/test-mkdirat.c (main): Likewise.
18342         * tests/test-mkfifo.c (main): Likewise.
18343         * tests/test-mkfifoat.c (main): Likewise.
18344         * tests/test-mknod.c (main): Likewise.
18345         * tests/test-readlink.c (main): Likewise.
18346         * tests/test-remove.c (main): Likewise.
18347         * tests/test-rename.c (main): Likewise.
18348         * tests/test-renameat.c (main): Likewise.
18349         * tests/test-symlink.c (main): Likewise.
18350         * tests/test-symlinkat.c (main): Likewise.
18351         * tests/test-utimens.c (main): Likewise.
18352         * tests/test-utimensat.c (main): Likewise.
18353
18354 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18355
18356         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
18357         on $(UNUSED_PARAMETER_H) to avoid build failure.
18358
18359 2009-12-28  Jim Meyering  <meyering@redhat.com>
18360
18361         update-copyright: you may specify a max. line length other than 72
18362         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18363
18364         maint: use consistent FSF copyright line syntax
18365         * lib/posixtm.c: Add missing comma in FSF copyright line.
18366         * lib/posixtm.h: Likewise.
18367         * lib/getugroups.c: Add missing ", Inc.".
18368
18369         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
18370         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
18371         FSF copyright line.  Remove trailing blanks.
18372
18373 2009-12-28  Eric Blake  <ebb9@byu.net>
18374
18375         test-dup2: reduce dependencies
18376         * modules/cloexec (Configure.ac): Set witness.
18377         * modules/dup2-tests (Depends-on): Drop cloexec.
18378         * tests/test-dup2.c (main): Skip portion of test if cloexec module
18379         not present.
18380         Suggested by Bruno Haible.
18381
18382 2009-12-26  Bruno Haible  <bruno@clisp.org>
18383
18384         Remove an unneeded dependency.
18385         * modules/fseterr (Depends-on): Remove dup2.
18386
18387 2009-12-26  Eric Blake  <ebb9@byu.net>
18388
18389         tests: use macros.h in more places
18390         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
18391         (ASSERT_STREAM): Provide default of stderr.
18392         * tests/test-dirent-safer.c: Include macros.h, using alternate
18393         stream for assertions.
18394         * tests/test-dup-safer.c: Likewise.
18395         * tests/test-freopen-safer.c: Likewise.
18396         * tests/test-getopt.c: Likewise.
18397         * tests/test-openat-safer.c: Likewise.
18398         * tests/test-pipe.c: Likewise.
18399         * tests/test-popen-safer.c: Likewise.
18400         * modules/dirent-safer-tests (Files): Include macros.h.
18401         * modules/unistd-safer-tests (Files): Likewise.
18402         * modules/freopen-safer-tests (Files): Likewise.
18403         * modules/getopt-posix-tests (Files): Likewise.
18404         * modules/openat-safer-tests (Files): Likewise.
18405         * modules/pipe-tests (Files): Likewise.
18406
18407 2009-12-26  Bruno Haible  <bruno@clisp.org>
18408
18409         javacomp: Portability fix.
18410         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
18411         that it also works on Solaris.
18412
18413 2009-12-26  Bruno Haible  <bruno@clisp.org>
18414
18415         localename: Fix storage allocation of gl_locale_name_thread's result.
18416         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
18417         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
18418         all platforms that have 'uselocale'.
18419         (gl_locale_name_thread_unsafe): New function, extracted from
18420         gl_locale_name_thread.
18421         (gl_locale_name_thread): Call struniq on all platforms that have
18422         'uselocale'.
18423         * tests/test-localename.c (test_locale_name_thread): Check that the
18424         resulting strings are permanently allocated.
18425         * modules/localename-tests (Depends-on): Add strdup.
18426
18427 2009-12-26  Bruno Haible  <bruno@clisp.org>
18428
18429         * tests/test-localename.c (categories): Fill in the strings.
18430
18431 2009-12-26  Jim Meyering  <meyering@redhat.com>
18432
18433         isdir: complete the removal of m4/isdir.m4
18434         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
18435
18436         isdir: clean up, since at least grep still uses it
18437         * lib/isdir.c: Include "isdir.h".
18438         (S_ISDIR): Remove now-unneeded definition.
18439         * modules/isdir (Files): Add lib/isdir.h.
18440         * lib/isdir.h: New file, with declaration.
18441         * m4/isdir.m4: Remove file -- unneeded.
18442
18443 2009-12-25  Bruno Haible  <bruno@clisp.org>
18444
18445         selinux-h: Make generated .h files standalone.
18446         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
18447         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
18448         * lib/se-selinux.in.h: Likewise.
18449         * modules/selinux-h (Depends-on): Add unused-parameter.
18450         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
18451         selinux/selinux.h and selinux/context.h.
18452         Suggested by Eric Blake.
18453
18454 2009-12-25  Bruno Haible  <bruno@clisp.org>
18455
18456         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
18457         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
18458         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
18459         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
18460         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
18461
18462 2009-12-24  Bruno Haible  <bruno@clisp.org>
18463
18464         openat: Fix warning.
18465         * lib/openat-proc.c: Include <unistd.h>.
18466
18467 2009-12-24  Bruno Haible  <bruno@clisp.org>
18468
18469         New module 'unused-parameter'.
18470         * build-aux/unused-parameter.h: New file, extracted from earlier
18471         gnulib-common.m4.
18472         * modules/unused-parameter: New file.
18473         * lib/unistr.h: Include unused-parameter.h.
18474         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
18475         _GL_UNUSED.
18476         * modules/unistr/base (Depends-on): Add unused-parameter.
18477
18478 2009-12-24  Bruno Haible  <bruno@clisp.org>
18479
18480         Add missing dependencies to 'extensions' module.
18481         * m4/extensions.m4: Add comment.
18482         * modules/accept4 (Depends-on): Add extensions.
18483         * modules/dup3 (Depends-on): Likewise.
18484         * modules/fcntl (Depends-on): Likewise.
18485         * modules/futimens (Depends-on): Likewise.
18486         * modules/mknod (Depends-on): Likewise.
18487         * modules/pipe2 (Depends-on): Likewise.
18488         * modules/stat-time (Depends-on): Likewise.
18489         * modules/strcasestr-simple (Depends-on): Likewise.
18490         * modules/strsignal (Depends-on): Likewise.
18491         * modules/utimensat (Depends-on): Likewise.
18492         * modules/localcharset (Depends-on): Likewise. Needed because of
18493         gl_FCNTL_O_FLAGS.
18494         * modules/wcrtomb (Depends-on): Likewise. Needed because of
18495         AC_TYPE_MBSTATE_T.
18496         * modules/wcsnrtombs (Depends-on): Likewise.
18497         * modules/wcsrtombs (Depends-on): Likewise.
18498
18499 2009-12-24  Bruno Haible  <bruno@clisp.org>
18500
18501         binary-io: Avoid gcc warning due to SET_BINARY.
18502         * lib/binary-io.h (SET_BINARY): Cast the result to void.
18503         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
18504
18505 2009-12-24  Bruno Haible  <bruno@clisp.org>
18506
18507         Avoid future namespace pollution on glibc systems.
18508         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
18509         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
18510         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
18511         glibc systems.
18512
18513 2009-12-24  Bruno Haible  <bruno@clisp.org>
18514
18515         Refactor common macros used in tests.
18516         * tests/macros.h: New file.
18517         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
18518         and/or <stdlib.h>, if appropriate.
18519         (ASSERT, SIZEOF): Remove macros.
18520         * tests/test-areadlink-with-size.c: Likewise.
18521         * tests/test-areadlinkat.c: Likewise.
18522         * tests/test-areadlinkat-with-size.c: Likewise.
18523         * tests/test-argmatch.c: Likewise.
18524         * tests/test-argv-iter.c: Likewise.
18525         * tests/test-array-mergesort.c: Likewise.
18526         * tests/test-array_list.c: Likewise.
18527         * tests/test-array_oset.c: Likewise.
18528         * tests/test-avltree_list.c: Likewise.
18529         * tests/test-avltree_oset.c: Likewise.
18530         * tests/test-avltreehash_list.c: Likewise.
18531         * tests/test-base64.c: Likewise.
18532         * tests/test-binary-io.c: Likewise.
18533         * tests/test-bitrotate.c: Likewise.
18534         * tests/test-btowc.c: Likewise.
18535         * tests/test-byteswap.c: Likewise.
18536         * tests/test-c-ctype.c: Likewise.
18537         * tests/test-c-stack.c: Likewise.
18538         * tests/test-c-strcasecmp.c: Likewise.
18539         * tests/test-c-strcasestr.c: Likewise.
18540         * tests/test-c-strncasecmp.c: Likewise.
18541         * tests/test-c-strstr.c: Likewise.
18542         * tests/test-canonicalize-lgpl.c: Likewise.
18543         * tests/test-canonicalize.c: Likewise.
18544         * tests/test-carray_list.c: Likewise.
18545         * tests/test-ceilf1.c: Likewise.
18546         * tests/test-ceilf2.c: Likewise.
18547         * tests/test-ceill.c: Likewise.
18548         * tests/test-chown.c: Likewise.
18549         * tests/test-cloexec.c: Likewise.
18550         * tests/test-copy-acl.c: Likewise.
18551         * tests/test-copy-file.c: Likewise.
18552         * tests/test-count-one-bits.c: Likewise.
18553         * tests/test-dprintf-posix.c: Likewise.
18554         * tests/test-dup2.c: Likewise.
18555         * tests/test-dup3.c: Likewise.
18556         * tests/test-duplocale.c: Likewise.
18557         * tests/test-fbufmode.c: Likewise.
18558         * tests/test-fchdir.c: Likewise.
18559         * tests/test-fchownat.c: Likewise.
18560         * tests/test-fcntl-safer.c: Likewise.
18561         * tests/test-fcntl.c: Likewise.
18562         * tests/test-fdopendir.c: Likewise.
18563         * tests/test-fdutimensat.c: Likewise.
18564         * tests/test-fflush2.c: Likewise.
18565         * tests/test-file-has-acl.c: Likewise.
18566         * tests/test-filevercmp.c: Likewise.
18567         * tests/test-flock.c: Likewise.
18568         * tests/test-floorf1.c: Likewise.
18569         * tests/test-floorf2.c: Likewise.
18570         * tests/test-floorl.c: Likewise.
18571         * tests/test-fnmatch.c: Likewise.
18572         * tests/test-fopen.h: Likewise.
18573         * tests/test-fpending.c: Likewise.
18574         * tests/test-fprintf-posix.c: Likewise.
18575         * tests/test-fpurge.c: Likewise.
18576         * tests/test-freadable.c: Likewise.
18577         * tests/test-freadahead.c: Likewise.
18578         * tests/test-freading.c: Likewise.
18579         * tests/test-freadptr.c: Likewise.
18580         * tests/test-freadptr2.c: Likewise.
18581         * tests/test-freadseek.c: Likewise.
18582         * tests/test-freopen.c: Likewise.
18583         * tests/test-frexp.c: Likewise.
18584         * tests/test-frexpl.c: Likewise.
18585         * tests/test-fseek.c: Likewise.
18586         * tests/test-fseeko.c: Likewise.
18587         * tests/test-fstatat.c: Likewise.
18588         * tests/test-fstrcmp.c: Likewise.
18589         * tests/test-fsync.c: Likewise.
18590         * tests/test-ftell.c: Likewise.
18591         * tests/test-ftello.c: Likewise.
18592         * tests/test-func.c: Likewise.
18593         * tests/test-futimens.c: Likewise.
18594         * tests/test-fwritable.c: Likewise.
18595         * tests/test-fwriting.c: Likewise.
18596         * tests/test-getcwd.c: Likewise.
18597         * tests/test-getdate.c: Likewise.
18598         * tests/test-getdelim.c: Likewise.
18599         * tests/test-getdtablesize.c: Likewise.
18600         * tests/test-getgroups.c: Likewise.
18601         * tests/test-getline.c: Likewise.
18602         * tests/test-getndelim2.c: Likewise.
18603         * tests/test-glob.c: Likewise.
18604         * tests/test-hash.c: Likewise.
18605         * tests/test-i-ring.c: Likewise.
18606         * tests/test-iconv-utf.c: Likewise.
18607         * tests/test-iconv.c: Likewise.
18608         * tests/test-idpriv-drop.c: Likewise.
18609         * tests/test-idpriv-droptemp.c: Likewise.
18610         * tests/test-inet_ntop.c: Likewise.
18611         * tests/test-inet_pton.c: Likewise.
18612         * tests/test-isblank.c: Likewise.
18613         * tests/test-isfinite.c: Likewise.
18614         * tests/test-isinf.c: Likewise.
18615         * tests/test-isnan.c: Likewise.
18616         * tests/test-isnand.h: Likewise.
18617         * tests/test-isnanf.h: Likewise.
18618         * tests/test-isnanl.h: Likewise.
18619         * tests/test-lchown.c: Likewise.
18620         * tests/test-ldexpl.c: Likewise.
18621         * tests/test-link.c: Likewise.
18622         * tests/test-linkat.c: Likewise.
18623         * tests/test-linked_list.c: Likewise.
18624         * tests/test-linkedhash_list.c: Likewise.
18625         * tests/test-localename.c: Likewise.
18626         * tests/test-lseek.c: Likewise.
18627         * tests/test-lstat.c: Likewise.
18628         * tests/test-mbmemcasecmp.c: Likewise.
18629         * tests/test-mbmemcasecoll.c: Likewise.
18630         * tests/test-mbrtowc.c: Likewise.
18631         * tests/test-mbscasecmp.c: Likewise.
18632         * tests/test-mbscasestr1.c: Likewise.
18633         * tests/test-mbscasestr2.c: Likewise.
18634         * tests/test-mbscasestr3.c: Likewise.
18635         * tests/test-mbscasestr4.c: Likewise.
18636         * tests/test-mbschr.c: Likewise.
18637         * tests/test-mbscspn.c: Likewise.
18638         * tests/test-mbsinit.c: Likewise.
18639         * tests/test-mbsncasecmp.c: Likewise.
18640         * tests/test-mbsnrtowcs.c: Likewise.
18641         * tests/test-mbspbrk.c: Likewise.
18642         * tests/test-mbspcasecmp.c: Likewise.
18643         * tests/test-mbsrchr.c: Likewise.
18644         * tests/test-mbsrtowcs.c: Likewise.
18645         * tests/test-mbsspn.c: Likewise.
18646         * tests/test-mbsstr1.c: Likewise.
18647         * tests/test-mbsstr2.c: Likewise.
18648         * tests/test-mbsstr3.c: Likewise.
18649         * tests/test-memchr.c: Likewise.
18650         * tests/test-memchr2.c: Likewise.
18651         * tests/test-memcmp.c: Likewise.
18652         * tests/test-memmem.c: Likewise.
18653         * tests/test-memrchr.c: Likewise.
18654         * tests/test-mkdir.c: Likewise.
18655         * tests/test-mkdirat.c: Likewise.
18656         * tests/test-mkfifo.c: Likewise.
18657         * tests/test-mkfifoat.c: Likewise.
18658         * tests/test-mknod.c: Likewise.
18659         * tests/test-nanosleep.c: Likewise.
18660         * tests/test-nl_langinfo.c: Likewise.
18661         * tests/test-obstack-printf.c: Likewise.
18662         * tests/test-open.c: Likewise.
18663         * tests/test-openat.c: Likewise.
18664         * tests/test-pipe-filter-gi1.c: Likewise.
18665         * tests/test-pipe-filter-gi2-main.c: Likewise.
18666         * tests/test-pipe-filter-ii1.c: Likewise.
18667         * tests/test-pipe-filter-ii2-main.c: Likewise.
18668         * tests/test-pipe2.c: Likewise.
18669         * tests/test-popen.h: Likewise.
18670         * tests/test-posixtm.c: Likewise.
18671         * tests/test-pread.c: Likewise.
18672         * tests/test-printf-frexp.c: Likewise.
18673         * tests/test-printf-frexpl.c: Likewise.
18674         * tests/test-printf-posix.c: Likewise.
18675         * tests/test-priv-set.c: Likewise.
18676         * tests/test-quotearg.c: Likewise.
18677         * tests/test-random_r.c: Likewise.
18678         * tests/test-rawmemchr.c: Likewise.
18679         * tests/test-rbtree_list.c: Likewise.
18680         * tests/test-rbtree_oset.c: Likewise.
18681         * tests/test-rbtreehash_list.c: Likewise.
18682         * tests/test-readlink.c: Likewise.
18683         * tests/test-remove.c: Likewise.
18684         * tests/test-rename.c: Likewise.
18685         * tests/test-renameat.c: Likewise.
18686         * tests/test-rmdir.c: Likewise.
18687         * tests/test-round1.c: Likewise.
18688         * tests/test-roundf1.c: Likewise.
18689         * tests/test-roundl.c: Likewise.
18690         * tests/test-safe-alloc.c: Likewise.
18691         * tests/test-sameacls.c: Likewise.
18692         * tests/test-set-mode-acl.c: Likewise.
18693         * tests/test-setenv.c: Likewise.
18694         * tests/test-sigaction.c: Likewise.
18695         * tests/test-signbit.c: Likewise.
18696         * tests/test-sleep.c: Likewise.
18697         * tests/test-snprintf-posix.c: Likewise.
18698         * tests/test-snprintf.c: Likewise.
18699         * tests/test-sprintf-posix.c: Likewise.
18700         * tests/test-stat-time.c: Likewise.
18701         * tests/test-stat.c: Likewise.
18702         * tests/test-strcasestr.c: Likewise.
18703         * tests/test-strchrnul.c: Likewise.
18704         * tests/test-strerror.c: Likewise.
18705         * tests/test-striconv.c: Likewise.
18706         * tests/test-striconveh.c: Likewise.
18707         * tests/test-striconveha.c: Likewise.
18708         * tests/test-strsignal.c: Likewise.
18709         * tests/test-strstr.c: Likewise.
18710         * tests/test-strtod.c: Likewise.
18711         * tests/test-strverscmp.c: Likewise.
18712         * tests/test-symlink.c: Likewise.
18713         * tests/test-symlinkat.c: Likewise.
18714         * tests/test-trunc1.c: Likewise.
18715         * tests/test-trunc2.c: Likewise.
18716         * tests/test-truncf1.c: Likewise.
18717         * tests/test-truncf2.c: Likewise.
18718         * tests/test-truncl.c: Likewise.
18719         * tests/test-uname.c: Likewise.
18720         * tests/test-unlink.c: Likewise.
18721         * tests/test-unlinkat.c: Likewise.
18722         * tests/test-unsetenv.c: Likewise.
18723         * tests/test-usleep.c: Likewise.
18724         * tests/test-utimens.c: Likewise.
18725         * tests/test-utimensat.c: Likewise.
18726         * tests/test-vasnprintf-posix.c: Likewise.
18727         * tests/test-vasnprintf-posix2.c: Likewise.
18728         * tests/test-vasnprintf.c: Likewise.
18729         * tests/test-vasprintf-posix.c: Likewise.
18730         * tests/test-vasprintf.c: Likewise.
18731         * tests/test-vdprintf-posix.c: Likewise.
18732         * tests/test-vfprintf-posix.c: Likewise.
18733         * tests/test-vprintf-posix.c: Likewise.
18734         * tests/test-vsnprintf-posix.c: Likewise.
18735         * tests/test-vsnprintf.c: Likewise.
18736         * tests/test-vsprintf-posix.c: Likewise.
18737         * tests/test-wcrtomb.c: Likewise.
18738         * tests/test-wcsnrtombs.c: Likewise.
18739         * tests/test-wcsrtombs.c: Likewise.
18740         * tests/test-wctype.c: Likewise.
18741         * tests/test-wcwidth.c: Likewise.
18742         * tests/test-xfprintf-posix.c: Likewise.
18743         * tests/test-xmemdup0.c: Likewise.
18744         * tests/test-xprintf-posix.c: Likewise.
18745         * tests/test-xvasprintf.c: Likewise.
18746         * tests/unicase/test-locale-language.c: Likewise.
18747         * tests/unicase/test-mapping-part1.h: Likewise.
18748         * tests/unicase/test-predicate-part1.h: Likewise.
18749         * tests/unicase/test-u8-casecmp.c: Likewise.
18750         * tests/unicase/test-u8-casecoll.c: Likewise.
18751         * tests/unicase/test-u8-casefold.c: Likewise.
18752         * tests/unicase/test-u8-is-cased.c: Likewise.
18753         * tests/unicase/test-u8-is-casefolded.c: Likewise.
18754         * tests/unicase/test-u8-is-lowercase.c: Likewise.
18755         * tests/unicase/test-u8-is-titlecase.c: Likewise.
18756         * tests/unicase/test-u8-is-uppercase.c: Likewise.
18757         * tests/unicase/test-u8-tolower.c: Likewise.
18758         * tests/unicase/test-u8-totitle.c: Likewise.
18759         * tests/unicase/test-u8-toupper.c: Likewise.
18760         * tests/unicase/test-u16-casecmp.c: Likewise.
18761         * tests/unicase/test-u16-casecoll.c: Likewise.
18762         * tests/unicase/test-u16-casefold.c: Likewise.
18763         * tests/unicase/test-u16-is-cased.c: Likewise.
18764         * tests/unicase/test-u16-is-casefolded.c: Likewise.
18765         * tests/unicase/test-u16-is-lowercase.c: Likewise.
18766         * tests/unicase/test-u16-is-titlecase.c: Likewise.
18767         * tests/unicase/test-u16-is-uppercase.c: Likewise.
18768         * tests/unicase/test-u16-tolower.c: Likewise.
18769         * tests/unicase/test-u16-totitle.c: Likewise.
18770         * tests/unicase/test-u16-toupper.c: Likewise.
18771         * tests/unicase/test-u32-casecmp.c: Likewise.
18772         * tests/unicase/test-u32-casecoll.c: Likewise.
18773         * tests/unicase/test-u32-casefold.c: Likewise.
18774         * tests/unicase/test-u32-is-cased.c: Likewise.
18775         * tests/unicase/test-u32-is-casefolded.c: Likewise.
18776         * tests/unicase/test-u32-is-lowercase.c: Likewise.
18777         * tests/unicase/test-u32-is-titlecase.c: Likewise.
18778         * tests/unicase/test-u32-is-uppercase.c: Likewise.
18779         * tests/unicase/test-u32-tolower.c: Likewise.
18780         * tests/unicase/test-u32-totitle.c: Likewise.
18781         * tests/unicase/test-u32-toupper.c: Likewise.
18782         * tests/unicase/test-ulc-casecmp.c: Likewise.
18783         * tests/unicase/test-ulc-casecoll.c: Likewise.
18784         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18785         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18786         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18787         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18788         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18789         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18790         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18791         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18792         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18793         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18794         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18795         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18796         * tests/unictype/test-bidi_byname.c: Likewise.
18797         * tests/unictype/test-bidi_name.c: Likewise.
18798         * tests/unictype/test-bidi_of.c: Likewise.
18799         * tests/unictype/test-bidi_test.c: Likewise.
18800         * tests/unictype/test-block_list.c: Likewise.
18801         * tests/unictype/test-block_of.c: Likewise.
18802         * tests/unictype/test-block_test.c: Likewise.
18803         * tests/unictype/test-categ_and.c: Likewise.
18804         * tests/unictype/test-categ_and_not.c: Likewise.
18805         * tests/unictype/test-categ_byname.c: Likewise.
18806         * tests/unictype/test-categ_name.c: Likewise.
18807         * tests/unictype/test-categ_none.c: Likewise.
18808         * tests/unictype/test-categ_of.c: Likewise.
18809         * tests/unictype/test-categ_or.c: Likewise.
18810         * tests/unictype/test-categ_test_withtable.c: Likewise.
18811         * tests/unictype/test-combining.c: Likewise.
18812         * tests/unictype/test-decdigit.c: Likewise.
18813         * tests/unictype/test-digit.c: Likewise.
18814         * tests/unictype/test-mirror.c: Likewise.
18815         * tests/unictype/test-numeric.c: Likewise.
18816         * tests/unictype/test-pr_byname.c: Likewise.
18817         * tests/unictype/test-pr_test.c: Likewise.
18818         * tests/unictype/test-predicate-part1.h: Likewise.
18819         * tests/unictype/test-scripts.c: Likewise.
18820         * tests/unictype/test-sy_c_ident.c: Likewise.
18821         * tests/unictype/test-sy_java_ident.c: Likewise.
18822         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18823         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18824         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18825         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18826         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18827         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18828         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18829         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18830         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18831         * tests/uninorm/test-compat-decomposition.c: Likewise.
18832         * tests/uninorm/test-composition.c: Likewise.
18833         * tests/uninorm/test-decomposing-form.c: Likewise.
18834         * tests/uninorm/test-decomposition.c: Likewise.
18835         * tests/uninorm/test-u8-nfc.c: Likewise.
18836         * tests/uninorm/test-u8-nfd.c: Likewise.
18837         * tests/uninorm/test-u8-nfkc.c: Likewise.
18838         * tests/uninorm/test-u8-nfkd.c: Likewise.
18839         * tests/uninorm/test-u8-normcmp.c: Likewise.
18840         * tests/uninorm/test-u8-normcoll.c: Likewise.
18841         * tests/uninorm/test-u16-nfc.c: Likewise.
18842         * tests/uninorm/test-u16-nfd.c: Likewise.
18843         * tests/uninorm/test-u16-nfkc.c: Likewise.
18844         * tests/uninorm/test-u16-nfkd.c: Likewise.
18845         * tests/uninorm/test-u16-normcmp.c: Likewise.
18846         * tests/uninorm/test-u16-normcoll.c: Likewise.
18847         * tests/uninorm/test-u32-nfc.c: Likewise.
18848         * tests/uninorm/test-u32-nfd.c: Likewise.
18849         * tests/uninorm/test-u32-nfkc.c: Likewise.
18850         * tests/uninorm/test-u32-nfkd.c: Likewise.
18851         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18852         * tests/uninorm/test-u32-normcmp.c: Likewise.
18853         * tests/uninorm/test-u32-normcoll.c: Likewise.
18854         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18855         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18856         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18857         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18858         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18859         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18860         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18861         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18862         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18863         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18864         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18865         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18866         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18867         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18868         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18869         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18870         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18871         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18872         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18873         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18874         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18875         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18876         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18877         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18878         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18879         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18880         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18881         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18882         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18883         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18884         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18885         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18886         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18887         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18888         * tests/uniwidth/test-u8-width.c: Likewise.
18889         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18890         * tests/uniwidth/test-u16-width.c: Likewise.
18891         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18892         * tests/uniwidth/test-u32-width.c: Likewise.
18893         * tests/uniwidth/test-uc_width.c: Likewise.
18894         * tests/uniwidth/test-uc_width2.c: Likewise.
18895         * modules/acl-tests (Files): Add tests/macros.h.
18896         * modules/areadlink-tests (Files): Likewise.
18897         * modules/areadlink-with-size-tests (Files): Likewise.
18898         * modules/areadlinkat-tests (Files): Likewise.
18899         * modules/areadlinkat-with-size-tests (Files): Likewise.
18900         * modules/argmatch-tests (Files): Likewise.
18901         * modules/argv-iter-tests (Files): Likewise.
18902         * modules/array-list-tests (Files): Likewise.
18903         * modules/array-mergesort-tests (Files): Likewise.
18904         * modules/array-oset-tests (Files): Likewise.
18905         * modules/avltree-list-tests (Files): Likewise.
18906         * modules/avltree-oset-tests (Files): Likewise.
18907         * modules/avltreehash-list-tests (Files): Likewise.
18908         * modules/base64-tests (Files): Likewise.
18909         * modules/binary-io-tests (Files): Likewise.
18910         * modules/bitrotate-tests (Files): Likewise.
18911         * modules/btowc-tests (Files): Likewise.
18912         * modules/byteswap-tests (Files): Likewise.
18913         * modules/c-ctype-tests (Files): Likewise.
18914         * modules/c-stack-tests (Files): Likewise.
18915         * modules/c-strcase-tests (Files): Likewise.
18916         * modules/c-strcasestr-tests (Files): Likewise.
18917         * modules/c-strstr-tests (Files): Likewise.
18918         * modules/canonicalize-lgpl-tests (Files): Likewise.
18919         * modules/canonicalize-tests (Files): Likewise.
18920         * modules/carray-list-tests (Files): Likewise.
18921         * modules/ceilf-tests (Files): Likewise.
18922         * modules/ceill-tests (Files): Likewise.
18923         * modules/chown-tests (Files): Likewise.
18924         * modules/cloexec-tests (Files): Likewise.
18925         * modules/copy-file-tests (Files): Likewise.
18926         * modules/count-one-bits-tests (Files): Likewise.
18927         * modules/dprintf-posix-tests (Files): Likewise.
18928         * modules/dup2-tests (Files): Likewise.
18929         * modules/dup3-tests (Files): Likewise.
18930         * modules/duplocale-tests (Files): Likewise.
18931         * modules/fbufmode-tests (Files): Likewise.
18932         * modules/fchdir-tests (Files): Likewise.
18933         * modules/fcntl-safer-tests (Files): Likewise.
18934         * modules/fcntl-tests (Files): Likewise.
18935         * modules/fdopendir-tests (Files): Likewise.
18936         * modules/fdutimensat-tests (Files): Likewise.
18937         * modules/fflush-tests (Files): Likewise.
18938         * modules/filevercmp-tests (Files): Likewise.
18939         * modules/flock-tests (Files): Likewise.
18940         * modules/floorf-tests (Files): Likewise.
18941         * modules/floorl-tests (Files): Likewise.
18942         * modules/fnmatch-tests (Files): Likewise.
18943         * modules/fopen-safer-tests (Files): Likewise.
18944         * modules/fopen-tests (Files): Likewise.
18945         * modules/fpending-tests (Files): Likewise.
18946         * modules/fprintf-posix-tests (Files): Likewise.
18947         * modules/fpurge-tests (Files): Likewise.
18948         * modules/freadable-tests (Files): Likewise.
18949         * modules/freadahead-tests (Files): Likewise.
18950         * modules/freading-tests (Files): Likewise.
18951         * modules/freadptr-tests (Files): Likewise.
18952         * modules/freadseek-tests (Files): Likewise.
18953         * modules/freopen-tests (Files): Likewise.
18954         * modules/frexp-nolibm-tests (Files): Likewise.
18955         * modules/frexp-tests (Files): Likewise.
18956         * modules/frexpl-nolibm-tests (Files): Likewise.
18957         * modules/frexpl-tests (Files): Likewise.
18958         * modules/fseek-tests (Files): Likewise.
18959         * modules/fseeko-tests (Files): Likewise.
18960         * modules/fstrcmp-tests (Files): Likewise.
18961         * modules/fsync-tests (Files): Likewise.
18962         * modules/ftell-tests (Files): Likewise.
18963         * modules/ftello-tests (Files): Likewise.
18964         * modules/func-tests (Files): Likewise.
18965         * modules/futimens-tests (Files): Likewise.
18966         * modules/fwritable-tests (Files): Likewise.
18967         * modules/fwriting-tests (Files): Likewise.
18968         * modules/getcwd-tests (Files): Likewise.
18969         * modules/getdate-tests (Files): Likewise.
18970         * modules/getdelim-tests (Files): Likewise.
18971         * modules/getdtablesize-tests (Files): Likewise.
18972         * modules/getgroups-tests (Files): Likewise.
18973         * modules/getline-tests (Files): Likewise.
18974         * modules/getndelim2-tests (Files): Likewise.
18975         * modules/glob-tests (Files): Likewise.
18976         * modules/hash-tests (Files): Likewise.
18977         * modules/i-ring-tests (Files): Likewise.
18978         * modules/iconv-tests (Files): Likewise.
18979         * modules/iconv_open-utf-tests (Files): Likewise.
18980         * modules/idpriv-drop-tests (Files): Likewise.
18981         * modules/idpriv-droptemp-tests (Files): Likewise.
18982         * modules/inet_ntop-tests (Files): Likewise.
18983         * modules/inet_pton-tests (Files): Likewise.
18984         * modules/isblank-tests (Files): Likewise.
18985         * modules/isfinite-tests (Files): Likewise.
18986         * modules/isinf-tests (Files): Likewise.
18987         * modules/isnan-tests (Files): Likewise.
18988         * modules/isnand-nolibm-tests (Files): Likewise.
18989         * modules/isnand-tests (Files): Likewise.
18990         * modules/isnanf-nolibm-tests (Files): Likewise.
18991         * modules/isnanf-tests (Files): Likewise.
18992         * modules/isnanl-nolibm-tests (Files): Likewise.
18993         * modules/isnanl-tests (Files): Likewise.
18994         * modules/lchown-tests (Files): Likewise.
18995         * modules/ldexpl-tests (Files): Likewise.
18996         * modules/link-tests (Files): Likewise.
18997         * modules/linkat-tests (Files): Likewise.
18998         * modules/linked-list-tests (Files): Likewise.
18999         * modules/linkedhash-list-tests (Files): Likewise.
19000         * modules/localename-tests (Files): Likewise.
19001         * modules/lseek-tests (Files): Likewise.
19002         * modules/lstat-tests (Files): Likewise.
19003         * modules/mbmemcasecmp-tests (Files): Likewise.
19004         * modules/mbmemcasecoll-tests (Files): Likewise.
19005         * modules/mbrtowc-tests (Files): Likewise.
19006         * modules/mbscasecmp-tests (Files): Likewise.
19007         * modules/mbscasestr-tests (Files): Likewise.
19008         * modules/mbschr-tests (Files): Likewise.
19009         * modules/mbscspn-tests (Files): Likewise.
19010         * modules/mbsinit-tests (Files): Likewise.
19011         * modules/mbsncasecmp-tests (Files): Likewise.
19012         * modules/mbsnrtowcs-tests (Files): Likewise.
19013         * modules/mbspbrk-tests (Files): Likewise.
19014         * modules/mbspcasecmp-tests (Files): Likewise.
19015         * modules/mbsrchr-tests (Files): Likewise.
19016         * modules/mbsrtowcs-tests (Files): Likewise.
19017         * modules/mbsspn-tests (Files): Likewise.
19018         * modules/mbsstr-tests (Files): Likewise.
19019         * modules/memchr-tests (Files): Likewise.
19020         * modules/memchr2-tests (Files): Likewise.
19021         * modules/memcmp-tests (Files): Likewise.
19022         * modules/memmem-tests (Files): Likewise.
19023         * modules/memrchr-tests (Files): Likewise.
19024         * modules/mkdir-tests (Files): Likewise.
19025         * modules/mkfifo-tests (Files): Likewise.
19026         * modules/mkfifoat-tests (Files): Likewise.
19027         * modules/mknod-tests (Files): Likewise.
19028         * modules/nanosleep-tests (Files): Likewise.
19029         * modules/nl_langinfo-tests (Files): Likewise.
19030         * modules/obstack-printf-tests (Files): Likewise.
19031         * modules/open-tests (Files): Likewise.
19032         * modules/openat-tests (Files): Likewise.
19033         * modules/pipe-filter-gi-tests (Files): Likewise.
19034         * modules/pipe-filter-ii-tests (Files): Likewise.
19035         * modules/pipe2-tests (Files): Likewise.
19036         * modules/popen-safer-tests (Files): Likewise.
19037         * modules/popen-tests (Files): Likewise.
19038         * modules/posixtm-tests (Files): Likewise.
19039         * modules/pread-tests (Files): Likewise.
19040         * modules/printf-frexp-tests (Files): Likewise.
19041         * modules/printf-frexpl-tests (Files): Likewise.
19042         * modules/printf-posix-tests (Files): Likewise.
19043         * modules/priv-set-tests (Files): Likewise.
19044         * modules/quotearg-tests (Files): Likewise.
19045         * modules/random_r-tests (Files): Likewise.
19046         * modules/rawmemchr-tests (Files): Likewise.
19047         * modules/rbtree-list-tests (Files): Likewise.
19048         * modules/rbtree-oset-tests (Files): Likewise.
19049         * modules/rbtreehash-list-tests (Files): Likewise.
19050         * modules/readlink-tests (Files): Likewise.
19051         * modules/remove-tests (Files): Likewise.
19052         * modules/rename-tests (Files): Likewise.
19053         * modules/renameat-tests (Files): Likewise.
19054         * modules/rmdir-tests (Files): Likewise.
19055         * modules/round-tests (Files): Likewise.
19056         * modules/roundf-tests (Files): Likewise.
19057         * modules/roundl-tests (Files): Likewise.
19058         * modules/safe-alloc-tests (Files): Likewise.
19059         * modules/setenv-tests (Files): Likewise.
19060         * modules/sigaction-tests (Files): Likewise.
19061         * modules/signbit-tests (Files): Likewise.
19062         * modules/sleep-tests (Files): Likewise.
19063         * modules/snprintf-posix-tests (Files): Likewise.
19064         * modules/snprintf-tests (Files): Likewise.
19065         * modules/sprintf-posix-tests (Files): Likewise.
19066         * modules/stat-tests (Files): Likewise.
19067         * modules/stat-time-tests (Files): Likewise.
19068         * modules/strcasestr-tests (Files): Likewise.
19069         * modules/strchrnul-tests (Files): Likewise.
19070         * modules/strerror-tests (Files): Likewise.
19071         * modules/striconv-tests (Files): Likewise.
19072         * modules/striconveh-tests (Files): Likewise.
19073         * modules/striconveha-tests (Files): Likewise.
19074         * modules/strsignal-tests (Files): Likewise.
19075         * modules/strstr-tests (Files): Likewise.
19076         * modules/strtod-tests (Files): Likewise.
19077         * modules/strverscmp-tests (Files): Likewise.
19078         * modules/symlink-tests (Files): Likewise.
19079         * modules/symlinkat-tests (Files): Likewise.
19080         * modules/trunc-tests (Files): Likewise.
19081         * modules/truncf-tests (Files): Likewise.
19082         * modules/truncl-tests (Files): Likewise.
19083         * modules/uname-tests (Files): Likewise.
19084         * modules/unicase/cased-tests (Files): Likewise.
19085         * modules/unicase/ignorable-tests (Files): Likewise.
19086         * modules/unicase/locale-language-tests (Files): Likewise.
19087         * modules/unicase/tolower-tests (Files): Likewise.
19088         * modules/unicase/totitle-tests (Files): Likewise.
19089         * modules/unicase/toupper-tests (Files): Likewise.
19090         * modules/unicase/u8-casecmp-tests (Files): Likewise.
19091         * modules/unicase/u8-casecoll-tests (Files): Likewise.
19092         * modules/unicase/u8-casefold-tests (Files): Likewise.
19093         * modules/unicase/u8-is-cased-tests (Files): Likewise.
19094         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
19095         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
19096         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
19097         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
19098         * modules/unicase/u8-tolower-tests (Files): Likewise.
19099         * modules/unicase/u8-totitle-tests (Files): Likewise.
19100         * modules/unicase/u8-toupper-tests (Files): Likewise.
19101         * modules/unicase/u16-casecmp-tests (Files): Likewise.
19102         * modules/unicase/u16-casecoll-tests (Files): Likewise.
19103         * modules/unicase/u16-casefold-tests (Files): Likewise.
19104         * modules/unicase/u16-is-cased-tests (Files): Likewise.
19105         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
19106         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
19107         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
19108         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
19109         * modules/unicase/u16-tolower-tests (Files): Likewise.
19110         * modules/unicase/u16-totitle-tests (Files): Likewise.
19111         * modules/unicase/u16-toupper-tests (Files): Likewise.
19112         * modules/unicase/u32-casecmp-tests (Files): Likewise.
19113         * modules/unicase/u32-casecoll-tests (Files): Likewise.
19114         * modules/unicase/u32-casefold-tests (Files): Likewise.
19115         * modules/unicase/u32-is-cased-tests (Files): Likewise.
19116         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
19117         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
19118         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
19119         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
19120         * modules/unicase/u32-tolower-tests (Files): Likewise.
19121         * modules/unicase/u32-totitle-tests (Files): Likewise.
19122         * modules/unicase/u32-toupper-tests (Files): Likewise.
19123         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
19124         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
19125         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
19126         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
19127         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
19128         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
19129         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
19130         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
19131         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
19132         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
19133         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
19134         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
19135         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
19136         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
19137         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
19138         * modules/unictype/bidicategory-name-tests (Files): Likewise.
19139         * modules/unictype/bidicategory-of-tests (Files): Likewise.
19140         * modules/unictype/bidicategory-test-tests (Files): Likewise.
19141         * modules/unictype/block-list-tests (Files): Likewise.
19142         * modules/unictype/block-of-tests (Files): Likewise.
19143         * modules/unictype/block-test-tests (Files): Likewise.
19144         * modules/unictype/category-C-tests (Files): Likewise.
19145         * modules/unictype/category-Cc-tests (Files): Likewise.
19146         * modules/unictype/category-Cf-tests (Files): Likewise.
19147         * modules/unictype/category-Cn-tests (Files): Likewise.
19148         * modules/unictype/category-Co-tests (Files): Likewise.
19149         * modules/unictype/category-Cs-tests (Files): Likewise.
19150         * modules/unictype/category-L-tests (Files): Likewise.
19151         * modules/unictype/category-Ll-tests (Files): Likewise.
19152         * modules/unictype/category-Lm-tests (Files): Likewise.
19153         * modules/unictype/category-Lo-tests (Files): Likewise.
19154         * modules/unictype/category-Lt-tests (Files): Likewise.
19155         * modules/unictype/category-Lu-tests (Files): Likewise.
19156         * modules/unictype/category-M-tests (Files): Likewise.
19157         * modules/unictype/category-Mc-tests (Files): Likewise.
19158         * modules/unictype/category-Me-tests (Files): Likewise.
19159         * modules/unictype/category-Mn-tests (Files): Likewise.
19160         * modules/unictype/category-N-tests (Files): Likewise.
19161         * modules/unictype/category-Nd-tests (Files): Likewise.
19162         * modules/unictype/category-Nl-tests (Files): Likewise.
19163         * modules/unictype/category-No-tests (Files): Likewise.
19164         * modules/unictype/category-P-tests (Files): Likewise.
19165         * modules/unictype/category-Pc-tests (Files): Likewise.
19166         * modules/unictype/category-Pd-tests (Files): Likewise.
19167         * modules/unictype/category-Pe-tests (Files): Likewise.
19168         * modules/unictype/category-Pf-tests (Files): Likewise.
19169         * modules/unictype/category-Pi-tests (Files): Likewise.
19170         * modules/unictype/category-Po-tests (Files): Likewise.
19171         * modules/unictype/category-Ps-tests (Files): Likewise.
19172         * modules/unictype/category-S-tests (Files): Likewise.
19173         * modules/unictype/category-Sc-tests (Files): Likewise.
19174         * modules/unictype/category-Sk-tests (Files): Likewise.
19175         * modules/unictype/category-Sm-tests (Files): Likewise.
19176         * modules/unictype/category-So-tests (Files): Likewise.
19177         * modules/unictype/category-Z-tests (Files): Likewise.
19178         * modules/unictype/category-Zl-tests (Files): Likewise.
19179         * modules/unictype/category-Zp-tests (Files): Likewise.
19180         * modules/unictype/category-Zs-tests (Files): Likewise.
19181         * modules/unictype/category-and-not-tests (Files): Likewise.
19182         * modules/unictype/category-and-tests (Files): Likewise.
19183         * modules/unictype/category-byname-tests (Files): Likewise.
19184         * modules/unictype/category-name-tests (Files): Likewise.
19185         * modules/unictype/category-none-tests (Files): Likewise.
19186         * modules/unictype/category-of-tests (Files): Likewise.
19187         * modules/unictype/category-or-tests (Files): Likewise.
19188         * modules/unictype/category-test-withtable-tests (Files): Likewise.
19189         * modules/unictype/combining-class-tests (Files): Likewise.
19190         * modules/unictype/ctype-alnum-tests (Files): Likewise.
19191         * modules/unictype/ctype-alpha-tests (Files): Likewise.
19192         * modules/unictype/ctype-blank-tests (Files): Likewise.
19193         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
19194         * modules/unictype/ctype-digit-tests (Files): Likewise.
19195         * modules/unictype/ctype-graph-tests (Files): Likewise.
19196         * modules/unictype/ctype-lower-tests (Files): Likewise.
19197         * modules/unictype/ctype-print-tests (Files): Likewise.
19198         * modules/unictype/ctype-punct-tests (Files): Likewise.
19199         * modules/unictype/ctype-space-tests (Files): Likewise.
19200         * modules/unictype/ctype-upper-tests (Files): Likewise.
19201         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
19202         * modules/unictype/decimal-digit-tests (Files): Likewise.
19203         * modules/unictype/digit-tests (Files): Likewise.
19204         * modules/unictype/mirror-tests (Files): Likewise.
19205         * modules/unictype/numeric-tests (Files): Likewise.
19206         * modules/unictype/property-alphabetic-tests (Files): Likewise.
19207         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
19208         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
19209         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
19210         Likewise.
19211         * modules/unictype/property-bidi-block-separator-tests (Files):
19212         Likewise.
19213         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
19214         Likewise.
19215         * modules/unictype/property-bidi-common-separator-tests (Files):
19216         Likewise.
19217         * modules/unictype/property-bidi-control-tests (Files): Likewise.
19218         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
19219         Likewise.
19220         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
19221         Likewise.
19222         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
19223         Likewise.
19224         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
19225         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
19226         Likewise.
19227         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
19228         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
19229         Likewise.
19230         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
19231         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
19232         * modules/unictype/property-bidi-segment-separator-tests (Files):
19233         Likewise.
19234         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
19235         * modules/unictype/property-byname-tests (Files): Likewise.
19236         * modules/unictype/property-combining-tests (Files): Likewise.
19237         * modules/unictype/property-composite-tests (Files): Likewise.
19238         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
19239         * modules/unictype/property-dash-tests (Files): Likewise.
19240         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
19241         * modules/unictype/property-default-ignorable-code-point-tests (Files):
19242         Likewise.
19243         * modules/unictype/property-deprecated-tests (Files): Likewise.
19244         * modules/unictype/property-diacritic-tests (Files): Likewise.
19245         * modules/unictype/property-extender-tests (Files): Likewise.
19246         * modules/unictype/property-format-control-tests (Files): Likewise.
19247         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
19248         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
19249         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
19250         * modules/unictype/property-hex-digit-tests (Files): Likewise.
19251         * modules/unictype/property-hyphen-tests (Files): Likewise.
19252         * modules/unictype/property-id-continue-tests (Files): Likewise.
19253         * modules/unictype/property-id-start-tests (Files): Likewise.
19254         * modules/unictype/property-ideographic-tests (Files): Likewise.
19255         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
19256         * modules/unictype/property-ids-trinary-operator-tests (Files):
19257         Likewise.
19258         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
19259         * modules/unictype/property-iso-control-tests (Files): Likewise.
19260         * modules/unictype/property-join-control-tests (Files): Likewise.
19261         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
19262         * modules/unictype/property-line-separator-tests (Files): Likewise.
19263         * modules/unictype/property-logical-order-exception-tests (Files):
19264         Likewise.
19265         * modules/unictype/property-lowercase-tests (Files): Likewise.
19266         * modules/unictype/property-math-tests (Files): Likewise.
19267         * modules/unictype/property-non-break-tests (Files): Likewise.
19268         * modules/unictype/property-not-a-character-tests (Files): Likewise.
19269         * modules/unictype/property-numeric-tests (Files): Likewise.
19270         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
19271         * modules/unictype/property-other-default-ignorable-code-point-tests
19272         (Files): Likewise.
19273         * modules/unictype/property-other-grapheme-extend-tests (Files):
19274         Likewise.
19275         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
19276         * modules/unictype/property-other-id-start-tests (Files): Likewise.
19277         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
19278         * modules/unictype/property-other-math-tests (Files): Likewise.
19279         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
19280         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
19281         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
19282         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
19283         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
19284         * modules/unictype/property-private-use-tests (Files): Likewise.
19285         * modules/unictype/property-punctuation-tests (Files): Likewise.
19286         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
19287         * modules/unictype/property-radical-tests (Files): Likewise.
19288         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
19289         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
19290         * modules/unictype/property-space-tests (Files): Likewise.
19291         * modules/unictype/property-terminal-punctuation-tests (Files):
19292         Likewise.
19293         * modules/unictype/property-test-tests (Files): Likewise.
19294         * modules/unictype/property-titlecase-tests (Files): Likewise.
19295         * modules/unictype/property-unassigned-code-value-tests (Files):
19296         Likewise.
19297         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
19298         * modules/unictype/property-uppercase-tests (Files): Likewise.
19299         * modules/unictype/property-variation-selector-tests (Files): Likewise.
19300         * modules/unictype/property-white-space-tests (Files): Likewise.
19301         * modules/unictype/property-xid-continue-tests (Files): Likewise.
19302         * modules/unictype/property-xid-start-tests (Files): Likewise.
19303         * modules/unictype/property-zero-width-tests (Files): Likewise.
19304         * modules/unictype/scripts-tests (Files): Likewise.
19305         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
19306         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
19307         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
19308         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
19309         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
19310         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
19311         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
19312         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
19313         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
19314         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
19315         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
19316         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
19317         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
19318         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
19319         * modules/uninorm/composition-tests (Files): Likewise.
19320         * modules/uninorm/decomposing-form-tests (Files): Likewise.
19321         * modules/uninorm/decomposition-tests (Files): Likewise.
19322         * modules/uninorm/filter-tests (Files): Likewise.
19323         * modules/uninorm/nfc-tests (Files): Likewise.
19324         * modules/uninorm/nfd-tests (Files): Likewise.
19325         * modules/uninorm/nfkc-tests (Files): Likewise.
19326         * modules/uninorm/nfkd-tests (Files): Likewise.
19327         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
19328         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
19329         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
19330         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
19331         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
19332         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
19333         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
19334         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19335         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
19336         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
19337         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
19338         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
19339         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19340         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
19341         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
19342         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
19343         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
19344         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19345         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
19346         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
19347         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
19348         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
19349         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19350         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
19351         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
19352         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
19353         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
19354         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
19355         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
19356         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
19357         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
19358         * modules/uniwidth/u8-width-tests (Files): Likewise.
19359         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
19360         * modules/uniwidth/u16-width-tests (Files): Likewise.
19361         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
19362         * modules/uniwidth/u32-width-tests (Files): Likewise.
19363         * modules/uniwidth/width-tests (Files): Likewise.
19364         * modules/unlink-tests (Files): Likewise.
19365         * modules/unsetenv-tests (Files): Likewise.
19366         * modules/usleep-tests (Files): Likewise.
19367         * modules/utimens-tests (Files): Likewise.
19368         * modules/utimensat-tests (Files): Likewise.
19369         * modules/vasnprintf-posix-tests (Files): Likewise.
19370         * modules/vasnprintf-tests (Files): Likewise.
19371         * modules/vasprintf-posix-tests (Files): Likewise.
19372         * modules/vasprintf-tests (Files): Likewise.
19373         * modules/vdprintf-posix-tests (Files): Likewise.
19374         * modules/vfprintf-posix-tests (Files): Likewise.
19375         * modules/vprintf-posix-tests (Files): Likewise.
19376         * modules/vsnprintf-posix-tests (Files): Likewise.
19377         * modules/vsnprintf-tests (Files): Likewise.
19378         * modules/vsprintf-posix-tests (Files): Likewise.
19379         * modules/wcrtomb-tests (Files): Likewise.
19380         * modules/wcsnrtombs-tests (Files): Likewise.
19381         * modules/wcsrtombs-tests (Files): Likewise.
19382         * modules/wctype-tests (Files): Likewise.
19383         * modules/wcwidth-tests (Files): Likewise.
19384         * modules/xmemdup0-tests (Files): Likewise.
19385         * modules/xprintf-posix-tests (Files): Likewise.
19386         * modules/xvasprintf-tests (Files): Likewise.
19387
19388 2009-12-24  Eric Blake  <ebb9@byu.net>
19389
19390         test-nanosleep: fix typo
19391         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
19392         patch.
19393         Reported by Bruno Haible.
19394
19395 2009-12-24  Bruno Haible  <bruno@clisp.org>
19396
19397         Reduce namespace pollution on glibc systems.
19398         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
19399         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
19400         systems.
19401         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
19402         <getopt.h> on glibc systems.
19403         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
19404         systems.
19405         * lib/fcntl.c: Include <unistd.h> here instead.
19406
19407 2009-12-24  Bruno Haible  <bruno@clisp.org>
19408
19409         * lib/stdlib.in.h (includes): Fix typo in today's commit.
19410
19411 2009-12-24  Eric Blake  <ebb9@byu.net>
19412
19413         tests: add signature checks
19414         * tests/signature.h (SIGNATURE_CHECK): New file.
19415         * modules/atexit-tests (Files): Use it.
19416         * modules/btowc-tests (Files): Likewise.
19417         * modules/canonicalize-lgpl-tests (Files): Likewise.
19418         * modules/ceilf-tests (Files): Likewise.
19419         * modules/ceill-tests (Files): Likewise.
19420         * modules/chown-tests (Files): Likewise.
19421         * modules/dprintf-posix-tests (Files): Likewise.
19422         * modules/dup2-tests (Files): Likewise.
19423         * modules/dup3-tests (Files): Likewise.
19424         * modules/duplocale-tests (Files): Likewise.
19425         * modules/fchdir-tests (Files): Likewise.
19426         * modules/fcntl-tests (Files): Likewise.
19427         * modules/fdopendir-tests (Files): Likewise.
19428         * modules/fflush-tests (Files): Likewise.
19429         * modules/flock-tests (Files): Likewise.
19430         * modules/floorf-tests (Files): Likewise.
19431         * modules/floorl-tests (Files): Likewise.
19432         * modules/fnmatch-tests (Files): Likewise.
19433         * modules/fopen-tests (Files): Likewise.
19434         * modules/fprintf-posix-tests (Files): Likewise.
19435         * modules/freopen-tests (Files): Likewise.
19436         * modules/frexp-nolibm-tests (Files): Likewise.
19437         * modules/frexp-tests (Files): Likewise.
19438         * modules/frexpl-nolibm-tests (Files): Likewise.
19439         * modules/frexpl-tests (Files): Likewise.
19440         * modules/fseek-tests (Files): Likewise.
19441         * modules/fseeko-tests (Files): Likewise.
19442         * modules/fsync-tests (Files): Likewise.
19443         * modules/ftell-tests (Files): Likewise.
19444         * modules/ftello-tests (Files): Likewise.
19445         * modules/futimens-tests (Files): Likewise.
19446         * modules/getaddrinfo-tests (Files): Likewise.
19447         * modules/getcwd-tests (Files): Likewise.
19448         * modules/getdelim-tests (Files): Likewise.
19449         * modules/getdtablesize-tests (Files): Likewise.
19450         * modules/getgroups-tests (Files): Likewise.
19451         * modules/gethostname-tests (Files): Likewise.
19452         * modules/getline-tests (Files): Likewise.
19453         * modules/getopt-posix-tests (Files): Likewise.
19454         * modules/gettimeofday-tests (Files): Likewise.
19455         * modules/glob-tests (Files): Likewise.
19456         * modules/iconv-tests (Files): Likewise.
19457         * modules/inet_ntop-tests (Files): Likewise.
19458         * modules/inet_pton-tests (Files): Likewise.
19459         * modules/isblank-tests (Files): Likewise.
19460         * modules/lchown-tests (Files): Likewise.
19461         * modules/ldexpl-tests (Files): Likewise.
19462         * modules/link-tests (Files): Likewise.
19463         * modules/linkat-tests (Files): Likewise.
19464         * modules/lseek-tests (Files): Likewise.
19465         * modules/lstat-tests (Files): Likewise.
19466         * modules/mbrtowc-tests (Files): Likewise.
19467         * modules/mbsinit-tests (Files): Likewise.
19468         * modules/mbsnrtowcs-tests (Files): Likewise.
19469         * modules/mbsrtowcs-tests (Files): Likewise.
19470         * modules/memchr-tests (Files): Likewise.
19471         * modules/memcmp-tests (Files): Likewise.
19472         * modules/memmem-tests (Files): Likewise.
19473         * modules/memrchr-tests (Files): Likewise.
19474         * modules/mkdir-tests (Files): Likewise.
19475         * modules/mkfifo-tests (Files): Likewise.
19476         * modules/mkfifoat-tests (Files): Likewise.
19477         * modules/mknod-tests (Files): Likewise.
19478         * modules/nanosleep-tests (Files): Likewise.
19479         * modules/nl_langinfo-tests (Files): Likewise.
19480         * modules/obstack-printf-tests (Files): Likewise.
19481         * modules/open-tests (Files): Likewise.
19482         * modules/openat-tests (Files): Likewise.
19483         * modules/perror-tests (Files): Likewise.
19484         * modules/pipe2-tests (Files): Likewise.
19485         * modules/poll-tests (Files): Likewise.
19486         * modules/popen-tests (Files): Likewise.
19487         * modules/posix_spawn-tests (Files): Likewise.
19488         * modules/posix_spawnp-tests (Files): Likewise.
19489         * modules/pread-tests (Files): Likewise.
19490         * modules/printf-posix-tests (Files): Likewise.
19491         * modules/pty-tests (Files): Likewise.
19492         * modules/random_r-tests (Files): Likewise.
19493         * modules/rawmemchr-tests (Files): Likewise.
19494         * modules/readlink-tests (Files): Likewise.
19495         * modules/remove-tests (Files): Likewise.
19496         * modules/rename-tests (Files): Likewise.
19497         * modules/renameat-tests (Files): Likewise.
19498         * modules/rmdir-tests (Files): Likewise.
19499         * modules/round-tests (Files): Likewise.
19500         * modules/roundf-tests (Files): Likewise.
19501         * modules/roundl-tests (Files): Likewise.
19502         * modules/select-tests (Files): Likewise.
19503         * modules/setenv-tests (Files): Likewise.
19504         * modules/sigaction-tests (Files): Likewise.
19505         * modules/sleep-tests (Files): Likewise.
19506         * modules/snprintf-posix-tests (Files): Likewise.
19507         * modules/snprintf-tests (Files): Likewise.
19508         * modules/sprintf-posix-tests (Files): Likewise.
19509         * modules/stat-tests (Files): Likewise.
19510         * modules/strcasestr-tests (Files): Likewise.
19511         * modules/strchrnul-tests (Files): Likewise.
19512         * modules/strerror-tests (Files): Likewise.
19513         * modules/strsignal-tests (Files): Likewise.
19514         * modules/strstr-tests (Files): Likewise.
19515         * modules/strtod-tests (Files): Likewise.
19516         * modules/strverscmp-tests (Files): Likewise.
19517         * modules/symlink-tests (Files): Likewise.
19518         * modules/symlinkat-tests (Files): Likewise.
19519         * modules/times-tests (Files): Likewise.
19520         * modules/trunc-tests (Files): Likewise.
19521         * modules/truncf-tests (Files): Likewise.
19522         * modules/truncl-tests (Files): Likewise.
19523         * modules/tsearch-tests (Files): Likewise.
19524         * modules/uname-tests (Files): Likewise.
19525         * modules/unlink-tests (Files): Likewise.
19526         * modules/unsetenv-tests (Files): Likewise.
19527         * modules/usleep-tests (Files): Likewise.
19528         * modules/utimensat-tests (Files): Likewise.
19529         * modules/vasprintf-tests (Files): Likewise.
19530         * modules/vdprintf-posix-tests (Files): Likewise.
19531         * modules/vfprintf-posix-tests (Files): Likewise.
19532         * modules/vprintf-posix-tests (Files): Likewise.
19533         * modules/vsnprintf-posix-tests (Files): Likewise.
19534         * modules/vsnprintf-tests (Files): Likewise.
19535         * modules/vsprintf-posix-tests (Files): Likewise.
19536         * modules/wcrtomb-tests (Files): Likewise.
19537         * modules/wcsnrtombs-tests (Files): Likewise.
19538         * modules/wcsrtombs-tests (Files): Likewise.
19539         * modules/wcwidth-tests (Files): Likewise.
19540         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
19541         * tests/test-isinf.c (isinf): Likewise.
19542         * tests/test-isnan.c (isnan): Likewise.
19543         * tests/test-signbit.c (signbit): Likewise.
19544         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
19545         declaration, either as macro or with correct signature.
19546         (select): Ensure function under test is declared with correct
19547         signature in correct header.
19548         * tests/test-atexit.c (atexit): Likewise.
19549         * tests/test-btowc.c (btowc): Likewise.
19550         * tests/test-canonicalize-lgpl.c (realpath)
19551         (canonicalize_file_name): Likewise.
19552         * tests/test-ceilf1.c (ceilf): Likewise.
19553         * tests/test-ceill.c (ceill): Likewise.
19554         * tests/test-chown.c (chown): Likewise.
19555         * tests/test-dprintf-posix.c (dprintf): Likewise.
19556         * tests/test-dup2.c (dup2): Likewise.
19557         * tests/test-dup3.c (dup3): Likewise.
19558         * tests/test-duplocale.c (duplocale): Likewise.
19559         * tests/test-fchdir.c (fchdir): Likewise.
19560         * tests/test-fchownat.c (fchownat): Likewise.
19561         * tests/test-fcntl.c (fcntl): Likewise.
19562         * tests/test-fdopendir.c (fdopendir): Likewise.
19563         * tests/test-fflush.c (fflush): Likewise.
19564         * tests/test-flock.c (flock): Likewise.
19565         * tests/test-floorf1.c (floorf): Likewise.
19566         * tests/test-floorl.c (floorl): Likewise.
19567         * tests/test-fnmatch.c (fnmatch): Likewise.
19568         * tests/test-fopen.c (fopen): Likewise.
19569         * tests/test-fprintf-posix.c (fprintf): Likewise.
19570         * tests/test-freopen.c (freopen): Likewise.
19571         * tests/test-frexp.c (frexp): Likewise.
19572         * tests/test-frexpl.c (frexpl): Likewise.
19573         * tests/test-fseek.c (fseek): Likewise.
19574         * tests/test-fseeko.c (fseeko): Likewise.
19575         * tests/test-fstatat.c (fstatat): Likewise.
19576         * tests/test-fsync.c (fsync): Likewise.
19577         * tests/test-ftell.c (ftell): Likewise.
19578         * tests/test-ftello.c (ftello): Likewise.
19579         * tests/test-futimens.c (futimens): Likewise.
19580         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
19581         (gai_strerror): Likewise.
19582         * tests/test-getcwd.c (getcwd): Likewise.
19583         * tests/test-getdelim.c (getdelim): Likewise.
19584         * tests/test-getdtablesize.c (getdtablesize): Likewise.
19585         * tests/test-getgroups.c (getgroups): Likewise.
19586         * tests/test-gethostname.c (gethostname): Likewise.
19587         * tests/test-getline.c (getline): Likewise.
19588         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
19589         Likewise.
19590         * tests/test-gettimeofday.c (gettimeofday): Likewise.
19591         * tests/test-glob.c (glob, globfree): Likewise.
19592         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
19593         * tests/test-inet_ntop.c (inet_ntop): Likewise.
19594         * tests/test-inet_pton.c (inet_pton): Likewise.
19595         * tests/test-isblank.c (isblank): Likewise.
19596         * tests/test-lchown.c (lchown): Likewise.
19597         * tests/test-ldexpl.c (ldexpl): Likewise.
19598         * tests/test-link.c (link): Likewise.
19599         * tests/test-linkat.c (linkat): Likewise.
19600         * tests/test-lseek.c (lseek): Likewise.
19601         * tests/test-lstat.c (lstat): Likewise.
19602         * tests/test-mbrtowc.c (mbrtowc): Likewise.
19603         * tests/test-mbsinit.c (mbsinit): Likewise.
19604         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
19605         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
19606         * tests/test-memchr.c (memchr): Likewise.
19607         * tests/test-memcmp.c (memcmp): Likewise.
19608         * tests/test-memmem.c (memmem): Likewise.
19609         * tests/test-memrchr.c (memrchr): Likewise.
19610         * tests/test-mkdir.c (mkdir): Likewise.
19611         * tests/test-mkdirat.c (mkdirat): Likewise.
19612         * tests/test-mkfifo.c (mkfifo): Likewise.
19613         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
19614         * tests/test-mknod.c (mknod): Likewise.
19615         * tests/test-nanosleep.c (nanosleep): Likewise.
19616         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
19617         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
19618         Likewise.
19619         * tests/test-open.c (open): Likewise.
19620         * tests/test-openat.c (openat): Likewise.
19621         * tests/test-perror.c (perror): Likewise.
19622         * tests/test-pipe2.c (pipe2): Likewise.
19623         * tests/test-poll.c (poll): Likewise.
19624         * tests/test-popen.c (popen, pclose): Likewise.
19625         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
19626         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
19627         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
19628         (posix_spawn_file_actions_destroy)
19629         (posix_spawn_file_actions_addclose)
19630         (posix_spawn_file_actions_addopen)
19631         (posix_spawn_file_actions_adddup2): Likewise.
19632         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
19633         * tests/test-pread.c (pread): Likewise.
19634         * tests/test-printf-posix.c (printf): Likewise.
19635         * tests/test-pty.c (openpty, forkpty): Likewise.
19636         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
19637         (random_r): Likewise.
19638         * tests/test-rawmemchr.c (rawmemchr): Likewise.
19639         * tests/test-readlink.c (readlink): Likewise.
19640         * tests/test-remove.c (remove): Likewise.
19641         * tests/test-rename.c (rename): Likewise.
19642         * tests/test-renameat.c (renameat): Likewise.
19643         * tests/test-rmdir.c (rmdir): Likewise.
19644         * tests/test-round1.c (round): Likewise.
19645         * tests/test-roundf1.c (roundf): Likewise.
19646         * tests/test-roundl.c (roundl): Likewise.
19647         * tests/test-setenv.c (setenv): Likewise.
19648         * tests/test-sigaction.c (sigaction): Likewise.
19649         * tests/test-sleep.c (sleep): Likewise.
19650         * tests/test-snprintf.c (snprintf): Likewise.
19651         * tests/test-sprintf-posix.c (sprintf): Likewise.
19652         * tests/test-stat.c (stat): Likewise.
19653         * tests/test-stpncpy.c (stpncpy): Likewise.
19654         * tests/test-strcasestr.c (strcasestr): Likewise.
19655         * tests/test-strchrnul.c (strchrnul): Likewise.
19656         * tests/test-strerror.c (strerror): Likewise.
19657         * tests/test-strsignal.c (strsignal): Likewise.
19658         * tests/test-strstr.c (strstr): Likewise.
19659         * tests/test-strtod.c (strtod): Likewise.
19660         * tests/test-strverscmp.c (strverscmp): Likewise.
19661         * tests/test-symlink.c (symlink): Likewise.
19662         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
19663         * tests/test-times.c (times): Likewise.
19664         * tests/test-trunc1.c (trunc): Likewise.
19665         * tests/test-truncf1.c (truncf): Likewise.
19666         * tests/test-truncl.c (truncl): Likewise.
19667         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
19668         Likewise.
19669         * tests/test-uname.c (uname): Likewise.
19670         * tests/test-unlink.c (unlink): Likewise.
19671         * tests/test-unlinkat.c (unlinkat): Likewise.
19672         * tests/test-unsetenv.c (unsetenv): Likewise.
19673         * tests/test-usleep.c (usleep): Likewise.
19674         * tests/test-utimensat.c (utimensat): Likewise.
19675         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
19676         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
19677         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
19678         * tests/test-vprintf-posix.c (vprintf): Likewise.
19679         * tests/test-vsnprintf.c (vsnprintf): Likewise.
19680         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
19681         * tests/test-wcrtomb.c (wcrtomb): Likewise.
19682         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
19683         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
19684         * tests/test-wcwidth.c (wcwidth): Likewise.
19685
19686         build: pull in conditional headers during GNULIB_POSIXCHECK
19687         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
19688         definitions from any conditionally-included headers.
19689         * lib/stdlib.in.h (includes): Likewise.
19690         * lib/unistd.in.h (includes): Likewise.
19691
19692 2009-12-24  Bruno Haible  <bruno@clisp.org>
19693
19694         * tests/test-argv-iter.c: Include header file being tested immediately
19695         after config.h.
19696         * tests/test-base64.c: Likewise.
19697         * tests/test-flock.c: Likewise.
19698         * tests/test-fsync.c: Likewise.
19699         * tests/test-getdate.c: Likewise.
19700         * tests/test-getndelim2.c: Likewise.
19701         * tests/test-isfinite.c: Likewise.
19702         * tests/test-isinf.c: Likewise.
19703         * tests/test-strerror.c: Likewise.
19704         * tests/test-strsignal.c: Likewise.
19705
19706 2009-12-23  Eric Blake  <ebb9@byu.net>
19707
19708         unistd: work around cygwin bug
19709         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
19710         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
19711         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
19712
19713 2009-12-23  Bruno Haible  <bruno@clisp.org>
19714
19715         localename: More tests.
19716         * tests/test-localename.c (SIZEOF): New macro.
19717         (categories): New variable.
19718         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
19719         test_locale_name_default): Add test w.r.t. thread locale.
19720         (test_locale_name_thread): New function.
19721         (main): Invoke it.
19722
19723         localename: Make aware of thread locale.
19724         * lib/localename.h (gl_locale_name_thread): New declaration.
19725         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
19726         behaviour with respect to thread locale.
19727         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
19728         <langinfo.h>, glthread/lock.h.
19729         (SIZE_BITS): New macro.
19730         (string_hash): New function.
19731         (struct hash_node): New type.
19732         (HASH_TABLE_SIZE): New macro.
19733         (struniq_hash_table, struniq_lock): New variables.
19734         (struniq): New function.
19735         (gl_locale_name_thread): New function.
19736         (gl_locale_name): Invoke it.
19737         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
19738         * modules/localename (Depends-on): Add lock.
19739         Reported by Mike Gran <spk121@yahoo.com>.
19740
19741 2009-12-23  Eric Blake  <ebb9@byu.net>
19742
19743         va-args: new module
19744         * modules/va-args: New file.
19745         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
19746         * MODULES.html.sh (Core language properties): Mention it.
19747
19748         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
19749         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
19750         named alias for __attribute__((__unused__)).
19751         * lib/chown.c: Update client.
19752         * lib/fchmodat.c: Likewise.
19753         * lib/fts.c: Likewise.
19754         * lib/getdate.y: Likewise.
19755         * lib/getgroups.c: Likewise.
19756         * lib/getopt.c: Likewise.
19757         * lib/getugroups.c: Likewise.
19758         * lib/mkdir.c: Likewise.
19759         * lib/mkfifo.c: Likewise.
19760         * lib/mkfifoat.c: Likewise.
19761         * lib/mknod.c: Likewise.
19762         * lib/mknodat.c: Likewise.
19763         * lib/readlink.c: Likewise.
19764         * lib/se-context.in.h: Likewise.
19765         * lib/se-selinux.in.h: Likewise.
19766         * lib/sockets.c: Likewise.
19767         * lib/symlink.c: Likewise.
19768         * lib/symlinkat.c: Likewise.
19769         * lib/unicodeio.c: Likewise.
19770         * lib/unistr.h: Likewise.
19771         * tests/test-areadlink.c: Likewise.
19772         * tests/test-areadlinkat.c: Likewise.
19773         * tests/test-filenamecat.c: Likewise.
19774         * tests/test-fseeko.c: Likewise.
19775         * tests/test-ftello.c: Likewise.
19776         * tests/test-getdate.c: Likewise.
19777         * tests/test-getgroups.c: Likewise.
19778         * tests/test-gethostname.c: Likewise.
19779         * tests/test-quotearg.c: Likewise.
19780         * tests/test-version-etc.c: Likewise.
19781         * tests/test-xalloc-die.c: Likewise.
19782         * tests/test-xfprintf-posix.c: Likewise.
19783         * tests/test-xprintf-posix.c: Likewise.
19784         * tests/test-xvasprintf.c: Likewise.
19785
19786         tests: avoid compiler warnings
19787         * tests/test-fcntl.c (main): Delete unused parameters.
19788         * tests/test-freopen-safer.c (main): Likewise.
19789         * tests/test-xalloc-die.c (main): Mark unused parameters.
19790         * tests/test-fseeko.c (main): Likewise.
19791         * tests/test-ftello.c (main): Likewise.
19792         * tests/test-nanosleep.c (main): Avoid declaration warning.
19793         * tests/test-sleep.c (main): Likewise.
19794         * tests/test-unsetenv.c (main): Silence warning about string
19795         literal.
19796         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19797
19798 2009-12-23  Bruno Haible  <bruno@clisp.org>
19799
19800         * tests/test-localename.c (test_locale_name): New function, extracted
19801         from main. Also test mixed situations.
19802         (test_locale_name_posix, test_locale_name_environ,
19803         test_locale_name_default): New functions.
19804         (main): Invoke them all.
19805         * modules/localename-tests (configure.ac): Test for newlocale.
19806
19807 2009-12-23  Bruno Haible  <bruno@clisp.org>
19808
19809         unistd: Ensure getcwd gets declared before being overridden.
19810         * lib/unistd.in.h: Conditionally include <io.h>.
19811
19812 2009-12-22  Bruno Haible  <bruno@clisp.org>
19813
19814         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19815         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19816         (gl_WCHAR_H): Invoke it.
19817         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19818         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19819         Reported by Karl Berry <karl@freefriends.org>.
19820
19821 2009-12-22  Eric Blake  <ebb9@byu.net>
19822
19823         math, unistd: avoid redundant includes
19824         * lib/math.in.h (isnan): No need to re-include <math.h>.
19825         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19826
19827         getsubopt: work around cygwin bug
19828         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19829         avoid conflicting with system getsubopt.
19830         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19831         bug.
19832
19833         getopt: synchronize from glibc
19834         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19835         parameter order.  Adjust all callers.
19836         (_getopt_internal_r, main): Adjust quoting in error messages.
19837         Drop considerations for outdated POSIX 1003.2 error message.
19838         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19839         callers.
19840         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19841
19842         test-getopt: test stderr behavior
19843         * modules/getopt-posix-tests (Depends-on): Add dup2.
19844         * tests/test-getopt.c (ASSERT): Avoid stderr.
19845         (main): Move stderr to a temporary file.
19846         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19847         Instead, add parameter to inform caller if output occurred.
19848         (test_getopt): Adjust all existing tests to expect silence, and
19849         add new tests of leading ":".
19850         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19851         glibc shortcomings with leading "-:" or "+:" in optstring.
19852         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19853         Likewise.
19854         * doc/posix-functions/getopt.texi (getopt): Likewise.
19855
19856         test-getopt: enhance test
19857         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19858         supports optind=0.
19859         * tests/test-getopt.c (OPTIND_MIN): Move...
19860         * tests/test-getopt.h (OPTIND_MIN): ...here.
19861         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19862         Require that optind=0 works, since modern BSD supports it in
19863         addition to optreset, and since coreutils expects it.
19864         (test_getopt_long_only): New test.
19865         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19866         glibc shortcomings with 'W;', and enforcement of optind=0.
19867         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19868         Likewise.
19869
19870 2009-12-21  Bruno Haible  <bruno@clisp.org>
19871
19872         localename: Improvements for MacOS X and Cygwin.
19873         * lib/localename.h (gl_locale_name_environ): New declaration.
19874         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19875         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19876         (gl_locale_name_posix): Invoke it.
19877         (gl_locale_name_default): Add comments. Use Windows native API also on
19878         Cygwin.
19879
19880 2009-12-21  Bruno Haible  <bruno@clisp.org>
19881
19882         Update list of Win32 locale ids.
19883         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19884         (LANG_SAMI): Renamed from LANG_SAAMI.
19885         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19886         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19887         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19888         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19889         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19890         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19891         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19892         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19893         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19894         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19895         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19896         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19897         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19898         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19899         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19900         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19901         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19902         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19903         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19904         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19905         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19906         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19907         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19908         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19909         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19910         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19911         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19912         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19913         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19914         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19915         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19916         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19917         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19918         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19919         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19920         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19921         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19922         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19923         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19924         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19925         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19926         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19927         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19928         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19929         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19930         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19931         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19932         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19933         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19934         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19935         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19936         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19937         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19938         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19939         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19940         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19941         Add more languages and countries for Sami, Sorbian. Add more countries
19942         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19943         for Pashto. Change country for Syriac, Tswana.
19944
19945 2009-12-21  Eric Blake  <ebb9@byu.net>
19946
19947         test-utimens: avoid spurious failure
19948         * tests/test-chown.h (nap): Factor...
19949         * tests/nap.h: ...into new file.
19950         * tests/test-lchown.h (nap): Avoid duplication.
19951         * tests/test-utimens-common.h (nap): Use shared implementation,
19952         necessary on file systems with 1-second resolution.
19953         * modules/chown-tests (Files): Include new file.
19954         * modules/fdutimensat-tests (Files): Likewise.
19955         * modules/futimens-tests (Files): Likewise.
19956         * modules/lchown-tests (Files): Likewise.
19957         * modules/openat-tests (Files): Likewise.
19958         * modules/utimens-tests (Files): Likewise.
19959         * modules/utimensat-tests (Files): Likewise.
19960
19961 2009-12-19  Eric Blake  <ebb9@byu.net>
19962
19963         futimens, utimensat: work around Linux bug
19964         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19965         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19966         * lib/utimensat.c (rpl_utimensat): Work around it.
19967         * lib/futimens.c (rpl_futimens): Adjust comment.
19968
19969         utimens: work around Linux ctime bug
19970         * lib/utimens.c (detect_ctime_bug): New helper function.
19971         (update_timespec): Differentiate between workaround needed for
19972         this bug vs. what is needed for systems that lack utimensat.
19973         (fdutimens, lutimens): Work around bug.
19974
19975         utimens: check for ctime update
19976         * tests/test-utimens-common.h (check_ctime): Define.
19977         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19978         * tests/test-futimens.h (test_futimens): Likewise.
19979         * tests/test-lutimens.h (test_lutimens): Likewise.
19980         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19981         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19982
19983 2009-12-19  Bruno Haible  <bruno@clisp.org>
19984
19985         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19986         * tests/test-dprintf-posix2.sh: New file.
19987         * tests/test-dprintf-posix2.c: New file.
19988         * modules/dprintf-posix-tests (Files): Add them.
19989         (configure.ac): Check for getrlimit and setrlimit.
19990         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19991
19992 2009-12-19  Bruno Haible  <bruno@clisp.org>
19993
19994         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19995         * tests/test-fprintf-posix3.sh: New file.
19996         * tests/test-fprintf-posix3.c: New file.
19997         * modules/fprintf-posix-tests (Files): Add them.
19998         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19999
20000 2009-12-19  Eric Blake  <ebb9@byu.net>
20001
20002         dirfd: fix prototype
20003         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
20004         * lib/dirfd.c (dirfd): Likewise.
20005
20006         canonicalize: reduce memory usage
20007         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
20008         allocation to size.
20009         Reported by Solar Designer <solar@openwall.com>.
20010
20011 2009-12-19  Bruno Haible  <bruno@clisp.org>
20012
20013         New module attribute 'Applicability'.
20014         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
20015         * gnulib-tool: New option --extract-applicability.
20016         (func_usage): Document it.
20017         (sed_extract_prog): Recognize it.
20018         (func_get_applicability): New function.
20019         (func_import): Generalize handling of 'link-warning' module.
20020         * modules/link-warning (Applicability): New section.
20021         * modules/arg-nonnull (Applicability): New section.
20022         Repoted by Simon Josefsson <simon@josefsson.org>.
20023
20024 2009-12-19  Bruno Haible  <bruno@clisp.org>
20025
20026         fflush: tweak
20027         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
20028         * lib/fseeko.c (rpl_fseeko): Likewise.
20029
20030 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
20031
20032         * lib/gl_list.h: Fix typo in comment.
20033
20034 2009-12-16  Eric Blake  <ebb9@byu.net>
20035
20036         fcntl: use to simplify other modules
20037         * modules/cloexec (Depends-on): Add fcntl.
20038         * modules/fchdir (Depends-on): Likewise.
20039         * modules/fd-safer-flag (Depends-on): Likewise.
20040         * modules/unistd-safer (Depends-on): Likewise.
20041         * modules/dup3 (configure.ac): Set module indicator.
20042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
20043         missing.
20044         * lib/fchdir.c (_gl_register_dup): Fix comment.
20045         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
20046         * lib/dup-safer.c (dup_safer): Likewise.
20047         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
20048         * lib/dup3.c (dup3): Likewise.
20049         * tests/test-fchdir.c (main): Enhance test.
20050         Fixes a dup_cloexec bug reported by Ondřej Vašík.
20051
20052         fcntl: port portions of fcntl to mingw
20053         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
20054         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
20055         replacement for mingw.
20056         * modules/fcntl (Description): Update.
20057         (Depends-on): Add dup2.
20058         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
20059         * modules/fcntl-h (Makefile.am): Substitute it.
20060         * lib/fcntl.in.h (fcntl): Update declaration.
20061         (F_DUPFD, F_GETFD): New macros, when needed.
20062         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
20063         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
20064         * tests/test-fcntl.c (check_flags, main): Enhance test for items
20065         we now guarantee.
20066
20067         fcntl: work around cygwin bug in F_DUPFD
20068         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
20069         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
20070         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
20071         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
20072         * doc/posix-functions/fcntl.texi (fcntl): Document it.
20073
20074         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
20075         * modules/fcntl (Files): List new files.
20076         (configure.ac): Run a test.
20077         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
20078         * lib/fcntl.c (rpl_fcntl): Likewise.
20079         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
20080         (gl_FCNTL_H): Always replace fcntl.h.
20081         * modules/fcntl-h (Makefile.am): Substitute witnesses.
20082         * lib/fcntl.in.h (fcntl): Declare replacement.
20083         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
20084         needed, plus a witness.
20085         * doc/posix-functions/fcntl.texi (fcntl): Document this.
20086         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
20087         * tests/test-fcntl.c: New file.
20088         * modules/fcntl-tests: Likewise.
20089
20090         binary-io: avoid potential compilation warning
20091         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
20092         directives.
20093
20094         fflush: avoid compilation error on NetBSD
20095         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
20096         between off_t and fpos_t, since the latter is sometimes a struct.
20097         * lib/fseeko.c (rpl_fseeko): Likewise.
20098         Reported by Alexander Nasonov <alnsn@yandex.ru>.
20099
20100 2009-12-15  Eric Blake  <ebb9@byu.net>
20101
20102         fcntl-h, stdio, sys_ioctl: fix declarations
20103         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
20104         function must not take arguments.
20105         * lib/sys_ioctl.in.h (ioctl): Likewise.
20106         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
20107         (open): Add a link warning.
20108
20109 2009-12-15  Jim Meyering  <meyering@redhat.com>
20110
20111         areadlink, areadlink-with-size: relax license to LGPLv2+
20112         * modules/areadlink (License): Relax to LGPLv2+.
20113         * modules/areadlink-with-size (License): Likewise.
20114
20115 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
20116             Bruno Haible  <bruno@clisp.org>
20117
20118         *printf: Fix memory leak.
20119         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
20120         * lib/vfprintf.c (vfprintf): Likewise.
20121         * lib/dprintf.c (dprintf): Likewise.
20122         * lib/vdprintf.c (vdprintf): Likewise.
20123
20124 2009-12-14  Eric Blake  <ebb9@byu.net>
20125
20126         accept4: adjust module dependencies
20127         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
20128
20129         utimens: one more try at avoiding compiler warning
20130         * lib/utimens.c (lutimens): Lower scope of result.
20131
20132 2009-12-13  Bruno Haible  <bruno@clisp.org>
20133
20134         Move the malloc checking from module 'list' to new module 'xlist'.
20135         * modules/xlist: New file.
20136         * lib/gl_xlist.h: New file.
20137         * lib/gl_xlist.c: New file.
20138         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
20139         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
20140         gl_list_add_last, gl_list_add_before, gl_list_add_after,
20141         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
20142         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
20143         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
20144         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
20145         gl_sortedlist_nx_add): New declarations.
20146         (struct gl_list_implementation): Rename and change methods accordingly.
20147         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
20148         (gl_list_nx_create): Renamed from gl_list_create.
20149         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20150         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20151         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20152         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20153         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20154         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20155         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20156         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20157         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
20158         gl_list_create_empty.
20159         (gl_list_nx_create): Renamed from gl_list_create.
20160         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20161         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20162         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20163         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20164         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20165         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20166         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20167         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20168         * lib/gl_array_list.c: Don't include xalloc.h.
20169         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
20170         NULL upon out-of-memory.
20171         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
20172         out-of-memory.
20173         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
20174         Change return type to 'int'.
20175         (gl_array_nx_set_at): Renamed from gl_array_set_at.
20176         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20177         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
20178         upon out-of-memory.
20179         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
20180         upon out-of-memory.
20181         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
20182         upon out-of-memory.
20183         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
20184         upon out-of-memory.
20185         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
20186         out-of-memory.
20187         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
20188         Update.
20189         (gl_array_list_implementation): Update.
20190         * lib/gl_carray_list.c: Don't include xalloc.h.
20191         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
20192         Return NULL upon out-of-memory.
20193         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
20194         out-of-memory.
20195         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
20196         Change return type to 'int'.
20197         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
20198         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20199         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
20200         upon out-of-memory.
20201         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
20202         upon out-of-memory.
20203         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
20204         out-of-memory.
20205         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
20206         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
20207         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
20208         Update.
20209         (gl_carray_list_implementation): Update.
20210         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
20211         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
20212         gl_linked_create_empty. Return NULL upon out-of-memory.
20213         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
20214         out-of-memory.
20215         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
20216         Change return type to 'int'. Return -1 upon out-of-memory.
20217         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
20218         out-of-memory.
20219         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
20220         upon out-of-memory.
20221         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
20222         upon out-of-memory.
20223         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
20224         NULL upon out-of-memory.
20225         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
20226         upon out-of-memory.
20227         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
20228         out-of-memory.
20229         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
20230         Update.
20231         * lib/gl_linked_list.c: Don't include xalloc.h.
20232         (gl_linked_list_implementation): Update.
20233         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
20234         (add_to_bucket): Change return type to 'int'.
20235         (gl_linkedhash_list_implementation): Update.
20236         * lib/gl_anytree_list1.h (free_subtree): New function.
20237         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
20238         gl_tree_create_empty. Return NULL upon out-of-memory.
20239         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
20240         Change return type to 'int'. Return -1 upon out-of-memory.
20241         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
20242         out-of-memory.
20243         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
20244         (gl_tree_remove_node): New function, moved here from
20245         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
20246         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
20247         Update.
20248         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
20249         malloc, not xmalloc. Return NULL upon out-of-memory.
20250         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20251         out-of-memory.
20252         (gl_tree_remove_node_from_tree): New function, extracted from
20253         gl_tree_remove_node.
20254         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20255         upon out-of-memory.
20256         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20257         out-of-memory.
20258         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20259         upon out-of-memory.
20260         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20261         upon out-of-memory.
20262         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20263         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
20264         not xmalloc. Return NULL upon out-of-memory.
20265         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20266         out-of-memory.
20267         (gl_tree_remove_node_from_tree): New function, extracted from
20268         gl_tree_remove_node.
20269         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20270         upon out-of-memory.
20271         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20272         out-of-memory.
20273         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20274         upon out-of-memory.
20275         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20276         upon out-of-memory.
20277         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20278         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
20279         gl_anytree_list1.h before gl_anyavltree_list2.h.
20280         (gl_avltree_list_implementation): Update.
20281         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
20282         gl_anytree_list1.h before gl_anyavltree_list2.h.
20283         (gl_rbtree_list_implementation): Update.
20284         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
20285         Change return type to 'int'. Return -1 upon out-of-memory. Use
20286         __builtin_expect.
20287         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
20288         (gl_avltreehash_list_implementation): Update.
20289         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
20290         (gl_rbtreehash_list_implementation): Update.
20291         * modules/array-list (Depends-on): Remove xalloc.
20292         * modules/carray-list (Depends-on): Likewise.
20293         * modules/linked-list (Depends-on): Likewise.
20294         * modules/linkedhash-list (Depends-on): Likewise.
20295         * modules/avltree-list (Depends-on): Likewise.
20296         * modules/rbtree-list (Depends-on): Likewise.
20297         * modules/avltreehash-list (Depends-on): Likewise.
20298         * modules/rbtreehash-list (Depends-on): Likewise.
20299
20300         * modules/xsublist: New file.
20301         * lib/gl_xsublist.h: New file.
20302         * lib/gl_xsublist.c: New file.
20303         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
20304         (gl_sublist_nx_create): New declaration.
20305         * lib/gl_sublist.c: Don't include xalloc.h.
20306         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
20307         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
20308         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
20309         Change return type to 'int'. Return -1 upon out-of-memory.
20310         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
20311         upon out-of-memory.
20312         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
20313         NULL upon out-of-memory.
20314         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
20315         upon out-of-memory.
20316         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
20317         NULL upon out-of-memory.
20318         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
20319         NULL upon out-of-memory.
20320         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
20321         upon out-of-memory.
20322         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
20323         (gl_sublist_list_implementation): Update.
20324         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
20325         upon out-of-memory.
20326         * modules/sublist (Depends-on): Remove xalloc.
20327
20328         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
20329         * tests/test-carray_list.c: Likewise.
20330         * tests/test-linked_list.c: Likewise.
20331         * tests/test-linkedhash_list.c: Likewise.
20332         * tests/test-avltree_list.c: Likewise.
20333         * tests/test-rbtree_list.c: Likewise.
20334         * tests/test-avltreehash_list.c: Likewise.
20335         * tests/test-rbtreehash_list.c: Likewise.
20336         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
20337         * modules/carray-list-tests (Makefile.am): Likewise.
20338         * modules/linked-list-tests (Makefile.am): Likewise.
20339         * modules/linkedhash-list-tests (Makefile.am): Likewise.
20340         * modules/avltree-list-tests (Makefile.am): Likewise.
20341         * modules/rbtree-list-tests (Makefile.am): Likewise.
20342         * modules/avltreehash-list-tests (Makefile.am): Likewise.
20343         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
20344
20345         * NEWS: Mention the changes.
20346
20347         * lib/clean-temp.c: Include gl_xlist.h.
20348         * modules/clean-temp (Depends-on): Add xlist.
20349
20350         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
20351         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
20352
20353         * tests/test-array_oset.c: Include gl_xlist.h.
20354         * modules/array-oset-tests (Depends-on): Add xlist.
20355
20356         Reported by José E. Marchesi <jemarch@gnu.org>.
20357
20358 2009-12-13  Bruno Haible  <bruno@clisp.org>
20359
20360         Move the malloc checking from module 'oset' to new module 'xoset'.
20361         * modules/xoset: New file.
20362         * lib/gl_xoset.h: New file.
20363         * lib/gl_xoset.c: New file.
20364         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
20365         declarations.
20366         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
20367         (struct gl_oset_implementation): Rename and change methods accordingly.
20368         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
20369         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20370         'int'. Mark as __warn_unused_result__.
20371         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
20372         gl_oset_create_empty.
20373         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20374         'int'.
20375         * lib/gl_array_oset.c: Don't include xalloc.h.
20376         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
20377         malloc, not xmalloc.
20378         (grow): Change return type to 'int'. Don't call xalloc_die.
20379         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
20380         to 'int'.
20381         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
20382         'int'.
20383         (gl_array_oset_implementation): Update.
20384         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
20385         gl_tree_create_empty.
20386         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
20387         'int'.
20388         * lib/gl_avltree_oset.c: Don't include xalloc.h.
20389         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20390         xmalloc.
20391         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20392         not xmalloc.
20393         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20394         xmalloc.
20395         (gl_avltree_oset_implementation): Update.
20396         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
20397         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20398         xmalloc.
20399         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20400         not xmalloc.
20401         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20402         xmalloc.
20403         (gl_rbtree_oset_implementation): Update.
20404         * modules/array-oset (Depends-on): Remove xalloc.
20405         * modules/avltree-oset (Depends-on): Likewise.
20406         * modules/rbtree-oset (Depends-on): Likewise.
20407         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
20408         * tests/test-avltree_oset.c: Likewise.
20409         * tests/test-rbtree_oset.c: Likewise.
20410         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
20411         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
20412         * modules/rbtree-oset-tests (Makefile.am): Likewise.
20413         * NEWS: Mention the change.
20414
20415 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
20416
20417         maint.mk: allow a project to override release-prep commands
20418         * top/maint.mk (alpha, beta, stable): Move release-preparatory
20419         commands into a new rule.
20420         (release-prep): New rule.
20421         (release-prep-hook): New overridable variable.
20422
20423 2009-12-13  Bruno Haible  <bruno@clisp.org>
20424
20425         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
20426
20427 2009-12-13  Jim Meyering  <meyering@redhat.com>
20428
20429         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
20430         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
20431
20432 2009-12-12  Bruno Haible  <bruno@clisp.org>
20433
20434         duplocale: Tweak.
20435         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
20436
20437 2009-12-12  Karl Berry  <karl@gnu.org>
20438
20439         * config/srclist.txt (strtoll.c): tab changes, no more sync.
20440
20441 2009-12-12  Bruno Haible  <bruno@clisp.org>
20442
20443         * m4/po.m4: Undo incorrect untabification.
20444
20445 2009-12-12  Bruno Haible  <bruno@clisp.org>
20446
20447         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
20448         * modules/c-strtod (Depends-on): Add locale.
20449         * modules/c-strtold (Depends-on): Likewise.
20450
20451 2009-12-12  Bruno Haible  <bruno@clisp.org>
20452
20453         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
20454
20455 2009-12-11  Eric Blake  <ebb9@byu.net>
20456
20457         setenv: relax requirement in light of POSIX ruling
20458         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
20459         not NULL.
20460         * tests/test-setenv.c (main): Relax test.
20461         * tests/test-unsetenv.c (main): Likewise.
20462         * doc/posix-functions/setenv.texi (setenv): Document this.
20463         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20464
20465 2009-12-11  Bruno Haible  <bruno@clisp.org>
20466
20467         New module 'fd-safer-flag'.
20468         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
20469         * lib/dup-safer.c (dup_safer_flag): Remove function.
20470         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
20471         * lib/fd-safer.c (fd_safer_flag): Remove function.
20472         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
20473         * modules/cloexec (configure.ac): Drop indicator macro.
20474         * modules/fd-safer-flag: New file.
20475         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
20476         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
20477         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
20478
20479 2009-12-11  Bruno Haible  <bruno@clisp.org>
20480
20481         Tests for module 'nl_langinfo'.
20482         * modules/nl_langinfo-tests: New file.
20483         * tests/test-nl_langinfo.sh: New file.
20484         * tests/test-nl_langinfo.c: New file.
20485
20486         New module 'nl_langinfo'.
20487         * lib/nl_langinfo.c: New file.
20488         * m4/nl_langinfo.m4: New file.
20489         * modules/nl_langinfo: New file.
20490         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
20491
20492 2009-12-11  Bruno Haible  <bruno@clisp.org>
20493
20494         Tests for module 'langinfo'.
20495         * modules/langinfo-tests: New file.
20496         * tests/test-langinfo.c: New file.
20497
20498         New module 'langinfo'.
20499         * lib/langinfo.in.h: New file.
20500         * m4/langinfo_h.m4: New file.
20501         * modules/langinfo: New file.
20502         * doc/posix-headers/langinfo.texi: Mention the new module.
20503
20504 2009-12-11  Bruno Haible  <bruno@clisp.org>
20505
20506         * lib/config.charset: Untabify.
20507
20508 2009-12-11  Bruno Haible  <bruno@clisp.org>
20509
20510         * modules/unistd-safer (configure.ac): Drop indicator macro.
20511
20512 2009-12-11  Bruno Haible  <bruno@clisp.org>
20513
20514         Move pipe2-safer code to its own file.
20515         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
20516         * lib/pipe-safer.c (pipe2_safer): Remove function.
20517         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
20518         (Makefile.am): Add it to lib_SOURCES.
20519
20520 2009-12-10  Bruno Haible  <bruno@clisp.org>
20521
20522         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
20523
20524 2009-12-10  Bruno Haible  <bruno@clisp.org>
20525
20526         Declare which arguments expect non-NULL values, for GCC and clang.
20527         * build-aux/arg-nonnull.h: New file.
20528         * modules/arg-nonnull: New file.
20529         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
20530         (inet_ntop, inet_pton): Use it.
20531         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
20532         (closedir, dirfd, opendir, scandir, alphasort): Use it.
20533         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
20534         (open, openat): Use it.
20535         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
20536         (fnmatch): Use it.
20537         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
20538         (getopt, getopt_long, getopt_long_only): Use it.
20539         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
20540         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
20541         Use it.
20542         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
20543         (iconv_open): Use it.
20544         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
20545         (strtoimax, strtoumax): Use it.
20546         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
20547         (duplocale): Use it.
20548         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
20549         (frexp, frexpl): Use it.
20550         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
20551         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
20552         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
20553         (tsearch, tfind, tdelete, twalk): Use it.
20554         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
20555         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
20556         sigpending): Use it.
20557         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
20558         (posix_spawn, posix_spawnp, posix_spawnattr_init,
20559         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
20560         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
20561         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20562         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
20563         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
20564         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
20565         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
20566         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
20567         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
20568         Use it.
20569         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
20570         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
20571         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
20572         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
20573         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
20574         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
20575         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
20576         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
20577         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
20578         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
20579         strtoull, unsetenv): Use it.
20580         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
20581         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
20582         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
20583         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
20584         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
20585         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
20586         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
20587         (strcasecmp, strncasecmp): Use it.
20588         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
20589         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
20590         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
20591         rpl_setsockopt): Use it.
20592         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
20593         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
20594         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
20595         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
20596         (gettimeofday): Use it.
20597         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
20598         (times): Use it.
20599         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
20600         (uname): Use it.
20601         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
20602         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
20603         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
20604         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
20605         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
20606         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
20607         unlinkat, write): Use it.
20608         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
20609         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
20610         * lib/argv-iter.h: Include arg-nonnull.h.
20611         (_ATTRIBUTE_NONNULL_): Remove macro.
20612         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
20613         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
20614         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
20615         optimization.
20616         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
20617         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
20618         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
20619         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
20620         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
20621         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
20622         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
20623         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
20624         * modules/arpa_inet (Depends-on): Add arg-nonnull.
20625         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
20626         * modules/dirent (Depends-on): Add arg-nonnull.
20627         (Makefile.am): Insert arg-nonnull.h into dirent.h.
20628         * modules/fcntl-h (Depends-on): Add arg-nonnull.
20629         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
20630         * modules/fnmatch (Depends-on): Add arg-nonnull.
20631         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
20632         * modules/getopt-posix (Depends-on): Add arg-nonnull.
20633         (Makefile.am): Insert arg-nonnull.h into getopt.h.
20634         * modules/glob (Depends-on): Add arg-nonnull.
20635         (Makefile.am): Insert arg-nonnull.h into glob.h.
20636         * modules/iconv_open (Depends-on): Add arg-nonnull.
20637         (Makefile.am): Insert arg-nonnull.h into iconv.h.
20638         * modules/inttypes (Depends-on): Add arg-nonnull.
20639         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
20640         * modules/locale (Depends-on): Add arg-nonnull.
20641         (Makefile.am): Insert arg-nonnull.h into locale.h.
20642         * modules/math (Depends-on): Add arg-nonnull.
20643         (Makefile.am): Insert arg-nonnull.h into math.h.
20644         * modules/netdb (Depends-on): Add arg-nonnull.
20645         (Makefile.am): Insert arg-nonnull.h into netdb.h.
20646         * modules/search (Depends-on): Add arg-nonnull.
20647         (Makefile.am): Insert arg-nonnull.h into search.h.
20648         * modules/signal (Depends-on): Add arg-nonnull.
20649         (Makefile.am): Insert arg-nonnull.h into signal.h.
20650         * modules/spawn (Depends-on): Add arg-nonnull.
20651         (Makefile.am): Insert arg-nonnull.h into spawn.h.
20652         * modules/stdio (Depends-on): Add arg-nonnull.
20653         (Makefile.am): Insert arg-nonnull.h into stdio.h.
20654         * modules/stdlib (Depends-on): Add arg-nonnull.
20655         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
20656         * modules/string (Depends-on): Add arg-nonnull.
20657         (Makefile.am): Insert arg-nonnull.h into string.h.
20658         * modules/strings (Depends-on): Add arg-nonnull.
20659         (Makefile.am): Insert arg-nonnull.h into strings.h.
20660         * modules/sys_socket (Depends-on): Add arg-nonnull.
20661         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
20662         * modules/sys_stat (Depends-on): Add arg-nonnull.
20663         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
20664         * modules/sys_time (Depends-on): Add arg-nonnull.
20665         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
20666         * modules/sys_times (Depends-on): Add arg-nonnull.
20667         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
20668         * modules/sys_utsname (Depends-on): Add arg-nonnull.
20669         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
20670         * modules/time (Depends-on): Add arg-nonnull.
20671         (Makefile.am): Insert arg-nonnull.h into time.h.
20672         * modules/unistd (Depends-on): Add arg-nonnull.
20673         (Makefile.am): Insert arg-nonnull.h into unistd.h.
20674         * modules/wchar (Depends-on): Add arg-nonnull.
20675         (Makefile.am): Insert arg-nonnull.h into wchar.h.
20676         * modules/argv-iter (Depends-on): Add arg-nonnull.
20677         * tests/test-canonicalize.c (null_ptr): New function.
20678         (main): Use it.
20679         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
20680         (main): Use it.
20681         * tests/test-memmem.c (null_ptr): New function.
20682         (main): Use it.
20683         Reported by Jim Meyering.
20684
20685 2009-12-10  Bruno Haible  <bruno@clisp.org>
20686
20687         Use spaces for indentation, not tabs.
20688         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20689         * m4/*.m4: Untabify.
20690         * build-aux/*.h: Untabify.
20691         * tests/**/*.[hc]: Untabify.
20692         * README: New section "Indent with spaces, not TABs", based on
20693         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
20694         * NEWS: Mention the change.
20695
20696 2009-12-10  Bruno Haible  <bruno@clisp.org>
20697
20698         pty test: Fix link error.
20699         * modules/pty-tests (Makefile.am): Add the default LDADD value to
20700         test_pty_LDADD.
20701
20702 2009-12-07  Simon Josefsson  <simon@josefsson.org>
20703
20704         * modules/pty: New file.
20705         * modules/pty-tests: New file.
20706         * m4/pty.m4: New file.
20707         * tests/test-pty.c: New file.
20708         * doc/glibc-headers/pty.texi: Modified.
20709         * doc/glibc-functions/forkpty.texi: Modified.
20710         * doc/glibc-functions/openpty.texi: Modified.
20711
20712 2009-12-10  Bruno Haible  <bruno@clisp.org>
20713
20714         Avoid syntax error in C++ mode.
20715         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
20716
20717 2009-12-10  Bruno Haible  <bruno@clisp.org>
20718
20719         Use sed with option -e.
20720         * gnulib-tool (func_version, func_emit_copyright_notice,
20721         func_emit_initmacro_end, func_import, func_create_testdir): Pass
20722         option -e to sed.
20723         * modules/link-warning (Makefile.am): Likewise.
20724
20725 2009-12-10  Jim Meyering  <meyering@redhat.com>
20726
20727         mgetgroups: do not write bytes beyond end of malloc'd buffer
20728         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
20729         username, we call getgroups with a one-element-shorter buffer,
20730         but still told it the length was original, max_n_groups.
20731
20732 2009-12-09  Eric Blake  <ebb9@byu.net>
20733
20734         cloexec: relax license
20735         * modules/cloexec (Maintainer): Add myself.
20736         (License): Use LGPL, not GPL.
20737
20738         link-warning: optimize generation
20739         * modules/link-warning (Makefile.am): Reduce process usage.
20740
20741 2009-12-09  Bruno Haible  <bruno@clisp.org>
20742
20743         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
20744         workaround was added on 2009-11-17.
20745
20746 2009-12-09  Jim Meyering  <meyering@redhat.com>
20747             Bruno Haible  <bruno@clisp.org>
20748
20749         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
20750         * modules/link-warning (Makefile.am): Make the comment-removing sed
20751         command more robust in the face of bootstrap-prepended comment lines.
20752
20753 2009-12-09  Bruno Haible  <bruno@clisp.org>
20754
20755         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
20756         most one group.
20757
20758 2009-12-09  Simon Josefsson <simon@josefsson.org>
20759             Bruno Haible  <bruno@clisp.org>
20760
20761         * build-aux/link-warning.h: Add copyright notice.
20762         * modules/link-warning (Makefile.am): Generate link-warning.h from
20763         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
20764         * NEWS: Mention change in link-warning module.
20765         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
20766         * modules/dirent (Makefile.am): Add dependency to dirent.h.
20767         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
20768         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
20769         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
20770         * modules/math (Makefile.am): Add dependency to math.h.
20771         * modules/search (Makefile.am): Add dependency to search.h.
20772         * modules/signal (Makefile.am): Add dependency to signal.h.
20773         * modules/spawn (Makefile.am): Add dependency to spawn.h.
20774         * modules/stdio (Makefile.am): Add dependency to stdio.h.
20775         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
20776         * modules/string (Makefile.am): Add dependency to string.h.
20777         * modules/strings (Makefile.am): Add dependency to strings.h.
20778         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
20779         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
20780         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
20781         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
20782         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
20783         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
20784         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
20785         * modules/unistd (Makefile.am): Add dependency to unistd.h.
20786         * modules/wchar (Makefile.am): Add dependency to wchar.h.
20787
20788 2009-12-09  Bruno Haible  <bruno@clisp.org>
20789
20790         fchdir: Optimize away rpl_fstat when possible.
20791         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
20792         REPLACE_OPEN_DIRECTORY.
20793         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
20794
20795 2009-12-09  Bruno Haible  <bruno@clisp.org>
20796
20797         * lib/fchdir.c: Update comment.
20798
20799 2009-12-09  Bruno Haible  <bruno@clisp.org>
20800
20801         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20802
20803 2009-12-08  Eric Blake  <ebb9@byu.net>
20804
20805         fchdir: avoid memory leak on re-registration.
20806         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20807
20808 2009-12-08  Jim Meyering  <meyering@redhat.com>
20809
20810         init.sh: avoid Solaris 10 /bin/sh portability problem
20811         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20812         sourced script:
20813           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20814           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20815           bar
20816         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20817         and two tests used that idiom.
20818         * tests/init.sh: Update suggested usage comments.
20819         (path_prepend_): New function, to be used in place
20820         of the --src-path=DIR option.
20821         (setup_): Move PATH-prepending code into path_prepend_.
20822         * tests/test-pread.sh: Adapt to new usage.
20823         * tests/test-xalloc-die.sh: Likewise.
20824
20825 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20826
20827         * doc/gnulib.texi (Glibc pty.h): Add.
20828         * doc/glibc-functions/forkpty.texi: Add.
20829         * doc/glibc-functions/openpty.texi: Add.
20830         Suggested by Bruno Haible.
20831
20832 2009-12-08  Eric Blake  <ebb9@byu.net>
20833
20834         fchdir: fix logic bugs
20835         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20836         * tests/test-fchdir.c (main): Enhance test.
20837         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20838         is in use.
20839
20840         dup2: fix logic bugs
20841         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20842         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20843         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20844         exists.
20845         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20846
20847 2009-12-07  Eric Blake  <ebb9@byu.net>
20848
20849         unlink: fix m4 detection
20850         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20851
20852         unistd-safer: add unit test
20853         * modules/unistd-safer-tests: New file.
20854         * tests/test-dup-safer.c: Likewise.
20855         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20856         * tests/test-dup2.c (setmode): Likewise.
20857         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20858
20859         cloexec: preserve text vs. binary across dup_cloexec
20860         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20861         mode.
20862         * modules/dup2-tests (Depends-on): Add binary-io.
20863         * modules/cloexec-tests (Depends-on): Likewise.
20864         * tests/test-dup2.c (setmode, is_mode): New helpers.
20865         (main): Add tests that translation mode is preserved.
20866         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20867         Reported by Bruno Haible.
20868
20869         mgetgroups: reduce duplicate listings
20870         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20871         resulting array.
20872         * tests/test-chown.h (test_chown): Simplify client.
20873         * tests/test-lchown.h (test_lchown): Likewise.
20874
20875 2009-12-06  Bruno Haible  <bruno@clisp.org>
20876
20877         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20878         value.
20879
20880 2009-12-06  Bruno Haible  <bruno@clisp.org>
20881
20882         * lib/progname.c: Include stdio.h, stdlib.h.
20883         (set_program_name): Reject a NULL argument.
20884
20885 2009-12-05  Eric Blake  <ebb9@byu.net>
20886
20887         pipe2-safer: new module
20888         * modules/pipe2-safer: New file.
20889         * lib/unistd-safer.h (pipe2_safer): New prototype.
20890         * lib/unistd--.h (pipe2): New wrapper.
20891         * lib/pipe-safer.c (pipe2_safer): New function.
20892         * modules/pipe (Depends-on): Add pipe2-safer.
20893         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20894
20895         stdlib-safer: preserve cloexec flag for mkostemp[s]
20896         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20897         fd_safer_flag.
20898
20899         unistd-safer: allow preservation of cloexec status via flag
20900         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20901         prototypes.
20902         * lib/dup-safer.c (dup_safer_flag): New function.
20903         * lib/fd-safer.c (fd_safer_flag): Likewise.
20904         * modules/cloexec (configure.ac): Set witness.
20905
20906         test-dup2: enhance test
20907         * modules/dup2-tests (Depends-on): Add cloexec.
20908         * tests/test-dup2.c (main): Enhance test.
20909
20910         cloexec: add dup_cloexec
20911         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20912         header and comments.
20913         * lib/cloexec.c (set_cloexec_flag): Add comments.
20914         (dup_cloexec): New function, with mingw implementation borrowed
20915         from...
20916         * lib/w32spawn.h (dup_noinherit): ...here.
20917         * modules/execute (Depends-on): Add cloexec.
20918         * modules/pipe (Depends-on): Likewise.
20919         * modules/cloexec (Depends-on): Add dup2.
20920         * modules/cloexec-tests (Files): New file.
20921         * tests/test-cloexec.c: Likewise.
20922
20923         test-xalloc-die: fix test for mingw
20924         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20925         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20926         directory and .exe suffix off argv[0] output.
20927
20928         test-fseeko: fix test for mingw
20929         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20930         than undefining fseek, so test will pass on mingw.
20931
20932 2009-12-05  Bruno Haible  <bruno@clisp.org>
20933
20934         * lib/progname.h (set_program_name): Clarify specification.
20935         * lib/progname.c (set_program_name): Likewise.
20936         Reported by Jim Meyering.
20937
20938 2009-12-05  Jim Meyering  <meyering@redhat.com>
20939
20940         maint.mk: backslash-escape parens in default regexp
20941         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20942         backslash-escape the literal parentheses.
20943
20944         maint.mk: news-date-check: use grep -E
20945         * top/maint.mk (today): Define a Make variable, not a...
20946         (news-date-check): ...shell variable.
20947         (news-date-regexp): Use the Make variable.
20948         Use grep's -E option.  Change the failing diagnostic to mention
20949         the variable, $(news-date-regexp).
20950
20951 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20952
20953         maintainer-makefile: allow customization of NEWS entry format
20954         * top/maint.mk (news-date-regexp): New overridable variable.
20955         (news-date-check): Use it.
20956
20957 2009-12-04  Eric Blake  <ebb9@byu.net>
20958
20959         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20960         * lib/mgetgroups.h (xgetgroups): New prototype.
20961         * lib/mgetgroups.c (xgetgroups): New wrapper.
20962         (mgetgroups): Handle ENOSYS.
20963         * modules/mgetgroups (Depends-on): Add realloc.
20964         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20965
20966         mgetgroups: avoid argument promotion issues with -1
20967         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20968         for invalid gid_t.
20969         * tests/test-chown.h (getegid, test_chown): Likewise.
20970         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20971
20972 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20973
20974         exclude: Fix header file problems.
20975         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20976
20977 2009-12-01  Jim Meyering  <meyering@redhat.com>
20978
20979         fts: fts_open: do not let an empty string cause immediate failure
20980         This is required in support of GNU rm, for which the command
20981         "rm A '' B" must process and remove both A and B, in spite of
20982         the empty string argument.
20983         * lib/fts.c (fts_open): Do not let the presence of an empty string
20984         cause fts_open to fail immediately.  Most fts-using tools must be
20985         able to process all arguments, in order, and can be expected to
20986         diagnose such arguments themselves.
20987
20988 2009-11-30  Eric Blake  <ebb9@byu.net>
20989
20990         utimens: fix compilation error
20991         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20992         Declare variable at right scope.
20993
20994 2009-11-29  Jim Meyering  <meyering@redhat.com>
20995
20996         bootstrap: handle perl-5.11's changed --version output
20997         * build-aux/bootstrap (get_version): Handle perl separately,
20998         since perl-5.11's --version output is different.
20999
21000 2009-11-28  Jim Meyering  <meyering@redhat.com>
21001
21002         userspec: depend on the inttostr module, too
21003         * modules/userspec (Depends-on): Add inttostr.
21004
21005         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
21006         * lib/userspec.c (parse_with_separator): Do not accept a user ID
21007         number of MAXUID when it evaluates to (uid_t) -1.
21008         Likewise for group ID.  Reported by Matt McCutchen in
21009         <http://savannah.gnu.org/bugs/?28113>
21010
21011         userspec: reformat to use spaces, not TABs
21012         * lib/userspec.c: Expand TABs to spaces.
21013         Add Emacs' "indent-tabs-mode: nil" hint.
21014
21015 2009-11-27  Eric Blake  <ebb9@byu.net>
21016
21017         getopt-gnu: flush out another BSD bug
21018         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
21019         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
21020         flush out BSD bug.
21021         * tests/test-getopt.h (test_getopt): End lists with NULL.
21022         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21023         (test_getopt_long_posix): Enhance test.
21024         * modules/getopt-posix-tests (Depends-on): Add stdbool.
21025         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
21026         getopt-gnu.
21027         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21028         Likewise.
21029
21030 2009-11-27  Simon Josefsson  <simon@josefsson.org>
21031
21032         * modules/idpriv-droptemp-tests (Notice): Fix text.
21033
21034 2009-11-27  Jim Meyering  <meyering@redhat.com>
21035
21036         test-xalloc-die: avoid spurious failure due to libtool argv difference
21037         In a libtool-enabled project, this test would fail due to a difference
21038         in the emitted program name, e.g.,
21039         -test-xalloc-die: memory exhausted
21040         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
21041         Use program to avoid that.
21042         * modules/xalloc-die-tests (Depends-on): Add progname.
21043         * tests/test-xalloc-die.c: Include progname.h".
21044         (program_name): Remove decl.
21045         (main): Call set_program_name.
21046         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
21047
21048 2009-11-26  Richard Jones  <rjones@redhat.com>
21049
21050         w32sock: leave win32 error in place.
21051         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
21052
21053 2009-11-26  Eric Blake  <ebb9@byu.net>
21054
21055         init.sh: suggest to use skip_ and fail_ functions in comments
21056         * tests/init.sh: Add a sentence.
21057
21058 2009-11-25  Bruno Haible  <bruno@clisp.org>
21059
21060         init.sh: add documentation in comments
21061         * tests/init.sh: Add some developer and user documentation.
21062
21063 2009-11-26  Jim Meyering  <meyering@redhat.com>
21064
21065         init.sh: accommodate even those who specify bogus srcdir manually
21066         * tests/init.sh: Normally, srcdir is guaranteed by automake and
21067         configure-time tests to be sanitized, so that there is no need to
21068         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
21069         (with no double quotes) suffices.  However, since tests may be
21070         invoked manually, and since you may explicitly set srcdir to the
21071         name of a directory containing spaces, do quote its uses here.
21072         * tests/test-pread.sh: Likewise.
21073         Suggested by Bruno Haible.
21074
21075         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
21076         * tests/test-pread.sh: Write no data into the pipe, because
21077         test-pread actually reads none.  This avoids a diagnostic,
21078         "bash: echo: write error: Broken pipe", that arises in the unusual
21079         event something is ignoring SIGPIPE, and might be interpreted
21080         as some sort of failure.  Reported by Bruno Haible.
21081
21082 2009-11-25  Jim Meyering  <meyering@redhat.com>
21083
21084         test-pread: cover failure with ESPIPE and EINVAL
21085         * tests/test-pread.c (main): Test for failure, too.
21086         * tests/test-pread.sh: Invoke with stdin on a pipe.
21087         Suggested by Eric Blake.
21088
21089         pread: improvement and fix
21090         * modules/pread (Depends-on): Depend on lseek, for portability to
21091         e.g., mingw.  Suggested by Eric Blake.
21092         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
21093
21094         unistd.in.h: correct declaration of pread
21095         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
21096         Reported by Richard W.M. Jones.
21097
21098         test-pread.sh: distribute the test script
21099         * modules/pread-tests (Files): Include test-pread.sh.
21100
21101         test-pread.sh: clean up
21102         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
21103         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
21104         That is unnecessary, since it's always ".".
21105         Suggestion from Eric Blake.
21106
21107         test-pread.sh: make executable
21108         * tests/test-pread.sh: Set executable bit.
21109         Reported by Eric Blake.
21110
21111         correct typo in test-pread.sh
21112         * tests/test-pread.sh: Add #! line.
21113
21114         test pread
21115         * tests/test-pread.c: New file.
21116         * tests/test-pread.sh: Likewise.
21117         * modules/pread-tests: Likewise.
21118
21119         pread: new module
21120         * modules/pread: New file.
21121         * lib/unistd.in.h (pread): Define/declare.
21122         * lib/pread.c (pread): New file.
21123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
21124         * modules/unistd (Makefile.am): Substitute witnesses.
21125         * doc/posix-functions/pread.texi (pread): Update.
21126         * MODULES.html.sh: Add pread.
21127
21128 2009-11-25  Jim Meyering  <meyering@redhat.com>
21129
21130         tests/init.sh: new file to be used via most *.sh tests
21131         * tests/init.sh: New file.
21132
21133 2009-11-25  Eric Blake  <ebb9@byu.net>
21134
21135         utimens: work around older Linux failure with symlinks
21136         * lib/utimens.c (lutimensat_works_really): New variable.
21137         (fdutimens, lutimens): Use it to manage kernels that support
21138         nanosecond times on files, but not on symlinks.
21139         Reported by Ondřej Vašík.
21140
21141         utimes: fix configure grammar
21142         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
21143
21144 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
21145
21146         regex: Fix fastmap for multibyte character ranges.
21147         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
21148         characters when a multibyte character range is included.
21149
21150 2009-11-22  Andy Wingo  <wingo@pobox.com>
21151
21152         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
21153         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
21154
21155 2009-11-24  Bruno Haible  <bruno@clisp.org>
21156
21157         doc: Most *_l functions exist in MacOS X 10.5.
21158         * doc/posix-functions/duplocale.texi: Update platforms list.
21159         * doc/posix-functions/freelocale.texi: Likewise.
21160         * doc/posix-functions/newlocale.texi: Likewise.
21161         * doc/posix-functions/uselocale.texi: Likewise.
21162         * doc/posix-functions/isalnum_l.texi: Likewise.
21163         * doc/posix-functions/isalpha_l.texi: Likewise.
21164         * doc/posix-functions/isblank_l.texi: Likewise.
21165         * doc/posix-functions/iscntrl_l.texi: Likewise.
21166         * doc/posix-functions/isdigit_l.texi: Likewise.
21167         * doc/posix-functions/isgraph_l.texi: Likewise.
21168         * doc/posix-functions/islower_l.texi: Likewise.
21169         * doc/posix-functions/isprint_l.texi: Likewise.
21170         * doc/posix-functions/ispunct_l.texi: Likewise.
21171         * doc/posix-functions/isspace_l.texi: Likewise.
21172         * doc/posix-functions/isupper_l.texi: Likewise.
21173         * doc/posix-functions/iswalnum_l.texi: Likewise.
21174         * doc/posix-functions/iswalpha_l.texi: Likewise.
21175         * doc/posix-functions/iswblank_l.texi: Likewise.
21176         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21177         * doc/posix-functions/iswctype_l.texi: Likewise.
21178         * doc/posix-functions/iswdigit_l.texi: Likewise.
21179         * doc/posix-functions/iswgraph_l.texi: Likewise.
21180         * doc/posix-functions/iswlower_l.texi: Likewise.
21181         * doc/posix-functions/iswprint_l.texi: Likewise.
21182         * doc/posix-functions/iswpunct_l.texi: Likewise.
21183         * doc/posix-functions/iswspace_l.texi: Likewise.
21184         * doc/posix-functions/iswupper_l.texi: Likewise.
21185         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21186         * doc/posix-functions/isxdigit_l.texi: Likewise.
21187         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
21188         * doc/posix-functions/strcasecmp_l.texi: Likewise.
21189         * doc/posix-functions/strcoll_l.texi: Likewise.
21190         * doc/posix-functions/strfmon_l.texi: Likewise.
21191         * doc/posix-functions/strftime_l.texi: Likewise.
21192         * doc/posix-functions/strncasecmp_l.texi: Likewise.
21193         * doc/posix-functions/strxfrm_l.texi: Likewise.
21194         * doc/posix-functions/tolower_l.texi: Likewise.
21195         * doc/posix-functions/toupper_l.texi: Likewise.
21196         * doc/posix-functions/towctrans_l.texi: Likewise.
21197         * doc/posix-functions/towlower_l.texi: Likewise.
21198         * doc/posix-functions/towupper_l.texi: Likewise.
21199         * doc/posix-functions/wcscoll_l.texi: Likewise.
21200         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21201         * doc/posix-functions/wctrans_l.texi: Likewise.
21202         * doc/posix-functions/wctype_l.texi: Likewise.
21203         * doc/glibc-functions/strptime_l.texi: Likewise.
21204         * doc/glibc-functions/strtod_l.texi: Likewise.
21205         * doc/glibc-functions/strtof_l.texi: Likewise.
21206         * doc/glibc-functions/strtol_l.texi: Likewise.
21207         * doc/glibc-functions/strtold_l.texi: Likewise.
21208         * doc/glibc-functions/strtoll_l.texi: Likewise.
21209         * doc/glibc-functions/strtoul_l.texi: Likewise.
21210         * doc/glibc-functions/strtoull_l.texi: Likewise.
21211         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21212         * doc/glibc-functions/wcstod_l.texi: Likewise.
21213         * doc/glibc-functions/wcstof_l.texi: Likewise.
21214         * doc/glibc-functions/wcstol_l.texi: Likewise.
21215         * doc/glibc-functions/wcstold_l.texi: Likewise.
21216         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21217         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21218         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21219
21220 2009-11-24  Bruno Haible  <bruno@clisp.org>
21221
21222         duplocale: Fix logic bug.
21223         * lib/duplocale.c: Don't include <langinfo.h>.
21224         (_NL_LOCALE_NAME): Remove macro.
21225         (rpl_duplocale): Use setlocale instead of nl_langinfo.
21226         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
21227
21228 2009-11-23  Jim Meyering  <meyering@redhat.com>
21229
21230         test-update-copyright: don't hard-code /usr/bin/perl
21231         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
21232         perl to print the current year.  Gilles Espinasse reported that
21233         the replaced use of perl was hard-coded as /usr/bin/perl.
21234
21235 2009-11-23  Bruno Haible  <bruno@clisp.org>
21236
21237         duplocale: Add support for glibc 2.3.x.
21238         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
21239
21240 2009-11-22  Bruno Haible  <bruno@clisp.org>
21241
21242         vasnprintf: Tiny optimization.
21243         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
21244         MacOS X.
21245
21246 2009-11-22  Bruno Haible  <bruno@clisp.org>
21247
21248         Tests for module 'duplocale'.
21249         * modules/duplocale-tests: New file.
21250         * tests/test-duplocale.c: New file.
21251
21252         New module 'duplocale'.
21253         * m4/duplocale.m4: New file.
21254         * lib/locale.in.h (duplocale): New declaration.
21255         * lib/duplocale.c: New file.
21256         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
21257         gl_LOCALE_H_DEFAULTS): New macros.
21258         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
21259         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21260         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
21261         REPLACE_DUPLOCALE.
21262         * modules/duplocale: New file.
21263         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
21264
21265 2009-11-22  Bruno Haible  <bruno@clisp.org>
21266
21267         * modules/locale-tests (configure.ac): Test for newlocale function.
21268         * tests/test-locale.c: When the system has extended locale functions,
21269         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
21270
21271         locale: Make locale_t available when possible.
21272         * lib/locale.in.h: Include <xlocale.h> when it exists.
21273         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
21274         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
21275         * modules/locale (Depends-on): Add extensions.
21276         (Makefile.am): Also substitute HAVE_XLOCALE_H.
21277         * doc/posix-headers/locale.texi: Document the problem with locale_t.
21278
21279 2009-11-22  Bruno Haible  <bruno@clisp.org>
21280
21281         Add comments.
21282         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
21283         invocation.
21284         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
21285         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21286         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21287
21288 2009-11-22  Bruno Haible  <bruno@clisp.org>
21289
21290         error: account for the possibility of freopen (stdout).
21291         * lib/error.c: Include <unistd.h>.
21292         (flush_stdout): New function, extracted from error and error_at_line.
21293         Determine stdout's fd dynamically.
21294         (error, error_at_line): Invoke flush_stdout.
21295         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
21296         * modules/error (Depends-on): Add unistd.
21297
21298 2009-11-22  Bruno Haible  <bruno@clisp.org>
21299
21300         diffseq: Add comment.
21301         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
21302
21303 2009-11-22  Jim Meyering  <meyering@redhat.com>
21304
21305         c-stack: avoid defining an unused static function
21306         * lib/c-stack.c (find_stack_direction): Do not define this function
21307         when it will not be used.
21308
21309         diffseq: avoid spurious gcc warnings
21310         * lib/diffseq.h (IF_LINT2): Define.
21311         (compareseq): Use it to initialize two members of "part".
21312         This avoids two used-uninitialized warnings.
21313
21314 2009-11-21  Jim Meyering  <meyering@redhat.com>
21315
21316         c-stack: avoid "ignoring return value of `write'" warning
21317         * lib/c-stack.c: Include "ignore-value.h".
21318         (die): Explicitly ignore each write return value.
21319         * modules/c-stack (Depends-on): Add ignore-value.
21320
21321 2009-11-21  Bruno Haible  <bruno@clisp.org>
21322
21323         diffseq: reduce scope of variable 'best'.
21324         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
21325         variable, earlier used for two different purposes.
21326
21327 2009-11-21  Jim Meyering  <meyering@redhat.com>
21328
21329         diffseq: remove useless assignment to "best"
21330         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
21331         assignment.  At that point "best" is already guaranteed to be zero.
21332
21333 2009-11-20  Eric Blake  <ebb9@byu.net>
21334
21335         build: mention ftp redirector in release announcements
21336         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
21337         values that used to come from cfg.mk; mention FTP redirect URL.
21338         * build-aux/announce-gen: Mention the mirror list.
21339         Suggested by Karl Berry.
21340
21341         nanosleep: improve port to mingw
21342         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
21343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
21344         LIB_NANOSLEEP, but only when needed.
21345         * modules/select (Link): Document LIBSOCKET.
21346         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
21347         enough.
21348
21349         nanosleep: work around cygwin bug
21350         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
21351         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
21352         bug.
21353         (getnow): Delete, not needed.
21354         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
21355         LIB_CLOCK_GETTIME.
21356         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
21357         clock-time, gettime.
21358         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
21359         bug.
21360         * modules/nanosleep-tests: New test.
21361         * tests/test-nanosleep.c: New file.
21362
21363         sleep: work around cygwin bug
21364         * lib/sleep.c (rpl_sleep): Work around the bug.
21365         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
21366         (gl_PREREQ_SLEEP): Delete unused macro.
21367         * modules/sleep (Depends-on): Add verify.
21368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21369         * modules/unistd (Makefile.am): Substitute witness.
21370         * lib/unistd.in.h (sleep): Update prototype.
21371         * doc/posix-functions/sleep.texi (sleep): Document the bug.
21372         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
21373         * modules/sleep-tests (Depends-on): Check for alarm.
21374
21375 2009-11-20  Jim Meyering  <meyering@redhat.com>
21376
21377         maint.mk: improve sc_prohibit_magic_number_exit
21378         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
21379         so it does not match uses like System.exit(1).
21380         Add comments showing how to correct all offenders.
21381
21382 2009-11-19  Eric Blake  <ebb9@byu.net>
21383
21384         xalloc-die-tests: add missing library
21385         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
21386
21387         test-xvasprintf: silence compiler warnings
21388         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
21389         empty string from gcc.
21390
21391 2009-11-19  Jim Meyering  <meyering@redhat.com>
21392
21393         xfreopen: new module, from coreutils
21394         * modules/xfreopen: New module.
21395         * lib/xfreopen.c: New file.
21396         * lib/xfreopen.h: New file.
21397         * MODULES.html.sh (File stream based Input/Output"): Add it.
21398
21399 2009-11-19  Eric Blake  <ebb9@byu.net>
21400
21401         manywarnings: depend on warnings
21402         * modules/manywarnings (Depends-on): Add warnings.
21403
21404         build: avoid compiler warnings
21405         * lib/select.c (rpl_select): Delete unused variable.
21406         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
21407
21408 2009-11-18  Eric Blake  <ebb9@byu.net>
21409
21410         tests: avoid false negative with --with-packager
21411         * tests/test-version-etc.sh: Discard packager information.
21412         * tests/test-argp-version-etc-1.sh: Likewise.
21413         Reported by Mike Frysinger.
21414
21415         utimens: fix regression on Solaris
21416         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
21417         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
21418         can only change fd timestamps via futimesat.  Instead, use an
21419         additional witness macro to avoid BSD bug.
21420         Reported by Jim Meyering.
21421
21422 2009-11-17  Eric Blake  <ebb9@byu.net>
21423
21424         usleep: use it to simplify tests
21425         * modules/stat-time-tests (Depends-on): Add usleep.
21426         (configure.ac): Drop usleep check.
21427         * modules/chown-tests (Depends-on, configure.ac): Likewise.
21428         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
21429         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
21430         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
21431         * modules/openat-tests (Depends-on, configure.ac): Likewise.
21432         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
21433         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
21434         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
21435         Likewise.
21436         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
21437         * tests/test-lchown.h (nap): Likewise.
21438         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
21439         * tests/test-stat-time.c (nap): Likewise.
21440         * tests/test-utimens-common.h (nap): Update comments.
21441
21442         usleep: new module
21443         * modules/usleep: New file.
21444         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
21445         * lib/usleep.c (usleep): Likewise.
21446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
21447         * modules/unistd (Makefile.am): Substitute witnesses.
21448         * lib/unistd.in.h (usleep): Add declaration.
21449         * doc/pastposix-functions/usleep.texi (usleep): Document this.
21450         * MODULES.html.sh (Date and time): Likewise.
21451         * modules/usleep-tests (Depends-on): New test.
21452         * tests/test-usleep.c: New file.
21453
21454         chown: work around OpenBSD bug
21455         * lib/chown.c (rpl_chown): Work around the bug.
21456         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
21457         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
21458         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
21459         * modules/chown (Depends-on): Add stdbool.
21460         * modules/lchown (Depends-on): Likewise.
21461         * doc/posix-functions/chown.texi (chown): Document the bug.
21462         * doc/posix-functions/lchown.texi (lchown): Likewise.
21463         * tests/test-lchown.h (test_chown): Relax test.
21464
21465         mkstemp: avoid conflict with C++ keyword template
21466         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
21467         * lib/mkostemp.c (mkostemp): Likewise.
21468         * lib/mkostemps.c (mkostemps): Likewise.
21469         * lib/mkstemp.c (mkstemp): Likewise.
21470         * lib/mkstemps.c (mkstemps): Likewise.
21471
21472         xalloc-die-tests: optimize
21473         * tests/test-xalloc-die.sh: Reduce number of processes.
21474
21475 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21476
21477         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
21478         patch from ludo@gnu.org (Ludovic Courtès).
21479
21480 2009-11-17  Jim Meyering  <meyering@redhat.com>
21481
21482         version-etc: use proper license string
21483         * modules/version-etc (License): Use LGPL, not LGPLv3+.
21484         * modules/version-etc-fsf: Likewise.
21485
21486 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21487
21488         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
21489         printed to stdout.  Deal with EOL differences.
21490
21491 2009-11-17  Eric Blake  <ebb9@byu.net>
21492
21493         unsetenv: work around Solaris bug
21494         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
21495         * lib/unsetenv.c (rpl_unsetenv): Work around it.
21496         Reported by Jim Meyering.
21497
21498         vasnprintf: avoid compiler warnings
21499         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
21500         variables.
21501         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
21502
21503 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21504
21505         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
21506         settings since xalloc-die is no longer the self test,
21507         xalloc-die.sh is.
21508
21509 2009-11-17  Jim Meyering  <meyering@redhat.com>
21510
21511         test-xalloc-die.sh: make the code agree with the commit log
21512         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
21513         at the end, just in case you happen to have a test-xalloc-die
21514         program in some other PATH directory.
21515
21516         test-xalloc-die.sh: fix a portability bug
21517         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
21518         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
21519         Otherwise, argv[0] (as often seen in diagnostics) would be too
21520         system-dependent, sometimes with, and sometimes without the leading "./".
21521
21522         version-etc-fsf: relax license to LGPLv3+
21523         * modules/version-etc-fsf (License): Relax license.
21524
21525 2009-11-16  Eric Blake  <ebb9@byu.net>
21526
21527         xalloc-die-tests: avoid printing null pointer
21528         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
21529         shell script.
21530         * tests/test-xalloc-die.c (program_name): Declare.
21531         * tests/test-xalloc-die.sh (tmpfiles): New file.
21532
21533         setenv, unsetenv: work around various bugs
21534         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
21535         (setenv) [HAVE_SETENV]: Work around bugs.
21536         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
21537         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
21538         for bugs.
21539         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
21540         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
21541         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
21542         * modules/stdlib (Makefile.am): Update substitutions.
21543         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
21544         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
21545         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21546         * modules/setenv-tests: New test.
21547         * modules/unsetenv-tests: Likewise.
21548         * tests/test-setenv.c: New file.
21549         * tests/test-unsetenv.c: Likewise.
21550
21551 2009-11-16  Jim Meyering  <meyering@redhat.com>
21552
21553         version-etc: relax license to LGPLv3+
21554         * modules/version-etc (License): Relax license.
21555
21556         better AC_REQUIRE expanded-before-required-warning avoidance
21557         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
21558         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
21559         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
21560         which is no longer needed.
21561
21562 2009-11-16  Eric Blake  <ebb9@byu.net>
21563
21564         test-freading: clean up temporary file
21565         * tests/test-freading.c (main): Remove file on success, and use
21566         ASSERT more liberally.
21567         Reported by Jim Meyering.
21568
21569 2009-11-16  Jim Meyering  <meyering@redhat.com>
21570
21571         avoid new AC_REQUIRE expanded-before-required warnings
21572         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
21573         merely using it.
21574         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
21575         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
21576
21577 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21578
21579         * tests/test-xalloc-die.c: New file.
21580         * modules/xalloc-die-tests: New file.
21581         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
21582         XFAIL_TESTS so it can be appended by modules.
21583
21584 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21585
21586         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
21587         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
21588
21589 2009-11-14  Eric Blake  <ebb9@byu.net>
21590
21591         fnmatch: avoid compiler warning
21592         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
21593         to silence compiler warning about mismatch signedness in ?:.
21594         Reported by Robert Millan.
21595
21596         intprops: add double-inclusion guard
21597         * lib/intprops.h: Allow idempotent includes.
21598         Suggested by Bruce Korb.
21599
21600         openat: detect Solaris fchownat bug
21601         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
21602         penalizing glibc chownat when only lchownat is broken.
21603         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
21604         trailing slash bugs.
21605         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
21606         * modules/openat-tests (Files): Include more files.
21607         (Depends-on): Add mgetgroups, sleep, stat-time.
21608         (configure.ac): Add additional checks.
21609         (Makefile.am): Build new test.
21610         * tests/test-fchownat.c: New file.
21611
21612         lchown: detect Solaris and FreeBSD bug
21613         * lib/lchown.c (rpl_lchown): Work around bug.
21614         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
21615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21616         * modules/unistd (Makefile.am): Populate it.
21617         * lib/unistd.in.h (lchown): Update declaration.
21618         * doc/posix-functions/lchown.texi (lchown): Document the bug.
21619         * modules/lchown-tests: New file.
21620         * tests/test-lchown.h (test_lchown): Likewise.
21621         * tests/test-lchown.c (main): Likewise.
21622
21623         chown: detect Solaris and FreeBSD bug
21624         * lib/chown.c (rpl_chown): Work around bug.
21625         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
21626         (gl_PREREQ_CHOWN): Delete.
21627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21628         * modules/unistd (Makefile.am): Populate it.
21629         * lib/unistd.in.h (chown): Update declaration.
21630         * lib/lchown.c (chown): Update client.
21631         * modules/lchown (Depends-on): Add lstat.
21632         * doc/posix-functions/chown.texi (chown): Document the bug.
21633         * doc/posix-functions/getgroups.texi (getgroups): Document
21634         getgroups pitfall.
21635         * modules/chown-tests: New file.
21636         * tests/test-chown.h (test_chown): Likewise.
21637         * tests/test-chown.c (main): Likewise.
21638
21639 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
21640
21641         gnulib-tool: correctly detect absence of m4 directories
21642         * gnulib-tool: Avoid extra newline on data passed to wc -l.
21643
21644 2009-11-14  Jim Meyering  <meyering@redhat.com>
21645
21646         maint.mk: Prohibit inclusion of "xalloc.h" without use.
21647         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21648
21649 2009-11-14  John W. Eaton  <jwe@gnu.org>
21650
21651         strftime.h: wrap funtion declaration in extern "C" block
21652         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
21653
21654 2009-11-13  Eric Blake  <ebb9@byu.net>
21655
21656         getgroups: avoid compiler warning
21657         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
21658
21659         getgroups: work around FreeBSD bug
21660         * lib/getgroups.c (rpl_getgroups): Work around the bug.
21661         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
21662         * doc/posix-functions/getgroups.texi (getgroups): Document it.
21663         * tests/test-getgroups.c (main): Fix buffer overrun.
21664
21665         getgroups: avoid compilation failure
21666         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
21667         * modules/getgroups (Depends-on): Add stdint.
21668
21669 2009-11-13  Jim Meyering  <meyering@redhat.com>
21670
21671         test-getgroups: avoid compilation failure
21672         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
21673
21674 2009-11-13  Eric Blake  <ebb9@byu.net>
21675
21676         mgetgroups: new module, taken from coreutils
21677         * modules/mgetgroups: New file.
21678         * lib/mgetgroups.h: Likewise.
21679         * lib/mgetgroups.c (mgetgroups): Likewise.
21680         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
21681         * MODULES.html.sh (Users and groups): Mention it.
21682
21683         getgroups: don't expose GETGROUPS_T to user
21684         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
21685         an element at a time if GETGROUPS_T is wrong size.
21686         * lib/getugroups.h (getugroups): Change signature.
21687         * lib/unistd.in.h (getgroups): Likewise.
21688         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
21689         signature needs fixing.
21690         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
21691         AC_TYPE_GETGROUPS.
21692         * modules/group-member (Depends-on): Add getgroups.
21693         * lib/group-member.c (group_info, get_group_info): Use gid_t.
21694         (group_member): Rely on getgroups replacement.
21695         * lib/getugroups.c (getugroups): Use gid_t.
21696         * tests/test-getgroups.c (main): Likewise.
21697         * NEWS: Mention the signature change.
21698         * doc/posix-functions/getgroups.texi (getgroups): Mention the
21699         problem with signature.
21700         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
21701         GETGROUPS_T is still useful for setgroups.
21702
21703         getgroups, getugroups: provide stubs for mingw
21704         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
21705         * lib/getugroups.c (getugroups): Likewise.
21706         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
21707         function.  Modernize replacement scheme.
21708         (gl_PREREQ_GETGROUPS): Delete.
21709         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
21710         * modules/getgroups (configure.ac): Declare witness.
21711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21712         * modules/unistd (Depends-on): Substitute witness.
21713         * lib/unistd.in.h (getgroups): Declare replacement.
21714
21715         getgroups: avoid calling exit
21716         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
21717         drop xalloc.
21718         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
21719         dependencies.
21720         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
21721         exiting, in the rare case of malloc failure.
21722
21723         getgroups: fix logic error
21724         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
21725         has more than 20 groups.
21726         * modules/getgroups-tests: New test.
21727         * tests/test-getgroups.c: New file.
21728
21729 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21730
21731         * tests/test-base64.c: Improve.
21732
21733 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21734
21735         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
21736         Blake <ebb9@byu.net>.
21737
21738 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21739
21740         * tests/test-xvasprintf.c: Add %s%s related checks.
21741
21742 2009-11-12  Eric Blake  <ebb9@byu.net>
21743
21744         version-etc: match standards.texi style
21745         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
21746         and use <> only for URLs.
21747
21748 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
21749
21750         fts: do not fail on a submount during traversal
21751         * lib/fts.c (fts_build): Read the stat info again after opening
21752         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
21753         Original report at http://bugzilla.redhat.com/501848.
21754
21755 2009-11-12  Jim Meyering  <meyering@redhat.com>
21756
21757         bootstrap: sync from coreutils
21758         * build-aux/bootstrap (bootstrap_epilogue): New function.
21759         Use git_modules_config in one more place.  This make bootstrap's
21760         --gnulib-srcdir option more useful for testing.
21761
21762         bootstrap: generalize autoheader check
21763         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
21764         AC_CONFIG_HEADERS.
21765
21766 2009-11-11  Eric Blake  <ebb9@byu.net>
21767
21768         mkfifoat: use new modules for Solaris and BSD bugs
21769         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
21770         * lib/mkfifoat.c (mknodat): Split...
21771         * lib/mknodat.c (mknodat): ...into new file.
21772         * modules/mkfifoat (Files): Ship new file.
21773         (Depends-on): Add mkfifo, mknod.
21774         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
21775         (Depends-on): Add symlink.
21776         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
21777         redundant with test_mkfifo.h.
21778         (do_mkfifoat, do_mknodat): New helpers.
21779
21780         mknod: new module
21781         * modules/mknod: New file.
21782         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
21783         * lib/mknod.c (mknod): Likewise.
21784         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21785         defaults.
21786         * modules/sys_stat (Makefile.am): Substitute them.
21787         * lib/sys_stat.in.h (mknod): Declare replacement.
21788         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21789         Document it.
21790         * doc/posix-functions/mknod.texi (mknod): Likewise.
21791         * modules/mknod-tests: New test.
21792         * tests/test-mknod.c: Likewise.
21793
21794         mkfifo: new module
21795         * modules/mkfifo: New file.
21796         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21797         * lib/mkfifo.c (mkfifo): Likewise.
21798         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21799         defaults.
21800         * modules/sys_stat (Makefile.am): Substitute them.
21801         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21802         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21803         Document it.
21804         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21805         * modules/mkfifo-tests: New test.
21806         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21807         from test-mkfifoat.c.
21808         * tests/test-mkfifo.c: New file.
21809
21810         readlink: detect FreeBSD bug
21811         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21812         slash on symlink.
21813         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21814         * tests/test-readlink.h (test_readlink): Enhance test.
21815
21816         symlink: detect FreeBSD bug
21817         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21818         slash on symlink.
21819         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21820         * tests/test-symlink.h (test_symlink): Enhance test.
21821
21822 2009-11-10  Eric Blake  <ebb9@byu.net>
21823
21824         link: detect FreeBSD bug
21825         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21826         symlink.
21827         * doc/posix-functions/link.texi (link): Document the bug.
21828         * tests/test-link.h (test_link): Enhance test.
21829         * tests/test-linkat.c (main): Update caller.
21830
21831         unlink, remove: detect FreeBSD bug
21832         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21833         slash on symlink.
21834         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21835         * doc/posix-functions/remove.texi (remove): Likewise.
21836         * tests/test-unlink.h (test_unlink): Enhance test.
21837         * tests/test-remove.c (main): Likewise.
21838
21839 2009-11-09  Eric Blake  <ebb9@byu.net>
21840
21841         rename: detect FreeBSD bug
21842         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21843         slash on symlink.
21844         * modules/renameat-tests (Depends-on): Add filenamecat.
21845         * tests/test-rename.h (test_rename): Allow one more errno.
21846         * tests/test-renameat.c (main): Likewise.
21847         * doc/posix-functions/rename.texi (rename): Document the bug.
21848
21849         open: detect FreeBSD bug
21850         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21851         symlink.
21852         * doc/posix-functions/open.texi (open): Document the bug.
21853         * doc/posix-functions/utimes.texi (utimes): Likewise.
21854         * tests/test-open.h (test_open): Add parameters, and test symlink
21855         handling.
21856         * tests/test-open.c (main): Adjust caller.
21857         * tests/test-fcntl-safer.c (main): Likewise.
21858         * modules/open-tests (Depends-on): Add stdbool, symlink.
21859         * modules/fcntl-safer-tests (Depends-on): Likewise.
21860         * tests/test-openat.c (main): Add test-open tests.
21861
21862         stat: detect FreeBSD bug
21863         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21864         symlink.
21865         * doc/posix-functions/stat.texi (stat): Document the bug.
21866         * tests/test-stat.h (test_stat_func): Add argument.
21867         * tests/test-stat.c (main): Adjust caller.
21868         * tests/test-fstatat.c (main): Likewise.
21869         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21870         Reported by Jim Meyering.
21871
21872 2009-11-09  James Youngman  <jay@gnu.org>
21873
21874         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21875         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21876
21877 2009-11-08  Jim Meyering  <meyering@redhat.com>
21878
21879         utimens: remove invalid futimesat call
21880         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21881         It used the file descriptor of the target file as the DIR_FD
21882         parameter and NULL as the file name.  That caused failure with
21883         errno == EFAULT on FreeBSD-8.0-rc2
21884
21885 2009-11-07  Eric Blake  <ebb9@byu.net>
21886
21887         fflush, freadseek: use fseeko, not fseek
21888         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21889         (clear_ungetc_buffer): Avoid potential problems on large files.
21890         * lib/freadseek.c (freadseek): Likewise.
21891         * modules/freadseek (Depends-on): Add fseeko.
21892         * modules/fseek (configure.ac): Set a witness.
21893         * tests/test-fflush.c (main): Use fseeko.
21894         * tests/test-fpurge.c (fseek): Disable link warning.
21895         * tests/test-freadable.c (fseek): Likewise.
21896         * tests/test-freading.c (fseek): Likewise.
21897         * tests/test-fseeko.c (fseek): Likewise.
21898         * tests/test-ftell.c (fseek): Likewise.
21899         * tests/test-ftello.c (fseek): Likewise.
21900         * tests/test-fwritable.c (fseek): Likewise.
21901         * tests/test-fwriting.c (fseek): Likewise.
21902
21903 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21904
21905         * modules/memchr (Depends-on): Drop getpagesize dependency.
21906
21907 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21908
21909         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21910         Reported by Ludovic Courtès.
21911         * build-aux/pmccabe2html: Improve example usage.
21912         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21913
21914 2009-11-06  Jim Meyering  <meyering@redhat.com>
21915
21916         do-release-commit-and-tag: New module.
21917         Automate the release-commit and tag process.
21918         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21919         * modules/do-release-commit-and-tag: New file.
21920         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21921
21922 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21923
21924         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21925         because test-select.c uses inet_pton.
21926
21927 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21928
21929         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21930         GETADDRINFO_LIB.  Bump serial number.
21931         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21932         Suggested by Eric Blake <ebb9@byu.net>.
21933
21934 2009-11-05  Eric Blake  <ebb9@byu.net>
21935
21936         strtod: detect darwin bug
21937         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21938         Reported by Leo Davis.
21939
21940         freopen-safer: new module
21941         * modules/freopen-safer: New module.
21942         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21943         * lib/freopen-safer.c (freopen_safer): New file.
21944         * lib/stdio-safer.h (freopen_safer): New declaration.
21945         * lib/stdio--.h (freopen): New override.
21946         * MODULES.html.sh (File stream based Input/Output): Mention it.
21947         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21948         freopen-safer module.
21949         * doc/posix-functions/stderr.texi (stderr): Likewise.
21950         * doc/posix-functions/stdin.texi (stdin): Likewise.
21951         * doc/posix-functions/stdout.texi (stdout): Likewise.
21952         * modules/freopen-safer-tests: New test.
21953         * tests/test-reopen-safer.c: New file.
21954
21955 2009-11-05  Jim Meyering  <meyering@redhat.com>
21956
21957         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21958         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21959
21960 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21961
21962         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21963
21964 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21965
21966         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21967
21968 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21969
21970         Fix link error.
21971         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21972         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21973
21974 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21975
21976         * tests/test-func.c: Also test value of __func__.
21977
21978 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21979
21980         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21981         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21982
21983 2009-11-05  Bruno Haible  <bruno@clisp.org>
21984
21985         Fix link error.
21986         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21987         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21988         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21989
21990 2009-11-05  Bruno Haible  <bruno@clisp.org>
21991
21992         Tests for module 'inet_pton'.
21993         * modules/inet_pton-tests: New file.
21994         * tests/test-inet_pton.c: New file.
21995
21996 2009-11-05  Bruno Haible  <bruno@clisp.org>
21997
21998         Tests for module 'inet_ntop'.
21999         * modules/inet_ntop-tests: New file.
22000         * tests/test-inet_ntop.c: New file.
22001
22002 2009-11-04  Eric Blake  <ebb9@byu.net>
22003
22004         stdlib-safer: wrap all mkstemp variants
22005         * modules/mkostemp (configure.ac): Set witness.
22006         * modules/mkostemps (configure.ac): Likewise.
22007         * modules/mkstemps (configure.ac): Likewise.
22008         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
22009         (mkstemps_safer): Wrap more functions.
22010         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
22011         wrapping.
22012         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
22013         (mkstemps_safer): Implement the wrappers.
22014
22015         mkstemps, mkostemps: new modules
22016         * modules/mkostemps: New module.
22017         * modules/mkstemps: Likewise.
22018         * lib/mkostemps.c (mkostemps): New file.
22019         * lib/mkstemps.c (mkstemps): Likewise.
22020         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
22021         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
22022         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
22023         * modules/stdlib (Makefile.am): Substitute them.
22024         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
22025         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
22026         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22027         * doc/gnulib.texi (Glibc stdlib.h): Include them.
22028         * MODULES.html.sh (File system functions): Mention them.
22029
22030         tempname: resync from glibc
22031         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
22032         same values for __GT_FILE as glibc.  Abort even when assertions
22033         are disabled.
22034         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
22035         match its value otherwise.  Allow idempotent inclusion.
22036         * lib/mkdtemp.c (mkdtemp): Adjust caller.
22037         * lib/mkostemp.c (mkostemp): Likewise.
22038         * lib/mkstemp.c (mkstemp): Likewise.
22039         * lib/tmpfile.c (tmpfile): Likewise.
22040         * NEWS: Document this.
22041
22042         utimens: fix use of futimens on older Linux
22043         * lib/utimens.c (fdutimens): Use updated, rather than original,
22044         timespec to avoid bug in older Linux kernel.
22045         Reported by Simon Josefsson.
22046
22047 2009-11-04  Bruno Haible  <bruno@clisp.org>
22048
22049         Make num_processors more flexible and consistent.
22050         * lib/nproc.h (enum nproc_query): New type.
22051         (num_processors): Add a 'query' argument.
22052         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
22053         (num_processors): Add a 'query' argument. Test the value of the
22054         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
22055         mingw, count the number of CPUs available for the current process.
22056         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
22057         Check for sched_getaffinity and sched_getaffinity_np.
22058         * modules/nproc (Depends-on): Add c-ctype, extensions.
22059         * NEWS: Mention the change.
22060
22061 2009-11-03  Bruno Haible  <bruno@clisp.org>
22062
22063         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
22064
22065 2009-11-03  Jim Meyering  <meyering@redhat.com>
22066
22067         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
22068         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
22069         if it is defined.
22070
22071 2009-11-02  Eric Blake  <ebb9@byu.net>
22072
22073         mktime, timegm: share common declaration
22074         * lib/mktime-internal.h: New file.
22075         * lib/mktime.c: Use it rather than open-coding a declaration.
22076         * lib/timegm.c: Likewise.
22077         * modules/mktime (Files): Ship it.
22078         * modules/timegm (Files): Likewise.
22079         Suggested by Bruno Haible.
22080
22081         test-update-copyright: update test to match script changes
22082         * tests/test-update-copyright.sh: Avoid hard-coding perl
22083         location.  Don't update *.bak created by earlier runs.
22084
22085 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22086             Simon Josefsson  <simon@josefsson.org>
22087             Bruno Haible  <bruno@clisp.org>
22088
22089         Fix link error on Solaris 8.
22090         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
22091         also in libnsl. Define also INET_PTON_LIB.
22092         * modules/inet_pton (Link): New section.
22093
22094 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22095             Bruno Haible  <bruno@clisp.org>
22096
22097         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
22098         * modules/inet_ntop (Link): New section.
22099         Reported by Boyan Kasarov <bkasarov@gmail.com>.
22100
22101 2009-11-02  Eric Blake  <ebb9@byu.net>
22102
22103         maint: avoid compiler warnings in m4 macros
22104         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
22105         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
22106
22107 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22108
22109         * m4/pmccabe2html.m4: Remove file.
22110         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
22111         function.  Change maintainer.
22112         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
22113         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
22114         Courtès).
22115
22116 2009-10-31  Eric Blake  <ebb9@byu.net>
22117
22118         fseeko: fix m4 regression
22119         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
22120         regression from 2009-10-27.
22121         Reported by Ralf Wildenhues.
22122
22123 2009-10-31  Jim Meyering  <meyering@redhat.com>
22124
22125         inttostr: aesthetics and improved (compile-time) safety
22126         Define inttype_is_signed rather than inttype_is_unsigned,
22127         since the sole use is via "#if inttype_is_signed".
22128         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
22129         inttype_is_unsigned.
22130         * lib/offtostr.c (inttype_is_signed): Likewise.
22131         * lib/uinttostr.c (inttype_is_signed): Likewise.
22132         * lib/umaxtostr.c (inttype_is_signed): Likewise.
22133         * lib/inttostr.c (inttostr): Use verify to cross-check the
22134         inttype_is_signed value and the signedness of the actual type.
22135         * modules/inttostr (Depends-on): Add verify.
22136
22137 2009-10-30  Eric Blake  <ebb9@byu.net>
22138
22139         build: avoid compiler warnings
22140         * lib/fchmodat.c (lchmod): Mark unused variables.
22141         * lib/getopt.c (_getopt_initialize): Likewise.
22142         * lib/mktime.c (__mktime_internal): Provide prototype.
22143         * lib/inttostr.c (inttostr): Avoid compiler warning even with
22144         older gcc that do not understand #pragma GCC diagnostic.
22145         * lib/uinttostr.c (inttype_is_unsigned): Define.
22146         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
22147
22148 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
22149
22150         stat: fix compilation on AIX
22151         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
22152         only see struct stat64.
22153
22154 2009-10-30  Eric Blake  <ebb9@byu.net>
22155
22156         exclude: make more robust
22157         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
22158         rather than masking a coding bug.
22159         Suggested by Bruno Haible.
22160
22161 2009-10-30  Jim Meyering  <meyering@redhat.com>
22162
22163         perl scripts: remove #!/usr/bin/perl in favor of more portable...
22164         Rather than putting #!/usr/bin/perl on the first line,
22165         start with a variant of what's recommended by "man perlrun" that
22166         invokes the first "perl" program from your shell's search path.
22167         * build-aux/gitlog-to-changelog: Replace #!... as above.
22168         Add a "Local Variables" perl mode setting.
22169         Prompted by a patch from Ludovic Courtès.
22170         Improved by Eric Blake.
22171         * build-aux/useless-if-before-free: Likewise.
22172         * build-aux/announce-gen: Likewise.
22173         * build-aux/update-copyright: Likewise.
22174
22175 2009-10-29  Eric Blake  <ebb9@byu.net>
22176
22177         filenamecat-lgpl: adjust clients
22178         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
22179         filenamecat.
22180         * modules/renameat (Depends-on): Likewise.
22181
22182         filenamecat: split into filenamecat-lgpl
22183         * modules/filenamecat-lgpl: New module.
22184         * modules/filenamecat (Files): Move library-safe files into
22185         filenamecat-lgpl.
22186         (Depends-on): Add filenamecat-lgpl.
22187         (configure.ac): Declare witness.
22188         * lib/filenamecat.h (file_name_concat): Only declare when using
22189         GPL module.
22190         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
22191         Move...
22192         * lib/filenamecat-lgpl.c: ...into new file.
22193         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
22194         (gl_FILE_NAME_CONCAT): Use it.
22195         * MODULES.html.sh (File system functions): Mention new module.
22196
22197         argp: avoid memory leak
22198         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
22199         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
22200         base_name, since the latter malloc()s and can call exit().
22201         Leak introduced 2006-07-03.
22202
22203         dirname-lgpl: adjust clients that don't need full dirname
22204         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
22205         * modules/filenamecat (Depends-on): Likewise.
22206         * modules/linkat (Depends-on): Likewise.
22207         * modules/mkancesdirs (Depends-on): Likewise.
22208         * modules/mkdir (Depends-on): Likewise.
22209         * modules/openat (Depends-on): Likewise.
22210         * modules/savewd (Depends-on): Likewise.
22211         * modules/rename (Depends-on): Likewise.
22212         (License): Relax license.
22213         * modules/mkdir-tests (Depends-on): Drop progname.
22214         (Makefile.am): Delete unneeded LDADD.
22215         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
22216
22217         dirname: split into dirname-lgpl
22218         * modules/dirname-lgpl: New module.
22219         * modules/dirname (Files): Move library-safe files into
22220         dirname-lgpl.
22221         (Depends-on): Add dirname-lgpl.
22222         (configure.ac): Declare witness.
22223         * modules/double-slash-root (License): Relax license.
22224         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
22225         module.
22226         * lib/dirname.c (dir_len, mdir_name): Move...
22227         * lib/dirname-lgpl.c: ...into new file.
22228         * lib/basename.c (last_component, base_len): Move...
22229         * lib/basename-lgpl.c: ...into new file.
22230         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
22231         (gl_DIRNAME): Use it.
22232         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
22233         Mention new module.
22234         * modules/dirname-tests (Depends-on): Add progname.
22235         * tests/test-dirname.c (program_name): Delete.
22236
22237         mkdir: make safe for libraries
22238         * modules/mkdir (Depends-on): Drop xalloc.
22239         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
22240         exit.
22241
22242         tests: avoid some compiler warnings
22243         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
22244         literals.
22245         * tests/test-memchr.c (main): Avoid type mismatch.
22246         * tests/test-arpa_inet.c (main): Avoid unused parameters.
22247         * tests/test-base64.c (main): Likewise.
22248         * tests/test-getdelim.c (main): Likewise.
22249         * tests/test-gethostname.c (main): Likewise.
22250         * tests/test-getline.c (main): Likewise.
22251         * tests/test-netinet_in.c (main): Likewise.
22252         * tests/test-select.c (open_server_socket, main): Likewise.
22253         * tests/test-select-stdin.c (main): Likewise.
22254         * tests/test-sockets.c (main): Likewise.
22255         * tests/test-strsignal.c (main): Likewise.
22256         * tests/test-sys_select.c (main): Likewise.
22257         * tests/test-sys_socket.c (main): Likewise.
22258         * tests/test-u64.c (main): Likewise.
22259         * tests/test-xfprintf-posix.c (main): Likewise.
22260         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
22261
22262         sockets: avoid compiler warning
22263         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
22264
22265         maint: detect usage(1) and other suspicious exits
22266         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
22267
22268 2009-10-29  Jim Meyering  <meyering@redhat.com>
22269
22270         timespec: long-to-int truncation could make timespec_cmp malfunction
22271         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
22272         a multiple of 2^32 nanoseconds as no difference.
22273
22274 2009-10-28  Jim Meyering  <meyering@redhat.com>
22275
22276         fprintftime: wrap macro code argument in "do {...} while(0)"
22277         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
22278         cpy macro must be a statement that can be followed by a semicolon.
22279         Now that the else clause contains a comment and is hence longer
22280         than one line, I require curly braces.  That in turn requires
22281         that we wrap this code block in the standard do...while(0).
22282
22283         fprintftime: remove stray semicolon from previous change
22284         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
22285
22286         fprintftime: avoid a warning about ignored fwrite return value
22287         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
22288         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
22289         that is unsafe.
22290         * modules/fprintftime (Depends-on): Add ignore-value.
22291
22292         exclude: avoid an unwarranted warning
22293         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
22294
22295 2009-10-27  Eric Blake  <ebb9@byu.net>
22296
22297         fseek: avoid compilation failure when fflush is replaced
22298         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
22299         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
22300         module is in use.
22301         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
22302         module is not in use; since REPLACE_FSEEK worked otherwise.
22303         (GNULIB_FTELLO): Likewise for ftell.
22304         Reported by Ian Beckwith and others.
22305
22306 2009-10-27  Bruno Haible  <bruno@clisp.org>
22307
22308         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
22309         Reported by Jim Meyering.
22310
22311 2009-10-27  Jim Meyering  <jim@meyering.net>
22312             Bruno Haible  <bruno@clisp.org>
22313
22314         Avoid warning despite dropping the return value of fwrite.
22315         * lib/unicodeio.c: Include ignore-value.h.
22316         (fwrite_success_callback): Explicitly ignore fwrite's return value.
22317         * modules/unicodeio (Depends-on): Add ignore-value.
22318
22319 2009-10-26  Eric Blake  <ebb9@byu.net>
22320
22321         areadlinkat: fix fallback path
22322         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
22323         pointer and zero.
22324
22325 2009-10-22  Pádraig Brady  <P@draigBrady.com>
22326
22327         Use a better IO block size for modern systems
22328         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
22329         * lib/md2.c: Likewise.
22330         * lib/md4.c: Likewise.
22331         * lib/md5.c: Likewise.
22332         * lib/sha1.c: Likewise.
22333         * lib/sha256.c: Likewise.
22334         * lib/sha512.c: Likewise.
22335
22336 2009-10-22  Eric Blake  <ebb9@byu.net>
22337
22338         tests: avoid several compiler warnings
22339         * tests/test-getcwd.c (main): Avoid buffer underflow.
22340         * tests/test-getdate.c (main): String literals are not safe with
22341         putenv, so use setenv.  Declare unused argument.
22342         * modules/getdate-tests (Depends-on): Add setenv.
22343         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
22344         problems with string literals in char *.
22345         * tests/test-hash.c (main): Avoid shadowing declaration.
22346         (insert_new): Treat string literals as char const *.
22347         * tests/test-getopt.h (test_getopt): Likewise.
22348         (getopt_loop): Alter types to minimize casting elsewhere.
22349         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
22350         (test_getopt_long_posix): Likewise.
22351         (do_getopt_long): Add wrapper to minimize casting.
22352         * tests/test-atexit.c (clear_temp_file): Use void.
22353         * tests/test-areadlink-with-size.c (main): Declare unused
22354         arguments.
22355         * tests/test-areadlink.c (main): Likewise.
22356         * tests/test-areadlinkat-with-size.c (main): Likewise.
22357         * tests/test-areadlinkat.c (main): Likewise.
22358         * tests/test-canonicalize-lgpl.c (main): Likewise.
22359         * tests/test-canonicalize.c (main): Likewise.
22360         * tests/test-dirent-safer.c (main): Likewise.
22361         * tests/test-dirname.c (main): Likewise.
22362         * tests/test-dup2.c (main): Likewise.
22363         * tests/test-fchdir.c (main): Likewise.
22364         * tests/test-fcntl-h.c (main): Likewise.
22365         * tests/test-fcntl-safer.c (main): Likewise.
22366         * tests/test-fdopendir.c (main): Likewise.
22367         * tests/test-fdutimensat.c (main): Likewise.
22368         * tests/test-fflush.c (main): Likewise.
22369         * tests/test-filenamecat.c (main): Likewise.
22370         * tests/test-filevercmp.c (main): Likewise.
22371         * tests/test-fopen-safer.c (main): Likewise.
22372         * tests/test-fopen.c (main): Likewise.
22373         * tests/test-fpending.c (main): Likewise.
22374         * tests/test-fpurge.c (main): Likewise.
22375         * tests/test-freading.c (main): Likewise.
22376         * tests/test-fstatat.c (main): Likewise.
22377         * tests/test-fsync.c (main): Likewise.
22378         * tests/test-futimens.c (main): Likewise.
22379         * tests/test-getndelim2.c (main): Likewise.
22380         * tests/test-gettimeofday.c (main): Likewise.
22381         * tests/test-getopt.c (main): Likewise.
22382         * tests/test-i-ring.c (main): Likewise.
22383         * tests/test-inttypes.c (main): Likewise.
22384         * tests/test-link.c (main): Likewise.
22385         * tests/test-lstat.c (main): Likewise.
22386         * tests/test-math.c (main): Likewise.
22387         * tests/test-md5.c (main): Likewise.
22388         * tests/test-memchr2.c (main): Likewise.
22389         * tests/test-memrchr.c (main): Likewise.
22390         * tests/test-mkdir.c (main): Likewise.
22391         * tests/test-mkdirat.c (main): Likewise.
22392         * tests/test-mkfifoat.c (main): Likewise.
22393         * tests/test-open.c (main): Likewise.
22394         * tests/test-openat-safer.c (main): Likewise.
22395         * tests/test-openat.c (main): Likewise.
22396         * tests/test-quotearg.c (main): Likewise.
22397         * tests/test-rawmemchr.c (main): Likewise.
22398         * tests/test-readlink.c (main): Likewise.
22399         * tests/test-remove.c (main): Likewise.
22400         * tests/test-rename.c (main): Likewise.
22401         * tests/test-renameat.c (main): Likewise.
22402         * tests/test-rmdir.c (main): Likewise.
22403         * tests/test-sha1.c (main): Likewise.
22404         * tests/test-signal.c (main): Likewise.
22405         * tests/test-sigaction.c (main): Likewise.
22406         * tests/test-stat.c (main): Likewise.
22407         * tests/test-stat-time.c (main): Likewise.
22408         * tests/test-stddef.c (main): Likewise.
22409         * tests/test-stdint.c (main): Likewise.
22410         * tests/test-stdio.c (main): Likewise.
22411         * tests/test-stdlib.c (main): Likewise.
22412         * tests/test-strchrnul.c (main): Likewise.
22413         * tests/test-strerror.c (main): Likewise.
22414         * tests/test-string.c (main): Likewise.
22415         * tests/test-strtod.c (main): Likewise.
22416         * tests/test-strverscmp.c (main): Likewise.
22417         * tests/test-symlink.c (main): Likewise.
22418         * tests/test-symlinkat.c (main): Likewise.
22419         * tests/test-sys_stat.c (main): Likewise.
22420         * tests/test-sys_time.c (main): Likewise.
22421         * tests/test-time.c (main): Likewise.
22422         * tests/test-unistd.c (main): Likewise.
22423         * tests/test-unlink.c (main): Likewise.
22424         * tests/test-unlinkat.c (main): Likewise.
22425         * tests/test-utimens.c (main): Likewise.
22426         * tests/test-utimensat.c (main): Likewise.
22427         * tests/test-version-etc.c (main): Likewise.
22428         * tests/test-wchar.c (main): Likewise.
22429         * tests/test-wctype.c (main): Likewise.
22430         * tests/test-xprintf-posix.c (main): Likewise.
22431         * tests/test-posixtm.c (main): Likewise.
22432         (STREQ): Delete unused macro.
22433         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
22434         shadowed variables.
22435         * tests/test-memchr.c (main): Likewise.
22436
22437 2009-10-21  Eric Blake  <ebb9@byu.net>
22438
22439         areadlinkat: avoid failure on older glibc
22440         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
22441         rather than mis-comparing 0 against FUNC_RESULT of char*.
22442
22443 2009-10-21  Bruno Haible  <bruno@clisp.org>
22444
22445         * modules/stpncpy (License): Relicense under LGPLv2+.
22446         Reported by David Lutterkort <lutter@redhat.com>.
22447
22448 2009-10-20  Eric Blake  <ebb9@byu.net>
22449
22450         utimensat: work around Solaris 9 bug
22451         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
22452         has trailing slash bugs.
22453         * tests/test-lutimens.h (test_lutimens): Enhance test.
22454         * tests/test-utimens.h (test_utimens): Likewise.
22455         * doc/posix-functions/utime.texi (utime): Enhance documentation.
22456         * doc/posix-functions/utimes.texi (utimes): Likewise.
22457         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22458         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
22459         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
22460         * doc/posix-functions/futimens.texi (futimens): Likewise.
22461
22462         fdutimensat: new module
22463         * modules/fdutimensat: New file.
22464         * lib/fdutimensat.c (fdutimensat): Likewise.
22465         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
22466         * MODULES.html.sh (File system functions): Mention module.
22467         * modules/fdutimensat-tests: New test.
22468         * tests/test-fdutimensat.c: Likewise.
22469
22470         doc: regenerate INSTALL
22471         * doc/INSTALL: Reflect recent autoconf update.
22472         * doc/INSTALL.ISO: Likewise.
22473         * doc/INSTALL.UTF-8: Likewise.
22474
22475 2009-10-20  Pádraig Brady  <P@draigBrady.com>
22476
22477         acl: warn if ACL support is not detected
22478         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
22479
22480 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
22481
22482         * lib/nproc.h: Add extern "C" block for C++.
22483
22484 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
22485             Bruno Haible  <bruno@clisp.org>
22486
22487         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
22488         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
22489         * doc/posix-functions/isalpha.texi: Likewise.
22490         * doc/posix-functions/isblank.texi: Likewise.
22491         * doc/posix-functions/iscntrl.texi: Likewise.
22492         * doc/posix-functions/isdigit.texi: Likewise.
22493         * doc/posix-functions/isgraph.texi: Likewise.
22494         * doc/posix-functions/islower.texi: Likewise.
22495         * doc/posix-functions/isprint.texi: Likewise.
22496         * doc/posix-functions/ispunct.texi: Likewise.
22497         * doc/posix-functions/isspace.texi: Likewise.
22498         * doc/posix-functions/isupper.texi: Likewise.
22499         * doc/posix-functions/isxdigit.texi: Likewise.
22500
22501 2009-10-18  Bruno Haible  <bruno@clisp.org>
22502
22503         Tests for module 'isblank'.
22504         * modules/isblank-tests: New file.
22505         * tests/test-isblank.c: New file.
22506
22507         New module 'isblank'.
22508         * lib/isblank.c: New file.
22509         * m4/isblank.m4: New file.
22510         * modules/isblank: New file.
22511         * doc/posix-functions/isblank.texi: Mention the new module.
22512
22513 2009-10-18  Bruno Haible  <bruno@clisp.org>
22514
22515         New module 'ctype'.
22516         * lib/ctype.in.h: New file.
22517         * m4/ctype.m4: New file.
22518         * modules/ctype: New file.
22519         * doc/posix-headers/ctype.texi: Mention the new module.
22520
22521 2009-10-18  Jim Meyering  <meyering@redhat.com>
22522
22523         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
22524         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
22525         right after its initialization, rather than farther down.
22526         Keeping these in close proximity makes it easier to ensure
22527         that each such variable is initialized.  E.g.,
22528
22529             LIB_CLOCK_GETTIME=
22530             AC_SUBST([LIB_CLOCK_GETTIME])
22531
22532         This change also increments these serial numbers.
22533         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
22534         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22536
22537 2009-10-18  Bruno Haible  <bruno@clisp.org>
22538
22539         Don't let environment variables perturb build.
22540         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
22541         (gl_PREREQ_GETHRXTIME): ... not here.
22542
22543 2009-10-18  Bruno Haible  <bruno@clisp.org>
22544
22545         Avoid symlink attack in localcharset module.
22546         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
22547         (O_NOFOLLOW): Define fallback.
22548         (get_charset_aliases): Don't open the file if it is a symbolic link.
22549         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
22550         gl_FCNTL_H.
22551         (gl_FCNTL_H): Require it.
22552         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
22553         * modules/localcharset (Files): Add m4/fcntl_h.m4.
22554         Reported by Fergal Glynn <fglynn@veracode.com>.
22555
22556 2009-10-18  Bruno Haible  <bruno@clisp.org>
22557
22558         Implement nproc for mingw.
22559         * lib/nproc.c: Include <windows.h>
22560         (num_processors): On native Windows platforms, try GetSystemInfo.
22561
22562 2009-10-18  Bruno Haible  <bruno@clisp.org>
22563
22564         Implement nproc for IRIX.
22565         * lib/nproc.c: Include <sys/sysmp.h>.
22566         (num_processors): On IRIX systems, try sysmp.
22567         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
22568
22569 2009-10-18  Bruno Haible  <bruno@clisp.org>
22570
22571         Implement nproc for HP-UX.
22572         * lib/nproc.c: Include <sys/pstat.h>
22573         (num_processors): On HP-UX systems, try pstat_getdynamic.
22574         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
22575         pstat_getdynamic.
22576
22577 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
22578             Bruno Haible  <bruno@clisp.org>
22579
22580         Implement nproc for NetBSD, OpenBSD.
22581         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
22582         (ARRAY_SIZE): New macro.
22583         (num_processors): On BSD systems, try sysctl of HW_NCPU.
22584         * m4/nproc.m4: New file.
22585         * modules/nproc (Files): Add m4/nproc.m4.
22586         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
22587         (Makefile.am): Instead, augment lib_SOURCES.
22588
22589 2009-10-18  Bruno Haible  <bruno@clisp.org>
22590
22591         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
22592         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
22593         sys/param.h.
22594
22595 2009-10-16  Eric Blake  <ebb9@byu.net>
22596
22597         utimensat: new module
22598         * modules/utimensat: New file.
22599         * lib/utimensat.c (utimensat): Likewise.
22600         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22601         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
22602         so we can work around Linux bugs.
22603         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22604         * modules/sys_stat (Makefile.am): Substitute them.
22605         * lib/sys_stat.in.h (utimensat): Declare it.
22606         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22607         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22608         * modules/utimensat-tests: New test.
22609         * tests/test-utimensat.c: Likewise.
22610
22611         utimens: let lutimens work on non-symlinks
22612         * lib/utimens.c (lutimens): Fall back to utimens rather than
22613         failing with ENOSYS, when file is not a symlink.
22614         (utimens): Reduce redirection.
22615         * tests/test-lutimens.h (test_lutimens): Update test to cover
22616         non-symlinks.
22617         * tests/test-utimens.h (test_utimens): Update test to cover
22618         symlinks.
22619         * tests/test-utimens.c (main): Update caller.
22620
22621         utimens: cache whether utimensat syscall works
22622         * lib/utimens.c (utimensat_works_really): New cache variable.
22623         (fdutimens, lutimens): Use it to avoid failing syscall.
22624
22625         test-stat-time, test-utimens: improve portability
22626         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
22627         ext4 on alpha, and for cygwin.
22628         * tests/test-utimens-common.h: New file.
22629         (nap): Factor delays into single function.
22630         * tests/test-lutimens.h (test_lutimens): Use new header.
22631         * tests/test-futimens.h (test_futimens): Likewise.
22632         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
22633         timestamps to occur from same machine, as was done previously for
22634         test_utimens.
22635         * modules/utimens-tests (Files): Ship new file.
22636         * modules/futimens-tests (Files): Likewise.
22637         Reported in part by Jim Meyering.
22638
22639         sys_stat: sort replacement declarations
22640         * lib/sys_stat.in.h: Sort declarations.
22641         * lib/futimens.c (futimens): Fix typo.
22642
22643 2009-10-15  Jim Meyering  <meyering@redhat.com>
22644
22645         don't let environment settings perturb build
22646         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
22647         could cause a configure-time and/or build-time malfunction.
22648         Typically, a configure-time function-in-library test is performed
22649         via code like this:
22650
22651           LIB_VAR=
22652           AC_SUBST([LIB_VAR])
22653           prefix_saved_LIBS=$LIBS
22654             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
22655                        [test "$ac_cv_search_FUNC" = "none required" ||
22656                         LIB_VAR=$ac_cv_search_FUNC])
22657           LIBS=$prefix_saved_LIBS
22658
22659         However, in each of the files affected by this change, the LIB_VAR=
22660         initialization was omitted.  Thus, when set in the environment, its
22661         value would propagate into generated Makefiles when FUNC is not found
22662         in LIB_NAME.
22663         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
22664         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22666
22667 2009-10-14  Eric Blake  <ebb9@byu.net>
22668
22669         fchdir: avoid infinite recursion in mingw
22670         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
22671         recursing.
22672
22673         test-stat-time: port to mingw
22674         * tests/test-stat-time.c (force_unlink): Return a value.
22675         (test_ctime) [W32]: Fix compilation error.
22676         (nap): Don't call usleep with too large an argument.  Use
22677         force_unlink.
22678         * doc/pastposix-functions/usleep.texi (usleep): Document the
22679         portability issue.
22680
22681 2009-10-13  Jim Meyering  <meyering@redhat.com>
22682
22683         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
22684         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
22685         * modules/pipe-filter-ii: Likewise.
22686         * modules/sys_socket-tests: Likewise.
22687         * modules/tsearch-tests: Likewise.
22688         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
22689         (check): Depend on it.
22690
22691 2009-10-12  Eric Blake  <ebb9@byu.net>
22692
22693         utimens-tests: port to NFS file systems
22694         * tests/test-utimens.h (test_utimens): Refactor utimecmp
22695         comparisons to avoid spurious failures from timestamp drift
22696         between NFS machines.
22697
22698 2009-10-12  Eric Blake  <ebb9@byu.net>
22699
22700         stat-time-tests: minor cleanups
22701         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
22702         * tests/test-stat-time.c (nap): Separate assignment from call.
22703         Suggested by Paolo Bonzini and Bruno Haible.
22704
22705         sys_stat: guarantee struct timespec
22706         * lib/sys_stat.in.h (includes): Always include <time.h>
22707         * modules/sys_stat (Depends-on): Add time.
22708         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
22709         mode_t permission values.
22710         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
22711         get at subsecond timestamps.
22712
22713 2009-10-10  Eric Blake  <ebb9@byu.net>
22714
22715         futimens: new module
22716         * modules/futimens: New file.
22717         * lib/futimens.c (futimens): Likewise.
22718         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
22719         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
22720         we can work around Linux bugs.
22721         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22722         * modules/sys_stat (Makefile.am): Substitute them.
22723         * lib/sys_stat.in.h (futimens): Declare it.
22724         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22725         * doc/posix-functions/futimens.texi (futimens): Likewise.
22726         * modules/futimens-tests: New test.
22727         * tests/test-futimens.c: Likewise.
22728
22729         utimens: introduce fdutimens
22730         * lib/utimens.h (fdutimens): New prototype.
22731         * lib/utimens.c (gl_futimens): Move guts...
22732         (fdutimens): ...to new interface.
22733         * tests/test-utimens.c (do_fdutimens): Use it.
22734
22735         utimens: add UTIME_NOW and UTIME_OMIT support
22736         * lib/utimens.c (validate_timespec, update_timespec): New helper
22737         functions.
22738         (gl_futimens, lutimens): Use them.
22739         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
22740         stdbool, sys_stat.
22741         (Link): Mention resulting library dependency.
22742         * modules/utimecmp (Link): Likewise.
22743         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
22744         (Makefile.am): Pick up library dependency.
22745         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
22746         definition.
22747         * tests/test-sys_stat.c: Test the definitions.
22748         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
22749         * NEWS: Document library dependency.
22750
22751         utimecmp: support symlink timestamps
22752         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
22753         hashing when possible.  Use pathconf when available.
22754         (SYSCALL_RESOLUTION): Recognize tighter resolution.
22755         * modules/utimecmp (Depends-on): Add lstat.
22756
22757         utimens: add lutimens interface
22758         * lib/utimens.c (lutimens): New function.
22759         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
22760         * lib/utimens.h (lutimens): Declare new interface.
22761         * tests/test-utimens.c (main): Enhance test.
22762         * tests/test-lutimens.h (test_lutimens): New file.
22763         * modules/utimens-tests (Files): Distribute it.
22764         (Depends-on): Add symlink.
22765         (configure.ac): Check for usleep.
22766
22767         utimens: validate futimens usage
22768         * lib/utimens.c (gl_futimens): Require valid fd up front, using
22769         fewer syscalls on failure later on.  Avoid compiler warning on
22770         mingw.
22771         * modules/utimens (Depends-on): Add dup2.
22772
22773         utimens: add test
22774         * modules/utimens-tests: New test.
22775         * tests/test-utimens.h: New file.
22776         * tests/test-futimens.h: Likewise.
22777         * tests/test-utimens.c: Likewise.
22778
22779         doc: mention timestamp portability issues
22780         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
22781         instead.
22782         * doc/posix-functions/utime.texi (utime): Likewise.
22783         * doc/posix-functions/utimes.texi (utimes): Likewise.
22784         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
22785         instead.
22786         * doc/posix-functions/futimens.texi (futimens): Mention utimens
22787         module.
22788         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22789         Mention weakness with symlink timestamps.
22790         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
22791         to utimensat/futimens instead.
22792         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
22793
22794         test-dup2: enhance test
22795         * tests/test-dup2.c (main): Also check AT_FDCWD.
22796
22797         test-stat-time: avoid more spurious failures
22798         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22799         xfs; and avoid race if the two timestamps cross quantization edge.
22800
22801         relocatable: prefer 'file system' over 'filesystem'
22802         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22803         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22804         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22805         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22806         * lib/relocatable.c (compute_curr_prefix): Likewise.
22807
22808 2009-10-10  Jim Meyering  <meyering@redhat.com>
22809
22810         stat-time-tests: check for the usleep function
22811         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22812
22813 2009-10-10  Bruno Haible  <bruno@clisp.org>
22814
22815         * modules/xnanosleep: Put the Link section after the Include section.
22816
22817 2009-10-09  Eric Blake  <ebb9@byu.net>
22818
22819         dup2: work around FreeBSD 6.1 bug
22820         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22821         * doc/posix-functions/dup2.texi (dup2): Document it.
22822         Reported by Nelson H. F. Beebe and Jim Meyering.
22823
22824         test-stat-time: port to buggy NFS clients
22825         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22826         (test_ctime): Also skip test if mtime and ctime are skewed.
22827
22828         maint: prefer 'file system' over 'filesystem'
22829         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22830         * doc/posix-functions/lstat.texi (lstat): Likewise.
22831         * lib/file-has-acl.c (file_has_acl): Likewise.
22832         * lib/fwriteerror.c [TEST]: Likewise.
22833         * tests/test-areadlink.h (test_areadlink): Likewise.
22834         * tests/test-areadlinkat-with-size.c (main): Likewise.
22835         * tests/test-areadlinkat.c (main): Likewise.
22836         * tests/test-canonicalize-lgpl.c (main): Likewise.
22837         * tests/test-canonicalize.c (main): Likewise.
22838         * tests/test-fstatat.c (main): Likewise.
22839         * tests/test-linkat.c (main): Likewise.
22840         * tests/test-lstat.h (test_lstat_func): Likewise.
22841         * tests/test-mkdir.h (test_mkdir): Likewise.
22842         * tests/test-readlink.h (test_readlink): Likewise.
22843         * tests/test-remove.c (main): Likewise.
22844         * tests/test-rename.h (test_rename): Likewise.
22845         * tests/test-renameat.c (main): Likewise.
22846         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22847         * tests/test-symlink.h (test_symlink): Likewise.
22848         * tests/test-symlinkat.c (main): Likewise.
22849         * tests/test-unlink.h (test_unlink_func): Likewise.
22850         * tests/test-unlinkat.c (main): Likewise.
22851
22852         maint: make realtime library usage explicit
22853         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22854         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22855         * modules/settime (Link): Likewise.
22856         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22857
22858         test-stat-time: speed up execution
22859         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22860         warning on mingw.
22861         (nap): New helper function.
22862         (prepare_test): Use it to reduce sleep time.
22863         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22864         execution.
22865         * modules/stat-time-tests (configure.ac): Check for usleep.
22866
22867 2009-10-09  Jim Meyering  <meyering@redhat.com>
22868
22869         selinux-h: always use getfilecon wrappers
22870         * lib/getfilecon.c: New file.
22871         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22872         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22873         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22874         (fgetfilecon): Provide a stub.
22875         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22876         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22877         file unconditionally.
22878         When <selinux/selinux.h> is found, arrange to use wrappers.
22879         * modules/selinux-h (Files): Add getfilecon.c.
22880         (Makefile.am): Substitute include-next-related bits
22881         into the now-always-generated selinux/selinux.h file.
22882         * doc/glibc-functions/lgetfilecon.texi: New file.
22883         * doc/glibc-functions/fgetfilecon.texi: New file.
22884         * doc/glibc-functions/getfilecon.texi: New file.
22885         * doc/glibc-functions/getfilecon-desc.texi: New file.
22886         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22887         which to pull in the new files.
22888         * MODULES.html.sh (Misc): Add selinux-h.
22889
22890 2009-10-08  Jim Meyering  <meyering@redhat.com>
22891
22892         unistd: fix comment typo
22893         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22894
22895 2009-10-08  Eric Blake  <ebb9@byu.net>
22896
22897         areadlink: use SIZE_MAX consistently
22898         * modules/areadlink (Depends-on): Add stdint.
22899         * modules/areadlink-with-size (Depends-on): Likewise.
22900         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22901         gives NULL; drop sys/types, since unistd gives size_t; and add
22902         stdint for SIZE_MAX.
22903         (SIZE_MAX): Rely on headers.
22904         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22905         and add stdint.
22906         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22907         (SIZE_MAX): Likewise.
22908         (INITIAL_BUF_SIZE): Turn into enum.
22909         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22910
22911 2009-10-08  Jim Meyering  <meyering@redhat.com>
22912
22913         areadlinkat: avoid compilation failure
22914         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22915         Fix typo in comment.
22916
22917 2009-10-07  Eric Blake  <ebb9@byu.net>
22918
22919         areadlinkat-with-size: new module
22920         * modules/areadlinkat-with-size: New module.
22921         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22922         * lib/areadlink.h (areadlinkat): Declare it.
22923         * MODULES.html.sh (File system functions): Mention it.
22924         * modules/areadlinkat-with-size-tests: New test.
22925         * tests/test-areadlinkat-with-size.c: New file.
22926
22927         xreadlinkat: new module
22928         * modules/xreadlinkat: New module.
22929         * lib/xreadlinkat.c (xreadlinkat): New file.
22930         * lib/xreadlink.h (xreadlinkat): Declare it.
22931         * MODULES.html.sh (File system functions): Mention it.
22932
22933         areadlinkat: new module
22934         * lib/at-func.c (FUNC_FAIL): New define.
22935         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22936         * modules/areadlinkat: New module.
22937         * lib/linkat.c (areadlinkat): Move...
22938         * lib/areadlinkat.c (areadlinkat): ...to new file.
22939         * lib/areadlink.h (areadlinkat): Declare it.
22940         * modules/linkat (Depends-on): Add areadlinkat.
22941         * MODULES.html.sh (File system functions): Mention it.
22942         * modules/areadlinkat-tests: New test.
22943         * tests/test-areadlinkat.c: New file.
22944
22945         areadlink, areadlink-with-size: add tests
22946         * modules/areadlink-tests: New test.
22947         * modules/areadlink-with-size-tests: Likewise.
22948         * tests/test-areadlink.h: New file.
22949         * tests/test-areadlink.c: Likewise.
22950         * tests/test-areadlink-with-size.c: Likewise.
22951
22952         maint: minor cleanups
22953         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22954         _UNUSED_PARAMETER_ instead.
22955         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22956         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22957         * modules/linkat-tests (Files): Distribute test-link.h.
22958
22959         openat, utimens: whitespace cleanup
22960         * lib/openat.c: Prefer space throughout, rather than mix of 8
22961         spaces vs. tabs.
22962         * lib/at-func.c: Likewise.
22963         * lib/utimens.c: Likewise.
22964
22965         openat: avoid using wrong fd
22966         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22967         working directory chooses same fd.
22968         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22969
22970         mkdir, mkdirat: fix cygwin 1.5.x bug
22971         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22972         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22973         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22974         bug.
22975         (gl_PREREQ_MKDIR): Delete unused macro.
22976         * modules/mkdir (Files): Track file rename.
22977         (configure.ac): Update macro name.
22978         * modules/openat (Depends-on): Add mkdir.
22979         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22980
22981         mkdir, mkdirat: add tests
22982         * modules/mkdir-tests: New test.
22983         * tests/test-mkdir.h: New file.
22984         * tests/test-mkdir.c: Likewise.
22985         * tests/test-mkdirat.c: Likewise.
22986         * modules/openat-tests (Files): Add new files.
22987         (Makefile.am): Run new test.
22988
22989 2009-10-06  Eric Blake  <ebb9@byu.net>
22990
22991         doc: tweak *at function documentation
22992         * doc/posix-functions/faccessat.texi (faccessat): Mention
22993         known issue with replacement.
22994         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22995         * doc/posix-functions/linkat.texi (linkat): Likewise.
22996         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22997         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22998         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22999         * doc/posix-functions/renameat.texi (renameat): Likewise.
23000         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23001
23002         openat: fix GNU/Hurd bug in unlinkat
23003         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
23004         broken.
23005         * doc/posix-functions/unlink.texi (unlink): Document this.
23006         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
23007
23008         fdopendir: fix GNU/Hurd bug
23009         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
23010         allowing non-directory fds.
23011         * lib/fdopendir.c (rpl_fdopendir): Work around it.
23012         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
23013         * modules/dirent (Makefile.am): Substitute it.
23014         * lib/dirent.in.h (fdopendir): Declare replacement.
23015         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
23016         * tests/test-fdopendir.c (main): Test something other than
23017         /dev/null, since on Hurd that behaves like a directory.
23018
23019         test-symlink: port to GNU/Hurd
23020         * tests/test-symlink.h (test_symlink): Relax expected errno.
23021
23022         doc: tweak more cygwin information
23023         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
23024         now compatible with glibc.
23025         * doc/posix-functions/getopt.texi (getopt): Likewise.
23026
23027         getopt-gnu: add another test
23028         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
23029         guarantee behavior relied on by m4.
23030         * tests/test-getopt.c (main): Use it.
23031         * modules/getopt-posix-tests (Depends-on): Add setenv.
23032         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
23033
23034         getopt: fix compilation on darwin
23035         * lib/getopt.in.h (includes): Leave breadcrumbs during system
23036         include.
23037         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
23038         Reported by Ludovic Courtès.
23039
23040 2009-10-06  Bruno Haible  <bruno@clisp.org>
23041
23042         * modules/size_max (Description): Discourage its use.
23043         Reported by Simon Josefsson.
23044
23045 2009-10-06  Jim Meyering  <meyering@redhat.com>
23046
23047         linkat: avoid compilation failure
23048         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
23049
23050 2009-10-05  Eric Blake  <ebb9@byu.net>
23051
23052         linkat: support Linux 2.6.17
23053         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
23054         linkat on Linux, but allow cache variable override.
23055         * lib/linkat.c (rpl_linkat): Define override.
23056         * modules/linkat (Depends-on): Add symlinkat.
23057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
23058         * modules/unistd (Makefile.am): Substitute it.
23059         * lib/unistd.in.h (linkat): Declare replacement.
23060         Reported by Pádraig Brady.
23061
23062         quotearg: port test to systems with C.UTF-8 locale
23063         * tests/test-quotearg.c (struct result_strings): Add another
23064         member, differentiating between C.ASCII and C.UTF-8 handling.
23065         (compare_strings): Add parameter.
23066         (main): Adjust all callers.
23067
23068         getopt: avoid clash with FreeBSD _getopt_internal
23069         * lib/getopt.in.h (_getopt_internal): Override the name.
23070         * lib/getopt_int.h (includes): Pick up any overrides.
23071         Reported by Reuben Thomas.
23072
23073         hash: allow C89 compilation
23074         * lib/hash.c (check_tuning): Move declaration before statement.
23075         Reported by Reuben Thomas.
23076
23077 2009-10-05  Karl Berry  <karl@gnu.org>
23078
23079         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
23080
23081 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
23082             Bruno Haible  <bruno@clisp.org>
23083
23084         * lib/uname.c (uname): Use a table-driven algorithm to compute
23085         Windows NT versions.
23086
23087 2009-10-04  Bruno Haible  <bruno@clisp.org>
23088
23089         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
23090         program_invocation_short_name.
23091         * modules/progname (configure.ac): Test for presence of
23092         program_invocation_short_name.
23093         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23094
23095 2009-10-04  Bruno Haible  <bruno@clisp.org>
23096
23097         * lib/progname.c (set_program_name): Fix comment.
23098         Reported by Jim Meyering.
23099
23100 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23101             Bruno Haible  <bruno@clisp.org>
23102
23103         * lib/uname.c: Include <string.h>.
23104         (uname): Do only one call to GetVersionEx in the common case.
23105
23106 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23107             Bruno Haible  <bruno@clisp.org>
23108
23109         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
23110         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
23111         (uname): Add support for Windows CE and various non-x86 CPU types.
23112
23113 2009-10-03  Bruno Haible  <bruno@clisp.org>
23114
23115         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
23116         invocation to tests/configure.ac.
23117         Reported by Ian Beckwith <ianb@erislabs.net>.
23118
23119 2009-10-02  Eric Blake  <ebb9@byu.net>
23120
23121         fchdir: avoid compiler warning
23122         * lib/fchdir.c (canonicalize_file_name)
23123         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
23124
23125         test-open: support mingw errno values
23126         * tests/test-open.h (test_open): Relax test.
23127         * tests/test-fopen.h (test_fopen): Likewise.
23128         * tests/test-openat-safer.c (main): Likewise.
23129
23130         open: fix opening directory on mingw
23131         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
23132
23133         test-open: on GNU/Hurd, /dev/null is a directory
23134         * tests/test-fopen.h (main): Rename...
23135         (test_fopen): ...to this.  Use a guaranteed non-directory when
23136         confirming open behavior on trailing slash.
23137         * tests/test-openat-safer.c (main): Likewise.
23138         * tests/test-open.h (main): Likewise....
23139         (test_open): ...to this.
23140         * tests/test-fopen.c (main): Adjust caller.
23141         * tests/test-fopen-safer.c (main): Likewise.
23142         * tests/test-open.c (main): Likewise.
23143         * tests/test-fcntl-safer.c (main): Likewise.
23144         Reported by Samuel Thibault.
23145
23146         rename, fchdir: don't ignore chdir failure
23147         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
23148         * lib/rename.c (rpl_rename) [W32]: Likewise.
23149         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
23150         an empty destination directory if source cannot be renamed,
23151         although there is still possibility for failure.
23152         * doc/posix-functions/rename.texi (rename): Document the race.
23153         Reported by Jim Meyering.
23154
23155         maint: cleanup whitespace in recent commits
23156         * lib/rename.c (rpl_rename): Remove tabs.
23157         * tests/test-link.h (test_link): Likewise.
23158         * lib/fchdir.c (get_name): Likewise.
23159         Reported by Jim Meyering.
23160
23161 2009-10-02  Ben Pfaff  <blp@gnu.org>
23162
23163         relocatable-prog-wrapper: Add missing dependency on
23164         double-slash-root.
23165         * modules/relocatable-prog-wrapper: Add dependency.
23166         Reported by Ian Beckwith <ianb@erislabs.net>.
23167
23168 2009-10-02  Eric Blake  <ebb9@byu.net>
23169
23170         renameat: fix Solaris bugs
23171         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
23172         needed fixing.
23173         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
23174         * modules/stdio (Makefile.am): Substitute it.
23175         * lib/stdio.in.h (renameat): Declare replacement.
23176         * lib/renameat.c (rpl_renameat): Implement fix.
23177
23178         renameat: new module
23179         * modules/renameat: New file.
23180         * lib/renameat.c (renameat): Likewise.
23181         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
23182         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23183         * modules/stdio (Makefile.am): Substitute them.
23184         * lib/stdio.in.h (renameat): Declare it.
23185         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23186         * doc/posix-functions/renameat.texi (renameat): Likewise.
23187         * modules/renameat-tests: New test.
23188         * tests/test-renameat.c: Likewise.
23189
23190         rename: fix mingw bugs
23191         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
23192         directory overwrite bugs.
23193
23194         rename: fix another cygwin 1.5 bug
23195         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
23196         checks.
23197         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
23198         unnecessary cygwin workarounds.  Also work around bug with moving
23199         full directory onto an empty one.
23200         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
23201
23202         rename-dest-slash: merge into rename module
23203         * modules/rename-dest-slash (Status): Mark obsolete.
23204         (Depends-on): Add rename.
23205         (Files): Let rename do it all.
23206         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
23207         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
23208         * m4/rename-dest-slash.m4: ...so this file can be deleted.
23209         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
23210         * lib/rename.c (rpl_rename): Update comments.
23211
23212         rename: fix cygwin 1.5.x bugs
23213         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
23214         * lib/rename.c (rpl_rename): Work around them.
23215         * modules/rename (Depends-on): Add same-inode.
23216
23217         rename: fix Solaris 10 bug
23218         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23219         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
23220         was the only bug.
23221
23222         rename: fix Solaris 9 bug
23223         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
23224         on non-directory.  Avoid calling exit.
23225         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
23226         strdup.
23227         * modules/rename-tests (Depends-on): Drop lstat.
23228         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23229         (gl_PREREQ_RENAME): Delete unused macro.
23230
23231         rename-dest-slash: fix NetBSD bug
23232         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
23233         links.
23234         * modules/rename-dest-slash (Depends-on): Add same-inode.
23235
23236         rename-tests: new test, exposes several platform bugs
23237         * modules/rename-tests: New file.
23238         * tests/test-rename.h: Likewise.
23239         * tests/test-rename.c: Likewise.
23240         * doc/posix-functions/rename.texi (rename): Improve documentation,
23241         including bugs that will eventually be fixed in gnulib.
23242
23243 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
23244
23245         * lib/uname.c: Include <stdlib.h>
23246         (uname): Assume version info is available.
23247
23248 2009-10-02  Jim Meyering  <meyering@redhat.com>
23249
23250         gnu-web-doc-update: correct --help output
23251         * build-aux/gnu-web-doc-update: Make --help output relevant.
23252
23253         gnu-web-doc-update: add standard options
23254         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
23255
23256         gnu-web-doc-update: New module.
23257         Use this script to automatically update the on-line web documentation
23258         for your GNU project at http://www.gnu.org/software/$pkg/manual/
23259         * modules/gnu-web-doc-update: New file, from coreutils.
23260         * build-aux/gnu-web-doc-update: New script.
23261
23262 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
23263
23264         link: LoadLibrary is not needed.
23265         * lib/link.c: Use GetModuleHandle.
23266
23267 2009-10-01  Eric Blake  <ebb9@byu.net>
23268
23269         getopt: bump serial number
23270         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
23271         change.
23272
23273         tests: tighten link, rmdir, and remove tests
23274         * tests/test-link.h (includes): No need to use <config.h> here.
23275         Clean up if directory hard link was created, otherwise test for
23276         trailing '.'.
23277         * tests/test-linkat.c (main): Simplify.
23278         * tests/test-remove.c (main): Enhance test for trailing '.'.
23279         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23280
23281 2009-10-01  Jim Meyering  <meyering@redhat.com>
23282
23283         maint.mk: requiring "make major" was annoying, for a "minor" release.
23284         What is intended is "stable", to contrast with alpha and beta,
23285         so require "make stable", not "make major".
23286         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
23287         (get_tool_versions): Likewise.
23288         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
23289
23290 2009-09-30  Ben Pfaff  <blp@gnu.org>
23291
23292         Fix broken build of replacement for Windows tmpfile().
23293         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
23294         flags argument added along with the 'mkostemp' module.
23295
23296 2009-09-28  Bruno Haible  <bruno@clisp.org>
23297
23298         Avoid identifier clash with POSIX function 'remove' defined as a macro.
23299         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
23300         to 'remove_elt'.
23301         (gl_list_remove): Update.
23302         * lib/gl_list.c (gl_list_remove): Update.
23303         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
23304         to 'remove_elt'.
23305         (gl_oset_remove): Update.
23306         * lib/gl_list.c (gl_oset_remove): Update.
23307         Reported by Eric Blake.
23308
23309 2009-09-28  Eric Blake  <ebb9@byu.net>
23310
23311         doc: mention yet more cygwin 1.7 status
23312         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
23313         cygwin.
23314         * doc/glibc-functions/execvpe.texi (execvpe): New file.
23315         * doc/gnulib.texi (Glibc unistd.h): Mention it.
23316
23317         argp: fix test failure
23318         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
23319         that are not upper-case.  Pass correct range to tolower.
23320
23321 2009-09-27  Jim Meyering  <meyering@redhat.com>
23322
23323         test-yesno: work around sparc-dash here-document infelicity
23324         Without this change, the literal \177 byte in a here document
23325         would make dash 0.5.5.1-3 access uninitialized memory.
23326         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
23327         Instead, use a marker, "@", and filter through tr to create the desired
23328         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
23329
23330 2009-09-27  Bruno Haible  <bruno@clisp.org>
23331
23332         Disable untested support for new flavours of ACLs on AIX.
23333         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
23334         progress.
23335         * lib/set-mode-acl.c (qset_acl): Likewise.
23336
23337 2008-12-07  Bruno Haible  <bruno@clisp.org>
23338
23339         Add support for new flavours of ACLs on AIX. (Untested.)
23340         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
23341         (file_has_acl): Add support for newer AIX.
23342         * lib/set-mode-acl.c (qset_acl): Likewise.
23343         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
23344         Rainer Tammer <tammer@tammer.net>.
23345
23346 2009-09-26  Eric Blake  <ebb9@byu.net>
23347
23348         argp: fix compilation of getopt
23349         * lib/getopt.in.h (includes): Use different guard than glibc.
23350         Reported by Sergey Poznyakoff.
23351
23352         doc: mention more cygwin 1.7 status
23353         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
23354         bug.
23355         * doc/posix-functions/execl.texi (execl): Likewise.
23356         * doc/posix-functions/execle.texi (execle): Likewise.
23357         * doc/posix-functions/execlp.texi (execlp): Likewise.
23358         * doc/posix-functions/execv.texi (execv): Likewise.
23359         * doc/posix-functions/execve.texi (execve): Likewise.
23360         * doc/posix-functions/execvp.texi (execvp): Likewise.
23361         * doc/glibc-functions/canonicalize_file_name.texi
23362         (canonicalize_file_name): Cygwin 1.7 now provides this.
23363         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
23364         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
23365         on AT_SYMLINK_NOFOLLOW.
23366
23367 2009-09-24  Eric Blake  <ebb9@byu.net>
23368
23369         test-linkat: make test more robust
23370         * tests/test-linkat.c (main): Avoid collision with EEXIST.
23371
23372         getopt: fix inclusion guards for cygwin
23373         * modules/getopt-posix (Depends-on): Add include-next.
23374         (Makefile.am): Substitute more items in replacement header.
23375         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
23376         <getopt.h>.
23377         * lib/getopt.in.h (includes): Use split inclusion guard, and
23378         prefer <getopt.h> over include <unistd.h> when one is present.
23379         (option): Also override name of 'struct option'.
23380
23381         same-inode: revert prior change; it is not yet ready
23382         * NEWS: Undo mention of this change.
23383         * lib/same-inode.h (same-inode.h): Undo tri-state change.
23384         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23385         * lib/cycle-check.c (cycle_check): Likewise.
23386         * lib/same.c (same_name): Likewise.
23387         * lib/at-func2.c (at_func2): Likewise.
23388
23389 2009-09-23  Eric Blake  <ebb9@byu.net>
23390
23391         linkat: new module
23392         * modules/linkat: New file.
23393         * lib/at-func2.c (at_func2): Likewise.
23394         * lib/linkat.c (linkat): Likewise.
23395         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23396         * lib/openat-priv.h (at_func2): Add declaration.
23397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23398         * modules/unistd (Makefile.am): Substitute them.
23399         * lib/unistd.in.h (linkat): Declare it.
23400         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23401         * doc/posix-functions/linkat.texi (linkat): Likewise.
23402         * doc/posix-functions/link.texi (link): Tweak wording.
23403         * tests/test-link.c (main): Move guts...
23404         * tests/test-link.h (test_link): ...into new file.
23405         * modules/linkat-tests: New test.
23406         * tests/test-linkat.c: Likewise.
23407         * modules/link-tests (Files): Ship new file.
23408         (Depends-on): Add stdbool.
23409
23410         dirname: add library-safe mdir_name
23411         * lib/dirname.h (mdir_name): New prototype.
23412         * lib/dirname.c (dir_name): Move guts...
23413         (mdir_name): ...to new function that avoids xalloc_die.
23414
23415         fchdir: another mingw fix
23416         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
23417         * lib/fchdir.c (get_name): New helper method; skips canonicalize
23418         on mingw (where it has not yet been ported), and make it optional
23419         elsewhere.
23420         (_gl_register_fd): Use it.
23421
23422         same-inode: make SAME_INODE tri-state, to port to mingw
23423         * NEWS: Mention this change.
23424         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
23425         st_ino always being 0.
23426         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23427         * lib/cycle-check.c (cycle_check): Likewise.
23428         * lib/same.c (same_name): Likewise.
23429
23430         lstat: avoid mingw compilation error
23431         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
23432         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
23433         lstat ourselves.
23434         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
23435         was adequate.
23436         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
23437         the checks for lstat.
23438         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
23439
23440         link: fix test failure on Solaris 9
23441         * lib/link.c (rpl_link): Don't assume link will catch bogus
23442         trailing slash on source.
23443
23444         test-symlinkat: enhance test
23445         * tests/test-readlink.c (main): Move guts...
23446         * tests/test-readlink.h (test_readlink): ...into new file.
23447         * tests/test-symlink.c (main): Move guts...
23448         * tests/test-symlink.h (test_symlink): ...into new file.
23449         * tests/test-symlinkat.c (main): Use new files for further
23450         coverage.
23451         (do_symlink, do_readlink): New helper functions.
23452         * modules/symlink-tests (Files): Ship new file.
23453         (Depends-on): Add stdbool.
23454         * modules/readlink-tests (Files): Ship new file.
23455         (Depends-on): Add stdbool.
23456         * modules/symlinkat-tests (Files): Use new files.
23457
23458 2009-09-23  Eric Blake  <ebb9@byu.net>
23459
23460         readlink: document portability issue with symlink length
23461         * doc/posix-functions/lstat.texi (lstat): Mention that some file
23462         systems have bogus st_size on symlinks, and mention the
23463         areadlink-with-size module.
23464         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23465         * doc/posix-functions/readlink.texi (readlink): Mention the
23466         areadlink module, and ERANGE failure.
23467         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23468         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
23469
23470         readlink: fix Solaris 9 bug with trailing slash
23471         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
23472         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
23473         * doc/posix-functions/readlink.texi (readlink): Document this.
23474         * modules/readlink-tests: New test.
23475         * tests/test-readlink.c: Likewise.
23476
23477         readlink: fix cygwin 1.5.x bug with return type
23478         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
23479         * lib/unistd.in.h (readlink): Use ssize_t.
23480         * lib/readlink.c (readlink): Likewise.
23481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23482         * modules/unistd (Makefile.am): Substitute it.
23483         * lib/unistd.in.h (readlink): Declare replacement.
23484         * doc/posix-functions/readlink.texi (readlink): Document this.
23485
23486         symlink: use throughout gnulib
23487         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
23488         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
23489         symlink is not used.
23490         * modules/symlinkat (Depends-on): Add symlink.
23491         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23492         * modules/canonicalize-tests (Depends-on): Likewise.
23493         * modules/lstat-tests (Depends-on): Likewise.
23494         * modules/openat-tests (Depends-on): Likewise.
23495         * modules/remove-tests (Depends-on): Likewise.
23496         * modules/rmdir-tests (Depends-on): Likewise.
23497         * modules/unlink-tests (Depends-on): Likewise.
23498         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
23499         * tests/test-canonicalize.c (symlink): Likewise.
23500         * tests/test-fstatat.c (symlink): Likewise.
23501         * tests/test-lstat.c (symlink): Likewise.
23502         * tests/test-remove.c (symlink): Likewise.
23503         * tests/test-rmdir.c (symlink): Likewise.
23504         * tests/test-unlink.c (symlink): Likewise.
23505         * tests/test-unlinkat.c (symlink): Likewise.
23506
23507         symlink: new module, for Solaris 9 bug
23508         * modules/symlink: New file.
23509         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23510         * lib/symlink.c: Likewise.
23511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23512         * modules/unistd (Makefile.am): Substitute them.
23513         * lib/unistd.in.h (symlink): Declare replacement.
23514         * MODULES.html.sh (File system functions): Mention it.
23515         * doc/posix-functions/symlink.texi (symlink): Likewise.
23516         * modules/symlink-tests: New test.
23517         * tests/test-symlink.c: Likewise.
23518
23519 2009-09-23  Bruno Haible  <bruno@clisp.org>
23520
23521         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
23522         when needed.
23523         Test case: gnulib-tool --import --with-tests atexit inttypes.
23524         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
23525
23526 2009-09-23  Bruno Haible  <bruno@clisp.org>
23527
23528         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
23529         subcommand, not in a subshell.
23530
23531 2009-09-22  Eric Blake  <ebb9@byu.net>
23532
23533         unistd: sort replacement declarations
23534         * lib/unistd.in.h: Sort declarations.
23535
23536         open, openat: minor optimization
23537         * lib/open.c (open): If open succeeded, len is non-zero.
23538         * lib/openat.c (rpl_openat): Likewise.
23539
23540         link-follow: ensure correct result
23541         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
23542         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
23543         distinguish between possible failures.
23544
23545 2009-09-21  Eric Blake  <ebb9@byu.net>
23546
23547         fts: avoid compiler warning
23548         * lib/fts.c (dirent_inode_sort_may_be_useful)
23549         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
23550
23551 2009-09-19  Bruno Haible  <bruno@clisp.org>
23552
23553         * lib/progreloc.c (canonicalize_file_name): New declaration.
23554
23555 2009-09-19  Eric Blake  <ebb9@byu.net>
23556
23557         link: fix quoting
23558         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
23559
23560         openat: fix openat bugs on Solaris 9
23561         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
23562         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
23563         * modules/openat (Depends-on): Add open.
23564         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
23565         * modules/fcntl-h (Makefile.am): Substitute it.
23566         * lib/fcntl.in.h (openat): Declare replacement.
23567         * doc/posix-functions/openat.texi (openat): Document this.
23568
23569         openat: move fstatat and unlinkat into correct files
23570         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
23571         compiled.
23572         * lib/openat.c (fstatat, unlinkat): Move...
23573         * lib/fstatat.c (fstatat): ...into correct files.
23574         * lib/unlinkat.c (unlinkat): Likewise.
23575
23576         openat: fix unlinkat bugs on Solaris 9
23577         * lib/unlinkat.c (unlinkat): New file.
23578         * modules/openat (Depends-on): Add unlink.
23579         (Files): Distribute it.
23580         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
23581         trailing slash behavior is broken.
23582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23583         * modules/unistd (Makefile.am): Substitute it.
23584         * lib/unistd.in.h (unlinkat): Declare replacement.
23585         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
23586
23587         openat: fix fstatat bugs on Solaris 9
23588         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
23589         stat.
23590         * doc/posix-functions/fstatat.texi (fstatat): Document this.
23591
23592         test-unlinkat: enhance test, to expose Solaris 9 bug
23593         * tests/test-unlink.c (main): Factor guts...
23594         * tests/test-unlink.h (test_rmdir_func): ...into new file.
23595         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
23596         * tests/test-rmdir.c (main): Adjust caller.
23597         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
23598         (unlinker): New helper function.
23599         (rmdirat): Enhance check.
23600         * modules/rmdir-tests (Depends-on): Add stdbool.
23601         * modules/unlink-tests (Depends-on): Likewise.
23602         (Files): Add test-unlink.h.
23603         * modules/openat-tests (Files): Likewise.
23604         (Depends-on): Add unlinkdir.
23605
23606         test-fstatat: new test, to expose Solaris 9 bugs
23607         * tests/test-stat.c (main): Factor guts...
23608         * tests/test-stat.h (test_stat_func): ...into new file.
23609         * tests/test-lstat.c (main): Factor guts...
23610         * tests/test-lstat.h (test_lstat_func): ...into new file.
23611         * tests/test-fstatat.c: New file.
23612         * modules/stat-tests (Files): Add test-stat.h.
23613         * modules/lstat-tests (Files): Add test-lstat.h.
23614         (Depends-on): Add stdbool.
23615         * modules/openat-tests (Depends-on): Add pathmax.
23616         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
23617         (Makefile.am): Run new test.
23618
23619         remove: new module, for mingw and Solaris 9 bugs
23620         * modules/remove: New file.
23621         * lib/remove.c: Likewise.
23622         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
23623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23624         * modules/stdio (Makefile.am): Use them.
23625         * lib/stdio.in.h (remove): Declare replacement.
23626         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23627         * doc/posix-functions/remove.texi (remove): Likewise.
23628         * modules/remove-tests: New test.
23629         * tests/test-remove.c: Likewise.
23630
23631         unlink: new module, for Solaris 9 bug
23632         * modules/unlink: New file.
23633         * lib/unlink.c: Likewise.
23634         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23636         * modules/unistd (Makefile.am): Use them.
23637         * lib/unistd.in.h (stat): Declare replacement.
23638         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23639         * doc/posix-functions/unlink.texi (unlink): Likewise.
23640         * modules/unlink-tests: New test.
23641         * tests/test-unlink.c: Likewise.
23642
23643         lstat: fix Solaris 9 bug
23644         * lib/lstat.c (lstat): Also check for trailing slash on
23645         non-symlink, non-directories.  Use stat module to simplify logic.
23646         * doc/posix-functions/lstat.texi (lstat): Document it.
23647         * modules/lstat-tests (Depends-on): Add errno, same-inode.
23648         (configure.ac): Check for symlink.
23649         * tests/test-lstat.c (main): Add more tests.
23650
23651         stat: add as dependency to other modules
23652         * modules/chown (Depends-on): Add stat.
23653         * modules/euidaccess (Depends-on): Likewise.
23654         * modules/fchdir (Depends-on): Likewise.
23655         * modules/isdir (Depends-on): Likewise.
23656         * modules/link (Depends-on): Likewise.
23657         * modules/lstat (Depends-on): Likewise.
23658         * modules/mkdir-p (Depends-on): Likewise.
23659         * modules/modechange (Depends-on): Likewise.
23660         * modules/open (Depends-on): Likewise.
23661         * modules/readlink (Depends-on): Likewise.
23662         * modules/same (Depends-on): Likewise.
23663
23664         stat: fix Solaris 9 bug
23665         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
23666         slash.
23667         * lib/stat.c (rpl_stat): Work around it.
23668         * doc/posix-functions/stat.texi (stat): Update documentation.
23669
23670         stat: new module, for mingw bug
23671         * modules/stat: New file.
23672         * lib/stat.c: Likewise.
23673         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23674         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23675         * modules/sys_stat (Makefile.am): Use them.
23676         * lib/sys_stat.in.h (stat): Declare replacement.
23677         * lib/openat.c (fstatat): Deal with lstat and stat being function
23678         macros.
23679         * modules/openat (Depends-on): Add inline.
23680         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23681         * doc/posix-functions/stat.texi (stat): Likewise.
23682         * modules/stat-tests: New test.
23683         * tests/test-stat.c: Likewise.
23684
23685 2009-09-19  Jim Meyering  <meyering@redhat.com>
23686
23687         syntax-check: detect unnecessary inclusion of canonicalize.h
23688         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
23689
23690 2009-09-19  Eric Blake  <ebb9@byu.net>
23691
23692         canonicalize-lgpl: adjust clients to use correct header
23693         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23694         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
23695         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
23696         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
23697         * lib/progreloc.c (includes): Likewise.
23698
23699 2009-09-19  Jim Meyering  <meyering@redhat.com>
23700
23701         test-posixtm.c: correct a comment
23702         * tests/test-posixtm.c: Correct first-line comment.
23703         Spotted by Eric Blake.
23704
23705 2009-09-16  Jim Meyering  <meyering@redhat.com>
23706
23707         posixtm-tests: make T const-correct; add a test case
23708         * tests/test-posixtm.c (T): Declare const.
23709         Add a test for -(2^31+1).
23710         Remove useless can-succeed-only-in-2002 test.
23711
23712         posixtm-tests: adjust the sole failing test
23713         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
23714         expected output matches what mktime now produces.  Cross-checked via
23715         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
23716
23717         posixtm: move #ifdef'd tests into a new module
23718         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
23719         * tests/test-posixtm.c: ... this new file.
23720         * modules/posixtm-tests: New module.
23721
23722 2009-09-19  Eric Blake  <ebb9@byu.net>
23723
23724         openat: simplify use of at-func.c
23725         * lib/at-func.c (includes): Include prerequisites here, to
23726         simplify requirements on client files.
23727         * lib/openat-priv.h: Add double-inclusion guard.
23728         * lib/faccessat.c (includes): Simplify.
23729         * lib/fchmodat.c (includes): Likewise.
23730         * lib/fchownat.c (includes): Likewise.
23731         * lib/mkdirat.c (includes): Likewise.
23732         * lib/mkfifoat.c (includes): Likewise.
23733         * lib/symlinkat.c (includes): Likewise.
23734
23735         openat: allow return of fd 0
23736         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
23737         * modules/save-cwd (Depends-on): Replace fcntl-safer with
23738         unistd-safer.
23739         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
23740         <fcntl.h>; this module does not leak fds.
23741         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
23742         must be allowed to return 0, leaving openat_safer to add the
23743         safety.
23744         (openat_permissive): Avoid writing to just-opened fd 2 if
23745         restoring the current directory fails.
23746         * lib/openat-die.c (openat_restore_fail): Add comment.
23747         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
23748         (save_cwd): Guarantee safe fd, but without use of open_safer.
23749         * tests/test-openat.c: New test.
23750         * modules/openat-tests (Files, Makefile.am): Distribute and build
23751         new file.
23752
23753         relocatable-prog-wrapper: fix build
23754         * modules/relocatable-prog-wrapper (Files): Update name of
23755         canonicalize m4 file, broken on 2009-09-17.
23756         Reported by emad hajjar <aleppos@hotmail.com>.
23757
23758 2009-09-19  Bruno Haible  <bruno@clisp.org>
23759
23760         * lib/safe-alloc.h: Use the standard header with GPL copyright.
23761         * lib/safe-alloc.c: Likewise.
23762         Reported by Ian Beckwith <ianb@erislabs.net>.
23763
23764 2009-09-18  Bruno Haible  <bruno@clisp.org>
23765
23766         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
23767         Reported by <erobles@sensacd.com.mx>.
23768
23769 2009-09-17  Eric Blake  <ebb9@byu.net>
23770
23771         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
23772         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
23773         slashes when checking if last component is missing.
23774         * tests/test-canonicalize.c (main): Test this.
23775
23776         canonicalize, canonicalize-lgpl: honor // if distinct from /
23777         * modules/canonicalize (Files): Add double-slash-root.m4.
23778         * modules/canonicalize-lgpl (Files): Likewise.
23779         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23780         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
23781         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
23782         fallback definition.
23783         (canonicalize_filename_mode): Use it to protect //.
23784         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
23785         (__realpath): Likewise.
23786         * tests/test-canonicalize.c (main): Test this.
23787         * tests/test-canonicalize-lgpl.c (main): Likewise.
23788         * modules/canonicalize-tests (Depends-on): Add same-inode.
23789         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23790
23791         canonicalize-lgpl: fix glibc bug with trailing slash
23792         * m4/canonicalize-lgpl.m4: Move contents...
23793         * m4/canonicalize.m4: ...here.
23794         (gl_CANONICALIZE_LGPL): Factor realpath check...
23795         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
23796         glibc 2.3.5 bug, fixed 2005-04-27.
23797         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23798         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23799         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23800         * modules/canonicalize-lgpl (Files): Manage file rename.
23801         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23802         * modules/stdlib (Makefile.am): Substitute witness.
23803         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23804         is needed.
23805         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23806         replacement is required.
23807         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23808         * doc/glibc-functions/canonicalize_file_name.texi
23809         (canonicalize_file_name): Document this.
23810         * doc/posix-functions/realpath.texi (realpath): Likewise.
23811
23812         canonicalize-lgpl: reject non-directory with trailing slash
23813         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23814         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23815         catches failures in glibc 2.3.5.
23816         * tests/test-canonicalize.c (main): Likewise.
23817
23818         canonicalize-lgpl: use native realpath if it works
23819         * lib/canonicalize-lgpl.c (realpath): Guard with
23820         FUNC_REALPATH_WORKS.
23821         * lib/stdlib.in.h (realpath): Make declaration optional based on
23822         HAVE_REALPATH.
23823         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23824         native realpath works.
23825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23826         * modules/stdlib (Makefile.am): Substitute witness.
23827
23828         canonicalize, canonicalize-lgpl: use <stdlib.h>
23829         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23830         (Include): Mention <stdlib.h>.
23831         (configure.ac): Mention functions we provide.
23832         * modules/canonicalize (configure.ac): Likewise.
23833         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23834         realpath if canonicalize_file_name is missing.
23835         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23836         * modules/stdlib (Makefile.am): Substitute witnesses.
23837         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23838         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23839         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23840         * NEWS: Document this.
23841         * doc/glibc-functions/canonicalize_file_name.texi
23842         (canonicalize_file_name): Likewise.
23843         * doc/posix-functions/realpath.texi (realpath): Likewise.
23844         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23845
23846         test-canonicalize: consolidate into single C program
23847         * tests/test-canonicalize.sh: Delete; move setup into...
23848         * tests/test-canonicalize.c (main): ...the program, making it
23849         easier to run in debugger.  Add some tests.
23850         * modules/canonicalize-tests (Files): Remove unused file.
23851         (Depends-on): Add progname.
23852         (configure.ac, Makefile.am): Simplify.
23853
23854         test-canonicalize-lgpl: consolidate into single C program
23855         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23856         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23857         easier to run in debugger.  Add some tests.
23858         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23859         (configure.ac, Makefile.am): Simplify.
23860
23861         canonicalize: avoid resolvepath
23862         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23863         unnecessary checks.
23864         * lib/canonicalize.c (includes): Simplify.
23865         (canonicalize_file_name): Drop resolvepath implementation.
23866         * modules/canonicalize (Depends-on): Drop filenamecat.
23867
23868         canonicalize: don't lose errno
23869         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23870         over calls to free.
23871
23872         canonicalize: simplify errno handling
23873         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23874         assignment.
23875
23876         canonicalize, canonicalize-lgpl: update module dependencies
23877         * modules/canonicalize (Depends-on): Add extensions, lstat,
23878         pathmax, stdlib.
23879         (Files): Drop pathmax.h.
23880         (configure.ac): Adjust macro name.
23881         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23882         lstat, stdlib, sys_stat.
23883         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23884         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23885         extensions.
23886         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23887         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23888         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23889         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23890         declaration, if available.
23891         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23892         we can rely on the readlink module.
23893         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23894         (includes): Use <unistd.h> unconditionally.
23895
23896 2009-09-17  Eric Blake  <ebb9@byu.net>
23897
23898         maint: make Include sections of modules consistent
23899         * modules/alloca: Use only header name; no need to list #include.
23900         * modules/alloca-opt: Likewise.
23901         * modules/arpa_inet: Likewise.
23902         * modules/canon-host: Likewise.
23903         * modules/configmake: Likewise.
23904         * modules/dirent: Likewise.
23905         * modules/eealloc: Likewise.
23906         * modules/environ: Likewise.
23907         * modules/fchdir: Likewise.
23908         * modules/fcntl: Likewise.
23909         * modules/fcntl-h: Likewise.
23910         * modules/gethrxtime: Likewise.
23911         * modules/gettime: Likewise.
23912         * modules/ignore-value: Likewise.
23913         * modules/inet_ntop: Likewise.
23914         * modules/inet_pton: Likewise.
23915         * modules/inttypes: Likewise.
23916         * modules/isnand-nolibm: Likewise.
23917         * modules/isnanf-nolibm: Likewise.
23918         * modules/mbchar: Likewise.
23919         * modules/mbfile: Likewise.
23920         * modules/mbiter: Likewise.
23921         * modules/mbuiter: Likewise.
23922         * modules/netdb: Likewise.
23923         * modules/netinet_in: Likewise.
23924         * modules/nproc: Likewise.
23925         * modules/pagealign_alloc: Likewise.
23926         * modules/poll: Likewise.
23927         * modules/printf-frexp: Likewise.
23928         * modules/pthread: Likewise.
23929         * modules/putenv: Likewise.
23930         * modules/random_r: Likewise.
23931         * modules/relocatable-prog: Likewise.
23932         * modules/search: Likewise.
23933         * modules/select: Likewise.
23934         * modules/selinux-h: Likewise.
23935         * modules/settime: Likewise.
23936         * modules/signal: Likewise.
23937         * modules/size_max: Likewise.
23938         * modules/socklen: Likewise.
23939         * modules/ssize_t: Likewise.
23940         * modules/stdarg: Likewise.
23941         * modules/stdbool: Likewise.
23942         * modules/stddef: Likewise.
23943         * modules/stdint: Likewise.
23944         * modules/stdio: Likewise.
23945         * modules/stdlib: Likewise.
23946         * modules/string: Likewise.
23947         * modules/strings: Likewise.
23948         * modules/sys_file: Likewise.
23949         * modules/sys_ioctl: Likewise.
23950         * modules/sys_select: Likewise.
23951         * modules/sys_socket: Likewise.
23952         * modules/sys_stat: Likewise.
23953         * modules/sys_time: Likewise.
23954         * modules/sys_times: Likewise.
23955         * modules/sys_utsname: Likewise.
23956         * modules/sys_wait: Likewise.
23957         * modules/sysexits: Likewise.
23958         * modules/time: Likewise.
23959         * modules/times: Likewise.
23960         * modules/tmpfile: Likewise.
23961         * modules/trim: Likewise.
23962         * modules/unistd: Likewise.
23963         * modules/wchar: Likewise.
23964         * modules/wctype: Likewise.
23965
23966 2009-09-17  Bruno Haible  <bruno@clisp.org>
23967
23968         Make getdate.y compile on QNX and NetBSD 5 / i386.
23969         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23970         TIME_T_FITS_IN_LONG_INT.
23971         * lib/getdate.y (long_time_t): New type.
23972         (relative_time): Change type of 'seconds' field to long_time_t.
23973         (get_date): Update types of local variables. Check against overflow
23974         during conversion from long_time_t to time_t.
23975         Reported by Matt Kraai <kraai@ftbfs.org>
23976         and Hasso Tepper <hasso@netbsd.org>.
23977
23978 2009-09-17  Bruno Haible  <bruno@clisp.org>
23979
23980         * modules/COPYING: Update copyright years.
23981         * modules/README: Likeiwse.
23982         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23983         Reported by Ian Beckwith <ianb@erislabs.net>.
23984
23985 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23986
23987         * users.txt: Update references for gnuit package.
23988
23989 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23990
23991         * m4/getdelim.m4: Fix typo in copyright line.
23992
23993 2009-09-17  Bruno Haible  <bruno@clisp.org>
23994
23995         * lib/atoll.c: Use the standard header with GPL copyright.
23996         * lib/argz.in.h: Likewise.
23997         * lib/glob.c: Likewise.
23998         * lib/glob-libc.h: Likewise.
23999         * lib/random_r.c: Likewise.
24000         * lib/siglist.h: Likewise.
24001         * lib/strsignal.c: Likewise.
24002         Reported by Ian Beckwith <ianb@erislabs.net>.
24003
24004 2009-09-17  Eric Blake  <ebb9@byu.net>
24005
24006         rmdir: ensure correct dependency order
24007         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
24008
24009 2009-09-17  Bruno Haible  <bruno@clisp.org>
24010
24011         Disable assertion that fails on NetBSD 5 / i386.
24012         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
24013         Reported by Sam Steingold <sds@gnu.org>
24014         and Hasso Tepper <hasso@netbsd.org>.
24015
24016 2009-09-16  Eric Blake  <ebb9@byu.net>
24017
24018         unlinkdir: port to mingw
24019         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
24020         on which no one can unlink a directory.
24021
24022         stdlib: sort witness names
24023         * modules/stdlib (Makefile.am): Sort replacements.
24024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
24025         * lib/stdlib.in.h: Likewise.
24026
24027         parse-duration-tests: avoid link failure
24028         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
24029         LIBINTL.
24030         Reported by Tom G. Christensen.
24031
24032         openat-tests: ensure unlinkat behaves like rmdir
24033         * tests/test-rmdir.c (main): Factor guts...
24034         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
24035         * modules/rmdir-tests (Files): Ship new file.
24036         * modules/openat-tests: New test.
24037         * tests/test-unlinkat.c: Likewise.
24038
24039         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
24040         * modules/rmdir-errno (Status, Notice): Now obsolete.
24041
24042         rmdir: work around cygwin 1.5.x and mingw bugs
24043         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
24044         * lib/rmdir.c (rmdir): Work around it.
24045         * modules/rmdir (Status, Notice): No longer obsolete.
24046         (Files): Add dos.m4.
24047         (Depends-on): Add unistd.
24048         (configure.ac): Set witnesses.
24049         (License): Relax to LGPLv2+.
24050         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
24051         * modules/unistd (Makefile.am): Substitute witnesses.
24052         * lib/unistd.in.h (rmdir): Declare replacement.
24053         * doc/posix-functions/rmdir.texi (rmdir): Document this.
24054         * modules/rmdir-tests: New tests.
24055         * tests/test-rmdir.c: Likewise.
24056
24057 2009-09-15  Eric Blake  <ebb9@byu.net>
24058
24059         fchdir: improve use of replacement functions
24060         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
24061         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
24062         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
24063         REPLACE_CLOSEDIR.
24064         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
24065         * modules/sys_stat (Makefile.am): Substitute correct witness.
24066         * modules/dirent (Makefile.am): Likewise.
24067         * modules/unistd (Makefile.am): Likewise.
24068         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
24069         * lib/unistd.in.h (dup): Likewise.
24070         * lib/sys_stat.in.h (fstat): Likewise.
24071
24072         maint: ignore gnulib-tool temp files
24073         * .gitignore: Ignore files created during gnulib-tool --test.
24074
24075 2009-09-13  Jim Meyering  <meyering@redhat.com>
24076
24077         posixtm: don't reject a time that specify "60" as the number of seconds
24078         * lib/posixtm.c (posixtime): The code to reject invalid dates
24079         would also reject a time specified with the .60 suffix.
24080         But POSIX allows that, in order to accommodate leap seconds.
24081         So don't reject it.
24082         (main): Adjust tests accordingly.
24083         * modules/posixtm (Depends-on): Add stpcpy.
24084
24085 2009-09-11  Jim Meyering  <meyering@redhat.com>
24086
24087         announce-gen: include [$release_type] in emitted Subject:
24088         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
24089         e.g., [stable] in the emitted Subject: line.
24090
24091 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24092
24093         Remove obsolete macros from several modules.
24094         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
24095         obsolete Autoconf macros with their modern counterparts.
24096         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
24097         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
24098         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
24099         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
24100         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
24101         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24102         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24103         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24104         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24105         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
24106         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24107         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24108         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
24109         * m4/sockets.m4 (gl_SOCKETS): Likewise.
24110         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
24111         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
24112         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24113         * m4/time_r.m4 (gl_TIME_R): Likewise.
24114         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24115         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
24116         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24117
24118         Fix copyright header in build-aux scripts.
24119         * build-aux/git-version-gen: Fix copyright header to match GPLv3
24120         recommendation.
24121         * build-aux/ncftpput-ftp: Likewise.
24122         * build-aux/update-copyright: Likewise.
24123
24124 2009-09-09  Eric Blake  <ebb9@byu.net>
24125
24126         test-link: allow Linux choice of errno
24127         * tests/test-link.c (main): Relax test for alternate error.
24128
24129         strndup: fix improper m4 caching
24130         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
24131         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
24132         (gl_PREREQ_STRNDUP): Delete.
24133         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
24134         * modules/string (Makefile.am): Substitute it.
24135         * lib/string.in.h (strndup): Modernize prototype.
24136
24137         getcwd: port to mingw
24138         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
24139         different from the POSIX assumptions made throughout the getcwd
24140         module; fortunately, the mingw getcwd does not need replacement.
24141         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
24142         * modules/getcwd-tests: New test.
24143         * tests/test-getcwd.c: Likewise.
24144
24145         link: fix platform bugs
24146         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
24147         * lib/link.c (link): Work around them.  Fix related mingw bug.
24148         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
24149         * modules/unistd (Makefile.am): Substitute it.
24150         * lib/unistd.in.h (link): Declare replacement.
24151         * doc/posix-functions/link.texi (link): Document this.
24152         * modules/link (Depends-on): Add strdup-posix, sys_stat.
24153
24154         test-link: consolidate into single C program, test more cases
24155         * tests/test-link.sh: Delete.
24156         * tests/test-link.c: Test more error conditions.  Exposes bugs on
24157         at least Cygwin and Solaris.
24158         * modules/link-tests (Files): Remove unused file.
24159         (Depends-on): Add errno, sys_stat.
24160         (Makefile.am): Simplify.
24161
24162 2009-09-08  Bruno Haible  <bruno@clisp.org>
24163
24164         Work around towlower, towupper bug on mingw.
24165         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
24166         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
24167         * doc/posix-functions/towlower.texi: Mention the mingw bug.
24168         * doc/posix-functions/towupper.texi: Likewise.
24169         Reported by Eric Blake.
24170
24171 2009-09-08  Jim Meyering  <meyering@redhat.com>
24172
24173         build: don't try to run autoheader if we don't use it
24174         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
24175         is not used in configure.ac.
24176
24177 2009-09-08  Eric Blake  <ebb9@byu.net>
24178
24179         euidaccess: fix compilation error
24180         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
24181
24182         rawmemchr: relax license
24183         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
24184         okay.
24185         Reported by Jim Meyering.
24186
24187         mkfifoat: new module
24188         * modules/mkfifoat: New file.
24189         * lib/mkfifoat.c: Likewise.
24190         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
24191         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24192         * modules/sys_stat (Makefile.am): Use them.
24193         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
24194         * MODULES.html.sh (File system functions): Mention module.
24195         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24196         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24197         * modules/mkfifoat-tests: New test.
24198         * tests/test-mkfifoat.c: Likewise.
24199
24200         strchrnul: relax license
24201         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
24202         okay.
24203         Reported by Jim Meyering.
24204
24205 2009-09-08  Eric Blake  <ebb9@byu.net>
24206
24207         fstatat: fix compilation on Solaris
24208         * lib/fstatat.c (includes): Add fcntl.h.
24209         Reported by Pádraig Brady.
24210
24211 2009-09-07  Eric Blake  <ebb9@byu.net>
24212
24213         rename: modernize replacement
24214         * modules/rename (Depends-on): Add stdio.
24215         (configure.ac): Declare witness.
24216         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
24217         stdio take care of replacement.
24218         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24219         * modules/stdio (Makefile.am): Substitute them.
24220         * lib/stdio.in.h (rename): Declare replacement.
24221         * lib/rename.c (includes): Allow cross-compilation to non-windows
24222         machines.
24223         * doc/posix-functions/rename.texi (rename): Improve
24224         documentation.
24225
24226         stdio: sort witness names
24227         * modules/stdio (Makefile.am): Sort replacements.
24228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24229         * lib/stdio.in.h: Likewise.
24230
24231         getcwd: minor cleanups
24232         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
24233         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
24234
24235         openat: provide more convenience names
24236         * modules/faccessat (configure.ac): Add C witness.
24237         * lib/unistd.in.h (readlinkat): Fix typo.
24238         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
24239         convenience wrappers.
24240         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
24241         wrappers in syntax checks.
24242
24243 2009-09-06  Eric Blake  <ebb9@byu.net>
24244
24245         doc: fix comments in recent patches
24246         * lib/faccessat.c: Mention correct function.
24247         * lib/fchmodat.c: Likewise.
24248         * lib/fchownat.c: Likewise.
24249         * lib/symlinkat.c: Likewise.
24250         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
24251         constants.
24252
24253         faccessat, symlinkat: continue cleanup of previous patch
24254         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
24255         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24256         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
24257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
24258         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
24259         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
24260         set.
24261
24262 2009-09-06  Bruno Haible  <bruno@clisp.org>
24263
24264         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
24265         (fstatat): Declare if GNULIB_FSTATAT is set.
24266         (mkdirat): Declare if GNULIB_MKDIRAT is set.
24267         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
24268         (unlinkat): Declare if GNULIB_UNLINKAT is set.
24269         * modules/fcntl-h (Files): Remove m4/openat.m4.
24270         * modules/sys_stat (Files): Remove m4/openat.m4.
24271         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
24272         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
24273         * modules/unistd (Files): Remove m4/openat.m4.
24274         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
24275         GNULIB_OPENAT.
24276         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
24277         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
24278         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24279         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
24280         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
24281         gl_OPENAT_DEFAULTS.
24282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
24283         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
24284         Don't require gl_OPENAT_DEFAULTS.
24285         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
24286         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
24287         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
24288         (gl_OPENAT_DEFAULTS): Remove macro.
24289
24290 2009-09-06  Bruno Haible  <bruno@clisp.org>
24291
24292         * modules/openat (configure.ac): Remove unneeded witness.
24293
24294 2009-09-06  Bruno Haible  <bruno@clisp.org>
24295
24296         Set errno to ENOSYS when a function is entirely unsupported.
24297         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
24298         EOPNOTSUPP.
24299         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24300         * modules/chown (Depends-on): Remove errno.
24301
24302 2009-09-06  Bruno Haible  <bruno@clisp.org>
24303
24304         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
24305
24306 2009-09-06  Bruno Haible  <bruno@clisp.org>
24307
24308         * lib/sys_stat.in.h: Fix preprocessor command indentation.
24309
24310 2009-09-06  Ben Pfaff  <blp@gnu.org>
24311             Bruno Haible  <bruno@clisp.org>
24312
24313         Work around a glibc bug in strtok_r.
24314         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
24315         Undefine if UNDEFINE_STRTOK_R is set.
24316         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
24317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24318         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
24319         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
24320         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
24321         UNDEFINE_STRTOK_R.
24322         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
24323
24324 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24325
24326         exclude: minor fix
24327         * lib/exclude.c: Include wctype.h
24328
24329 2009-09-06  Akim Demaille  <demaille@gostai.com>
24330
24331         bootstrap: improve error message
24332         * build-aux/bootstrap (find_tool): Upon failure, report the list
24333         of candidates.
24334         Honor the initial value of the envvar.
24335
24336 2009-09-05  Eric Blake  <ebb9@byu.net>
24337
24338         symlinkat: new module
24339         * modules/symlinkat: New file.
24340         * lib/symlinkat.c: Likewise.
24341         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
24342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24343         * modules/unistd (Makefile.am): Use them.
24344         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
24345         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
24346         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
24347         * MODULES.html.sh (File system functions): Mention module.
24348         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24349         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24350         * modules/symlinkat-tests: New test.
24351         * tests/test-symlinkat.c: Likewise.
24352
24353         test-openat-safer: add more checks
24354         * tests/test-openat-safer.c (main): Check more code paths.
24355
24356 2009-09-05  Jim Meyering  <meyering@redhat.com>
24357
24358         syntax-check: detect unnecessary inclusion of openat.h
24359         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
24360
24361 2009-09-05  Bruno Haible  <bruno@clisp.org>
24362
24363         Support towlower, towupper.
24364         * doc/posix-functions/towlower.texi: Mention module wctype.
24365         * doc/posix-functions/towupper.texi: Likewise.
24366         * lib/wctype.in.h (towlower, towupper): New functions.
24367         * tests/test-wctype.c: Include stdio.h, stdlib.h.
24368         (ASSERT): New macro.
24369         (e): New variable.
24370         (main): Test also towlower, towupper. Test WEOF argument.
24371         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24372
24373 2009-09-05  Bruno Haible  <bruno@clisp.org>
24374
24375         Fix conversion behaviour when the input is invalid.
24376         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
24377         mark occurring in first pass of indirect conversion.
24378         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
24379         input.
24380         Found by clang's static analyzer.
24381
24382 2009-09-05  Bruno Haible  <bruno@clisp.org>
24383
24384         * tests/test-striconveh.c (main): Test indirect conversion on platforms
24385         where direct conversion is possible.
24386
24387 2009-09-04  Eric Blake  <ebb9@byu.net>
24388
24389         openat: fail with ENOENT on empty name
24390         * lib/openat-proc.c (openat_proc_name): Special-case the empty
24391         buffer.
24392
24393         link-follow: fix logic bug in prior patch
24394         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
24395         reversed sense of yes and no in prior patch.  Avoid confusing
24396         compilation failure with desired semantics.
24397
24398         link-follow: accomodate mingw and cross-compilation
24399         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
24400         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
24401         cross-compilation results to -1, to make linkat easier to
24402         implement when cross-compiling.  Trivially support mingw.
24403         * modules/link-follow (configure.ac): Call new name.
24404         * NEWS: Mention this.
24405
24406 2009-09-03  Eric Blake  <ebb9@byu.net>
24407
24408         faccessat: compile replacement
24409         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
24410         needed.
24411
24412         fts: fix compilation error
24413         * lib/fts.c (includes): Re-add "openat.h", for
24414         openat_needs_fchdir.
24415
24416         faccessat: new module
24417         * modules/faccessat: New file.
24418         * lib/faccessat.c: Likewise.
24419         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24421         * modules/unistd (Makefile.am): Use it.
24422         * lib/unistd.in.h (faccessat): Declare it.
24423         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
24424         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
24425         * MODULES.html.sh (File system functions): Mention it.
24426         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
24427         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24428
24429         euidaccess: prefer POSIX over non-standard implementation
24430         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
24431         * lib/euidaccess.c (euidaccess): Use it if available.
24432
24433         openat: make template easier to use
24434         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
24435         AT_FUNC_F2 to be undefined.
24436         (VALIDATE_FLAG): New macro; use it to reject bad flags.
24437         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
24438         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
24439         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
24440         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
24441         Likewise.
24442         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
24443         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
24444         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
24445         Likewise.
24446
24447         openat: declare in POSIX headers
24448         * NEWS: Mention this.
24449         * modules/openat (configure.ac): Declare witnesses.
24450         (Depends-on): Add fcntl-h, sys_stat, unistd.
24451         (Include): Mention correct headers.
24452         * modules/fcntl-h (Depends-on): Add link-warning.
24453         (Files): Add openat.m4.
24454         (Makefile.am): Substitute witnesses.
24455         * modules/sys_stat (Files, Makefile.am): Likewise.
24456         * modules/unistd (Files, Makefile.am): Likewise.
24457         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
24458         (gl_OPENAT_DEFAULTS): New macro.
24459         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
24460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
24461         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
24462         (SYS_STAT_H): Remove unused variable.
24463         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
24464         * lib/fcntl--.h (includes): Remove unneeded header.
24465         * lib/openat-safer.c (includes): Likewise.
24466         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
24467         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
24468         appropriate headers.
24469         (__OPENAT_PREFIX): Delete.
24470         * lib/fcntl.in.h (openat): Provide declaration.
24471         (AT_FDCWD): Fix Solaris bug.
24472         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
24473         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
24474         * lib/fchmodat.c (includes):  Adjust to find declaration.
24475         * lib/fchownat.c (includes): Likewise.
24476         * lib/mkdirat.c (includes): Likewise.
24477         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
24478         still visible.
24479
24480 2009-09-02  Eric Blake  <ebb9@byu.net>
24481
24482         errno: use consistently
24483         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
24484         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
24485         * lib/canonicalize.c (ELOOP): Likewise.
24486         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
24487         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
24488         * lib/lchown.c (EOPNOTSUPP): Likewise.
24489         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
24490         * lib/savewd.c (ESTALE): Likewise.
24491         * lib/settime.c (ENOSYS): Likewise.
24492         * lib/utimens.c (ENOSYS): Likewise.
24493         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
24494         * lib/chdir-safer.c (ELOOP): Likewise.
24495         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
24496         * modules/c-stack (Depends-on): Add errno.
24497         * modules/canonicalize (Depends-on): Likewise.
24498         * modules/chdir-safer (Depends-on): Likewise.
24499         * modules/fdopendir (Depends-on): Likewise.
24500         * modules/inet_ntop (Depends-on): Likewise.
24501         * modules/inet_pton (Depends-on): Likewise.
24502         * modules/lchown (Depends-on): Likewise.
24503         * modules/openat (Depends-on): Likewise.
24504         * modules/savewd (Depends-on): Likewise.
24505         * modules/settime (Depends-on): Likewise.
24506         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
24507
24508         fts: avoid leaking fds
24509         * modules/fts (Depends-on): Add cloexec.
24510         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
24511         flag.
24512
24513         fts: make directory fds more robust
24514         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
24515         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
24516
24517         backupfile, chdir-long, fts, savedir: make safer
24518         * lib/backupfile.c (includes): Use "dirent--.h", since
24519         numbered_backup can write to stderr during readdir.
24520         * lib/savedir.c (includes): Likewise.
24521         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
24522         emulation can write to stderr on failure.
24523         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
24524         * lib/getcwd.c: Document why opendir_safer is unused.
24525         * lib/glob.c: Likewise.
24526         * lib/scandir.c: Likewise.
24527         * lib/openat-proc.c: Likewise, for open_safer.
24528         * modules/backupfile (Depends-on): Add dirent-safer.
24529         * modules/savedir (Depends-on): Likewise.
24530         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
24531         * modules/chdir-long (Depends-on): Add openat-safer.
24532
24533         openat-safer: new module
24534         * modules/openat-safer: New file.
24535         * lib/openat-safer.c: Likewise.
24536         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
24537         * lib/fcntl-safer.h (openat_safer): Declare.
24538         * lib/fcntl--.h (openat): Override.
24539         * MODULES.html.sh (File descriptor based I/O): Mention it.
24540         * lib/openat.h: Add double-inclusion guards.
24541         * lib/openat.c (includes): Only include "fcntl-safer.h", not
24542         "fcntl--.h", so we can implement openat.
24543         * modules/openat-safer-tests: New test.
24544         * tests/test-openat-safer.c: New file.
24545
24546         dirent-safer: new module
24547         * modules/dirent-safer: New file.
24548         * lib/dirent--.h: Likewise.
24549         * lib/dirent-safer.h: Likewise.
24550         * lib/opendir-safer.c: Likewise.
24551         * m4/dirent-safer.m4: Likewise.
24552         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
24553         * modules/dirent-safer-tests: New test.
24554         * tests/test-dirent-safer.c: New file.
24555         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
24556
24557         fdopendir: optimize on mingw
24558         * lib/unistd.in.h (_gl_directory_name): New prototype.
24559         * lib/fchdir.c (_gl_directory_name): Implement it.
24560         (fchdir): Use it to simplify implementation.
24561         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
24562         fchdir, when available, to avoid calling [f]chdir().
24563
24564         fdopendir: split into its own module
24565         * lib/openat.c (fdopendir): Move...
24566         * lib/fdopendir.c: ...into new file.
24567         * modules/fdopendir: New module.
24568         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
24569         * modules/openat (Depends-on): Add fdopendir.
24570         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
24571         fdopendir here.
24572         * modules/savedir (Depends-on): Only need fdopendir, not full
24573         openat.
24574         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
24575         * lib/openat.h (fdopendir): Drop prototype.
24576         * lib/dirent.in.h (fdopendir): Provide prototype.
24577         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
24578         * modules/dirent (Makefile.am): Substitute them.
24579         * MODULES.html.sh (File system functions): Mention it.
24580         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
24581         * modules/fdopendir-tests: New file.
24582         * tests/test-fdopendir.c: Likewise.
24583
24584         fchdir: use more consistent macro convention
24585         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
24586         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
24587         REPLACE_FCHDIR, rather than relying on config.h macros.
24588         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
24589         inside a single make-time REPLACE_FCHDIR block, rather than using
24590         the config.h FCHDIR_REPLACEMENT.
24591         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
24592         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
24593         Manage fstat replacement.
24594         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
24595         REPLACE_FCHDIR.
24596         * modules/sys_stat (Files): Add m4/unistd_h.m4.
24597         (Makefile.am): Substitute REPLACE_FCHDIR.
24598         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
24599         FCHDIR_REPLACEMENT.
24600         * lib/dup-safer.c (dup_safer): Likewise.
24601         * lib/dup2.c (rpl_dup2): Likewise.
24602         * lib/dup3.c (rpl_dup3): Likewise.
24603         * lib/open.c (rpl_open): Likewise.
24604
24605         fchdir: simplify error handling, and support dup3
24606         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
24607         stdbool, malloc-posix, realloc-posix.
24608         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
24609         (ensure_dirs_slot): Return false on allocation failure.
24610         (rpl_dup2): Delete.
24611         (_gl_register_dup): New function.
24612         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
24613         (_gl_register_fd): Close fd on allocation failure.
24614         * lib/fcntl.in.h (_gl_register_fd): Update signature.
24615         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
24616         prototype.
24617         (rpl_dup2_fchdir): Delete prototype.
24618         * lib/open.c (open): Update caller.
24619         * lib/dup2.c (dup2): Track fchdir metadata.
24620         * lib/dup3.c (dup3): Likewise.
24621         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
24622         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
24623
24624 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24625
24626         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
24627         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
24628         don't pass arguments to AC_OUTPUT.
24629
24630 2009-09-02  Bruno Haible  <bruno@clisp.org>
24631
24632         * modules/mkdtemp (License): Relicense under LGPLv2+.
24633         Reported by Paolo Bonzini.
24634
24635 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24636
24637         Replace uses of obsolete autoconf macros in Jim's modules.
24638         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
24639         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
24640         can evoke a warning from autoconf when run with -Wobsolete
24641         enabled.  They were declared obsolete for good reasons (see
24642         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
24643         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
24644         should not continue using the deprecated macros.
24645         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
24646         obsolete Autoconf macros with modern counterparts.
24647         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24648         * m4/dos.m4 (gl_AC_DOS): Likewise.
24649         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
24650         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24651         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
24652         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
24653         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
24654         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
24655         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
24656         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
24657         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
24658         Likewise.
24659         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24660         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
24661         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
24662         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
24663         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
24664         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
24665
24666 2009-09-01  Eric Blake  <ebb9@byu.net>
24667
24668         fchdir: fix off-by-one bug in previous patch
24669         * lib/fchdir.c (rpl_fstat): Use correct bounds.
24670         (_gl_unregister_fd): Delete useless if.
24671
24672 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
24673
24674         maint.mk: sort the list of syntax-check rules
24675         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
24676         easier to get a sense of progress when the rules are run sequentially
24677         and take a long time.
24678
24679 2009-09-01  Simon Josefsson  <simon@josefsson.org>
24680
24681         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
24682         * modules/netinet_in: Likewise.
24683         * modules/sys_file: Likewise.
24684         * modules/sys_ioctl: Likewise.
24685         * modules/sys_select: Likewise.
24686         * modules/sys_socket: Likewise.
24687         * modules/sys_stat: Likewise.
24688         * modules/sys_time: Likewise.
24689         * modules/sys_times: Likewise.
24690         * modules/sys_utsname: Likewise.
24691         * modules/sys_wait: Likewise.
24692
24693 2009-09-01  Jim Meyering  <meyering@redhat.com>
24694
24695         fts: help ensure that return values are not ignored
24696         * lib/fts_.h (__GNUC_PREREQ): Define.
24697         (__attribute_warn_unused_result__): Define.
24698         (fts_children, fts_close, fts_open, fts_read): Declare with
24699         __attribute_warn_unused_result__.
24700
24701         fts: fts_close now fails also when closing a dir file descriptor fails
24702         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
24703         and propagate to caller, along with errno.
24704
24705         announce-gen: correct formatting in --help output
24706         * build-aux/announce-gen (usage): Move the one-line description in
24707         --help output "up", to where it belongs, just after Usage:.
24708
24709 2009-08-31  Eric Blake  <ebb9@byu.net>
24710
24711         fchdir: port to mingw
24712         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
24713         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
24714         opened, then use a substitute.
24715         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
24716         replacement.
24717         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
24718         (_gl_register_fd): No need to check stat if open already filters
24719         all directories.
24720         (fchdir): Fix error condition to match POSIX.
24721         * modules/fchdir (Depends-on): Add sys_stat.
24722         * doc/posix-functions/open.texi (open): Document the limitation.
24723         * modules/fchdir-tests: New file.
24724         * tests/test-fchdir.c: Likewise.
24725
24726         canonicalize: allow cross-testing from cygwin to mingw
24727         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
24728         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
24729         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
24730         Likewise.
24731         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
24732         target does not support symlinks.
24733         * tests/test-canonicalize-lgpl.sh: Likewise.
24734
24735         chown: avoid compilation warning on mingw
24736         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
24737         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
24738         mingw.
24739         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24740         * modules/chown (Depends-on): Add errno.
24741
24742 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24743
24744         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
24745         command.
24746
24747 2009-08-31  Jim Meyering  <meyering@redhat.com>
24748
24749         canonicalize: remove useless initialization
24750         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
24751         initialization of local, "end".
24752
24753 2009-08-30  Bruno Haible  <bruno@clisp.org>
24754
24755         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
24756         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
24757         ENOSYS.
24758
24759 2009-08-30  Bruno Haible  <bruno@clisp.org>
24760
24761         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
24762         /usr/xpg4/bin/tr when it exists.
24763         * tests/test-pipe-filter-gi1.sh: Likewise.
24764
24765 2009-08-30  Bruno Haible  <bruno@clisp.org>
24766
24767         Work around deficient /usr/bin/id program on Solaris.
24768         * tests/test-file-has-acl.sh (ID): New variable.
24769         * tests/test-set-mode-acl.sh (ID): Likewise.
24770         * tests/test-copy-acl.sh (ID): Likewise.
24771         * tests/test-copy-file.sh (ID): Likewise.
24772
24773 2009-08-30  Bruno Haible  <bruno@clisp.org>
24774
24775         New module 'xstriconveh'.
24776         * lib/xstriconveh.h: New file.
24777         * lib/xstriconveh.c: New file.
24778         * modules/xstriconveh: New file.
24779
24780 2009-08-30  Bruno Haible  <bruno@clisp.org>
24781
24782         Make it easier to use mem_cd_iconveh.
24783         * lib/striconveh.h (iconveh_t): New type.
24784         (iconveh_open, iconveh_close): New declarations.
24785         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24786         with a single 'const iconveh_t *' argument.
24787         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
24788         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24789         with a single 'const iconveh_t *' argument.
24790         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
24791         * tests/test-striconveh.c (main): Update.
24792         * NEWS: Mention the change.
24793
24794 2009-08-30  Bruno Haible  <bruno@clisp.org>
24795
24796         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24797         problem.
24798
24799 2009-08-30  Bruno Haible  <bruno@clisp.org>
24800
24801         Work around iconv_open problem on Solaris.
24802         * lib/iconv_open-solaris.gperf: New file.
24803         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24804         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24805         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24806         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24807         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24808         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24809
24810 2009-08-29  Jim Meyering  <meyering@redhat.com>
24811
24812         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24813         * top/maint.mk (cvs-check): Remove target; it was just an alias
24814         to the better-named vc-diff-check.
24815         (maintainer-distcheck): Remove rule.  It was used only from
24816         the (alpha/beta/major) target, and all of its commands but one
24817         were coreutils-specific.
24818         (vc-dist): Remove rule.
24819         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24820         Run vc-diff-check, not vc-dist.
24821         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24822
24823 2009-08-27  Bruno Haible  <bruno@clisp.org>
24824
24825         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24826         of 0.
24827
24828 2009-08-27  Bruno Haible  <bruno@clisp.org>
24829
24830         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24831         compilers.
24832         * doc/func.texi: Document the SunPRO C bug.
24833
24834 2009-08-27  Bruno Haible  <bruno@clisp.org>
24835
24836         Fix link error on Solaris.
24837         * tests/test-parse-duration.c (xstrdup): Remove function.
24838
24839 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24840
24841         ignore-value: handle pointer types, too
24842         * lib/ignore-value.h (__attribute__): Remove definition.
24843         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24844         of a more concise and more-often effective "(void) i" statement.
24845         (ignore_ptr): New function to suppress warnings from functions that
24846         return pointers, and to make it explicit that one function doesn't
24847         handle all cases.
24848
24849 2009-08-25  Bruno Haible  <bruno@clisp.org>
24850
24851         dup2: work around a Linux bug.
24852         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24853         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24854         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24855         Reported by Simon Josefsson.
24856
24857 2009-08-25  Jim Meyering  <meyering@redhat.com>
24858
24859         libguestfs uses gnulib
24860         * users.txt: Add libguestfs.
24861
24862 2009-08-24  Eric Blake  <ebb9@byu.net>
24863
24864         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24865         * lib/pipe2.c (includes): Add binary-io.h.
24866         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24867
24868 2009-08-24  Bruno Haible  <bruno@clisp.org>
24869
24870         Tolerate declared but missing accept4 syscall.
24871         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24872         available.
24873         * lib/sys_socket.in.h (accept4): If the function is already present,
24874         override it.
24875         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24876         * modules/accept4 (Makefile.am): Compile accept4.c always.
24877         Reported by Paolo Bonzini and Eric Blake.
24878
24879 2009-08-23  Bruno Haible  <bruno@clisp.org>
24880
24881         New module 'accept4'.
24882         * lib/sys_socket.in.h (accept4): New declaration.
24883         * lib/accept4.c: New file.
24884         * m4/accept4.m4: New file.
24885         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24886         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24887         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24888         HAVE_ACCEPT4.
24889         * modules/accept4: New file.
24890         * doc/glibc-functions/accept4.texi: Mention the new module.
24891
24892 2009-08-24  Jim Meyering  <meyering@redhat.com>
24893
24894         progname: also set global program_invocation_name, when possible
24895         Before this change, a libtool-enabled program that calls glibc's
24896         error function would report the program name as
24897         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24898         * modules/progname (configure.ac): Check for a declaration of
24899         program_invocation_name.
24900         * lib/progname.c:  Include <errno.h>.
24901         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24902         Set program_invocation_name.
24903
24904 2009-08-23  Bruno Haible  <bruno@clisp.org>
24905
24906         * lib/dup3.c: Include <string.h>.
24907
24908 2009-08-23  Bruno Haible  <bruno@clisp.org>
24909
24910         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24911         * lib/pipe2.c (pipe2): Likewise.
24912         Suggested by Eric Blake.
24913
24914 2009-08-23  Bruno Haible  <bruno@clisp.org>
24915
24916         Tolerate declared but missing dup3 syscall.
24917         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24918         * lib/unistd.in.h (dup3): If the function is already present,
24919         override it.
24920         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24921         * modules/dup3 (Makefile.am): Compile dup3.c always.
24922         Reported by Paolo Bonzini.
24923
24924 2009-08-23  Bruno Haible  <bruno@clisp.org>
24925
24926         Tolerate declared but missing pipe2 syscall.
24927         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24928         available.
24929         * lib/unistd.in.h (pipe2): If the function is already present,
24930         override it.
24931         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24932         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24933         Reported by Paolo Bonzini.
24934
24935 2009-08-23  Bruno Haible  <bruno@clisp.org>
24936
24937         * lib/pipe2.c (pipe2): Move #ifs inside function.
24938
24939 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24940
24941         quotearg: document limitations of quote_these_too
24942         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24943         those limitations are created.
24944         * lib/quotearg.h (set_char_quoting): Document that digits and
24945         letters that are special after backslash are not permitted.
24946         (quotearg_char): Cross-reference set_char_quoting documentation.
24947
24948 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24949
24950         quotearg: implement custom_quoting_style
24951         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24952         right_quote fields.
24953         (set_custom_quoting): New public function.
24954         (quotearg_buffer_restyled): Add left_quote and right_quote
24955         arguments, handle them very much like locale quoting, and update
24956         all uses.
24957         (quotearg_n_custom): New public function.
24958         (quotearg_n_custom_mem): New public function.
24959         (quotearg_custom): New public function.
24960         (quotearg_custom_mem): New public function.
24961         * lib/quotearg.h: Prototype and document new public functions.
24962         (enum quoting_style): For escape_quoting_style and
24963         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24964         ignored even though they're otherwise like c_quoting_style.
24965         Add custom_quoting_style member and document with comparison to
24966         clocale_quoting_style.
24967         * tests/test-quotearg.c (custom_quotes): New array.
24968         (custom_results): New array.
24969         (main): Extend to test custom quoting.
24970
24971 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24972
24973         quotearg: fix right quote escaping when it's in quote_these_too
24974         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24975         quote, be sure to prepend only one backslash.
24976         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24977         (main): Test it.
24978
24979 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24980
24981         quotearg-tests: test escaping of embedded locale quotes
24982         * tests/test-quotearg.c (struct result_strings): Add member for
24983         new input.
24984         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24985         (inputs): Add new input.
24986         (results_g): Add expected results.
24987         (flag_results): Likewise.
24988         (locale_results): Likewise.
24989         (compare_strings): Check those.
24990
24991 2009-08-23  Bruno Haible  <bruno@clisp.org>
24992
24993         Tests for module 'dup3'.
24994         * modules/dup3-tests: New file.
24995         * tests/test-dup3.c: New file.
24996
24997         New module 'dup3'.
24998         * lib/unistd.in.h (dup3): New declaration.
24999         * lib/dup3.c: New file.
25000         * m4/dup3.m4: New file.
25001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
25002         HAVE_DUP3.
25003         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
25004         * modules/dup3: New file.
25005         * doc/glibc-functions/dup3.texi: Mention the new module.
25006
25007 2009-08-23  Bruno Haible  <bruno@clisp.org>
25008
25009         Tweak the dup2 test.
25010         * tests/test-dup2.c (main): Create the test file empty. Verify that an
25011         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
25012         the test file is still empty. Fix argument order of lseek.
25013
25014 2009-08-23  Bruno Haible  <bruno@clisp.org>
25015
25016         Avoid test link errors when the modules getopt-gnu, gettext are used.
25017         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
25018         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25019
25020 2009-08-23  Bruno Haible  <bruno@clisp.org>
25021
25022         Fix getdtablesize() on mingw.
25023         * lib/getdtablesize.c (getdtablesize): Implement differently.
25024         * lib/unistd.in.h (getdtablesize): Improve comment.
25025
25026 2009-08-23  Bruno Haible  <bruno@clisp.org>
25027
25028         New module 'mkostemp'.
25029         Based on Ulrich Drepper's 2007-08-10 change in glibc.
25030         * lib/stdlib.in.h (mksotemp): New declaration.
25031         * lib/mkostemp.c: New file, from glibc with modifications.
25032         * lib/tempname.h (GT_FILE): Remove outdated comment.
25033         (gen_tempname): Add flags argument.
25034         * lib/tempname.c (__GT_BIGFILE): Remove macro.
25035         (__GT_FILE): Map to 1.
25036         (small_open, large_open): Remove macros.
25037         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
25038         * lib/mkstemp.c (mkstemp): Update.
25039         * lib/mkdtemp.c (mkdtemp): Likewise.
25040         * m4/mkostemp.m4: New file.
25041         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
25042         HAVE_MKOSTEMP.
25043         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
25044         HAVE_MKOSTEMP.
25045         * modules/mkostemp: New file, based on modules/mkstemp.
25046         * doc/glibc-functions/mkostemp.texi: Mention the new module.
25047         * NEWS: Mention the change.
25048
25049 2009-08-23  Bruno Haible  <bruno@clisp.org>
25050
25051         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
25052         Reported by Eric Blake.
25053
25054 2009-08-23  Bruno Haible  <bruno@clisp.org>
25055
25056         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
25057         Reported by Eric Blake.
25058
25059 2009-08-23  Bruno Haible  <bruno@clisp.org>
25060
25061         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
25062         * modules/pipe2 (Depends-on): Likewise.
25063
25064 2009-08-23  Eric Blake  <ebb9@byu.net>
25065
25066         fcntl-h: add O_TTY_INIT support
25067         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
25068         * tests/test-fcntl-h.c (o): Test it.
25069         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25070
25071         fcntl-h: rename from fcntl, in preparation for fcntl(2)
25072         * modules/fcntl: Move <fcntl.h> header replacement...
25073         * modules/fcntl-h: ...to new name, so as not to collide with
25074         like-named function.
25075         * tests/test-fcntl.c: Rename...
25076         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
25077         * modules/fcntl-tests: Rename...
25078         * modules/fcntl-h-tests: ...to this.  Update test file name.
25079         * modules/chdir-long (Depends-on): Update clients.
25080         * modules/chdir-safer (Depends-on): Likewise.
25081         * modules/fcntl-safer (Depends-on): Likewise.
25082         * modules/fts (Depends-on): Likewise.
25083         * modules/mkancesdirs (Depends-on): Likewise.
25084         * modules/mkdir-p (Depends-on): Likewise.
25085         * modules/open (Depends-on): Likewise.
25086         * modules/savewd (Depends-on): Likewise.
25087         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
25088         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25089
25090 2009-08-22  Bruno Haible  <bruno@clisp.org>
25091
25092         * modules/binary-io (License): Relicense under LGPL.
25093         * modules/pipe2 (License): Likewise.
25094
25095 2009-08-22  Bruno Haible  <bruno@clisp.org>
25096
25097         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
25098         return value.
25099         * lib/pipe-filter-gi.c (filter_init): Likewise.
25100         Reported by Eric Blake.
25101
25102 2009-08-22  Bruno Haible  <bruno@clisp.org>
25103
25104         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
25105         * modules/pipe (Depends-on): Add pipe2.
25106
25107 2009-08-22  Bruno Haible  <bruno@clisp.org>
25108
25109         Tests for module 'pipe2'.
25110         * modules/pipe2-tests: New file.
25111         * tests/test-pipe2.c: New file.
25112
25113         New module 'pipe2'.
25114         * lib/unistd.in.h (pipe2): New declaration.
25115         * lib/pipe2.c: New file.
25116         * m4/pipe2.m4: New file.
25117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
25118         HAVE_PIPE2.
25119         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
25120         * modules/pipe2: New file.
25121         * doc/glibc-functions/pipe2.texi: Mention the new module.
25122
25123 2009-08-22  Bruno Haible  <bruno@clisp.org>
25124
25125         Reference some new glibc functions.
25126         * doc/glibc-functions/accept4.texi: New file.
25127         * doc/glibc-functions/dup3.texi: New file.
25128         * doc/glibc-functions/mkostemp.texi: New file.
25129         * doc/glibc-functions/pipe2.texi: New file.
25130         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
25131         (Glibc sys/socket.h): Refer to accept4.
25132         (Glibc unistd.h): Refer to dup3, pipe2.
25133         Reported by Eric Blake.
25134
25135 2009-08-22  Jim Meyering  <meyering@redhat.com>
25136             Bruno Haible  <bruno@clisp.org>
25137
25138         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
25139         This makes it so packages using automake-1.11's silent-rules option
25140         can print e.g., a single "GEN    configmake.h" line, rather than
25141         the 30+ statements that perform the job.  If you want to see the
25142         actual commands, you can still run "make V=1".
25143         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
25144         so that make output is abbreviated when those variables are defined
25145         appropriately.
25146         * modules/argz: Likewise.
25147         * modules/arpa_inet: Likewise.
25148         * modules/byteswap: Likewise.
25149         * modules/configmake: Likewise.
25150         * modules/dirent: Likewise.
25151         * modules/errno: Likewise.
25152         * modules/fcntl: Likewise.
25153         * modules/float: Likewise.
25154         * modules/fnmatch: Likewise.
25155         * modules/getopt-posix: Likewise.
25156         * modules/glob: Likewise.
25157         * modules/iconv_open: Likewise.
25158         * modules/inttypes: Likewise.
25159         * modules/localcharset: Likewise.
25160         * modules/locale: Likewise.
25161         * modules/math: Likewise.
25162         * modules/netdb: Likewise.
25163         * modules/netinet_in: Likewise.
25164         * modules/poll: Likewise.
25165         * modules/posix_spawnp-tests: Likewise.
25166         * modules/sched: Likewise.
25167         * modules/search: Likewise.
25168         * modules/selinux-h: Likewise.
25169         * modules/signal: Likewise.
25170         * modules/spawn: Likewise.
25171         * modules/stdarg: Likewise.
25172         * modules/stdbool: Likewise.
25173         * modules/stddef: Likewise.
25174         * modules/stdint: Likewise.
25175         * modules/stdio: Likewise.
25176         * modules/stdlib: Likewise.
25177         * modules/string: Likewise.
25178         * modules/strings: Likewise.
25179         * modules/sys_file: Likewise.
25180         * modules/sys_ioctl: Likewise.
25181         * modules/sys_select: Likewise.
25182         * modules/sys_socket: Likewise.
25183         * modules/sys_stat: Likewise.
25184         * modules/sys_time: Likewise.
25185         * modules/sys_times: Likewise.
25186         * modules/sys_utsname: Likewise.
25187         * modules/sys_wait: Likewise.
25188         * modules/sysexits: Likewise.
25189         * modules/time: Likewise.
25190         * modules/unistd: Likewise.
25191         * modules/wchar: Likewise.
25192         * modules/wctype: Likewise.
25193
25194 2009-08-22  Jim Meyering  <meyering@redhat.com>
25195
25196         announce-gen: detect write failure
25197         * build-aux/announce-gen: Add Coda at end.
25198         Remove equivalent-but-more-verbose block at top.
25199
25200 2009-08-19  Akim Demaille  <demaille@gostai.com>
25201
25202         bootstrap: --help to stdout.
25203         * bootstrap (usage): Don't send --help to stderr.
25204         Use a here doc instead of a long string.
25205
25206 2009-08-21  Eric Blake  <ebb9@byu.net>
25207
25208         test-popen-safer: split from test-popen
25209         * tests/test-popen.c (main): Move...
25210         * tests/test-popen.h: ...into new file.
25211         * tests/test-popen-safer2.c: New file.
25212         * modules/popen-tests (Files): Add test-popen.h.
25213         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
25214         Suggested by Bruno Haible.
25215
25216         test-fcntl-safer: split from test-open
25217         * tests/test-open.c (main): Move...
25218         * tests/test-open.h: ...into new file.
25219         * tests/test-fcntl-safer.c: New file.
25220         * modules/open-tests (Files): Add test-open.h.
25221         * modules/fcntl-safer-tests: New file.
25222         Suggested by Bruno Haible.
25223
25224         test-fopen-safer: split from test-fopen
25225         * tests/test-fopen.c (main): Move...
25226         * tests/test-fopen.h: ...into new file.
25227         * tests/test-fopen-safer.c: New file.
25228         * modules/fopen-tests (Files): Add test-fopen.h.
25229         * modules/fopen-safer-tests: New file.
25230         Suggested by Bruno Haible.
25231
25232 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25233
25234         popen-safer: test O_CLOEXEC at run-time.
25235         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
25236
25237 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25238
25239         fcntl: move more flags to the header
25240         * lib/cloexec.c: Do not define FD_CLOEXEC here.
25241         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
25242         * lib/fcntl.in.h: Do both things here.
25243
25244 2009-08-21  Jim Meyering  <meyering@redhat.com>
25245
25246         consistently remove $@-t before redirecting to it
25247         * modules/argz: Remove $@-t and $@ before redirecting to the former.
25248         * modules/alloca-opt: Likewise.
25249         * modules/byteswap: Likewise.
25250         * modules/fnmatch: Likewise.
25251         * modules/getopt-posix: Likewise.
25252         * modules/glob: Likewise.
25253         * modules/poll: Likewise.
25254         * modules/posix_spawnp-tests: Likewise.
25255         * modules/sys_socket: Likewise.
25256         * modules/sysexits: Likewise.
25257
25258 2009-08-21  Eric Blake  <ebb9@byu.net>
25259
25260         popen: simplify access to original popen
25261         * lib/popen.c (rpl_popen): No need to worry about popen being a
25262         macro.
25263         Reported by Bruno Haible.
25264
25265 2009-08-20  Eric Blake  <ebb9@byu.net>
25266
25267         build: avoid some compiler warnings
25268         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
25269         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
25270         type.
25271         (new_exclude_segment, excluded_file_pattern_p)
25272         (excluded_file_name_p): Reduce scope.
25273         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
25274         old-style declaration.
25275
25276 2009-08-20  Simon Josefsson  <simon@josefsson.org>
25277
25278         * tests/test-exclude1.sh: Handle Windows EOL.
25279         * tests/test-exclude2.sh: Likewise.
25280         * tests/test-exclude3.sh: Likewise.
25281         * tests/test-exclude4.sh: Likewise.
25282         * tests/test-exclude5.sh: Likewise.
25283         * tests/test-exclude6.sh: Likewise.
25284         * tests/test-exclude7.sh: Likewise.
25285
25286 2009-08-19  Akim Demaille  <demaille@gostai.com>
25287
25288         bootstrap: find sha1sum when named gsha1sum.
25289         * bootstrap (find_tool): New.
25290         ($SHA1SUM): New.
25291         Use it.
25292
25293 2009-08-20  Jim Meyering  <meyering@redhat.com>
25294
25295         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
25296         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
25297         expression that converts "." in a file name to "\." in the resulting
25298         regexp.  Start with a dummy statement, so that prior shell variable
25299         definitions are expanded portably.  Reported by Simon Josefsson.
25300
25301 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
25302
25303         Fix polling for writeability of a screen buffer.
25304         * lib/poll.c: Distinguish input and screen buffers for the
25305         Win32 implementation.
25306         * lib/select.c: Likewise.
25307
25308 2009-08-19  Eric Blake  <ebb9@byu.net>
25309
25310         popen-safer: prevent popen from clobbering std descriptors
25311         * modules/popen-safer: New file.
25312         * lib/popen-safer.c: Likewise.
25313         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
25314         * lib/stdio--.h (popen): Provide override.
25315         * lib/stdio-safer.h (popen_safer): Provide declaration.
25316         * tests/test-popen.c (includes): Partially test this.
25317         * modules/popen-safer-tests: New file, for more tests.
25318         * tests/test-popen-safer.c: Likewise.
25319         * MODULES.html.sh (file stream based Input/Output): Mention it.
25320
25321         tests: test some of the *-safer modules
25322         * modules/fopen-safer (Depends-on): Add fopen.
25323         * modules/fcntl-safer (Depends-on): Add fcntl.
25324         * modules/stdlib-safer (Depends-on): Add stdlib.
25325         (configure.ac): Set indicator.
25326         * modules/unistd-safer (configure.ac): Likewise.
25327         * modules/tmpfile-safer (configure.ac): Likewise.
25328         (Depends-on): Add tmpfile.
25329         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
25330         active.
25331         * tests/test-fopen.c (includes): Test safer versions when they are
25332         in use.
25333         * tests/test-open.c (includes): Likewise.
25334
25335         popen: fix cygwin 1.5 bug when stdin closed
25336         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
25337         * modules/popen: New file.
25338         * modules/popen-tests: Likewise.
25339         * tests/test-popen.c: Likewise.
25340         * m4/popen.m4: Likewise.
25341         * lib/popen.c: Likewise.
25342         * lib/stdio.in.h (popen): New declaration.
25343         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
25344         * modules/stdio (Makefile.am): Likewise.
25345         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
25346
25347 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
25348
25349         maint.mk: give full control over update-copyright exclusions
25350         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
25351         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
25352         (update-copyright): Don't force inclusion of top-level
25353         ChangeLog.  Don't force exclusion of all COPYING files, but make
25354         them the default exclusion instead.
25355
25356 2009-08-16  Bruno Haible  <bruno@clisp.org>
25357
25358         Fix test failures on Solaris 10.
25359         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
25360         tests when Solaris iconv() is used.
25361         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
25362         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
25363         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
25364         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
25365         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
25366
25367 2009-08-16  Bruno Haible  <bruno@clisp.org>
25368
25369         Fix test failures on Solaris 10.
25370         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
25371         'tr' program and pass it as first argument.
25372         * tests/test-pipe-filter-gi1.sh: Likewise.
25373         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
25374         program as first argument.
25375         * tests/test-pipe-filter-gi1.c (main): Likewise.
25376
25377 2009-08-16  Eric Blake  <ebb9@byu.net>
25378
25379         fpurge: fix previous commits
25380         * modules/fpurge (Makefile.am): Make replacement conditional,
25381         partially reverting 2007-04-29 change; missed in previous
25382         attempt.
25383         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
25384         is missing.
25385
25386 2009-08-16  Bruno Haible  <bruno@clisp.org>
25387
25388         Clarify fpurge's effect on the file position.
25389         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
25390         * tests/test-fpurge.c (main): Make a second pass for checking the file
25391         position.
25392
25393 2009-08-16  Bruno Haible  <bruno@clisp.org>
25394
25395         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
25396         declaration of fpurge is missing.
25397         * tests/test-fpurge.c (main): Check that the file has not more contents
25398         than expected. Close the file before removing it.
25399
25400 2009-08-15  Eric Blake  <ebb9@byu.net>
25401
25402         fpurge: don't wrap working cygwin implementation
25403         * lib/fpurge.c (fpurge): Fix comment typo.
25404         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
25405         1.7 to avoid replacement.
25406         * tests/test-fpurge.c (main): Enhance test.
25407
25408 2009-08-15  Eric Blake  <ebb9@byu.net>
25409         and Jim Meyering  <meyering@redhat.com>
25410
25411         test-update-copyright: skip if perl is insufficient
25412         * tests/test-update-copyright.sh: Failure to run maintainer tool
25413         should not cause testsuite failure on cygwin 1.5.
25414
25415 2009-08-14  Eric Blake  <ebb9@byu.net>
25416
25417         doc: mention more functions added in cygwin 1.7.0
25418         * doc/posix-headers/limits.texi (limits.h): Update for recent
25419         cygwin additions.
25420         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
25421         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
25422         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
25423         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
25424         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
25425
25426 2009-08-14  Eric Blake  <ebb9@byu.net>
25427
25428         maint.mk: simplify update-copyright rule
25429         * top/maint.mk (update-copyright-local): Delete, and document how
25430         to do it in cfg.mk instead.
25431         (update-copyright-exclude-regexp): Delete, and document how to do
25432         it in .x-update-copyright instead.
25433         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
25434         exclude ChangeLog.
25435
25436 2009-08-14  Bruno Haible  <bruno@clisp.org>
25437
25438         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
25439
25440 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25441
25442         maint.mk: support update-copyright-env
25443         * top/maint.mk (update-copyright-env): Define place-holder.
25444         (update-copyright): Expand $(update-copyright-env) before
25445         invoking update-copyright.
25446
25447 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25448
25449         update-copyright: implement forced reformatting
25450         * build-aux/update-copyright: Implement and document
25451         UPDATE_COPYRIGHT_FORCE.
25452         * tests/test-update-copyright.sh: Test it.
25453
25454 2009-08-14  Eric Blake  <ebb9@byu.net>
25455         and Bruno Haible  <bruno@clisp.org>
25456
25457         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
25458         * tests/test-locale.c: Revert previous patch related to NULL.
25459         * tests/test-stdio.c: Likewise.
25460         * tests/test-stdlib.c: Likewise.
25461         * tests/test-string.c: Likewise.
25462         * tests/test-unistd.c: Likewise.
25463         * modules/time-tests (Depends-on): Add verify.
25464         * modules/wchar-tests (Depends-on): Likewise.
25465         * tests/test-time.c: Test for NULL compliance.
25466         * tests/test-wchar.c: Likewise.
25467         * modules/locale (Depends-on): Add stddef.
25468         * modules/stdio (Depends-on): Likewise.
25469         * modules/stdlib (Depends-on): Likewise.
25470         * modules/string (Depends-on): Likewise.
25471         * modules/time (Depends-on): Likewise.
25472         * modules/unistd (Depends-on): Likewise.
25473         * modules/wchar (Depends-on): Likewise.
25474         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
25475         * lib/stdlib.in.h (includes): Likewise.
25476         * lib/string.in.h (includes): Likewise.
25477         * lib/time.in.h (includes): Likewise.
25478         * lib/unistd.in.h (includes): Likewise.
25479         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
25480         replaced.
25481         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25482         * m4/stddef_h.m4: New file.
25483         * modules/stddef: Likewise.
25484         * lib/stddef.in.h: Likewise.
25485         * modules/stddef-tests: Likewise.
25486         * tests/test-stddef.c: Likewise.
25487         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
25488         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
25489         * doc/posix-headers/locale.texi (locale.h): Likewise.
25490         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
25491         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25492         * doc/posix-headers/string.texi (string.h): Likewise.
25493         * doc/posix-headers/time.texi (time.h): Likewise.
25494         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
25495         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
25496
25497 2009-08-14  Eric Blake  <ebb9@byu.net>
25498
25499         doc: improve git diff of texinfo files
25500         * .gitattributes: Add rule for *.texi files, with hint on how to
25501         use it.
25502         Copied from m4, and based on a report by Bruno Haible.
25503
25504 2009-08-14  Bruno Haible  <bruno@clisp.org>
25505
25506         Disable multithread support by default on Cygwin 1.5.x for real.
25507         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
25508
25509 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25510
25511         update-copyright: much ado about intervals
25512         * build-aux/update-copyright: Implement and document
25513         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
25514         of copyright year intervals.
25515         Also, document UPDATE_COPYRIGHT_YEAR.
25516         * tests/test-update-copyright.sh: Test it.
25517
25518         update-copyright: convert 2-digit to 4-digit years
25519         * build-aux/update-copyright: Implement and document.
25520         * tests/test-update-copyright.sh: Update.
25521
25522 2009-08-14  Jim Meyering  <meyering@redhat.com>
25523
25524         test-exclude: avoid coreutils "make check" failure
25525         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
25526         just as in test-argmatch.c.
25527
25528 2009-08-13  Eric Blake  <ebb9@byu.net>
25529
25530         test-dup2: fix bad assumption
25531         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
25532         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
25533
25534         test-version-etc: fix CRLF portability issue
25535         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
25536         recognize \r.
25537         * tests/test-argp-version-etc-1.sh: Likewise.
25538
25539         getopt: update client modules
25540         * modules/argp (Depends-on): Use getopt-gnu.
25541         * modules/git-merge-changelog (Depends-on): Likewise.
25542         * modules/long-options (Depends-on): Likewise.
25543         * modules/xstrtol (Depends-on): Likewise.
25544
25545 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25546
25547         * tests/test-version-etc.sh: Don't fail on different
25548         project/version.  Don't fail on CRLF differences.  Rewrite to use
25549         multiple -e instead of multiple sed forks, suggested by Eric Blake
25550         <ebb9@byu.net>.
25551         * tests/test-argp-version-etc-1.sh: Likewise.
25552
25553 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25554
25555         * tests/test-version-etc.sh: Don't fail on different
25556         project/version.
25557
25558 2009-08-12  Bruno Haible  <bruno@clisp.org>
25559
25560         Tests for modules 'getopt-posix', 'getopt-gnu'.
25561         * modules/getopt-posix-tests: New file.
25562         * tests/test-getopt.c: New file.
25563         * tests/test-getopt.h: New file.
25564         * tests/test-getopt_long.h: New file.
25565
25566         New modules 'getopt-posix', 'getopt-gnu'.
25567         * modules/getopt-gnu: New file, renamed from modules/getopt.
25568         * modules/getopt-posix: New file.
25569         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
25570         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
25571         (gl_GETOPT): Remove macro.
25572         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
25573         Disable the test against BSD systems that declare optreset. Test
25574         against mingw bug. Test against lack of support of optional arguments
25575         on many platforms.
25576         * doc/glibc-headers/getopt.texi: Update module name and list of
25577         relevant platforms.
25578         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
25579         'getopt-gnu' and more portability problems.
25580         * NEWS: Mention the changes.
25581
25582 2009-08-12  Bruno Haible  <bruno@clisp.org>
25583
25584         Ensure that optarg etc. get declared by <unistd.h>.
25585         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
25586         AC_USE_SYSTEM_EXTENSIONS.
25587         * modules/getopt (Depends-on): Add 'extensions'.
25588
25589 2009-08-12  Bruno Haible  <bruno@clisp.org>
25590
25591         Avoid test link errors.
25592         * modules/pipe-filter-ii-tests (Makefile.am): Define
25593         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
25594         * modules/pipe-filter-gi-tests (Makefile.am): Define
25595         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
25596         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25597
25598 2009-08-12  Bruno Haible  <bruno@clisp.org>
25599
25600         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
25601         gl_GETOPT_SUBSTITUTE before.
25602         (gl_GETOPT): Use it.
25603         * m4/argp.m4 (gl_ARGP): Update.
25604         Reported by Sergey Poznyakoff.
25605
25606         * m4/getopt.m4: Reorder macros.
25607         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
25608         (gl_GETOPT_SUBSTITUTE): Remove macro.
25609
25610 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25611
25612         Minor improvement in gitlog-to-changelog
25613
25614         * build-aux/gitlog-to-changelog: New option `--format' makes
25615         output format string configurable.
25616
25617 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25618
25619         Optimize exclude: use hash tables for non-wildcard patterns.
25620
25621         * lib/exclude.c: Include hash.h and mbuiter.h
25622         (struct exclude_pattern, exclude_segment): New data types.
25623         (struct exclude): Rewrite.
25624         (fnmatch_pattern_has_wildcards): New function.
25625         (new_exclude_segment, free_exclude_segment): New functions.
25626         (excluded_file_pattern_p, excluded_file_name_p): New functions.
25627         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
25628         * lib/exclude.h (is_fnmatch_pattern): New prototype.
25629         * modules/exclude: Depend on hash and mbuiter.
25630
25631         * modules/exclude-tests: New file.
25632         * tests/test-exclude.c: New file.
25633         * tests/test-exclude1.sh: New file.
25634         * tests/test-exclude2.sh: New file.
25635         * tests/test-exclude3.sh: New file.
25636         * tests/test-exclude4.sh: New file.
25637         * tests/test-exclude5.sh: New file.
25638         * tests/test-exclude6.sh: New file.
25639         * tests/test-exclude7.sh: New file.
25640
25641 2009-08-12  Bruno Haible  <bruno@clisp.org>
25642
25643         Ensure that getopt() gets declared by <unistd.h>.
25644         * lib/unistd.in.h: Conditionally include getopt.h.
25645         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
25646         Set GNULIB_UNISTD_H_GETOPT.
25647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25648         GNULIB_UNISTD_H_GETOPT.
25649         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
25650
25651 2009-08-12  Bruno Haible  <bruno@clisp.org>
25652
25653         Clarify logic.
25654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
25655         gl_replace_getopt instead of GETOPT_H.
25656
25657 2009-08-12  Bruno Haible  <bruno@clisp.org>
25658
25659         * m4/getopt.m4: Add comments.
25660
25661 2009-08-12  Bruno Haible  <bruno@clisp.org>
25662
25663         Disable multithread support by default on Cygwin 1.5.x.
25664         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
25665         set gl_use_threads=no if not specified otherwise.
25666
25667 2009-08-11  Bruno Haible  <bruno@clisp.org>
25668
25669         Avoid compilation error on NetBSD 5.0.
25670         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
25671         * tests/test-stdio.c: Likewise.
25672         * tests/test-stdlib.c: Likewise.
25673         * tests/test-string.c: Likewise.
25674         * tests/test-unistd.c: Likewise.
25675         Reported by Greg Troxel <gdt@ir.bbn.com>
25676         at <https://savannah.gnu.org/support/?106973>.
25677
25678 2009-08-11  Bruno Haible  <bruno@clisp.org>
25679
25680         * modules/dup2-tests (Depends-on): Remove close.
25681
25682         Undo 2009-07-19 commit.
25683         * modules/acl-tests (Depends-on): Remove close.
25684         * modules/binary-io-tests (Depends-on): Likewise.
25685         * modules/closein-tests (Depends-on): Likewise.
25686         * modules/flock-tests (Depends-on): Likewise.
25687         * modules/fsync-tests (Depends-on): Likewise.
25688         * modules/lseek-tests (Depends-on): Likewise.
25689         * modules/pipe-tests (Depends-on): Likewise.
25690         * modules/posix_spawn-tests (Depends-on): Likewise.
25691         * modules/posix_spawnp-tests (Depends-on): Likewise.
25692         * modules/stat-time-tests (Depends-on): Likewise.
25693         * modules/yesno-tests (Depends-on): Likewise.
25694
25695 2009-08-10  Bruno Haible  <bruno@clisp.org>
25696
25697         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
25698
25699 2009-08-10  Bruno Haible  <bruno@clisp.org>
25700
25701         Fix a gcc warning.
25702         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
25703
25704 2009-08-10  Bruno Haible  <bruno@clisp.org>
25705
25706         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
25707         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
25708         not only the first time.
25709         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
25710         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
25711         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
25712         is 1, not only the the first time.
25713
25714 2009-08-10  Bruno Haible  <bruno@clisp.org>
25715
25716         Make it possible to use module 'gethostname' without module 'close'.
25717         * lib/unistd.in.h (close): Evoke a link error only if
25718         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25720         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25721         * modules/unistd (Makefile.am): Substitute
25722         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25723         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
25724         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25725         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25726         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25727         * modules/sys_ioctl (Makefile.am): Substitute
25728         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25729         * modules/socket (configure.ac): On native Windows, set
25730         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
25731         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25732         Reported by Sam Steingold <sds@gnu.org>.
25733
25734 2009-08-10  Bruno Haible  <bruno@clisp.org>
25735
25736         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
25737         * modules/ioctl (configure.ac): Likewise.
25738
25739 2009-08-10  Bruno Haible  <bruno@clisp.org>
25740
25741         Avoid collision between gnulib wrapper and libintl wrapper.
25742         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
25743         already defined in intl/printf.c.
25744         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
25745         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
25746
25747 2009-08-09  Bruno Haible  <bruno@clisp.org>
25748
25749         Make <sys/select.h> really self-contained, also on Solaris 10.
25750         * lib/sys_select.in.h: Include <string.h>.
25751         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
25752         Solaris 10 problem.
25753         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
25754         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
25755         Reported by Jim Meyering.
25756
25757 2009-08-09  Bruno Haible  <bruno@clisp.org>
25758
25759         Avoid warnings from 'aclocal' that are due to a use of macro name
25760         AM_XGETTEXT_OPTION that is not defined in automake.
25761         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
25762         automake.
25763         * modules/error (configure.ac): Likewise.
25764         * modules/propername (configure.ac): Likewise.
25765         * modules/vasprintf (configure.ac): Likewise.
25766         * modules/verror (configure.ac): Likewise.
25767         * modules/xprintf (configure.ac): Likewise.
25768         * modules/xvasprintf (configure.ac): Likewise.
25769
25770 2009-08-08  Bruno Haible  <bruno@clisp.org>
25771
25772         Avoid compilation error in C++ mode.
25773         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
25774         Reported by Sam Steingold <sds@gnu.org>.
25775
25776 2009-08-08  Bruno Haible  <bruno@clisp.org>
25777
25778         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
25779         for the various Unix platforms.
25780         * doc/posix-headers/limits.texi: Update platforms list regarding
25781         HOST_NAME_MAX.
25782         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25783
25784 2009-08-07  Jim Meyering  <meyering@redhat.com>
25785
25786         selinux-at: fix typo in a comment
25787         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
25788         Spotted by Paolo Bonzini.
25789
25790         selinux-at: remove redundant m4 code, add documentation
25791         * modules/selinux-at (configure.ac): Remove redundant code.
25792         LIB_SELINUX is already set via the dependent module, selinux-h.
25793         (Include): Add quotes around selinux-at.h.
25794         * lib/selinux-at.h: Add documentation.
25795         Reported by Bruno Haible in
25796         http://marc.info/?l=gnulib-bug&m=124958988300749
25797
25798 2009-08-07  Bruno Haible  <bruno@clisp.org>
25799
25800         Avoid link error on MacOS X 10.3 and 10.4.
25801         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25802         on non-ELF systems.
25803         * lib/argp-pv.c (argp_program_version): Likewise.
25804         Reported by Simon Josefsson.
25805
25806 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25807
25808         * tests/test-version-etc.sh: Use $EXEEXT.
25809
25810 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25811
25812         update-copyright: update documentation to point to maint.mk
25813         * build-aux/update-copyright: Here.
25814
25815 2009-08-06  Jim Meyering  <meyering@redhat.com>
25816
25817         maint.mk: support update-copyright-local
25818         * top/maint.mk (update-copyright-local): Define place-holder.
25819         (update-copyright): Depend on $(update-copyright-local).
25820
25821 2009-08-06  Jim Meyering  <meyering@redhat.com>
25822
25823         selinux-at: new module
25824         Initially written for coreutils, this module will soon be
25825         used by findutils, too.
25826         * MODULES.html.sh [Misc]: Add selinux-at.
25827         * lib/selinux-at.h: New file, from coreutils.
25828         * lib/selinux-at.c: Likewise.
25829         * modules/selinux-at: Likewise.
25830         (License): Change from LGPL to GPL, since it depends
25831         on the GPL'd openat module.
25832
25833         doc: update README
25834         * README: Remove references to cogito.
25835         Remove cvs-repo-updating instructions from 2007.
25836         Don't imply that CVS is better if you have limited disk space.
25837
25838 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25839
25840         update-copyright: support C-style comments
25841         * build-aux/update-copyright: Implement and document.
25842         * tests/test-update-copyright.sh: Test.
25843
25844 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25845
25846         update-copyright: support omitted "(C)"
25847         * build-aux/update-copyright: Implement and document.  Also,
25848         allow variable whitespace before "(C)".
25849         * tests/test-update-copyright.sh: Test.
25850
25851 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25852
25853         update-copyright: don't trip on non-FSF copyright statements
25854         * build-aux/update-copyright: Fix so that the first correctly
25855         formatted FSF copyright statement is recognized no matter what
25856         appears before it.  Update documentation.
25857         * tests/test-update-copyright.sh: Test that.
25858
25859 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25860
25861         update-copyright: clean up code a little
25862         * build-aux/update-copyright: Append "_re" to the name of any
25863         variable holding a regular expression.
25864         Replace "old" and "new" with "stmt" in variable names.
25865         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25866         handled correctly.
25867         Format code more consistently.
25868
25869 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25870
25871         update-copyright-tests: improve portability
25872         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25873         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25874
25875 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25876
25877         update-copyright: support @copyright{} and &copy;
25878         * build-aux/update-copyright: Implement and document.
25879         * tests/test-update-copyright.sh: Test.
25880
25881 2009-08-04  Jim Meyering  <meyering@redhat.com>
25882
25883         update-copyright-tests: correctly test EOL=\r\n handling
25884         * tests/test-update-copyright.sh: Put \r at the end of some lines
25885         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25886
25887         maint.mk: make update-copyright exclusion list more configurable
25888         * top/maint.mk (update-copyright): Default to excluding COPYING,
25889         but allow an override, in case someone does want to update that file.
25890
25891         maint.mk: don't update copyright date in COPYING
25892         * top/maint.mk (update-copyright): Exclude COPYING.
25893
25894         maint.mk: add a copyright-updating rule
25895         * top/maint.mk (update-copyright): New rule.
25896         Derived from coreutils/Makefile.am.
25897
25898         update-copyright: rename some variables
25899         * build-aux/update-copyright: Rename a few variables for clarity.
25900         Tweak syntax.  List Joel E. Denny as coauthor.
25901
25902 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25903
25904         update-copyright: fix bug for 2-digit last year and add tests
25905         * build-aux/update-copyright: Fix bug.
25906         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25907         specified.
25908         * modules/update-copyright-tests: New
25909         * tests/test-update-copyright.sh: New.
25910
25911 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25912
25913         update-copyright: handle leading tabs in line prefix
25914         * build-aux/update-copyright: Count leading tabs as 8 spaces
25915         when computing margin.  This helps with the formatting of
25916         ChangeLogs, for example.
25917         Fix documentation a little.
25918
25919 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25920
25921         update-copyright: support EOL=\r\n
25922         * build-aux/update-copyright: Implement that.
25923
25924 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25925
25926         update-copyright: automatically format copyright statements
25927         * build-aux/update-copyright: Implement that.
25928         Also, be a little more predictable and safer by always failing
25929         when the full copyright format is not perfectly recognized as an
25930         unbroken whole.  Discussed at
25931         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25932         Rewrite documentation.
25933
25934 2009-08-03  Bruno Haible  <bruno@clisp.org>
25935
25936         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25937
25938 2009-08-02  Bruno Haible  <bruno@clisp.org>
25939
25940         Tests for module 'uname'.
25941         * modules/uname-tests: New file.
25942         * tests/test-uname.c: New file.
25943
25944         New module 'uname'.
25945         * lib/uname.c: New file.
25946         * m4/uname.m4: New file.
25947         * modules/uname: New file.
25948         * doc/posix-functions/uname.texi: Mention the new module.
25949
25950 2009-08-02  Bruno Haible  <bruno@clisp.org>
25951
25952         Tests for module 'sys_utsname'.
25953         * modules/sys_utsname-tests: New file.
25954         * tests/test-sys_utsname.c: New file.
25955
25956         New module 'sys_utsname'.
25957         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25958         * m4/sys_utsname_h.m4: New file.
25959         * modules/sys_utsname: New file.
25960         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25961
25962 2009-08-02  Bruno Haible  <bruno@clisp.org>
25963
25964         Implicitly initialize the sockets library.
25965         * lib/gethostname.c: Include sockets.h.
25966         (rpl_gethostname): Invoke gl_sockets_startup.
25967         * lib/socket.c: Include sockets.h.
25968         (rpl_socket): Invoke gl_sockets_startup.
25969         * modules/gethostname (Depends-on): Add sockets.
25970         * modules/socket (Depends-on): Likewise.
25971         * tests/test-poll.c: Don't include sockets.h.
25972         (main): Don't invoke gl_sockets_startup.
25973         * tests/test-select.c: Don't include sockets.h.
25974         (main): Don't invoke gl_sockets_startup.
25975
25976 2009-08-02  Bruno Haible  <bruno@clisp.org>
25977
25978         Allow multiple calls to gl_sockets_startup.
25979         * lib/sockets.c (initialized_sockets_version): New variable.
25980         (gl_sockets_startup): Do nothing if already called for this or a higher
25981         version.
25982         (gl_sockets_cleanup): Reset initialized_sockets_version.
25983
25984 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25985
25986         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25987         different project/version.
25988
25989 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25990             Bruno Haible  <bruno@clisp.org>
25991
25992         Tests for module 'pipe-filter-gi'.
25993         * modules/pipe-filter-gi-tests: New file.
25994         * tests/test-pipe-filter-gi1.sh: New file.
25995         * tests/test-pipe-filter-gi1.c: New file.
25996         * tests/test-pipe-filter-gi2.sh: New file.
25997         * tests/test-pipe-filter-gi2-main.c: New file.
25998         * tests/test-pipe-filter-gi2-child.c: New file.
25999
26000         New module 'pipe-filter-gi'.
26001         * lib/pipe-filter-gi.c: New file.
26002         * modules/pipe-filter-gi: New file.
26003
26004 2009-08-02  Bruno Haible  <bruno@clisp.org>
26005             Paolo Bonzini  <bonzini@gnu.org>
26006
26007         Tests for module 'pipe-filter-ii'.
26008         * modules/pipe-filter-ii-tests: New file.
26009         * tests/test-pipe-filter-ii1.sh: New file.
26010         * tests/test-pipe-filter-ii1.c: New file.
26011         * tests/test-pipe-filter-ii2.sh: New file.
26012         * tests/test-pipe-filter-ii2-main.c: New file.
26013         * tests/test-pipe-filter-ii2-child.c: New file.
26014
26015         New module 'pipe-filter-ii'.
26016         * lib/pipe-filter.h: New file.
26017         * lib/pipe-filter-ii.c: New file.
26018         * lib/pipe-filter-aux.h: New file.
26019         * modules/pipe-filter-ii: New file.
26020
26021 2009-08-02  Simon Josefsson  <simon@josefsson.org>
26022
26023         * lib/gc-libgcrypt.c: Change copyright to FSF.
26024         * lib/gc-gnulib.c: Likewise.
26025
26026 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
26027
26028         * lib/gethostname.c: Include limits.h.
26029
26030 2009-08-02  Simon Josefsson  <simon@josefsson.org>
26031             Bruno Haible  <bruno@clisp.org>
26032
26033         Ensure HOST_NAME_MAX as part of the gethostname module.
26034         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
26035         define also HOST_NAME_MAX.
26036         * tests/test-gethostname.c: Include <limits.h>.
26037         (main): Check also HOST_NAME_MAX.
26038         * doc/posix-headers/limits.texi: Document the mingw problem.
26039
26040 2009-08-02  Bruno Haible  <bruno@clisp.org>
26041
26042         * lib/gethostname.c (gethostname): Fix handling of large len argument.
26043         Add comments.
26044
26045 2009-03-31  Simon Josefsson  <simon@josefsson.org>
26046
26047         * lib/gethostname.c: Add Windows wrapper.
26048         * m4/gethostname.m4: Look for gethostname in -lws2_32.
26049         * modules/gethostname: Depend on sys_socket & errno, for also
26050         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
26051         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
26052
26053 2009-07-31  Jim Meyering  <meyering@redhat.com>
26054
26055         getloadavg: fix symbol name in comment
26056         * lib/getloadavg.c: Correct a typo I introduced when adding
26057         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
26058         Matt Kraai spotted the problem.
26059
26060 2009-07-29  Matt Kraai  <mkraai@beckman.com>
26061
26062         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
26063         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
26064         code also if ! defined N_NAME_POINTER.
26065         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
26066         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
26067         but the n_name member is a 12-byte array.
26068
26069 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
26070
26071         update-copyright: generalize comment handling
26072         * build-aux/update-copyright: Handle copyright statements
26073         within more comment styles.
26074         Document usage.
26075         Report any file with an external copyright holder or parse failure.
26076
26077 2009-07-29  Jim Meyering  <meyering@redhat.com>
26078
26079         mktime: correct setting of REPLACE_MKTIME
26080         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
26081
26082         update-copyright: new module
26083         * modules/update-copyright: New file.
26084         * build-aux/update-copyright: New file.
26085         * MODULES.html.sh (maint+release support): Add update-copyright.
26086
26087 2009-07-27  Bruno Haible  <bruno@clisp.org>
26088
26089         Fix compilation error when <ctime> is used and mktime is replaced.
26090         * lib/time.in.h (mktime): New declaration.
26091         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
26092         REPLACE_MKTIME instead of defining mktime in config.h.
26093         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
26094         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
26095         Reported by Ross McFarland <rwmcfa1@neces.com>.
26096
26097 2009-07-27  Bruno Haible  <bruno@clisp.org>
26098
26099         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
26100         Reported by Matt Kraai <mkraai@beckman.com>.
26101
26102 2009-07-25  Jim Meyering  <meyering@redhat.com>
26103
26104         maint.mk: avoid warnings about missing files
26105         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
26106         diagnostic when .prev-version does not exist.
26107         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
26108         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
26109         nonexistent cfg.mk.
26110         Suggestions from Simon Josefsson.
26111
26112 2009-07-25  Bruno Haible  <bruno@clisp.org>
26113
26114         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
26115         defined as macros. Needed on QNX 6.4.1.
26116         Reported by Matt Kraai <mkraai@beckman.com>.
26117
26118 2009-07-23  Jim Meyering  <meyering@redhat.com>
26119
26120         maint.mk: invoke "make dist" with a working value of XZ_OPT
26121         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
26122
26123 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
26124
26125         Make fseeko.c compile on QNX.
26126         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
26127
26128 2009-07-22  Peter Simons  <simons@cryp.to>
26129
26130         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
26131         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
26132         * lib/md4.h: Likewise.
26133         * lib/md5.h: Likewise.
26134         * lib/sha1.h: Likewise.
26135         * lib/sha256.h: Likewise.
26136         * lib/sha512.h: Likewise.
26137
26138         tests-sha1: don't assign literal string to 'char *' variable
26139         * tests/test-sha1.c (main): Declare locals with "const" to match
26140         attributes of the right hand side.
26141
26142 2009-07-21  Eric Blake  <ebb9@byu.net>
26143
26144         dup2: fix more mingw problems
26145         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
26146         fd to itself.
26147         * doc/posix-functions/dup2.texi (dup2): Document the bug.
26148         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
26149         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
26150         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
26151         care of mingw bugs.
26152
26153 2009-07-21  Jim Meyering  <meyering@redhat.com>
26154
26155         vc-list-files: avoid failure when /bin/sh is dash
26156         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
26157         On some Debian based systems, /bin/sh is a symlink to dash, and running
26158         this command would omit the "/" following each 'tests' prefix:
26159           dash -x build-aux/vc-list-files -C . tests
26160         That is because bash and dash work differently:
26161           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
26162           bash ok
26163           dash odd
26164
26165 2009-07-21  Eric Blake  <ebb9@byu.net>
26166
26167         dup2-tests: test previous patch
26168         * modules/dup2-tests: New file.
26169         * tests/test-dup2.c: Likewise.
26170         * tests/test-open.c (main): Avoid unspecified behavior.
26171         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
26172         test.
26173
26174         dup2: work around mingw and cygwin 1.5 bug
26175         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
26176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26177         * modules/unistd (Makefile.am): Substitute it.
26178         * lib/unistd.in.h (dup2): Declare the replacement.
26179         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
26180         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
26181         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
26182         * modules/execute (Depends-on): Add dup2.
26183         * modules/fseterr (Depends-on): Likewise.
26184         * modules/pipe (Depends-on): Likewise.
26185         * modules/posix_spawn-internal (Depends-on): Likewise.
26186
26187 2009-07-21  Bruno Haible  <bruno@clisp.org>
26188
26189         * modules/.gitattributes: New file.
26190
26191 2009-07-20  Bruno Haible  <bruno@clisp.org>
26192
26193         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
26194         (main): Use it.
26195
26196 2009-07-20  Eric Blake  <ebb9@byu.net>
26197
26198         test-pipe: make a bit more robust.
26199         * tests/test-pipe.c (myerr): Allow error messages regardless of
26200         what we do to stderr.
26201         (test_pipe): Rearrange to avoid deadlock.
26202         (child_main): Try a larger read, to ensure we avoided deadlock.
26203         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
26204         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
26205         if misused.
26206
26207 2009-07-19  Jim Meyering  <meyering@redhat.com>
26208
26209         fts: avoid false-positive cycle-detection
26210         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
26211         for each new command line argument.
26212
26213 2009-07-19  Bruno Haible  <bruno@clisp.org>
26214
26215         Fix build error on mingw with the modules sys_select and unistd.
26216         * modules/acl-tests (Depends-on): Add close.
26217         * modules/binary-io-tests (Depends-on): Likewise.
26218         * modules/closein-tests (Depends-on): Likewise.
26219         * modules/flock-tests (Depends-on): Likewise.
26220         * modules/fsync-tests (Depends-on): Likewise.
26221         * modules/lseek-tests (Depends-on): Likewise.
26222         * modules/pipe-tests (Depends-on): Likewise.
26223         * modules/posix_spawn-tests (Depends-on): Likewise.
26224         * modules/posix_spawnp-tests (Depends-on): Likewise.
26225         * modules/stat-time-tests (Depends-on): Likewise.
26226         * modules/yesno-tests (Depends-on): Likewise.
26227
26228 2009-07-19  Bruno Haible  <bruno@clisp.org>
26229
26230         Unify conditionals.
26231         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
26232         macros, not at the compiler macros.
26233         * lib/pipe.c: Likewise.
26234         * lib/execute.c: Likewise.
26235         * lib/spawni.c: Likewise.
26236
26237 2009-07-19  Bruno Haible  <bruno@clisp.org>
26238
26239         Fix handling of closed stdin/stdout/stderr on mingw.
26240         * lib/w32spawn.h: Include unistd.h.
26241         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
26242         file descriptor with O_NOINHERIT flag.
26243         (fd_safer_noinherit): New function, based on fd-safer.c.
26244         (dup_safer_noinherit): New function, based on dup-safer.c.
26245         (undup_safer_noinherit): New function.
26246         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
26247         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
26248         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
26249         instead of fd_safer.
26250         * tests/test-pipe.c: Include <windows.h>.
26251         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
26252
26253         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
26254         from main.
26255         (test_pipe): Pass an extra argument for disambiguation.
26256         (main): Invoke parent_main or child_main.
26257
26258         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
26259         consistently.
26260
26261 2009-07-18  Eric Blake  <ebb9@byu.net>
26262
26263         test-pipe: fix mingw build
26264         * tests/test-pipe.c (main): Avoid fcntl on mingw.
26265
26266 2009-07-18  Bruno Haible  <bruno@clisp.org>
26267
26268         * modules/pipe-tests (Makefile.am): Fix typo.
26269
26270 2009-07-18  Eric Blake  <ebb9@byu.net>
26271
26272         error: fix mingw build
26273         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
26274         Reported by Bruno Haible.
26275
26276         error: avoid undefined use of stdout
26277         * lib/error.c (error, error_at_line): Check that fd 1 is open
26278         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
26279         is handling faults and the close_stdout module wants to report the
26280         detection of closed stdout as an error.
26281
26282 2009-07-17  Eric Blake  <ebb9@byu.net>
26283
26284         pipe: be robust in face of closed fds
26285         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
26286         should cause child to misbehave.
26287         * modules/pipe-tests: New module.
26288         * tests/test-pipe.c: New file.
26289         * tests/test-pipe.sh: New file.
26290         Reported by Akim Demaille.
26291
26292 2009-07-14  Bruno Haible  <bruno@clisp.org>
26293
26294         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
26295         Reported by anonymous kc.
26296
26297 2009-07-07  Jim Meyering  <meyering@redhat.com>
26298
26299         maint.mk: don't look for translatable strings in *.m4 or *.mk
26300         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
26301         when searching for translatable strings.
26302
26303 2009-07-05  Jim Meyering  <meyering@redhat.com>
26304
26305         remove superfluous parentheses in STREQ definition
26306         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
26307         * lib/getugroups.c (STREQ): Likewise.
26308         * lib/fnmatch.c (STREQ): Likewise.
26309         Spotted by Bruno Haible.
26310
26311 2009-07-04  Jim Meyering  <meyering@redhat.com>
26312
26313         argv-iter: new module
26314         * MODULES.html.sh: Add argv-iter.
26315         * lib/argv-iter.c, lib/argv-iter.h: New files.
26316         * modules/argv-iter: New file.
26317         * modules/argv-iter-tests: New file.
26318         * tests/test-argv-iter.c: Test it.
26319
26320 2009-07-04  Bruno Haible  <bruno@clisp.org>
26321
26322         Fix assertion.
26323         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
26324         contains more exact copies of a given entry than file2, leave the extra
26325         copies unpaired rather than aborting.
26326         Reported by Eric Blake.
26327
26328 2009-07-02  Bruno Haible  <bruno@clisp.org>
26329
26330         Speedup git-merge-changelog for git cherry-pick.
26331         * lib/git-merge-changelog.c (struct entries_mapping): New type.
26332         (entries_mapping_get): New function, extracted from compute_mapping.
26333         (entries_mapping_reverse_get): New function.
26334         (compute_mapping): Add a 'full' argument. Return the result in a
26335         'struct entries_mapping'.
26336         (main): Update. Access the mappings through entries_mapping_get.
26337         Reported by Eric Blake.
26338
26339 2009-07-02  Bruno Haible  <bruno@clisp.org>
26340
26341         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
26342         best_i.
26343
26344 2009-07-02  Bruno Haible  <bruno@clisp.org>
26345
26346         Speed up approximate search for matching ChangeLog entries.
26347         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
26348         argument. Call fstrcmp_bounded instead of fstrcmp.
26349         (compute_mapping, try_split_merged_entry, main): Update callers.
26350
26351 2009-07-02  Bruno Haible  <bruno@clisp.org>
26352
26353         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
26354
26355 2009-06-30  Bruno Haible  <bruno@clisp.org>
26356
26357         Reduce the number of uc_is_cased calls.
26358         * lib/unicase.h (casing_suffix_context_t): Add
26359         'first_char_except_ignorable' field.
26360         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
26361         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
26362         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
26363         Update initializer.
26364         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
26365         case-ignorable characters.
26366         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
26367         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
26368         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
26369         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
26370         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
26371
26372 2009-06-30  Bruno Haible  <bruno@clisp.org>
26373
26374         Tests for module 'unicase/ignorable'.
26375         * modules/unicase/ignorable-tests: New file.
26376         * tests/unicase/test-ignorable.c: New file, generated by
26377         gen-uni-tables.
26378
26379         Tests for module 'unicase/cased'.
26380         * modules/unicase/cased-tests: New file.
26381         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
26382         * tests/unicase/test-predicate-part1.h: New file, derived from
26383         tests/unictype/test-predicate-part1.h.
26384         * tests/unicase/test-predicate-part2.h: New file, same as
26385         tests/unictype/test-predicate-part2.h.
26386
26387         Fix evaluation of "Before C" condition of FINAL_SIGMA.
26388         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
26389         (output_casing_properties): New function.
26390         (main): Call it.
26391         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
26392         * lib/unicase/cased.c: Include unictype/bitmap.h.
26393         (uc_is_cased): Define through a bitmap lookup.
26394         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
26395         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
26396         (uc_is_case_ignorable): Define through a bitmap lookup.
26397         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
26398         lib/unictype/bitmap.h.
26399         (Depends-on): Add inline. Clean up.
26400         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
26401         lib/unictype/bitmap.h.
26402         (Depends-on): Add inline. Clean up.
26403         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
26404         recognition.
26405         * tests/unicase/test-u16-tolower.c (main): Likewise.
26406         * tests/unicase/test-u32-tolower.c (main): Likewise.
26407
26408 2009-06-30  Bruno Haible  <bruno@clisp.org>
26409
26410         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
26411         * lib/unicase/u16-casemap.c: Likewise.
26412         * lib/unicase/u32-casemap.c: Likewise.
26413
26414 2009-06-29  Bruno Haible  <bruno@clisp.org>
26415
26416         Define u32_casefold as a wrapper around u32_ct_casefold.
26417         * lib/unicase/u32-casefold.c: Update.
26418         * modules/unicase/u32-casefold (Depends-on): Add
26419         unicase/u32-ct-casefold, unicase/empty-prefix-context,
26420         unicase/empty-suffix-context. Clean up.
26421
26422         Define u16_casefold as a wrapper around u16_ct_casefold.
26423         * lib/unicase/u16-casefold.c: Update.
26424         * modules/unicase/u16-casefold (Depends-on): Add
26425         unicase/u16-ct-casefold, unicase/empty-prefix-context,
26426         unicase/empty-suffix-context. Clean up.
26427
26428         Define u8_casefold as a wrapper around u8_ct_casefold.
26429         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
26430         * lib/unicase/u8-casefold.c: Update.
26431         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
26432         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26433
26434         Define u32_totitle as a wrapper around u32_ct_totitle.
26435         * lib/unicase/u32-totitle.c: Update.
26436         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
26437         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26438
26439         Define u16_totitle as a wrapper around u16_ct_totitle.
26440         * lib/unicase/u16-totitle.c: Update.
26441         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
26442         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26443
26444         Define u8_totitle as a wrapper around u8_ct_totitle.
26445         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
26446         functions.
26447         (FUNC): Delegate to U_CT_TOTITLE.
26448         * lib/unicase/u8-totitle.c: Update.
26449         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
26450         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26451
26452         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
26453         invocation.
26454         * modules/unicase/u32-tolower (Depends-on): Add
26455         unicase/empty-prefix-context, unicase/empty-suffix-context.
26456
26457         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
26458         invocation.
26459         * modules/unicase/u16-tolower (Depends-on): Add
26460         unicase/empty-prefix-context, unicase/empty-suffix-context.
26461
26462         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
26463         * modules/unicase/u8-tolower (Depends-on): Add
26464         unicase/empty-prefix-context, unicase/empty-suffix-context.
26465
26466         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
26467         invocation.
26468         * modules/unicase/u32-toupper (Depends-on): Add
26469         unicase/empty-prefix-context, unicase/empty-suffix-context.
26470
26471         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
26472         invocation.
26473         * modules/unicase/u16-toupper (Depends-on): Add
26474         unicase/empty-prefix-context, unicase/empty-suffix-context.
26475
26476         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
26477         * modules/unicase/u8-toupper (Depends-on): Add
26478         unicase/empty-prefix-context, unicase/empty-suffix-context.
26479
26480         New module 'unicase/u32-ct-casefold'.
26481         * lib/unicase/u32-ct-casefold.c: New file.
26482         * modules/unicase/u32-ct-casefold: New file.
26483
26484         New module 'unicase/u16-ct-casefold'.
26485         * lib/unicase/u16-ct-casefold.c: New file.
26486         * modules/unicase/u16-ct-casefold: New file.
26487
26488         New module 'unicase/u8-ct-casefold'.
26489         * lib/unicase/u8-ct-casefold.c: New file.
26490         * lib/unicase/u-ct-casefold.h: New file, derived from
26491         lib/unicase/u-casefold.h.
26492         * modules/unicase/u8-ct-casefold: New file.
26493
26494         New module 'unicase/u32-ct-totitle'.
26495         * lib/unicase/u32-ct-totitle.c: New file.
26496         * modules/unicase/u32-ct-totitle: New file.
26497
26498         New module 'unicase/u16-ct-totitle'.
26499         * lib/unicase/u16-ct-totitle.c: New file.
26500         * modules/unicase/u16-ct-totitle: New file.
26501
26502         New module 'unicase/u8-ct-totitle'.
26503         * lib/unicase/u8-ct-totitle.c: New file.
26504         * lib/unicase/u-ct-totitle.h: New file, derived from
26505         lib/unicase/u-totitle.h.
26506         * modules/unicase/u8-ct-totitle: New file.
26507
26508         New module 'unicase/u32-ct-tolower'.
26509         * lib/unicase/u32-ct-tolower.c: New file.
26510         * modules/unicase/u32-ct-tolower: New file.
26511
26512         New module 'unicase/u16-ct-tolower'.
26513         * lib/unicase/u16-ct-tolower.c: New file.
26514         * modules/unicase/u16-ct-tolower: New file.
26515
26516         New module 'unicase/u8-ct-tolower'.
26517         * lib/unicase/u8-ct-tolower.c: New file.
26518         * modules/unicase/u8-ct-tolower: New file.
26519
26520         New module 'unicase/u32-ct-toupper'.
26521         * lib/unicase/u32-ct-toupper.c: New file.
26522         * modules/unicase/u32-ct-toupper: New file.
26523
26524         New module 'unicase/u16-ct-toupper'.
26525         * lib/unicase/u16-ct-toupper.c: New file.
26526         * modules/unicase/u16-ct-toupper: New file.
26527
26528         New module 'unicase/u8-ct-toupper'.
26529         * lib/unicase/u8-ct-toupper.c: New file.
26530         * modules/unicase/u8-ct-toupper: New file.
26531
26532         Add context arguments to u*_casemap functions.
26533         * lib/unicase/unicasemap.h: Include unicase.h.
26534         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
26535         suffix_context arguments.
26536         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
26537         functions.
26538         (FUNC): Add prefix_context and suffix_context arguments. Use
26539         uc_is_cased and uc_is_case_ignorable.
26540         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
26541         * lib/unicase/u16-casemap.c: Likewise.
26542         * lib/unicase/u32-casemap.c: Likewise.
26543         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
26544         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26545         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
26546         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26547         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
26548         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26549
26550         New module 'unicase/u32-suffix-context'.
26551         * lib/unicase/u32-suffix-context.c: New file.
26552         * modules/unicase/u32-suffix-context: New file.
26553
26554         New module 'unicase/u16-suffix-context'.
26555         * lib/unicase/u16-suffix-context.c: New file.
26556         * modules/unicase/u16-suffix-context: New file.
26557
26558         New module 'unicase/u8-suffix-context'.
26559         * lib/unicase/u8-suffix-context.c: New file.
26560         * lib/unicase/u-suffix-context.h: New file.
26561         * modules/unicase/u8-suffix-context: New file.
26562
26563         New module 'unicase/empty-suffix-context'.
26564         * lib/unicase/empty-suffix-context.c: New file.
26565         * modules/unicase/empty-suffix-context: New file.
26566
26567         New module 'unicase/u32-prefix-context'.
26568         * lib/unicase/u32-prefix-context.c: New file.
26569         * modules/unicase/u32-prefix-context: New file.
26570
26571         New module 'unicase/u16-prefix-context'.
26572         * lib/unicase/u16-prefix-context.c: New file.
26573         * modules/unicase/u16-prefix-context: New file.
26574
26575         New module 'unicase/u8-prefix-context'.
26576         * lib/unicase/u8-prefix-context.c: New file.
26577         * lib/unicase/u-prefix-context.h: New file.
26578         * lib/unicase/context.h: New file.
26579         * modules/unicase/u8-prefix-context: New file.
26580
26581         New module 'unicase/empty-prefix-context'.
26582         * lib/unicase/empty-prefix-context.c: New file.
26583         * modules/unicase/empty-prefix-context: New file.
26584
26585         New module 'unicase/ignorable'.
26586         * lib/unicase/ignorable.c: New file.
26587         * modules/unicase/ignorable: New file.
26588
26589         New module 'unicase/cased'.
26590         * lib/unicase/caseprop.h: New file.
26591         * lib/unicase/cased.c: New file.
26592         * modules/unicase/cased: New file.
26593
26594         New functions for case mapping of substrings.
26595         * lib/unicase.h (casing_prefix_context_t): New type.
26596         (unicase_empty_prefix_context): New variable.
26597         (u8_casing_prefix_context, u16_casing_prefix_context,
26598         u32_casing_prefix_context, u8_casing_prefixes_context,
26599         u16_casing_prefixes_context, u32_casing_prefixes_context): New
26600         declarations.
26601         (casing_suffix_context_t): New type.
26602         (unicase_empty_suffix_context): New variable.
26603         (u8_casing_suffix_context, u16_casing_suffix_context,
26604         u32_casing_suffix_context, u8_casing_suffixes_context,
26605         u16_casing_suffixes_context, u32_casing_suffixes_context,
26606         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
26607         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
26608         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
26609         declarations.
26610
26611 2009-06-28  Jim Meyering  <meyering@redhat.com>
26612
26613         boostrap: indent only with spaces
26614         * build-aux/bootstrap: Indent only with spaces, never TABs.
26615
26616         bootstrap: split long lines
26617         * build-aux/bootstrap: Keep line length < 80.
26618
26619         bootstrap: sync from coreutils
26620         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
26621         just as autoreconf does.  Verify a list of prerequisite
26622         package-name,version-number pairs if defined in bootstrap.conf.
26623         Refer to README-prereq, if prerequisites are not satisfied.
26624
26625 2009-06-27  Eric Blake  <ebb9@byu.net>
26626
26627         tests: add test for bogus NULL definition
26628         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
26629         * tests/test-stdlib.c: Likewise.
26630         * tests/test-string.c: Likewise.
26631         * tests/test-locale.c: Likewise.
26632         * tests/test-unistd.c: Likewise.
26633         * modules/stdio-tests (Depends-on): Add verify.
26634         * modules/stdlib-tests (Depends-on): Likewise.
26635         * modules/string-tests (Depends-on): Likewise.
26636         * modules/locale-tests (Depends-on): Likewise.
26637         * modules/unistd-tests (Depends-on): Likewise.
26638
26639 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
26640
26641         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
26642         self-explaining comment.
26643         * m4/selinux-selinux-h: Update serial.
26644         (gl_LIBSELINUX): New macro, adding a warning for missing development
26645         packages to code extracted from...
26646         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
26647         Add warning for missing development packages here, too.
26648
26649 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
26650
26651         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
26652
26653 2009-06-25  Eric Blake  <ebb9@byu.net>
26654
26655         version-etc: fix regression
26656         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
26657         gcc.
26658         (version_etc): Use it, to catch bugs with trailing NULL.
26659         * lib/version-etc.c (version_etc_arn): Delete unused argument.
26660         (version_etc_va): Fix logic bug.
26661         * modules/version-etc-tests: Add test.
26662         * tests/test-version-etc.c: New file.
26663         * tests/test-version-etc.sh: Likewise.
26664
26665 2009-06-25  Sam Steingold  <sds@gnu.org>
26666
26667         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
26668         mbtowc declaration.
26669
26670 2009-06-25  Eric Blake  <ebb9@byu.net>
26671
26672         fpurge: migrate into <stdio.h>
26673         * lib/fpurge.h: Delete...
26674         * lib/stdio.in.h (fpurge): ...and declare here, instead.
26675         * lib/fpurge.c (fpurge): Change declaring header.
26676         * modules/fpurge (Files): Drop deleted file.
26677         (Depends-on): Add stdio.
26678         (configure.ac): Set witness.
26679         * modules/stdio (Makefile.am): Support fpurge macros.
26680         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26681         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
26682         * lib/fflush.c: Update client.
26683         * tests/test-fpurge.c: Likewise.
26684         * NEWS: Mention the change.
26685
26686 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26687
26688         * lib/argp-version-etc.c (program_authors): Add const
26689         qualifier.
26690         * lib/version-etc.c: Fix typos in the comments.
26691         * modules/argp-version-etc: Depends on version-etc.
26692
26693 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26694
26695         argp-version-etc: new module.
26696
26697         * lib/argp-version-etc.c: New file.
26698         * lib/argp-version-etc.h: New file.
26699         * modules/argp-version-etc: New file.
26700         * modules/argp-version-etc-tests: New file.
26701         * tests/test-argp-version-etc.c: New test.
26702         * tests/test-argp-version-etc-1.sh: New test.
26703
26704 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26705
26706         Provide additional interfaces and documentation for version-etc
26707         module.
26708
26709         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
26710         interfaces.
26711         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
26712         prototypes.
26713
26714 2009-06-24  Bruno Haible  <bruno@clisp.org>
26715
26716         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
26717         HAVE_LIB${NAME} macro.
26718         Reported by Sam Steingold <sds@gnu.org>.
26719
26720 2009-06-23  Simon Josefsson  <simon@josefsson.org>
26721
26722         * modules/hash-tests (test_hash_LDADD): Link to libintl when
26723         needed.
26724
26725 2009-06-21  Bruno Haible  <bruno@clisp.org>
26726
26727         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
26728         work.
26729         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
26730         together with LIB${NAME}, LTLIB${NAME}.
26731         Reported by Sam Steingold <sds@gnu.org>.
26732
26733 2009-06-20  Jim Meyering  <meyering@redhat.com>
26734
26735         tests: make sc_require_test_exit_idiom more generic
26736         * top/maint.mk (Exit_witness_file): New overridable variable.
26737         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
26738         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
26739
26740 2009-06-19  Jim Meyering  <meyering@redhat.com>
26741
26742         hash: reverse order of src/dst parameters in an internal interface
26743         * lib/hash.c (transfer_entries): Reverse order of parameters to
26744         put DST before SRC.  Adjust callers.
26745
26746         tests: test-hash: avoid wholesale duplication
26747         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
26748         Instead, use a loop and add a single conditional.
26749
26750         tests: test-hash: allow seed selection via a command line argument
26751         * tests/test-hash.c (get_seed): New function.
26752         (main): Use it.
26753
26754 2009-06-19  Eric Blake  <ebb9@byu.net>
26755
26756         hash: avoid memory leak on allocation failure
26757         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
26758         failure.  Factor repeated algorithm...
26759         (transfer_entries): ...into new helper routine.
26760         (hash_delete): React to hash_rehash return value.
26761
26762         hash: reduce memory pressure in hash_rehash no-op case
26763         * lib/hash.c (next_prime): Avoid overflow.
26764         (hash_initialize): Factor bucket size computation...
26765         (compute_bucket_size): ...into new helper function.
26766         (hash_rehash): Use new function and open coding to reduce memory
26767         pressure, and avoid a memory leak in USE_OBSTACK code.
26768         Reported by Jim Meyering.
26769
26770 2009-06-18  Eric Blake  <ebb9@byu.net>
26771
26772         hash: make rotation more obvious
26773         * modules/hash (Depends-on): Add bitrotate and stdint.
26774         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
26775         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
26776         (SIZE_MAX): Rely on headers for definition.
26777         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
26778         (raw_hasher): Use rotr_sz.
26779         Suggested by Jim Meyering.
26780
26781         hash: fix memory leak in last patch
26782         * lib/hash.c (hash_rehash): Avoid memory leak.
26783
26784         hash: avoid no-op rehashing
26785         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
26786
26787         hash: provide default callback functions
26788         * lib/hash.c (raw_hasher, raw_comparator): New functions.
26789         (hash_initialize): Use them as defaults.
26790         * tests/test-hash.c (main): Test this.
26791
26792         hash: minor optimization
26793         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
26794         when possible.
26795         (hash_initialize): Document this promise.
26796         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26797         * tests/test-hash.c (hash_compare_strings): Test this.
26798
26799 2009-06-18  Bruno Haible  <bruno@clisp.org>
26800
26801         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26802         going to be replaced anyway.
26803
26804 2009-06-18  Bruno Haible  <bruno@clisp.org>
26805
26806         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26807         in one place.
26808         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26809         be replaced anyway.
26810
26811 2009-06-18  Eric Blake  <ebb9@byu.net>
26812
26813         hash: check for resize before insertion
26814         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26815         threshold before insertion, so that a pathological hash_rehash
26816         that fills every bucket can still trigger another rehash.
26817
26818 2009-06-18  Jim Meyering  <meyering@redhat.com>
26819
26820         hash-tests: add a loop around the small tests
26821         * tests/test-hash.c (main): Repeat small tests with selected
26822         small initial table sizes.
26823
26824 2009-06-17  Eric Blake  <ebb9@byu.net>
26825
26826         hash: minor cleanups
26827         * lib/hash.h (hash_entry): Make opaque, by moving...
26828         * lib/hash.c (hash_entry): ...here.
26829         (hash_insert): Clarify restrictions on what can be inserted.
26830         (hash_get_next): Clarify when it is safe to remove an element
26831         during traversal.
26832         (check_tuning): Skip verification when tuning is known safe.
26833         (hash_initialize): Clarify restrictions on tuning.
26834
26835 2009-06-17  Jim Meyering  <jim@meyering.net>
26836         and Eric Blake  <ebb9@byu.net>
26837
26838         hash-tests: new module
26839         * modules/hash-tests: New file.
26840         * tests/test-hash.c: New file.
26841
26842 2009-06-17  Eric Blake  <ebb9@byu.net>
26843
26844         strstr-simple: document new module
26845         * MODULES.html.sh: Document new module.
26846
26847         strstr, strcasestr: replace on platforms with broken memchr
26848         * modules/strstr: Split into...
26849         * modules/strstr-simple: ...new module that does not care about
26850         performance, but does care about glibc bug.
26851         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26852         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26853         if platform memchr is broken, per Debian bug 521737.
26854         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26855         memchr.
26856         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26857         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26858         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26859         * modules/mountlist (Depends-on): Add strstr-simple.
26860         * modules/gen-uni-tables (Depends-on): Likewise.
26861         * modules/argz (Depends-on): Add strstr.
26862
26863 2009-06-17  Bruno Haible  <bruno@clisp.org>
26864
26865         * modules/posix_spawn-internal (Depends-on): Add errno.
26866
26867 2009-06-17  Bruno Haible  <bruno@clisp.org>
26868
26869         Define missing ESTALE on Interix 3.5.
26870         * lib/errno.in.h (ESTALE): Assign a value if missing.
26871         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26872         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26873         missing.
26874         * doc/posix-headers/errno.texi: Mention the Interix bug.
26875         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26876
26877 2009-06-15  Eric Blake  <ebb9@byu.net>
26878
26879         memchr, memchr2: add valgrind exception
26880         * lib/memchr.valgrind: New file.
26881         * lib/memchr2.valgrind: New file.
26882         * modules/memchr (Files): Distribute valgrind file.
26883         * modules/memchr2 (Files): Likewise.
26884
26885         docs: memchr is no longer obsolete
26886         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26887         * lib/string.in.h (memchr): Simplify logic.
26888
26889 2009-06-14  Jim Meyering  <meyering@redhat.com>
26890
26891         link-follow: fix the "checking..." message to not mention trailing slash
26892         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26893         never considered trailing slashes.
26894
26895 2009-06-14  Bruno Haible  <bruno@clisp.org>
26896
26897         * m4/memchr.m4: Mention also the bug on IA-64.
26898         * doc/posix-functions/memchr.texi: Likewise.
26899
26900 2009-06-12  Eric Blake  <ebb9@byu.net>
26901
26902         memchr: detect broken x86_64 and alpha implementations
26903         * modules/memchr-tests (Depends-on): Move mmap detection...
26904         * modules/memchr (Depends-on): ...here.
26905         (configure.ac): Set indicator.
26906         * lib/string.in.h (memchr): Declare replacement.
26907         * modules/string (Makefile.am): Trigger replacement.
26908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26909         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26910         bugs.
26911         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26912         * modules/getpagesize (License): Relax license.
26913
26914 2009-06-11  Bruno Haible  <bruno@clisp.org>
26915
26916         * lib/idpriv.h: Add more references.
26917
26918 2009-06-08  Bruno Haible  <bruno@clisp.org>
26919
26920         Tests for module 'idpriv-droptemp'.
26921         * modules/idpriv-droptemp-tests: New file.
26922         * tests/test-idpriv-droptemp.sh: New file.
26923         * tests/test-idpriv-droptemp.su.sh: New file.
26924         * tests/test-idpriv-droptemp.c: New file.
26925
26926         New module 'idpriv-droptemp'.
26927         * lib/idpriv-droptemp.c: New file.
26928         * modules/idpriv-droptemp: New file.
26929
26930 2009-06-08  Bruno Haible  <bruno@clisp.org>
26931
26932         Tests for module 'idpriv-drop'.
26933         * modules/idpriv-drop-tests: New file.
26934         * tests/test-idpriv-drop.sh: New file.
26935         * tests/test-idpriv-drop.su.sh: New file.
26936         * tests/test-idpriv-drop.c: New file.
26937
26938         New module 'idpriv-drop'.
26939         * lib/idpriv.h: New file.
26940         * lib-idpriv-drop.c: New file.
26941         * m4/idpriv.m4: New file.
26942         * modules/idpriv-drop: New file.
26943
26944 2009-06-08  Bruno Haible  <bruno@clisp.org>
26945
26946         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26947         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26948         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26949         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26950         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26951         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26952         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26953
26954 2009-06-08  Eric Blake  <ebb9@byu.net>
26955
26956         test-strstr: use memory fence, when possible
26957         * tests/test-strstr.c (main): Use memory fence, in order to be
26958         more likely to trigger Debian bug 521737.
26959         * modules/strstr-tests (Files): Pull in additional files.
26960
26961         memchr: no longer obsolete, for wider field testing
26962         * modules/memchr (Status, Notice): Delete, this module is no
26963         longer obsolete.
26964         * modules/vasnprintf (Depends-on): Add memchr.
26965
26966 2009-06-07  Jim Meyering  <meyering@redhat.com>
26967
26968         hash: declare some functions with the warn_unused_result attribute
26969         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26970
26971 2009-06-07  Bruno Haible  <bruno@clisp.org>
26972
26973         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26974         Reported by Eric Blake.
26975
26976 2009-06-06  Eric Blake  <ebb9@byu.net>
26977
26978         test-alignof: fix typo with long double
26979         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26980         compiler error.
26981
26982 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26983
26984         Escape non-texinfo { and }s.
26985         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26986         markup error.
26987
26988 2009-06-04  Jim Meyering  <meyering@redhat.com>
26989
26990         gitlog-to-changelog: don't infloop on an empty commit log
26991         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26992         Reported by Boris Petersen <transacid@centerim.org>.
26993
26994 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26995
26996         version-etc: extend for packagers
26997         Add three new configure options, intended for packagers:
26998           --with-packager="packager name"
26999           --with-packager-version="packager-specific version"
27000           --with-packager-bug-reports="packager bug reporting"
27001         An example with coreutils:
27002           $ ./configure \
27003             --with-packager=Gentoo \
27004             --with-packager-bug-report=http://bugs.gentoo.org/ \
27005             --with-packager-version="patchset 1.6"
27006           $ ./src/ls --version | head -n2
27007           ls (GNU coreutils) 7.1-dirty
27008           Packaged by Gentoo (patchset 1.6)
27009         Note that the bug reporting info via --help doesn't show up because
27010         coreutils uses its own custom emit_bug_reporting_address() implementation
27011         in src/system.h.  If it didn't, it'd look like:
27012           $ ./src/ls --help | tail -n4
27013           Report bugs to <bug-coreutils@gnu.org>.
27014           Report Gentoo bugs to <http://bugs.gentoo.org/>.
27015           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
27016           General help using GNU software: <http://www.gnu.org/gethelp/>.
27017         * lib/version-etc.c: Print new information, if provided.
27018         * m4/version-etc.m4: New file.
27019         * modules/version-etc (Files): Add m4/version-etc.m4.
27020         (configure.ac): Add gl_VERSION_ETC.
27021
27022 2009-05-31  Bruno Haible  <bruno@clisp.org>
27023
27024         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
27025         and 'int64_t'.
27026         * modules/alignof-tests (Dependencies): Add stdint.
27027         Reported by Eric Blake.
27028
27029 2009-05-31  Bruno Haible  <bruno@clisp.org>
27030
27031         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
27032         restriction due to compiler bugs.
27033         Reported by Eric Blake.
27034
27035 2009-05-31  Simon Josefsson  <simon@josefsson.org>
27036             Bruno Haible  <bruno@clisp.org>
27037
27038         Fix test-alignof failure.
27039         * lib/alignof.h (alignof_slot): New macro.
27040         (alignof_type): New macro, with the same semantics as the previous
27041         'alignof'.
27042         (alignof): Alias to alignof_slot.
27043         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
27044         check that the results are usable as constant expressions.
27045
27046 2009-05-31  Bruno Haible  <bruno@clisp.org>
27047
27048         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
27049         * tests/test-memchr.c (main): Check that memchr does not read past the
27050         first occurrence of the byte.
27051         * tests/test-strstr.c (main): Update comment.
27052         Suggested by Eric Blake.
27053
27054 2009-05-30  Bruno Haible  <bruno@clisp.org>
27055
27056         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
27057         detail how to use dumpbin.
27058         Reported by David Byron <dbyron@dbyron.com>.
27059
27060 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27061
27062         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
27063
27064 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27065
27066         * m4/manywarnings.m4: Add GCC 4.4 warnings.
27067
27068 2009-05-28  Bruno Haible  <bruno@clisp.org>
27069
27070         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
27071         build-aux/ files.
27072
27073 2009-05-28  Simon Josefsson  <simon@josefsson.org>
27074
27075         * gnulib-tool (func_import): Transform license on build-aux/ files too.
27076
27077 2009-05-27  Simon Josefsson  <simon@josefsson.org>
27078
27079         * gnulib-tool (sed_transform_main_lib_file)
27080         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
27081         regexps.
27082
27083 2009-05-26  Simon Josefsson  <simon@josefsson.org>
27084
27085         * tests/test-strstr.c: Add another self-test.
27086         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
27087         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
27088
27089 2009-05-23  Bruno Haible  <bruno@clisp.org>
27090
27091         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
27092         change.
27093
27094 2009-05-21  Bruno Haible  <bruno@clisp.org>
27095
27096         Simplify use of mode_t varargs.
27097         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
27098         uses 'mode_t' or 'int'.
27099         * lib/openat.c (openat): Likewise.
27100         * lib/open-safer.c (open_safer): Likewise.
27101         * m4/mode_t.m4: New file.
27102         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
27103         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
27104         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
27105         * modules/open (Files): Add m4/mode_t.m4.
27106         * modules/openat (Files): Likewise.
27107         * modules/fcntl-safer (Files): Likewise.
27108         Suggested by Eric Blake.
27109
27110 2009-05-21  Pádraig Brady  <P@draigbrady.com>
27111
27112         * doc/glibc-functions/fallocate.texi: New file.
27113         * doc/gnulib.texi: Include it.
27114
27115 2009-05-21  Eric Blake  <ebb9@byu.net>
27116             Bruno Haible  <bruno@clisp.org>
27117
27118         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
27119         invocations.
27120         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27121
27122 2009-05-21  Eric Blake  <ebb9@byu.net>
27123             Bruno Haible  <bruno@clisp.org>
27124
27125         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
27126         include_next. Fix of 2008-11-20 commit.
27127         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
27128         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
27129         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
27130         NEXT_MATH_H.
27131         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
27132         instead of NEXT_MATH_H.
27133
27134 2009-05-21  Bruno Haible  <bruno@clisp.org>
27135
27136         Avoid redefinition warnings for SIZE_MAX.
27137         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
27138         Reported by Simon Josefsson.
27139
27140 2009-05-21  Bruno Haible  <bruno@clisp.org>
27141
27142         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
27143         AC_CACHE_VAL.
27144
27145 2009-05-20  Bruno Haible  <bruno@clisp.org>
27146
27147         Make zeroptr.h work on mingw.
27148         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
27149         mprotect.
27150         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
27151         * modules/memchr2-tests (configure.ac): Likewise.
27152         * modules/memcmp-tests (configure.ac): Likewise.
27153         * modules/memmem-tests (configure.ac): Likewise.
27154         * modules/memrchr-tests (configure.ac): Likewise.
27155         Reported by Simon Josefsson.
27156
27157 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27158
27159         * tests/test-glob.c: Include string.h for strcmp prototype.
27160
27161 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27162
27163         * modules/getdelim (Depends-on): Add explicit stdint, although it
27164         was implicitly already pulled in via realloc-posix.
27165         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
27166
27167 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27168
27169         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
27170         G. Christensen" <tgc@jupiterrise.com>.
27171         * m4/sys_socket_h.m4: Check for sa_family_t.
27172         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
27173         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
27174         * tests/test-sys_socket.c: Check that sa_family_t works.
27175
27176 2009-05-18  Eric Blake  <ebb9@byu.net>
27177
27178         maint.mk: allow gnulib_dir in VPATH build
27179         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
27180
27181 2009-05-15  Jim Meyering  <meyering@redhat.com>
27182
27183         maint.mk: Give gnulib_dir a default definition.
27184         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
27185         Thus, most packages no longer need to specify this variable in cfg.mk
27186
27187 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
27188
27189         rename.m4: fix typos that would make non-mingw cross-configure fail
27190         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
27191
27192 2009-05-13  Eric Blake  <ebb9@byu.net>
27193
27194         mmap-anon: avoid out-of-order autoconf expansion
27195         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
27196         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
27197         * modules/memchr-tests (Depends-on): Add extensions.
27198         * modules/memchr2-tests (Depends-on): Add extensions.
27199         * modules/memcmp-tests (Depends-on): Add extensions.
27200         * modules/memmem-tests (Depends-on): Add extensions.
27201         * modules/memrchr-tests (Depends-on): Add extensions.
27202
27203 2009-05-13  Bruno Haible  <bruno@clisp.org>
27204
27205         Make some tests ISO C 99 compliant.
27206         * tests/zerosize-ptr.h: New file.
27207         * tests/test-memchr.c: Include zerosize-ptr.h.
27208         (main): Use a zero-size object pointer instead of NULL.
27209         * tests/test-memchr2.c: Include zerosize-ptr.h.
27210         (main): Use a zero-size object pointer instead of NULL.
27211         * tests/test-memcmp.c: Include zerosize-ptr.h.
27212         (main): Use a zero-size object pointer instead of NULL.
27213         * tests/test-memmem.c: Include zerosize-ptr.h.
27214         (main): Use a zero-size object pointer instead of NULL.
27215         * tests/test-memrchr.c: Include zerosize-ptr.h.
27216         (main): Use a zero-size object pointer instead of NULL.
27217         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
27218         m4/mmap-anon.m4.
27219         (Depends-on): Add getpagesize.
27220         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27221         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
27222         m4/mmap-anon.m4.
27223         (Depends-on): Add getpagesize.
27224         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27225         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
27226         m4/mmap-anon.m4.
27227         (Depends-on): Add getpagesize.
27228         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27229         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
27230         m4/mmap-anon.m4.
27231         (Depends-on): Add getpagesize.
27232         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27233         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
27234         m4/mmap-anon.m4.
27235         (Depends-on): Add getpagesize.
27236         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27237
27238 2009-05-12  Bruno Haible  <bruno@clisp.org>
27239
27240         Tests for module 'alignof'.
27241         * modules/alignof-tests: New file.
27242         * tests/test-alignof.c: New file.
27243
27244 2009-05-12  Bruno Haible  <bruno@clisp.org>
27245
27246         Fix alignof macro.
27247         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
27248         vendor compilers that are always correct.
27249
27250 2009-05-12  Bruno Haible  <bruno@clisp.org>
27251
27252         Make the MAP_ANONYMOUS detection work on HP-UX 11.
27253         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
27254         not whether its fully works.
27255
27256 2009-05-12  Bruno Haible  <bruno@clisp.org>
27257
27258         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
27259
27260 2009-05-12  Jim Meyering  <meyering@redhat.com>
27261
27262         * top/maint.mk: Adjust backslash alignment.
27263
27264 2009-05-11  Simon Josefsson  <simon@josefsson.org>
27265
27266         * top/maint.mk: Make $(srcdir)/build-aux configurable.
27267
27268 2009-05-11  Eric Blake  <ebb9@byu.net>
27269
27270         argp: avoid undefined behavior
27271         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
27272         macros.
27273
27274 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27275
27276         * tests/test-vc-list-files-git.sh: Do git config of user.email and
27277         user.name to prevent git commit from complaining.
27278
27279 2009-05-10  Bruno Haible  <bruno@clisp.org>
27280
27281         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
27282         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
27283         it rewrites every file name only once.
27284         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
27285
27286 2009-05-08  Bruno Haible  <bruno@clisp.org>
27287
27288         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
27289         instead of 'max'.
27290
27291 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27292
27293         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
27294         sockaddr_storage test.
27295
27296 2009-05-07  Simon Josefsson  <simon@josefsson.org>
27297
27298         * modules/sys_socket (Makefile.am): Substitute
27299         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
27300         * m4/sys_socket_h.m4: Check for sockaddr_storage.
27301         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
27302         * tests/test-sys_socket.c: Check sockaddr_storage.
27303
27304 2009-05-08  Bruno Haible  <bruno@clisp.org>
27305
27306         New module 'alignof'.
27307         * lib/alignof.h: New file.
27308         * modules/alignof: New file.
27309
27310 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27311             Bruno Haible  <bruno@clisp.org>
27312
27313         Fix test-file-has-acl on FreeBSD.
27314         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
27315         mask is implicitly added.
27316         * tests/test-file-has-acl.c: Include <signal.h>.
27317         (main): Terminate the test after 5 seconds.
27318         * modules/acl-tests (configure.ac): Check for alarm function.
27319
27320 2009-05-04  Bruno Haible  <bruno@clisp.org>
27321
27322         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
27323         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
27324         * modules/errno (configure.ac): Drop AC_REQUIRE.
27325         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
27326         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
27327
27328 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27329
27330         * modules/glob-tests: New module.
27331         * tests/test-glob.c: Add.
27332
27333 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27334
27335         * modules/fnmatch-tests: New module.
27336         * tests/test-fnmatch.c: Add.
27337
27338 2009-05-04  Eric Blake  <ebb9@byu.net>
27339
27340         maint: make the new no-submodule-changes rule VPATH-safe
27341         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
27342
27343 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27344             Bruno Haible  <bruno@clisp.org>
27345
27346         acl: Fix infinite loop on FreeBSD.
27347         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
27348         of return value from acl_get_entry.
27349         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
27350         Likewise.
27351
27352 2009-05-03  Bruno Haible  <bruno@clisp.org>
27353
27354         * lib/acl-internal.h (acl_entries): Clarify return value.
27355         * lib/acl_entries.c (acl_entries): Likewise.
27356
27357 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27358
27359         Bug fix in acl module.
27360         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
27361
27362 2009-05-03  Bruno Haible  <bruno@clisp.org>
27363
27364         Create gperf-generated file in the source dir, not in the build dir.
27365         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
27366         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
27367         * modules/unicase/locale-language (unicase/locale-languages.h):
27368         Likewise.
27369         * modules/unicase/special-casing (unicase/special-casing-table.h):
27370         Likewise.
27371         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
27372         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
27373         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
27374         Reported by Ralf Wildenhues.
27375
27376 2009-05-03  Bruno Haible  <bruno@clisp.org>
27377
27378         * modules/fnmatch (Description, configure.ac): Taken from
27379         fnmatch-posix.
27380         * modules/fnmatch-posix: Turn into a symbolic reference to the
27381         'fnmatch' module, and deprecate.
27382         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
27383
27384 2009-05-03  Bruno Haible  <bruno@clisp.org>
27385
27386         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
27387         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
27388         Reported by Ralf Wildenhues.
27389
27390 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27391
27392         * m4/fnmatch.m4: Fix fnmatch re-define.
27393
27394 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27395
27396         priv-set: new module and tests; adapt write-any-file
27397         * lib/priv-set.c: New file.
27398         * lib/priv-set.h: New file.
27399         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
27400         * lib/write-any-file.c: Simplify by using priv-set module.
27401         * m4/priv-set.m4: New file.
27402         * modules/priv-set: New file.
27403         * modules/unlinkdir: Add dependency on priv-set module.
27404         * modules/write-any-file: Likewise.
27405
27406         Tests for module 'priv-set'.
27407         * modules/priv-set-tests: New file.
27408         * tests/test-priv-set.c: New file.
27409
27410 2009-05-03  Jim Meyering  <meyering@redhat.com>
27411             Bruno Haible  <bruno@clisp.org>
27412
27413         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
27414         use the converted UTF-8 variant of the name instead.
27415
27416 2009-05-03  Jim Meyering  <meyering@redhat.com>
27417
27418         tests: tighten some getdate tests
27419         * tests/test-getdate.c (main): Tighten tests: require equality,
27420         not just greater than.  Set TZ envvar to UTC0.
27421
27422 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27423
27424         getdate: correctly interpret "next monday" when run on a Monday
27425         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
27426         that e.g., "next tues" (when run on a tuesday) results in a date
27427         that is one week in the future, and not today's date.
27428         I.e., add a week when the wday is the same as the current one.
27429         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
27430         and earlier by Martin Bernreuther and Jan Minář.
27431         * tests/test-getdate.c (main): Check that "next DAY" is always in
27432         the future and that "last DAY" is always in the past.
27433
27434 2009-05-02  Jim Meyering  <meyering@redhat.com>
27435
27436         build: ensure that a release build fails when a submodule is unclean
27437         * top/maint.mk (no-submodule-changes): New rule.
27438         (alpha beta major): Depend on it.
27439
27440 2009-05-02  Bruno Haible  <bruno@clisp.org>
27441
27442         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
27443         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
27444         shell variable gl_fnmatch_required to detect which variant is
27445         requested.
27446         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
27447         gl_FUNC_FNMATCH_POSIX.
27448         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
27449         exclude fnmatch-posix.
27450
27451 2009-05-02  Bruno Haible  <bruno@clisp.org>
27452
27453         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
27454         * modules/mbsrtowcs (License): Change to LGPLv2+.
27455         * modules/strnlen1 (License): Likewise.
27456         Reported by Simon Josefsson.
27457
27458 2009-05-02  Bruno Haible  <bruno@clisp.org>
27459
27460         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
27461         "cross".
27462         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
27463         gnulib-tool was called with option --source-base=lib.
27464
27465 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27466
27467         Use automake *-local hooks without commands, for extensibility.
27468         * modules/localcharset (Makefile.am): Rename install-exec-local
27469         rule to install-exec-localcharset, and make it a prerequisite of
27470         install-exec-local.  Likewise, rename the uninstall-local rule to
27471         uninstall-localcharset, and make it a prerequisite of the former.
27472
27473 2009-05-01  Bruno Haible  <bruno@clisp.org>
27474
27475         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
27476         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27477         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
27478         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
27479         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
27480         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27481         m4/locale-zh.m4, m4/codeset.m4.
27482
27483         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27484         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
27485         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27486         m4/locale-zh.m4.
27487
27488         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
27489         REPLACE_WCRTOMB if mbstate_t must be replaced.
27490         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
27491         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
27492
27493 2009-05-01  Bruno Haible  <bruno@clisp.org>
27494
27495         Avoid compiler warnings when redefining macros defined by <libintl.h>.
27496         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
27497         dngettext, dcngettext, textdomain, bindtextdomain,
27498         bind_textdomain_codeset): Undefine before redefining.
27499
27500 2009-04-30  Bruno Haible  <bruno@clisp.org>
27501
27502         Fix bug introduced on 2009-04-25.
27503         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
27504         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
27505         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
27506         is defined.
27507         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
27508         is defined.
27509         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
27510         is defined.
27511         Reported by Elbert_Pol <elbert.pol@gmail.com>.
27512
27513 2009-04-28  Bruno Haible  <bruno@clisp.org>
27514
27515         Comment tweaks.
27516         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
27517         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
27518         * lib/unicase.h (u*_casexfrm): Likewise.
27519         Reported by Paolo Bonzini.
27520
27521 2009-04-28  Bruno Haible  <bruno@clisp.org>
27522
27523         Fix a compilation error.
27524         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
27525         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
27526         Reported by Jim Meyering.
27527
27528 2009-04-27  Bruno Haible  <bruno@clisp.org>
27529
27530         New module 'libunistring'.
27531         * modules/libunistring: New file.
27532         * m4/libunistring.m4: New file.
27533         * MODULES.html.sh (Unicode string functions): Add it.
27534
27535 2009-04-27  Eric Blake  <ebb9@byu.net>
27536
27537         maint.mk: allow package-specific header to provide <config.h>
27538         * top/maint.mk (sc_require_config_h): New variable.
27539         (sc_require_config_h, sc_require_config_h_first): Use it.
27540
27541 2009-04-27  Simon Josefsson  <simon@josefsson.org>
27542
27543         * top/maint.mk (sc_avoid_if_before_free): Except
27544         useless-if-before-free script.
27545
27546 2009-04-27  Eric Blake  <ebb9@byu.net>
27547
27548         maintainer-makefile: depend on all required helper scripts
27549         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
27550         useless-if-before-free.
27551         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
27552         version, rather than assuming gnulib checkout is available.
27553         Reported by Simen Josefsson.
27554
27555 2009-04-26  Bruno Haible  <bruno@clisp.org>
27556
27557         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
27558         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
27559         "../" or "..".
27560
27561 2009-04-26  Bruno Haible  <bruno@clisp.org>
27562
27563         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
27564         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
27565         AC_LIB_HAVE_LINKFLAGS.
27566
27567 2009-04-26  Bruno Haible  <bruno@clisp.org>
27568
27569         Simplify calling convention of u*_conv_from_encoding.
27570         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
27571         u32_conv_from_encoding): Expect a resultbuf argument and return the
27572         result directly as a pointer.
27573         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
27574         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
27575         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
27576         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
27577         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
27578         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27579         Update.
27580         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
27581         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
27582         * lib/vasnprintf.c (VASNPRINTF): Update.
27583         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
27584         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
27585         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
27586         * NEWS: Mention the change.
27587
27588 2009-04-26  Bruno Haible  <bruno@clisp.org>
27589
27590         Simplify calling convention of u*_conv_to_encoding.
27591         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
27592         u32_conv_to_encoding): Expect a resultbuf argument and return the
27593         result directly as a pointer.
27594         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27595         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
27596         freeing scaled_offsets if mem_iconveha failed.
27597         * lib/unicase/u-casexfrm.h (FUNC): Update.
27598         * lib/uninorm/u-normxfrm.h (FUNC): Update.
27599         * lib/vasnprintf.c (VASNPRINTF): Update.
27600         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
27601         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
27602         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
27603         * NEWS: Mention the change.
27604
27605 2009-04-26  Bruno Haible  <bruno@clisp.org>
27606
27607         Avoid test failures on AIX and OSF/1.
27608         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
27609         malloc(0).
27610         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27611         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27612         Likewise.
27613         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
27614         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
27615         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
27616         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
27617         * doc/posix-functions/malloc.texi: Document the portability problem
27618         related to malloc(0).
27619
27620 2009-04-26  Bruno Haible  <bruno@clisp.org>
27621
27622         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
27623         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
27624         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
27625
27626 2009-04-25  Bruno Haible  <bruno@clisp.org>
27627
27628         Avoid link error when creating a namespace clean library.
27629         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
27630         as macro with arguments if already defined as an alias.
27631         * lib/signbitf.c (gl_signbitf): Don't undefine.
27632         * lib/signbitd.c (gl_signbitd): Don't undefine.
27633         * lib/signbitl.c (gl_signbitl): Don't undefine.
27634
27635 2009-04-25  Jim Meyering  <meyering@redhat.com>
27636
27637         vc-list-files: fix another quoting bug
27638         * build-aux/vc-list-files: Avoid sed backslash expansion
27639         of pathological directory names.
27640
27641 2009-04-25  Eric Blake  <ebb9@byu.net>
27642
27643         vc-list-files: fix shell quoting error
27644         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
27645         timestamp.
27646
27647 2009-04-25  Jim Meyering  <meyering@redhat.com>
27648
27649         vc-list-files: restore lost functionality with subdir argument
27650         * build-aux/vc-list-files: When given a non-"." sub-directory
27651         argument, substitute the $dir/ prefix back onto each resulting name.
27652         Otherwise, coreutils' root_tests check would fail.
27653
27654 2009-04-24  Eric Blake  <ebb9@byu.net>
27655
27656         vc-list-files: ignore git symlinks
27657         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
27658         than ls-files, to ignore git symlinks.
27659
27660         maint.mk: import improvements from m4
27661         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
27662         (move_if_change): Delete unused macro.
27663         (news-date-check, vc-diff-check): Support VPATH builds.
27664         (announcement): Likewise.  Split --bootstrap-tools list...
27665         (boostrap-tools): ...into separate list, which can be overridden
27666         in cfg.mk.
27667         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
27668         requiring dependency on useless-if-before-free module.
27669         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
27670         Support VPATH builds.
27671
27672 2009-04-24  Jim Meyering  <meyering@redhat.com>
27673
27674         maint.mk: remove coreutils-specific rules and variables
27675         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
27676         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
27677         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
27678
27679         maint.mk: remove obsolete rule
27680         * top/maint.mk (rel-check): Remove rule.
27681         (WGET, WGETFLAGS): Remove now-unused variables.
27682
27683 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27684
27685         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
27686         consistency.
27687
27688         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
27689         '$(PATH_SEPARATOR)' instead of ':'.
27690
27691 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27692
27693         * lib/getopt1.c (main): Use 'const' for static array.
27694
27695 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27696
27697         * top/maint.mk: Sync with coreutils.
27698         * NEWS: Explain incompatibilities.
27699
27700 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27701             Bruno Haible  <bruno@clisp.org>
27702
27703         Fix cross-compilation results.
27704         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
27705         statement, as third argument of AC_TRY_RUN.
27706         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27707         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27708         Likewise.
27709         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27710         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27711         Likewise.
27712         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27713         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
27714         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
27715
27716 2009-04-20  Bruno Haible  <bruno@clisp.org>
27717
27718         Avoid test failure on mingw.
27719         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
27720
27721 2009-04-20  Bruno Haible  <bruno@clisp.org>
27722
27723         Avoid compilation error on mingw.
27724         * modules/localename-tests (Depends-on): Add locale.
27725
27726 2009-04-19  Bruno Haible  <bruno@clisp.org>
27727
27728         Support for building a shared library on Windows platforms.
27729         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
27730         (main): Test the presence of UNINORM_NFC here.
27731         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
27732         (main): Test the presence of UNINORM_NFD here.
27733         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
27734         (main): Test the presence of UNINORM_NFKC here.
27735         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
27736         (main): Test the presence of UNINORM_NFKD here.
27737
27738 2009-04-19  Bruno Haible  <bruno@clisp.org>
27739
27740         Avoid a compiler warning.
27741         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
27742         Change type of variable 'sequence'.
27743
27744 2009-04-19  Bruno Haible  <bruno@clisp.org>
27745
27746         * modules/configmake (Makefile.am): When the contents of configmake.h
27747         does not change, arrange to preserve its modification time.
27748
27749 2009-04-17  Simon Josefsson  <simon@josefsson.org>
27750
27751         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
27752         gettext domain.
27753
27754 2009-04-16  Jim Meyering  <meyering@redhat.com>
27755
27756         useless-if-before-free: improve conversion code
27757         * build-aux/useless-if-before-free: Adjust code-in-comment to match
27758         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
27759
27760 2009-04-14  Bruno Haible  <bruno@clisp.org>
27761
27762         * modules/fcntl (Depends-on): Add extensions.
27763         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
27764
27765 2009-04-12  Ben Pfaff  <blp@gnu.org>
27766
27767         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
27768         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
27769
27770 2009-03-20  Ben Pfaff  <blp@gnu.org>
27771
27772         Make rename replace existing destinations on Windows.
27773         * m4/rename.m4: Add test for Mingw.
27774         * lib/rename.c: Add rename replacement that uses MoveFileEx with
27775         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
27776         * doc/posix-functions/rename.texi: Document.
27777
27778 2009-04-10  Bruno Haible  <bruno@clisp.org>
27779
27780         New include file "iconveh.h".
27781         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
27782         * lib/striconveh.h: Include it.
27783         (enum iconv_ilseq_handler): Remove definition.
27784         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
27785         striconveh.h.
27786         * lib/striconveha.c: Include striconveh.h.
27787         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
27788         * modules/striconveh (Files): Add lib/iconveh.h.
27789         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
27790         lib/striconveh.h.
27791
27792 2009-04-10  Bruno Haible  <bruno@clisp.org>
27793
27794         * lib/uniconv.h: Update comment.
27795
27796 2009-04-10  Bruno Haible  <bruno@clisp.org>
27797
27798         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27799         always.
27800         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27801         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27802         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27803         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27804         "unistring-notinline.h", so that the function gets defined always.
27805         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27806         * lib/unistr/u8-uctomb.c: Likewise.
27807         * lib/unistr/u16-mbtouc.c: Likewise.
27808         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27809         * lib/unistr/u16-uctomb.c: Likewise.
27810         * lib/unistr/u32-mbtouc.c: Likewise.
27811         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27812         * lib/unistr/u32-uctomb.c: Likewise.
27813
27814 2009-04-10  Bruno Haible  <bruno@clisp.org>
27815
27816         Mark 'utime' obsolete.
27817         * modules/utime (Status, Notice): New sections.
27818         Suggested by Jim Meyering.
27819
27820         Fix cross-compile guess for utime test.
27821         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27822         autoconf.
27823         * doc/posix-functions/utime.texi: Give more precisions.
27824         Reported by Jan <ipif@ymail.com>.
27825
27826 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27827
27828         filevercmp: correct today's change
27829         * lib/filevercmp.c: Also handle coreutils' test inputs.
27830         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27831
27832         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27833         for reporting it.
27834         * lib/filevercmp.c: Special handle for "", "." and "..".
27835         * tests/test-filevercmp.c: Enlarge the set suite.
27836
27837 2009-04-07  Jim Meyering  <meyering@redhat.com>
27838
27839         useless-if-before-free: show how to remove braced useless free, too
27840         * build-aux/useless-if-before-free: still only in a comment, though.
27841
27842 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27843
27844         maint.mk: import changes to syntax-check macros from coreutils
27845         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27846         Use them in the relevant macros.
27847
27848 2009-04-06  Bruno Haible  <bruno@clisp.org>
27849
27850         Fix unportable use of bit-fields.
27851         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27852         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27853         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27854
27855 2009-04-06  Bruno Haible  <bruno@clisp.org>
27856
27857         Avoid test failures on AIX and OSF/1.
27858         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27859         that malloc(0) = NULL.
27860         * tests/unicase/test-u8-tolower.c (check): Likewise.
27861         * tests/unicase/test-u8-totitle.c (check): Likewise.
27862         * tests/unicase/test-u8-toupper.c (check): Likewise.
27863         * tests/unicase/test-u16-casefold.c (check): Likewise.
27864         * tests/unicase/test-u16-tolower.c (check): Likewise.
27865         * tests/unicase/test-u16-totitle.c (check): Likewise.
27866         * tests/unicase/test-u16-toupper.c (check): Likewise.
27867         * tests/unicase/test-u32-casefold.c (check): Likewise.
27868         * tests/unicase/test-u32-tolower.c (check): Likewise.
27869         * tests/unicase/test-u32-totitle.c (check): Likewise.
27870         * tests/unicase/test-u32-toupper.c (check): Likewise.
27871         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27872         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27873         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27874         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27875         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27876         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27877         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27878         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27879         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27880         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27881         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27882         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27883
27884 2009-04-05  Bruno Haible  <bruno@clisp.org>
27885
27886         Work around an autoconf limitation.
27887         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27888         comment line if it would be longer than 3 KB.
27889
27890 2009-04-05  Bruno Haible  <bruno@clisp.org>
27891
27892         Avoid test failure with libiconv-1.13.
27893         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27894         of the expected test results.
27895
27896 2009-04-05  Bruno Haible  <bruno@clisp.org>
27897
27898         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27899         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27900         that it should be installed.
27901
27902 2009-04-05  Bruno Haible  <bruno@clisp.org>
27903
27904         * gnulib-tool: New option --copy-file.
27905         (func_usage): Document it.
27906         (func_dest_tmpfilename): Moved out of func_import.
27907         (func_add_file, func_update_file): New functions, extracted from
27908         func_import.
27909         (func_import): Update.
27910
27911 2009-04-05  Karl Berry  <karl@gnu.org>
27912
27913         * README: prominently mention gnulib-tool.
27914         Rearrange sections so getting the code is near the top.
27915
27916 2009-04-05  Bruno Haible  <bruno@clisp.org>
27917
27918         * lib/unicase.h: Mention u*_cmp2.
27919         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27920         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27921         * lib/unicase/ulc-casecmp.c: Likewise.
27922         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27923         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27924         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27925         unistr/u8-cmp.
27926         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27927         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27928         unistr/u16-cmp.
27929         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27930         unistr/u32-cmp.
27931
27932         * lib/uninorm.h: Mention u*_cmp2.
27933         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27934         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27935         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27936         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27937         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27938         unistr/u8-cmp.
27939         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27940         unistr/u16-cmp.
27941         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27942         unistr/u32-cmp.
27943
27944         New module 'unistr/u32-cmp2'.
27945         * lib/unistr/u32-cmp2.c: New file.
27946         * modules/unistr/u32-cmp2: New file.
27947
27948         New module 'unistr/u16-cmp2'.
27949         * lib/unistr/u16-cmp2.c: New file.
27950         * modules/unistr/u16-cmp2: New file.
27951
27952         New module 'unistr/u8-cmp2'.
27953         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27954         * lib/unistr/u8-cmp2.c: New file.
27955         * lib/unistr/u-cmp2.h: New file.
27956         * modules/unistr/u8-cmp2: New file.
27957
27958 2009-04-05  Bruno Haible  <bruno@clisp.org>
27959
27960         * lib/unictype.h (uc_property_is_valid): New macro.
27961         * tests/unictype/test-pr_byname.c (main): Use it.
27962
27963         * lib/unistr.h: Doc fixes.
27964         * lib/uniconv.h: Doc fixes.
27965         * lib/unictype.h: Doc fixes.
27966
27967 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27968
27969         Port coreutils 7.2 to Solaris 8.
27970
27971         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27972         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27973         for Solaris 8.  This is a bit of a hack, as it means it's the
27974         caller's responsibility to add -lnsl if needed, but most likely it
27975         won't be needed since only getaddrinfo uses this and getaddrinfo
27976         isn't needed on Solaris 8.
27977
27978         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27979         problem to Solaris 8 encountered with coreutils 7.2, which
27980         resulted in a message "fnmatch.c:292: warning: passing argument 4
27981         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27982         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27983
27984 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27985
27986         * m4/ld-version-script.m4: Add FIXME comment.
27987
27988 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27989
27990         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27991         SOVERSION variable.
27992
27993 2009-04-02  Bruno Haible  <bruno@clisp.org>
27994
27995         * Makefile (info, html, dvi, pdf): Combine the rules.
27996         Suggested by Jim Meyering.
27997
27998 2009-04-01  Bruno Haible  <bruno@clisp.org>
27999
28000         * Makefile (info, html, dvi, pdf): New targets.
28001         Reported by Reuben Thomas <rrt@sc3d.org>.
28002
28003 2009-04-01  Bruno Haible  <bruno@clisp.org>
28004
28005         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
28006         can be put into PATH.
28007         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
28008
28009 2009-04-01  Bruno Haible  <bruno@clisp.org>
28010
28011         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
28012
28013 2009-04-01  Bruno Haible  <bruno@clisp.org>
28014
28015         Rename module 'visibility'.
28016         * modules/lib-symbol-visibility: Renamed from modules/visibility.
28017         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
28018         * doc/gnulib.texi: Update.
28019         * MODULES.html.sh (Misc): Update.
28020         * NEWS: Mention the change.
28021
28022 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28023
28024         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
28025         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
28026         Eric Blake <ebb9@byu.net> for review.
28027         * MODULES.html.sh: Add lib-msvc-compat.
28028         * doc/gnulib.texi: Link to new section.
28029         * m4/ld-output-def.m4: New file.
28030         * doc/ld-output-def.texi: New file.
28031
28032 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28033
28034         Rename ld-version-script to lib-symbol-versions.  Suggested by
28035         Bruno Haible <bruno@clisp.org>.
28036         * modules/ld-version-script: Renamed to lib-symbol-versions.
28037         * doc/ld-version-script.texi: Fix module name.
28038         * MODULES.html.sh: Add lib-symbol-versions.
28039
28040 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28041
28042         * modules/u64-tests: New file.
28043         * tests/test-u64.c: New file.
28044
28045 2009-03-04  Simon Josefsson  <simon@josefsson.org>
28046
28047         * MODULES.html.sh: Mention u64.
28048         * modules/u64: New module.
28049         * modules/crypto/sha512: Depend on u64 module instead of providing
28050         u64.h.
28051
28052 2009-03-27  Eric Blake  <ebb9@byu.net>
28053
28054         test-strerror: make debugging EAI_SYSTEM easier
28055         * modules/getaddrinfo-tests (Depends-on): Add strerror.
28056         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
28057         failure was EAI_SYSTEM.
28058
28059 2009-03-25  Bruno Haible  <bruno@clisp.org>
28060
28061         Fix a problem with --enable-relocatable on Solaris 7.
28062         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
28063         since 2008-02-24.
28064
28065 2009-03-25  Eric Blake  <ebb9@byu.net>
28066
28067         test-sockets: avoid gcc warning
28068         * tests/test-sockets.c (main): Silence compiler warning.
28069
28070 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28071
28072         New modules nproc, pthread, contributed by Glen Lenker.
28073
28074         * MODULES.html.sh: Add pthread, nproc.
28075         * lib/nproc.c: New file.
28076         * lib/nproc.h: New file.
28077         * lib/pthread.in.h: New file.
28078         * m4/pthread.m4: New file.
28079         * modules/nproc: New file.
28080         * modules/pthread: New file.
28081
28082 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28083
28084         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
28085         New variable.
28086
28087 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
28088
28089         filevercmp: handle simple~ and numbered.~3~ backup suffixes
28090         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
28091         * tests/test-filevercmp.c: Add tests for backup suffixes.
28092
28093 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28094
28095         * modules/stdlib (Depends-on): Add stdint, needed when defining
28096         struct random_data on, for example, HP-UX 10.20.  Reported by
28097         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28098
28099 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28100
28101         * lib/readline.c (readline): Call fflush on stdout after printing
28102         prompt.
28103
28104 2009-03-20  Bruno Haible  <bruno@clisp.org>
28105
28106         Remove dependency from 'close' module to -lws2_32 on native Windows.
28107         * lib/close-hook.h: New file.
28108         * lib/close-hook.c: New file.
28109         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
28110         w32sock.h.
28111         (_gl_close_fd_maybe_socket): Remove function.
28112         (rpl_close): Invoke execute_all_close_hooks instead of
28113         _gl_close_fd_maybe_socket.
28114         * lib/sockets.c: Include close-hook.h, w32sock.h.
28115         (close_fd_maybe_socket): New function, essentially from lib/close.c.
28116         (close_sockets_hook): New variable.
28117         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
28118         (gl_sockets_cleanup): Unregister it.
28119         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
28120         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
28121         * modules/close-hook: New file.
28122         * modules/close (Files): Remove lib/w32sock.h.
28123         (Depends-on): Add close-hook.
28124         (Link): Remove section.
28125         * modules/sockets (Files): Add lib/w32sock.h.
28126         (Depends-on): Add close-hook.
28127         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
28128         invocation.
28129         * NEWS: Mention that LIB_CLOSE is gone.
28130
28131 2009-03-23  Eric Blake  <ebb9@byu.net>
28132
28133         signal-tests: test previous patch
28134         * tests/test-signal.c: New file.
28135         * modules/signal-tests: Likewise.
28136
28137         signal.h: always support 'volatile sig_atomic_t'
28138         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
28139         (gl_SIGNAL_H_DEFAULTS): Add a default.
28140         * modules/signal (Makefile.am): Substitute if needed.
28141         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
28142         users can blindly add volatile.
28143         * doc/posix-headers/signal.texi (signal.h): Document it.
28144         Reported by Matthew Woehlke.
28145
28146 2009-03-23  Jim Meyering  <meyering@redhat.com>
28147
28148         pathmax: PATH_MAX: use pathconf only when available
28149         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
28150         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
28151         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
28152         This avoids a link failure in a PSP cross-compilation environment
28153         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
28154
28155         * lib/vasnprintf.c (divide): Fix typo in comment.
28156
28157 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28158
28159         * gnulib-tool (func_filter_filelist): Fix comment.
28160
28161 2009-03-20  Bruno Haible  <bruno@clisp.org>
28162
28163         Make sockets.h self-contained.
28164         * lib/sockets.c: Include sockets.h first.
28165         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
28166
28167 2009-03-19  Eric Blake  <ebb9@byu.net>
28168
28169         doc: mention more functions added in cygwin 1.7.0
28170         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
28171         addition.
28172         * doc/posix-functions/log2f.texi: Likewise.
28173
28174 2009-03-19  Jim Meyering  <meyering@redhat.com>
28175
28176         fsusage: avoid syntax error due to statement-before-declaration
28177         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
28178         after all declarations.  Reported by Matthew Woehlke in
28179         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
28180
28181 2009-03-18  Eric Blake  <ebb9@byu.net>
28182
28183         build-aux/compile: sync from automake
28184         * build-aux/compile: New file, from automake.
28185         * config/srclist.txt: Mention build-aux/compile.
28186
28187 2009-03-17  Bruno Haible  <bruno@clisp.org>
28188
28189         * lib/git-merge-changelog.c: Fix typo in comment.
28190         Reported by Reuben Thomas <rrt@sc3d.org>.
28191
28192 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
28193
28194         * m4/regex.m4: update and improve help for
28195         --without-included-regex.
28196
28197 2009-03-17  Simon Josefsson  <simon@josefsson.org>
28198
28199         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
28200         failure on missing include files.
28201
28202 2009-03-17  Eric Blake  <ebb9@byu.net>
28203
28204         doc: mention more functions added in cygwin 1.7.0
28205         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
28206         addition.
28207         * doc/posix-functions/fwscanf.texi: Likewise.
28208         * doc/posix-functions/swprintf.texi: Likewise.
28209         * doc/posix-functions/swscanf.texi: Likewise.
28210         * doc/posix-functions/vfwprintf.texi: Likewise.
28211         * doc/posix-functions/vfwscanf.texi: Likewise.
28212         * doc/posix-functions/vswprintf.texi: Likewise.
28213         * doc/posix-functions/vswscanf.texi: Likewise.
28214         * doc/posix-functions/vwprintf.texi: Likewise.
28215         * doc/posix-functions/vwscanf.texi: Likewise.
28216         * doc/posix-functions/wcscasecmp.texi: Likewise.
28217         * doc/posix-functions/wcsdup.texi: Likewise.
28218         * doc/posix-functions/wcsftime.texi: Likewise.
28219         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28220         * doc/posix-functions/wprintf.texi: Likewise.
28221         * doc/posix-functions/wscanf.texi: Likewise.
28222         * doc/glibc-functions/gethostbyname2.texi: Likewise.
28223
28224 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28225
28226         maint.mk: really add $(AM_MAKEFLAGS)
28227         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
28228         was inadvertently omitted in the last commit.
28229         Spotted by Bruno Haible.
28230
28231         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
28232         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
28233         $(AM_MAKEFLAGS)' rather than plain `make'.
28234
28235         gnulib-tool: execute $MAKE not make
28236         * gnulib-tool: Default $MAKE to 'make'.
28237         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
28238         than make.  Initialize $MAKE in the do-autobuild script.
28239
28240         gnulib-tool: use $MAKE not make in generated files
28241         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
28242         make, in generated files.  Initialize $MAKE in the do-autobuild
28243         script.
28244
28245         * top/GNUmakefile (_have-git-version-gen): Fix typo.
28246
28247         GNUmakefile: disable parallelism only for multiple, recursive targets
28248         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
28249         additions in the Makefile.
28250         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
28251         by Automake.
28252         (.NOTPARALLEL): Only disable parallel builds if multiple targets
28253         are listed on the command line and at least one of them is
28254         listed in $(ALL_RECURSIVE_TARGETS).
28255
28256 2009-03-14  Bruno Haible  <bruno@clisp.org>
28257
28258         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
28259         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
28260         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
28261         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
28262         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
28263         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
28264         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
28265         unistr/u8-uctomb.
28266         * modules/unistr/u8-strchr (Depends-on): Likewise.
28267         * modules/unistr/u8-strrchr (Depends-on): Likewise.
28268         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
28269         unistr/u16-uctomb.
28270         * modules/unistr/u16-strchr (Depends-on): Likewise.
28271         * modules/unistr/u16-strrchr (Depends-on): Likewise.
28272
28273 2009-03-12  Bruno Haible  <bruno@clisp.org>
28274
28275         Work around select() bug on Interix 3.5.
28276         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
28277         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
28278         * m4/select.m4: New file.
28279         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
28280         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
28281         * modules/select (Files): Add m4/select.m4.
28282         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
28283         * modules/nanosleep (Depends-on): Add select.
28284         * modules/poll (Depends-on): Likewise.
28285         * doc/posix-functions/select.texi: Mention the Interix bug.
28286         Reported by Markus Duft <mduft@gentoo.org>.
28287
28288         * lib/select.c: Renamed from lib/winsock-select.c.
28289         * modules/select (Files): Add lib/select.c, remove
28290         lib/winsock-select.c.
28291         (configure.ac): Update.
28292
28293 2009-03-12  Jim Meyering  <meyering@redhat.com>
28294
28295         avoid gcc warnings about unused macro definitions
28296         * lib/readtokens.c (STREQ): Remove unused definition.
28297         * lib/xmalloc.c (SIZE_MAX): Likewise.
28298         * lib/openat-die.c (N_): Likewise.
28299         * lib/mountlist.c (SIZE_MAX): Remove definition.
28300         Instead, include <stdint.h>.
28301         * lib/readutmp.c: Likewise.
28302         * modules/readutmp (Depends-on): Add stdint.
28303         * modules/mountlist (Depends-on): Add stdint.
28304         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
28305
28306 2009-03-10  Bruno Haible  <bruno@clisp.org>
28307
28308         Tests for module 'mbmemcasecoll'.
28309         * modules/mbmemcasecoll-tests: New file.
28310         * tests/test-mbmemcasecoll1.sh: New file.
28311         * tests/test-mbmemcasecoll2.sh: New file.
28312         * tests/test-mbmemcasecoll3.sh: New file.
28313         * tests/test-mbmemcasecoll.c: New file.
28314
28315         New module 'mbmemcasecoll'.
28316         * lib/mbmemcasecoll.h: New file.
28317         * lib/mbmemcasecoll.c: New file.
28318         * modules/mbmemcasecoll: New file.
28319
28320         * tests/test-mbmemcasecmp.h: New file, extracted from
28321         tests/test-mbmemcasecmp.c.
28322         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
28323         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
28324         (main): Update.
28325         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
28326
28327 2009-03-09  Bruno Haible  <bruno@clisp.org>
28328
28329         Tests for module 'mbmemcasecmp'.
28330         * modules/mbmemcasecmp-tests: New file.
28331         * tests/test-mbmemcasecmp1.sh: New file.
28332         * tests/test-mbmemcasecmp2.sh: New file.
28333         * tests/test-mbmemcasecmp3.sh: New file.
28334         * tests/test-mbmemcasecmp.c: New file.
28335
28336         New module 'mbmemcasecmp'.
28337         * lib/mbmemcasecmp.h: New file.
28338         * lib/mbmemcasecmp.c: New file.
28339         * modules/mbmemcasecmp: New file.
28340
28341 2009-03-09  Bruno Haible  <bruno@clisp.org>
28342
28343         Tests for module 'unicase/ulc-casecoll'.
28344         * modules/unicase/ulc-casecoll-tests: New file.
28345         * tests/unicase/test-ulc-casecoll1.sh: New file.
28346         * tests/unicase/test-ulc-casecoll2.sh: New file.
28347         * tests/unicase/test-ulc-casecoll.c: New file.
28348
28349         New module 'unicase/ulc-casecoll'.
28350         * lib/unicase.h (ulc_casecoll): New declaration.
28351         * lib/unicase/ulc-casecoll.c: New file.
28352         * modules/unicase/ulc-casecoll: New file.
28353
28354         New module 'unicase/ulc-casexfrm'.
28355         * lib/unicase.h (ulc_casexfrm): New declaration.
28356         * lib/unicase/ulc-casexfrm.c: New file.
28357         * modules/unicase/ulc-casexfrm: New file.
28358
28359 2009-03-09  Bruno Haible  <bruno@clisp.org>
28360
28361         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
28362         invocations.
28363
28364         * m4/mbscasecmp.m4: Remove file.
28365         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
28366         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
28367
28368         * m4/mbscasestr.m4: Remove file.
28369         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
28370         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
28371
28372         * m4/mbschr.m4: Remove file.
28373         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
28374         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
28375
28376         * m4/mbscspn.m4: Remove file.
28377         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
28378         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
28379
28380         * m4/mbslen.m4: Remove file.
28381         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
28382         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
28383
28384         * m4/mbsncasecmp.m4: Remove file.
28385         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
28386         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
28387
28388         * m4/mbsnlen.m4: Remove file.
28389         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
28390         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
28391
28392         * m4/mbspbrk.m4: Remove file.
28393         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
28394         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
28395
28396         * m4/mbspcasecmp.m4: Remove file.
28397         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
28398         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
28399
28400         * m4/mbsrchr.m4: Remove file.
28401         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
28402         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
28403
28404         * m4/mbssep.m4: Remove file.
28405         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
28406         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
28407
28408         * m4/mbsspn.m4: Remove file.
28409         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
28410         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
28411
28412         * m4/mbsstr.m4: Remove file.
28413         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
28414         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
28415
28416         * m4/mbstok_r.m4: Remove file.
28417         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
28418         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
28419
28420         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
28421
28422         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
28423         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
28424
28425         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
28426
28427 2009-03-08  Bruno Haible  <bruno@clisp.org>
28428
28429         Tests for module 'unicase/ulc-casecmp'.
28430         * modules/unicase/ulc-casecmp-tests: New file.
28431         * tests/unicase/test-ulc-casecmp1.sh: New file.
28432         * tests/unicase/test-ulc-casecmp2.sh: New file.
28433         * tests/unicase/test-ulc-casecmp.c: New file.
28434
28435         New module 'unicase/ulc-casecmp'.
28436         * lib/unicase.h (ulc_casecmp): New declaration.
28437         * lib/unicase/ulc-casecmp.c: New file.
28438         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
28439         'const SRC_UNIT *'.
28440         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
28441         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
28442         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
28443         * modules/unicase/ulc-casecmp: New file.
28444
28445         Tests for module 'unicase/u32-is-cased'.
28446         * modules/unicase/u32-is-cased-tests: New file.
28447         * tests/unicase/test-u32-is-cased.c: New file.
28448
28449         Tests for module 'unicase/u16-is-cased'.
28450         * modules/unicase/u16-is-cased-tests: New file.
28451         * tests/unicase/test-u16-is-cased.c: New file.
28452
28453         Tests for module 'unicase/u8-is-cased'.
28454         * modules/unicase/u8-is-cased-tests: New file.
28455         * tests/unicase/test-u8-is-cased.c: New file.
28456         * tests/unicase/test-is-cased.h: New file.
28457
28458         New module 'unicase/u32-is-cased'.
28459         * lib/unicase/u32-is-cased.c: New file.
28460         * modules/unicase/u32-is-cased: New file.
28461
28462         New module 'unicase/u16-is-cased'.
28463         * lib/unicase/u16-is-cased.c: New file.
28464         * modules/unicase/u16-is-cased: New file.
28465
28466         New module 'unicase/u8-is-cased'.
28467         * lib/unicase/u8-is-cased.c: New file.
28468         * lib/unicase/u-is-cased.h: New file.
28469         * modules/unicase/u8-is-cased: New file.
28470
28471         Tests for module 'unicase/u32-is-casefolded'.
28472         * modules/unicase/u32-is-casefolded-tests: New file.
28473         * tests/unicase/test-u32-is-casefolded.c: New file.
28474
28475         Tests for module 'unicase/u16-is-casefolded'.
28476         * modules/unicase/u16-is-casefolded-tests: New file.
28477         * tests/unicase/test-u16-is-casefolded.c: New file.
28478
28479         Tests for module 'unicase/u8-is-casefolded'.
28480         * modules/unicase/u8-is-casefolded-tests: New file.
28481         * tests/unicase/test-u8-is-casefolded.c: New file.
28482         * tests/unicase/test-is-casefolded.h: New file.
28483
28484         New module 'unicase/u32-is-casefolded'.
28485         * lib/unicase/u32-is-casefolded.c: New file.
28486         * modules/unicase/u32-is-casefolded: New file.
28487
28488         New module 'unicase/u16-is-casefolded'.
28489         * lib/unicase/u16-is-casefolded.c: New file.
28490         * modules/unicase/u16-is-casefolded: New file.
28491
28492         New module 'unicase/u8-is-casefolded'.
28493         * lib/unicase/u8-is-casefolded.c: New file.
28494         * modules/unicase/u8-is-casefolded: New file.
28495
28496         Tests for module 'unicase/u32-is-titlecase'.
28497         * modules/unicase/u32-is-titlecase-tests: New file.
28498         * tests/unicase/test-u32-is-titlecase.c: New file.
28499
28500         Tests for module 'unicase/u16-is-titlecase'.
28501         * modules/unicase/u16-is-titlecase-tests: New file.
28502         * tests/unicase/test-u16-is-titlecase.c: New file.
28503
28504         Tests for module 'unicase/u8-is-titlecase'.
28505         * modules/unicase/u8-is-titlecase-tests: New file.
28506         * tests/unicase/test-u8-is-titlecase.c: New file.
28507         * tests/unicase/test-is-titlecase.h: New file.
28508
28509         New module 'unicase/u32-is-titlecase'.
28510         * lib/unicase/u32-is-titlecase.c: New file.
28511         * modules/unicase/u32-is-titlecase: New file.
28512
28513         New module 'unicase/u16-is-titlecase'.
28514         * lib/unicase/u16-is-titlecase.c: New file.
28515         * modules/unicase/u16-is-titlecase: New file.
28516
28517         New module 'unicase/u8-is-titlecase'.
28518         * lib/unicase/u8-is-titlecase.c: New file.
28519         * modules/unicase/u8-is-titlecase: New file.
28520
28521         Tests for module 'unicase/u32-is-lowercase'.
28522         * modules/unicase/u32-is-lowercase-tests: New file.
28523         * tests/unicase/test-u32-is-lowercase.c: New file.
28524
28525         Tests for module 'unicase/u16-is-lowercase'.
28526         * modules/unicase/u16-is-lowercase-tests: New file.
28527         * tests/unicase/test-u16-is-lowercase.c: New file.
28528
28529         Tests for module 'unicase/u8-is-lowercase'.
28530         * modules/unicase/u8-is-lowercase-tests: New file.
28531         * tests/unicase/test-u8-is-lowercase.c: New file.
28532         * tests/unicase/test-is-lowercase.h: New file.
28533
28534         New module 'unicase/u32-is-lowercase'.
28535         * lib/unicase/u32-is-lowercase.c: New file.
28536         * modules/unicase/u32-is-lowercase: New file.
28537
28538         New module 'unicase/u16-is-lowercase'.
28539         * lib/unicase/u16-is-lowercase.c: New file.
28540         * modules/unicase/u16-is-lowercase: New file.
28541
28542         New module 'unicase/u8-is-lowercase'.
28543         * lib/unicase/u8-is-lowercase.c: New file.
28544         * modules/unicase/u8-is-lowercase: New file.
28545
28546         Tests for module 'unicase/u32-is-uppercase'.
28547         * modules/unicase/u32-is-uppercase-tests: New file.
28548         * tests/unicase/test-u32-is-uppercase.c: New file.
28549
28550         Tests for module 'unicase/u16-is-uppercase'.
28551         * modules/unicase/u16-is-uppercase-tests: New file.
28552         * tests/unicase/test-u16-is-uppercase.c: New file.
28553
28554         Tests for module 'unicase/u8-is-uppercase'.
28555         * modules/unicase/u8-is-uppercase-tests: New file.
28556         * tests/unicase/test-u8-is-uppercase.c: New file.
28557         * tests/unicase/test-is-uppercase.h: New file.
28558
28559         New module 'unicase/u32-is-uppercase'.
28560         * lib/unicase/u32-is-uppercase.c: New file.
28561         * modules/unicase/u32-is-uppercase: New file.
28562
28563         New module 'unicase/u16-is-uppercase'.
28564         * lib/unicase/u16-is-uppercase.c: New file.
28565         * modules/unicase/u16-is-uppercase: New file.
28566
28567         New module 'unicase/u8-is-uppercase'.
28568         * lib/unicase/u8-is-uppercase.c: New file.
28569         * modules/unicase/u8-is-uppercase: New file.
28570
28571         New module 'unicase/u32-is-invariant'.
28572         * lib/unicase/u32-is-invariant.c: New file.
28573         * modules/unicase/u32-is-invariant: New file.
28574
28575         New module 'unicase/u16-is-invariant'.
28576         * lib/unicase/u16-is-invariant.c: New file.
28577         * modules/unicase/u16-is-invariant: New file.
28578
28579         New module 'unicase/u8-is-invariant'.
28580         * lib/unicase/u8-is-invariant.c: New file.
28581         * lib/unicase/invariant.h: New file.
28582         * lib/unicase/u-is-invariant.h: New file.
28583         * modules/unicase/u8-is-invariant: New file.
28584
28585         Tests for module 'unicase/u32-casecoll'.
28586         * modules/unicase/u32-casecoll-tests: New file.
28587         * tests/unicase/test-u32-casecoll.c: New file.
28588
28589         Tests for module 'unicase/u16-casecoll'.
28590         * modules/unicase/u16-casecoll-tests: New file.
28591         * tests/unicase/test-u16-casecoll.c: New file.
28592
28593         Tests for module 'unicase/u8-casecoll'.
28594         * modules/unicase/u8-casecoll-tests: New file.
28595         * tests/unicase/test-u8-casecoll.c: New file.
28596
28597         New module 'unicase/u32-casecoll'.
28598         * lib/unicase/u32-casecoll.c: New file.
28599         * modules/unicase/u32-casecoll: New file.
28600
28601         New module 'unicase/u16-casecoll'.
28602         * lib/unicase/u16-casecoll.c: New file.
28603         * modules/unicase/u16-casecoll: New file.
28604
28605         New module 'unicase/u8-casecoll'.
28606         * lib/unicase/u8-casecoll.c: New file.
28607         * lib/unicase/u-casecoll.h: New file.
28608         * modules/unicase/u8-casecoll: New file.
28609
28610         New module 'unicase/u32-casexfrm'.
28611         * lib/unicase/u32-casexfrm.c: New file.
28612         * modules/unicase/u32-casexfrm: New file.
28613
28614         New module 'unicase/u16-casexfrm'.
28615         * lib/unicase/u16-casexfrm.c: New file.
28616         * modules/unicase/u16-casexfrm: New file.
28617
28618         New module 'unicase/u8-casexfrm'.
28619         * lib/unicase/u8-casexfrm.c: New file.
28620         * lib/unicase/u-casexfrm.h: New file.
28621         * modules/unicase/u8-casexfrm: New file.
28622
28623         Tests for module 'unicase/u32-casecmp'.
28624         * modules/unicase/u32-casecmp-tests: New file.
28625         * tests/unicase/test-u32-casecmp.c: New file.
28626
28627         Tests for module 'unicase/u16-casecmp'.
28628         * modules/unicase/u16-casecmp-tests: New file.
28629         * tests/unicase/test-u16-casecmp.c: New file.
28630
28631         Tests for module 'unicase/u8-casecmp'.
28632         * modules/unicase/u8-casecmp-tests: New file.
28633         * tests/unicase/test-u8-casecmp.c: New file.
28634         * tests/unicase/test-casecmp.h: New file.
28635
28636         New module 'unicase/u32-casecmp'.
28637         * lib/unicase/u32-casecmp.c: New file.
28638         * modules/unicase/u32-casecmp: New file.
28639
28640         New module 'unicase/u16-casecmp'.
28641         * lib/unicase/u16-casecmp.c: New file.
28642         * modules/unicase/u16-casecmp: New file.
28643
28644         New module 'unicase/u8-casecmp'.
28645         * lib/unicase/u8-casecmp.c: New file.
28646         * lib/unicase/u-casecmp.h: New file.
28647         * modules/unicase/u8-casecmp: New file.
28648
28649         Tests for module 'unicase/u32-casefold'.
28650         * modules/unicase/u32-casefold-tests: New file.
28651         * tests/unicase/test-u32-casefold.c: New file.
28652
28653         Tests for module 'unicase/u16-casefold'.
28654         * modules/unicase/u16-casefold-tests: New file.
28655         * tests/unicase/test-u16-casefold.c: New file.
28656
28657         Tests for module 'unicase/u8-casefold'.
28658         * modules/unicase/u8-casefold-tests: New file.
28659         * tests/unicase/test-u8-casefold.c: New file.
28660
28661         New module 'unicase/u32-casefold'.
28662         * lib/unicase/u32-casefold.c: New file.
28663         * modules/unicase/u32-casefold: New file.
28664
28665         New module 'unicase/u16-casefold'.
28666         * lib/unicase/u16-casefold.c: New file.
28667         * modules/unicase/u16-casefold: New file.
28668
28669         New module 'unicase/u8-casefold'.
28670         * lib/unicase/u8-casefold.c: New file.
28671         * lib/unicase/u-casefold.h: New file.
28672         * modules/unicase/u8-casefold: New file.
28673
28674         New module 'unicase/tocasefold'.
28675         * lib/unicase/casefold.h: New file.
28676         * lib/unicase/tocasefold.c: New file.
28677         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
28678         * modules/unicase/tocasefold: New file.
28679
28680         Tests for module 'unicase/u32-totitle'.
28681         * modules/unicase/u32-totitle-tests: New file.
28682         * tests/unicase/test-u32-totitle.c: New file.
28683
28684         Tests for module 'unicase/u16-totitle'.
28685         * modules/unicase/u16-totitle-tests: New file.
28686         * tests/unicase/test-u16-totitle.c: New file.
28687
28688         Tests for module 'unicase/u8-totitle'.
28689         * modules/unicase/u8-totitle-tests: New file.
28690         * tests/unicase/test-u8-totitle.c: New file.
28691
28692         New module 'unicase/u32-totitle'.
28693         * lib/unicase/u32-totitle.c: New file.
28694         * modules/unicase/u32-totitle: New file.
28695
28696         New module 'unicase/u16-totitle'.
28697         * lib/unicase/u16-totitle.c: New file.
28698         * modules/unicase/u16-totitle: New file.
28699
28700         New module 'unicase/u8-totitle'.
28701         * lib/unicase/u8-totitle.c: New file.
28702         * lib/unicase/u-totitle.h: New file.
28703         * modules/unicase/u8-totitle: New file.
28704
28705         Tests for module 'unicase/u32-tolower'.
28706         * modules/unicase/u32-tolower-tests: New file.
28707         * tests/unicase/test-u32-tolower.c: New file.
28708
28709         Tests for module 'unicase/u16-tolower'.
28710         * modules/unicase/u16-tolower-tests: New file.
28711         * tests/unicase/test-u16-tolower.c: New file.
28712
28713         Tests for module 'unicase/u8-tolower'.
28714         * modules/unicase/u8-tolower-tests: New file.
28715         * tests/unicase/test-u8-tolower.c: New file.
28716
28717         New module 'unicase/u32-tolower'.
28718         * lib/unicase/u32-tolower.c: New file.
28719         * modules/unicase/u32-tolower: New file.
28720
28721         New module 'unicase/u16-tolower'.
28722         * lib/unicase/u16-tolower.c: New file.
28723         * modules/unicase/u16-tolower: New file.
28724
28725         New module 'unicase/u8-tolower'.
28726         * lib/unicase/u8-tolower.c: New file.
28727         * modules/unicase/u8-tolower: New file.
28728
28729         Tests for module 'unicase/u32-toupper'.
28730         * modules/unicase/u32-toupper-tests: New file.
28731         * tests/unicase/test-u32-toupper.c: New file.
28732
28733         Tests for module 'unicase/u16-toupper'.
28734         * modules/unicase/u16-toupper-tests: New file.
28735         * tests/unicase/test-u16-toupper.c: New file.
28736
28737         Tests for module 'unicase/u8-toupper'.
28738         * modules/unicase/u8-toupper-tests: New file.
28739         * tests/unicase/test-u8-toupper.c: New file.
28740
28741         New module 'unicase/u32-toupper'.
28742         * lib/unicase/u32-toupper.c: New file.
28743         * modules/unicase/u32-toupper: New file.
28744
28745         New module 'unicase/u16-toupper'.
28746         * lib/unicase/u16-toupper.c: New file.
28747         * modules/unicase/u16-toupper: New file.
28748
28749         New module 'unicase/u8-toupper'.
28750         * lib/unicase/u8-toupper.c: New file.
28751         * modules/unicase/u8-toupper: New file.
28752
28753         New module 'unicase/u32-casemap'.
28754         * lib/unicase/u32-casemap.c: New file.
28755         * modules/unicase/u32-casemap: New file.
28756
28757         New module 'unicase/u16-casemap'.
28758         * lib/unicase/u16-casemap.c: New file.
28759         * modules/unicase/u16-casemap: New file.
28760
28761         New module 'unicase/u8-casemap'.
28762         * lib/unicase/unicasemap.h: New file.
28763         * lib/unicase/u8-casemap.c: New file.
28764         * lib/unicase/u-casemap.h: New file.
28765         * modules/unicase/u8-casemap: New file.
28766
28767         New module 'unicase/special-casing'.
28768         * lib/unicase/special-casing.h: New file.
28769         * lib/unicase/special-casing.c: New file.
28770         * lib/unicase/special-casing-table.gperf: New file, generated by
28771         gen-uni-tables.c.
28772         * modules/unicase/special-casing: New file.
28773
28774         Tests for module 'unicase/locale-language'.
28775         * modules/unicase/locale-language-tests: New file.
28776         * tests/unicase/test-locale-language.sh: New file.
28777         * tests/unicase/test-locale-language.c: New file.
28778
28779         New module 'unicase/locale-language'.
28780         * lib/unicase/locale-language.c: New file.
28781         * lib/unicase/locale-languages.gperf: New file.
28782         * modules/unicase/locale-language: New file.
28783
28784         Generate more tables for case conversion and case folding.
28785         * lib/gen-uni-tables.c (SCC_*): New enum items.
28786         (struct special_casing_rule): New type.
28787         (casing_rules, num_casing_rules, allocated_casing_rules): New
28788         variables.
28789         (add_casing_rule, fill_casing_rules): New functions.
28790         (struct casefold_rule): New type.
28791         (casefolding_rules, num_casefolding_rules,
28792         allocated_casefolding_rules): New variables.
28793         (fill_casefolding_rules): New function.
28794         (unicode_casefold): New variable.
28795         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
28796         sort_casing_rules, output_casing_rules): New functions.
28797         (main): Accept to more arguments: SpecialCasing.txt and
28798         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28799         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28800         Output mapping for casefolding.
28801
28802         * lib/unicase.h: Include stdbool.h, uninorm.h.
28803         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28804         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28805         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28806         arguments.
28807         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28808         resultp arguments.
28809         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28810         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28811         resultp arguments.
28812         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28813         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28814         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28815         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28816         declarations.
28817         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28818
28819 2009-03-08  Bruno Haible  <bruno@clisp.org>
28820
28821         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28822         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28823         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28824         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28825
28826 2009-03-07  Bruno Haible  <bruno@clisp.org>
28827
28828         Adjust u*_normcmp, u*_normcoll API.
28829         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28830         u16_normcoll, u32_normcoll): Change failure conventions.
28831         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28832         errno and return -1.
28833         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28834
28835 2009-03-07  Bruno Haible  <bruno@clisp.org>
28836
28837         Tests for module 'uninorm/u32-normcoll'.
28838         * modules/uninorm/u32-normcoll-tests: New file.
28839         * tests/uninorm/test-u32-normcoll.c: New file.
28840
28841         Tests for module 'uninorm/u16-normcoll'.
28842         * modules/uninorm/u16-normcoll-tests: New file.
28843         * tests/uninorm/test-u16-normcoll.c: New file.
28844
28845         Tests for module 'uninorm/u8-normcoll'.
28846         * modules/uninorm/u8-normcoll-tests: New file.
28847         * tests/uninorm/test-u8-normcoll.c: New file.
28848
28849 2009-03-07  Bruno Haible  <bruno@clisp.org>
28850
28851         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28852         tests/uninorm/test-u32-normcmp.c.
28853         * tests/uninorm/test-u32-normcmp.c: Include it.
28854         (test_nonascii): New function, extracted from main. Add some more
28855         tests.
28856         (main): Invoke test_ascii and test_nonascii.
28857         * modules/uninorm/u32-normcmp-tests (Files): Add
28858         tests/uninorm/test-u32-normcmp.h.
28859         (Depends-on): Remove uninorm/u32-normcmp.
28860
28861         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28862         tests/uninorm/test-u16-normcmp.c.
28863         * tests/uninorm/test-u16-normcmp.c: Include it.
28864         (test_nonascii): New function, extracted from main. Add some more
28865         tests.
28866         (main): Invoke test_ascii and test_nonascii.
28867         * modules/uninorm/u16-normcmp-tests (Files): Add
28868         tests/uninorm/test-u16-normcmp.h.
28869         (Depends-on): Remove uninorm/u16-normcmp.
28870
28871         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28872         tests/uninorm/test-u8-normcmp.c.
28873         * tests/uninorm/test-u8-normcmp.c: Include it.
28874         (test_nonascii): New function, extracted from main. Add some more
28875         tests.
28876         (main): Invoke test_ascii and test_nonascii.
28877         * modules/uninorm/u8-normcmp-tests (Files): Add
28878         tests/uninorm/test-u8-normcmp.h.
28879         (Depends-on): Remove uninorm/u8-normcmp.
28880
28881 2009-03-07  Bruno Haible  <bruno@clisp.org>
28882
28883         New module 'uninorm/u32-normcoll'.
28884         * lib/uninorm/u32-normcoll.c: New file.
28885         * modules/uninorm/u32-normcoll: New file.
28886
28887         New module 'uninorm/u16-normcoll'.
28888         * lib/uninorm/u16-normcoll.c: New file.
28889         * modules/uninorm/u16-normcoll: New file.
28890
28891         New module 'uninorm/u8-normcoll'.
28892         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28893         declarations.
28894         * lib/uninorm/u8-normcoll.c: New file.
28895         * lib/uninorm/u-normcoll.h: New file.
28896         * modules/uninorm/u8-normcoll: New file.
28897
28898         New module 'uninorm/u32-normxfrm'.
28899         * lib/uninorm/u32-normxfrm.c: New file.
28900         * modules/uninorm/u32-normxfrm: New file.
28901
28902         New module 'uninorm/u16-normxfrm'.
28903         * lib/uninorm/u16-normxfrm.c: New file.
28904         * modules/uninorm/u16-normxfrm: New file.
28905
28906         New module 'uninorm/u8-normxfrm'.
28907         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28908         declarations.
28909         * lib/uninorm/u8-normxfrm.c: New file.
28910         * lib/uninorm/u-normxfrm.h: New file.
28911         * modules/uninorm/u8-normxfrm: New file.
28912
28913 2009-03-07  Bruno Haible  <bruno@clisp.org>
28914
28915         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28916         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28917         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28918
28919 2009-03-07  Bruno Haible  <bruno@clisp.org>
28920
28921         New module 'memxfrm'.
28922         * lib/memxfrm.h: New file.
28923         * lib/memxfrm.c: New file.
28924         * modules/memxfrm: New file.
28925
28926 2009-03-07  Bruno Haible  <bruno@clisp.org>
28927
28928         New module 'memcmp2'.
28929         * lib/memcmp2.h: New file.
28930         * lib/memcmp2.c: New file.
28931         * modules/memcmp2: New file.
28932
28933 2009-03-07  Bruno Haible  <bruno@clisp.org>
28934
28935         Tests for module 'uninorm/decomposing-form'.
28936         * modules/uninorm/decomposing-form-tests: New file.
28937         * tests/uninorm/test-decomposing-form.c: New file.
28938
28939         New module 'uninorm/decomposing-form'.
28940         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28941         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28942         Add 'decomposing_variant' field.
28943         * lib/uninorm/decomposing-form.c: New file.
28944         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28945         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28946         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28947         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28948         * modules/uninorm/decomposing-form: New file.
28949         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28950         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28951
28952 2009-03-07  Bruno Haible  <bruno@clisp.org>
28953
28954         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28955         strings.
28956
28957 2009-03-06  Bruno Haible  <bruno@clisp.org>
28958
28959         Tests for module 'uninorm/u32-normcmp'.
28960         * tests/uninorm/test-u32-normcmp.c: New file.
28961         * modules/uninorm/u32-normcmp-tests: New file.
28962
28963         Tests for module 'uninorm/u16-normcmp'.
28964         * tests/uninorm/test-u16-normcmp.c: New file.
28965         * modules/uninorm/u16-normcmp-tests: New file.
28966
28967         Tests for module 'uninorm/u8-normcmp'.
28968         * tests/uninorm/test-u8-normcmp.c: New file.
28969         * modules/uninorm/u8-normcmp-tests: New file.
28970
28971         New module 'uninorm/u32-normcmp'.
28972         * lib/uninorm/u32-normcmp.c: New file.
28973         * modules/uninorm/u32-normcmp: New file.
28974
28975         New module 'uninorm/u16-normcmp'.
28976         * lib/uninorm/u16-normcmp.c: New file.
28977         * modules/uninorm/u16-normcmp: New file.
28978
28979         New module 'uninorm/u8-normcmp'.
28980         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28981         declarations.
28982         * lib/uninorm/u8-normcmp.c: New file.
28983         * lib/uninorm/u-normcmp.h: New file.
28984         * modules/uninorm/u8-normcmp: New file.
28985
28986 2009-03-06  Bruno Haible  <bruno@clisp.org>
28987
28988         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28989         Reported by Eric Blake.
28990
28991 2009-03-06  Eric Blake  <ebb9@byu.net>
28992             Bruno Haible  <bruno@clisp.org>
28993
28994         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28995         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28996         condition.
28997         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28998         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28999         condition.
29000         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
29001
29002 2009-03-06  Eric Blake  <ebb9@byu.net>
29003
29004         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
29005         to avoid compiler warnings.
29006         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
29007
29008 2009-03-05  Bruno Haible  <bruno@clisp.org>
29009
29010         * tests/test-ftell.c (main): Disable test beyond end of file on
29011         FreeMiNT.
29012         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29013
29014 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
29015
29016         * lib/filevercmp.c: Move hidden files up in ordering.
29017         * tests/test-filevercmp.c: Add tests for hidden files.
29018
29019 2009-03-04  Bruno Haible  <bruno@clisp.org>
29020
29021         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
29022         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
29023         AM_CFLAGS.
29024         Reported by Simon Josefsson.
29025
29026 2009-03-03  Bruno Haible  <bruno@clisp.org>
29027
29028         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
29029         Reported by Simon Josefsson.
29030
29031         * doc/ld-version-script.texi: Update node reference.
29032
29033 2009-03-03  Bruno Haible  <bruno@clisp.org>
29034
29035         * modules/visibility (License): Change to 'unlimited'.
29036         Suggested by Simon Josefsson.
29037
29038 2009-03-03  Jim Meyering  <meyering@redhat.com>
29039
29040         unlinkdir: cannot_unlink_dir may modify process state
29041         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
29042         it's neither thread-safe nor appropriate for use in a library.
29043
29044 2009-03-03  Eric Blake  <ebb9@byu.net>
29045
29046         test-closein: silence test under Darwin
29047         * tests/test-closein.sh: Ignore stderr from cat, since we don't
29048         care if it dies from EPIPE or EBADF.
29049
29050 2009-03-03  Bruno Haible  <bruno@clisp.org>
29051
29052         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
29053         earlier.
29054         * doc/visibility.texi: Fix @node and @section.
29055
29056 2009-03-03  Simon Josefsson  <simon@josefsson.org>
29057
29058         * doc/gnulib.texi: Link to sections for ld version script and
29059         visibility.
29060         * doc/visibility.texi: Add @node and @section.
29061         * modules/ld-version-script: New module.
29062         * m4/ld-version-script.m4: New file.
29063         * doc/ld-version-script.texi: New file.
29064
29065 2009-03-02  David Lutterkort  <lutter@redhat.com>
29066
29067         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
29068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29069
29070 2009-03-02  Bruno Haible  <bruno@clisp.org>
29071
29072         * doc/visibility.texi: Mention libtool's -export-symbols option.
29073
29074 2009-03-02  Jim Meyering  <meyering@redhat.com>
29075
29076         announce-gen: new option: --no-print-checksums
29077         * build-aux/announce-gen (usage): Describe it.
29078         (print_checksums): Print a newline here, not in the [*] footnote.
29079         (main): Honor it.
29080
29081 2009-03-01  Bruno Haible  <bruno@clisp.org>
29082
29083         Use socklen_t in the native Windows replacements prototypes.
29084         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
29085         instead of 'int'.
29086         * lib/getsockopt.c (rpl_getsockopt): Likewise.
29087         * lib/setsockopt.c (rpl_setsockopt): Likewise.
29088         * modules/getsockopt (Depends-on): Add socklen.
29089         * modules/setsockopt (Depends-on): Add socklen.
29090
29091 2009-03-01  Bruno Haible  <bruno@clisp.org>
29092
29093         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
29094         least 4.2.
29095
29096 2009-03-01  Eric Blake  <ebb9@byu.net>
29097             Bruno Haible  <bruno@clisp.org>
29098
29099         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
29100         error messages.
29101         * lib/wait-process.c (wait_subprocess): Omit error message about
29102         deadly signal sent to the child of termsigp != NULL.
29103
29104 2009-03-01  Eric Blake  <ebb9@byu.net>
29105
29106         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
29107
29108 2009-03-01  Bruno Haible  <bruno@clisp.org>
29109
29110         Avoid a gcc warning.
29111         * tests/test-sched.c (b): Make global.
29112         Reported by Eric Blake.
29113
29114 2009-01-19  Martin Lambers  <marlam@marlam.de>
29115
29116         Provide POSIX semantics for socket timeout options on W32.
29117         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
29118         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
29119         * modules/setsockopt: Depend on sys_time module for struct timeval.
29120         * modules/getsockopt: Depend on sys_time module for struct timeval.
29121
29122 2009-03-01  Simon Josefsson  <simon@josefsson.org>
29123
29124         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
29125         __USE_GNU, for consistency with netdb.in.h.
29126         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29127
29128 2009-03-01  Bruno Haible  <bruno@clisp.org>
29129
29130         More support for FreeMiNT.
29131         * lib/fseeko.c (rpl_fseeko): Complete last commit.
29132         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29133
29134 2009-03-01  Bruno Haible  <bruno@clisp.org>
29135
29136         More support for FreeMiNT.
29137         * lib/fpurge.c (fpurge): Correct last commit.
29138         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29139
29140 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29141
29142         Fix unportable awk script in vc-list-files.
29143         * build-aux/vc-list-files: In the replacement awk script, use
29144         substr with a second argument of 1, not zero.
29145         Report by Simon Josefsson.
29146
29147 2009-02-28  Bruno Haible  <bruno@clisp.org>
29148
29149         More support for FreeMiNT.
29150         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
29151         to FreeMiNT today.
29152         * lib/fwriting.c (fwriting): Likewise.
29153         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
29154
29155 2009-02-28  Bruno Haible  <bruno@clisp.org>
29156
29157         * tests/test-freadseek.c (main): Disable test beyond end of file on
29158         FreeMiNT.
29159         * tests/test-ftello.c (main): Likewise.
29160         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29161
29162 2009-02-28  Bruno Haible  <bruno@clisp.org>
29163
29164         Add tentative support for FreeMiNT.
29165         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
29166         * lib/fpurge.c (fpurge): Likewise.
29167         * lib/freadable.c (freadable): Likewise.
29168         * lib/freading.c (freading): Likewise.
29169         * lib/freadptr.c (freadptr): Likewise.
29170         * lib/freadseek.c (freadptrinc): Likewise.
29171         * lib/fseeko.c (rpl_fseeko): Likewise.
29172         * lib/fseterr.c (fseterr): Likewise.
29173         * lib/fwritable.c (fwritable): Likewise.
29174         * lib/fwriting.c (fwriting): Likewise.
29175         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
29176         Hourihane.
29177         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29178
29179 2009-02-28  Bruno Haible  <bruno@clisp.org>
29180
29181         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
29182         SIGCHLD.
29183         Reported by Jim Meyering.
29184
29185 2009-02-28  Bruno Haible  <bruno@clisp.org>
29186
29187         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
29188         Mention the results of these tests on various platforms.
29189         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
29190         order.
29191         * doc/posix-functions/printf.texi: Likewise.
29192         * doc/posix-functions/snprintf.texi: Likewise.
29193         * doc/posix-functions/sprintf.texi: Likewise.
29194         * doc/posix-functions/vfprintf.texi: Likewise.
29195         * doc/posix-functions/vprintf.texi: Likewise.
29196         * doc/posix-functions/vsnprintf.texi: Likewise.
29197         * doc/posix-functions/vsprintf.texi: Likewise.
29198         * doc/glibc-functions/obstack_printf.texi: Likewise.
29199         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29200
29201 2009-02-28  Bruno Haible  <bruno@clisp.org>
29202
29203         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
29204         Reported by Loïc Minier <lool@dooz.org>.
29205
29206 2009-02-27  Bruno Haible  <bruno@clisp.org>
29207
29208         * gnulib-tool (func_import): Make the sed expression used to create the
29209         sed script for updating the .gitignore file POSIX compliant.
29210         Reported by Eric Blake.
29211
29212 2009-02-27  Bruno Haible  <bruno@clisp.org>
29213
29214         * gnulib-tool (sed): Don't alias as "sed --posix".
29215         Reported by Eric Blake.
29216
29217 2009-02-27  Bruno Haible  <bruno@clisp.org>
29218
29219         Avoid test link errors.
29220         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
29221         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
29222         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
29223         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
29224         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29225
29226 2009-02-27  Bruno Haible  <bruno@clisp.org>
29227
29228         Avoid spurious "(cached)" in configure output.
29229         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
29230         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
29231         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29232         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29233         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29234         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29235         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29236         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29237         Reported by Eric Blake.
29238
29239 2009-02-27  Eric Blake  <ebb9@byu.net>
29240
29241         printf: fix regression in previous patch
29242         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
29243
29244 2009-02-27  Bruno Haible  <bruno@clisp.org>
29245
29246         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
29247         value.
29248         * lib/stdint.in.h: Likewise.
29249         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
29250
29251 2009-02-27  Eric Blake  <ebb9@byu.net>
29252
29253         doc: mention more functions added in cygwin 1.7.0
29254         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
29255         addition.
29256         * doc/posix-functions/open_wmemstream.texi: Likewise.
29257         * doc/posix-functions/wcsnlen.texi: Likewise.
29258         * doc/posix-functions/wcsnrtombs.texi: Likewise.
29259         * doc/posix-functions/wcstod.texi: Likewise.
29260         * doc/posix-functions/wcstof.texi: Likewise.
29261         * doc/posix-functions/wcstoimax.texi: Likewise.
29262         * doc/posix-functions/wcstok.texi: Likewise.
29263         * doc/posix-functions/wcstoumax.texi: Likewise.
29264
29265         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
29266         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
29267         * doc/posix-functions/fprintf.texi: Update.
29268         * doc/posix-functions/printf.texi: Update.
29269         * doc/posix-functions/snprintf.texi: Update.
29270         * doc/posix-functions/sprintf.texi: Update.
29271         * doc/posix-functions/vfprintf.texi: Update.
29272         * doc/posix-functions/vprintf.texi: Update.
29273         * doc/posix-functions/vsnprintf.texi: Update.
29274         * doc/posix-functions/vsprintf.texi: Update.
29275         * doc/glibc-functions/obstack_printf.texi: Update.
29276         * doc/glibc-functions/obstack_vprintf.texi: Update.
29277
29278 2009-02-26  Eric Blake  <ebb9@byu.net>
29279
29280         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
29281         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
29282         compilation bug by using runtime conversion.
29283         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29284         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
29285         * modules/ceill-tests (Files): Use nan.h.
29286         * modules/floorl-tests (Files): Likewise.
29287         * modules/frexpl-tests (Files): Likewise.
29288         * modules/isnanl-tests (Files): Likewise.
29289         * modules/ldexpl-tests (Files): Likewise.
29290         * modules/roundl-tests (Files): Likewise.
29291         * modules/truncl-tests (Files): Likewise.
29292         * tests/test-ceill.c (main): Use a working NaN.
29293         * tests/test-floorl.c (main): Likewise.
29294         * tests/test-frexpl.c (main): Likewise.
29295         * tests/test-isnan.c (test_long_double): Likewise.
29296         * tests/test-isnanl.h (main): Likewise.
29297         * tests/test-ldexpl.h (main): Likewise.
29298         * tests/test-roundl.h (main): Likewise.
29299         * tests/test-truncl.h (main): Likewise.
29300         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
29301
29302 2009-02-26  Eric Blake  <ebb9@byu.net>
29303             Bruno Haible  <bruno@clisp.org>
29304
29305         Work around a *printf bug with %ls on Solaris.
29306         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
29307         precision is specified, sprintf stops converting the wide string
29308         argument when the number of bytes that have been produced by this
29309         conversion equals or exceeds the precision.
29310         * doc/posix-functions/fprintf.texi: Update.
29311         * doc/posix-functions/printf.texi: Update.
29312         * doc/posix-functions/snprintf.texi: Update.
29313         * doc/posix-functions/sprintf.texi: Update.
29314         * doc/posix-functions/vfprintf.texi: Update.
29315         * doc/posix-functions/vprintf.texi: Update.
29316         * doc/posix-functions/vsnprintf.texi: Update.
29317         * doc/posix-functions/vsprintf.texi: Update.
29318         * doc/glibc-functions/obstack_printf.texi: Update.
29319         * doc/glibc-functions/obstack_vprintf.texi: Update.
29320
29321 2009-02-26  Eric Blake  <ebb9@byu.net>
29322
29323         stdlib: favor compiler check of random.h
29324         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
29325         to avoid an ObjC random.h installed by Swarm.
29326
29327 2009-02-26  Bruno Haible  <bruno@clisp.org>
29328
29329         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
29330         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
29331         Reported by Gary V. Vaughan <gary@gnu.org>.
29332
29333 2009-02-26  Bruno Haible  <bruno@clisp.org>
29334
29335         Fix *printf behaviour regarding the %ls directive.
29336         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
29337         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
29338         NEED_PRINTF_DIRECTIVE_LS.
29339         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
29340         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29341         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29342         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
29343         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
29344         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
29345         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29346         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29347         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29348         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29349         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29350         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
29351         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29352         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29353         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29354         * doc/posix-functions/fprintf.texi: Update.
29355         * doc/posix-functions/printf.texi: Update.
29356         * doc/posix-functions/snprintf.texi: Update.
29357         * doc/posix-functions/sprintf.texi: Update.
29358         * doc/posix-functions/vfprintf.texi: Update.
29359         * doc/posix-functions/vprintf.texi: Update.
29360         * doc/posix-functions/vsnprintf.texi: Update.
29361         * doc/posix-functions/vsprintf.texi: Update.
29362         * doc/glibc-functions/obstack_printf.texi: Update.
29363         * doc/glibc-functions/obstack_vprintf.texi: Update.
29364         Reported by Eric Blake.
29365
29366 2009-02-25  Bruno Haible  <bruno@clisp.org>
29367
29368         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
29369         with known value.
29370         Reported by Gary V. Vaughan <gary@gnu.org>.
29371
29372 2009-02-25  Bruno Haible  <bruno@clisp.org>
29373
29374         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
29375         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
29376         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
29377         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
29378         Reported by Gary V. Vaughan <gary@gnu.org>.
29379
29380 2009-02-25  Bruno Haible  <bruno@clisp.org>
29381
29382         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
29383         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
29384         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
29385         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
29386         Reported by Gary V. Vaughan <gary@gnu.org>.
29387
29388 2009-02-25  Eric Blake  <ebb9@byu.net>
29389
29390         tests: skip fseek/ftell tests if ungetc is broken
29391         * m4/ungetc.m4: New file.
29392         * modules/fseek-tests: Split test, so ungetc dependency is
29393         separate from rest of test.
29394         * modules/fseeko-tests: Likewise.
29395         * modules/ftell-tests: Likewise.
29396         * modules/ftello-tests: Likewise.
29397         * tests/test-fseek.c (main): Isolate ungetc dependency.
29398         * tests/test-fseeko.c (main): Likewise.
29399         * tests/test-ftell.c (main): Likewise.
29400         * tests/test-ftello.c (main): Likewise.
29401         * tests/test-fseek2.sh: New file.
29402         * tests/test-fseeko2.sh: Likewise.
29403         * tests/test-ftell2.sh: Likewise.
29404         * tests/test-ftello2.sh: Likewise.
29405
29406 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
29407
29408         test-getaddrinfo: fix usage of skip return code 77
29409         * tests/test-gettaddrinfo.c: Return skip code 77 only
29410         for first occurance of skip (4x77 is not 77)
29411
29412 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
29413
29414         strtod: avoid C99 decl-after-statement
29415         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
29416
29417 2009-02-24  Eric Blake  <ebb9@byu.net>
29418
29419         strtod: detect HP-UX 11.31 bug
29420         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
29421         Reported by Gary V. Vaughan.
29422
29423 2009-02-23  Bruno Haible  <bruno@clisp.org>
29424
29425         Fix invalid read past end of memory block.
29426         * lib/vasnprintf.c (DCHAR_SET): Define.
29427         (local_wcslen): Define only when needed.
29428         (local_strnlen, local_wcsnlen): New functions.
29429         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
29430         directives that involve a conversion ourselves.
29431         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
29432         wcsnlen, mbrtowc, wcrtomb.
29433         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
29434         * tests/test-vasprintf-posix.c (test_function): Likewise.
29435         * tests/test-snprintf-posix.h (test_function): Likewise.
29436         * tests/test-sprintf-posix.h (test_function): Likewise.
29437         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29438
29439 2009-02-22  Bruno Haible  <bruno@clisp.org>
29440
29441         Implement new clarified decomposition of Hangul syllables.
29442         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
29443         of type LTV, return only a pairwise decomposition.
29444         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
29445         Likewise.
29446         * tests/uninorm/test-decomposition.c (main): Updated expected result.
29447         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
29448         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
29449
29450 2009-02-22  Bruno Haible  <bruno@clisp.org>
29451
29452         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
29453         zero-length results and shrink excess allocated memory.
29454         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
29455         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
29456         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
29457         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
29458         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
29459         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
29460         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
29461         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
29462         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
29463         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
29464         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
29465         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
29466
29467 2009-02-21  Bruno Haible  <bruno@clisp.org>
29468
29469         * doc/gnulib.texi: Include safe-alloc.texi earlier.
29470         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
29471         spaces after a period. Put a space between a macro name and its
29472         argument list. Trivial rewordings.
29473         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
29474         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
29475         (main): Return 0 explicitly.
29476
29477 2009-02-21  Bruno Haible  <bruno@clisp.org>
29478
29479         Tests for module 'uninorm/filter'.
29480         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
29481         * modules/uninorm/filter-tests: New file.
29482
29483         New module 'uninorm/filter'.
29484         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
29485         uninorm_filter_flush, uninorm_filter_free): New declarations.
29486         * lib/uninorm/uninorm-filter.c: New file.
29487         * modules/uninorm/filter: New file.
29488
29489 2009-02-21  Bruno Haible  <bruno@clisp.org>
29490
29491         Tests for module 'uninorm/nfkc'.
29492         * tests/uninorm/test-nfkc.c: New file.
29493         * tests/uninorm/test-u8-nfkc.c: New file.
29494         * tests/uninorm/test-u16-nfkc.c: New file.
29495         * tests/uninorm/test-u32-nfkc.c: New file.
29496         * tests/uninorm/test-u32-nfkc-big.sh: New file.
29497         * tests/uninorm/test-u32-nfkc-big.c: New file.
29498         * modules/uninorm/nfkc-tests: New file.
29499
29500         New module 'uninorm/nfkc'.
29501         * lib/uninorm/nfkc.c: New file.
29502         * modules/uninorm/nfkc: New file.
29503
29504         Tests for module 'uninorm/nfkd'.
29505         * tests/uninorm/test-nfkd.c: New file.
29506         * tests/uninorm/test-u8-nfkd.c: New file.
29507         * tests/uninorm/test-u16-nfkd.c: New file.
29508         * tests/uninorm/test-u32-nfkd.c: New file.
29509         * tests/uninorm/test-u32-nfkd-big.sh: New file.
29510         * tests/uninorm/test-u32-nfkd-big.c: New file.
29511         * modules/uninorm/nfkd-tests: New file.
29512
29513         New module 'uninorm/nfkd'.
29514         * lib/uninorm/nfkd.c: New file.
29515         * modules/uninorm/nfkd: New file.
29516
29517         Tests for module 'uninorm/nfc'.
29518         * tests/uninorm/test-nfc.c: New file.
29519         * tests/uninorm/test-u8-nfc.c: New file.
29520         * tests/uninorm/test-u16-nfc.c: New file.
29521         * tests/uninorm/test-u32-nfc.c: New file.
29522         * tests/uninorm/test-u32-nfc-big.sh: New file.
29523         * tests/uninorm/test-u32-nfc-big.c: New file.
29524         * modules/uninorm/nfc-tests: New file.
29525
29526         New module 'uninorm/nfc'.
29527         * lib/uninorm/nfc.c: New file.
29528         * modules/uninorm/nfc: New file.
29529
29530         Tests for module 'uninorm/nfd'.
29531         * tests/uninorm/test-nfd.c: New file.
29532         * tests/uninorm/test-u8-nfd.c: New file.
29533         * tests/uninorm/test-u16-nfd.c: New file.
29534         * tests/uninorm/test-u32-nfd.c: New file.
29535         * tests/uninorm/test-u32-nfd-big.sh: New file.
29536         * tests/uninorm/test-u32-nfd-big.c: New file.
29537         * tests/uninorm/test-u32-normalize-big.h: New file.
29538         * tests/uninorm/test-u32-normalize-big.c: New file.
29539         * tests/uninorm/NormalizationTest.txt: New file, created from
29540         Unicode 5.1.0 NormalizationTest.txt.
29541         * modules/uninorm/nfd-tests: New file.
29542
29543         New module 'uninorm/nfd'.
29544         * lib/uninorm/nfd.c: New file.
29545         * modules/uninorm/nfd: New file.
29546
29547         New module 'uninorm/u32-normalize'.
29548         * lib/uninorm/u32-normalize.c: New file.
29549         * modules/uninorm/u32-normalize: New file.
29550
29551         New module 'uninorm/u16-normalize'.
29552         * lib/uninorm/u16-normalize.c: New file.
29553         * modules/uninorm/u16-normalize: New file.
29554
29555         New module 'uninorm/u8-normalize'.
29556         * lib/uninorm/u8-normalize.c: New file.
29557         * lib/uninorm/normalize-internal.h: New file.
29558         * lib/uninorm/u-normalize-internal.h: New file.
29559         * modules/uninorm/u8-normalize: New file.
29560
29561         New module 'uninorm/decompose-internal'.
29562         * lib/uninorm/decompose-internal.c: New file.
29563         * modules/uninorm/decompose-internal: New file.
29564
29565         Tests for module 'uninorm/composition'.
29566         * tests/uninorm/test-composition.c: New file.
29567         * modules/uninorm/composition-tests: New file.
29568
29569         New module 'uninorm/composition'.
29570         * lib/uninorm/composition.c: New file.
29571         * lib/uninorm/composition-table.gperf: New file, generated by
29572         gen-uni-tables.
29573         * modules/uninorm/composition: New file.
29574
29575         Tests for module 'uninorm/compat-decomposition'.
29576         * tests/uninorm/test-compat-decomposition.c: New file.
29577         * modules/uninorm/compat-decomposition-tests: New file.
29578
29579         New module 'uninorm/compat-decomposition'.
29580         * lib/uninorm/decompose-internal.h: New file.
29581         * lib/uninorm/compat-decomposition.c: New file.
29582         * modules/uninorm/compat-decomposition: New file.
29583
29584         Tests for module 'uninorm/canonical-decomposition'.
29585         * tests/uninorm/test-canonical-decomposition.c: New file.
29586         * modules/uninorm/canonical-decomposition-tests: New file.
29587
29588         New module 'uninorm/canonical-decomposition'.
29589         * lib/uninorm/canonical-decomposition.c: New file.
29590         * modules/uninorm/canonical-decomposition: New file.
29591
29592         Tests for module 'uninorm/decomposition'.
29593         * tests/uninorm/test-decomposition.c: New file.
29594         * modules/uninorm/decomposition-tests: New file.
29595
29596         New module 'uninorm/decomposition'.
29597         * lib/uninorm/decomposition.c: New file.
29598         * modules/uninorm/decomposition: New file.
29599
29600         New module 'uninorm/decomposition-table'.
29601         * lib/uninorm/decomposition-table.h: New file.
29602         * lib/uninorm/decomposition-table.c: New file.
29603         * lib/uninorm/decomposition-table1.h: New file, generated by
29604         gen-uni-tables.
29605         * lib/uninorm/decomposition-table2.h: New file, generated by
29606         gen-uni-tables.
29607         * modules/uninorm/decomposition-table: New file.
29608
29609         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
29610         (UC_DECOMP_*): New enumeration items.
29611         (get_decomposition): New function.
29612         (struct decomp_table): New type.
29613         (output_decomposition, output_decomposition_tables): New functions.
29614         (unicode_composition_exclusions): New variable.
29615         (fill_composition_exclusions, debug_output_composition_tables): New
29616         functions.
29617         (main): Accept one more argument. Invoke fill_composition_exclusions.
29618         Output decomposition and composition tables.
29619
29620         New module 'uninorm/base'.
29621         * lib/uninorm.h: New file.
29622         * lib/unictype.h: Update comment.
29623         * modules/uninorm/base: New file.
29624
29625 2009-02-21  David Lutterkort  <lutter@redhat.com>
29626
29627         Tests for module 'safe-alloc'.
29628         * tests/test-safe-alloc.c: New file.
29629         * modules/safe-alloc-tests: New file.
29630
29631         New module 'safe-alloc'.
29632         * lib/safe-alloc.h: New file.
29633         * lib/safe-alloc.c: New file.
29634         * m4/safe-alloc.m4: New file.
29635         * modules/safe-alloc: New file.
29636         * doc/safe-alloc.texi: New file.
29637         * doc/gnulib.texi: Include it.
29638         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29639         safe-alloc.
29640
29641 2009-02-18  Bruno Haible  <bruno@clisp.org>
29642
29643         Fix link error on non-glibc systems.
29644         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
29645         variable.
29646         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29647
29648 2009-02-18  Jim Meyering  <meyering@redhat.com>
29649
29650         fts: avoid used-uninitialized error due to recent change
29651         * lib/fts.c (fts_read): Guard uses of the new member,
29652         parent->fts_n_dirs_remaining, since it's not relevant for
29653         the parent of a directory specified on the command-line.
29654
29655 2009-02-17  James Youngman  <jay@gnu.org>
29656             Bruno Haible  <bruno@clisp.org>
29657
29658         * m4/include_next.m4: Reformulate comment.
29659
29660 2009-02-16  Jim Meyering  <meyering@redhat.com>
29661
29662         fts: add #if guards so that the fts_lgpl module still builds
29663         * lib/fts.c: Guard just-added hash-table-using parts with
29664         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
29665         Reported by Simon Josefsson.
29666
29667 2009-02-15  Bruno Haible  <bruno@clisp.org>
29668
29669         * modules/array-mergesort-tests: New file.
29670         * tests/test-array-mergesort.c: New file.
29671
29672         New module 'array-mergesort'.
29673         * modules/array-mergesort: New file.
29674         * lib/array-mergesort.h: New file.
29675
29676 2009-02-15  Bruno Haible  <bruno@clisp.org>
29677
29678         Fix 2009-02-07 commit.
29679         * lib/gen-uni-tables.c (output_predicate, output_category,
29680         output_combclass, output_bidi_category, output_decimal_digit,
29681         output_digit, output_numeric, output_mirror, output_scripts,
29682         output_ident_category, output_simple_mapping): Fix format directives.
29683         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
29684
29685 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
29686
29687         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
29688         fixes are available from IBM.
29689
29690 2009-02-13  Jim Meyering  <meyering@redhat.com>
29691
29692         fts: arrange not to stat non-directories in more cases
29693         This makes GNU find (when it doesn't need to stat each file)
29694         *much* more efficient at traversing reiserfs file systems.
29695         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
29696         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
29697         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
29698         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
29699         (leaf_optimization_applies): New function.
29700         (LCO_hash, LCO_compare): New helper functions.
29701         (link_count_optimize_ok): New function.
29702         (fts_stat): Initialize new member (if dir).
29703         (fts_read): Decrement parent's fts_n_dirs_remaining count if
29704         we've just stat'ed a directory.  Skip the stat call when possible.
29705         ---
29706         Note this AFS-related exchange:
29707         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
29708         and note find's pioctl call in find/fstype.c.
29709         But that is necessary only if you want to enable the
29710         optimization for AFS, and for now, I don't.
29711
29712         fts: move a function definition "up" (no semantic change)
29713         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
29714         "up" to precede upcoming use of a related function.
29715
29716 2009-02-11  Jim Meyering  <meyering@redhat.com>
29717
29718         fts: correct internal computation of nlinks (optimization-related)
29719         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
29720         whether the current entry is a directory, so don't test it.
29721
29722 2009-02-10  Bruno Haible  <bruno@clisp.org>
29723
29724         Tests for module 'uniwbrk/ulc-wordbreaks'.
29725         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
29726         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
29727         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
29728
29729         Tests for module 'uniwbrk/u32-wordbreaks'.
29730         * modules/uniwbrk/u32-wordbreaks-tests: New file.
29731         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
29732
29733         Tests for module 'uniwbrk/u16-wordbreaks'.
29734         * modules/uniwbrk/u16-wordbreaks-tests: New file.
29735         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
29736
29737         Tests for module 'uniwbrk/u8-wordbreaks'.
29738         * modules/uniwbrk/u8-wordbreaks-tests: New file.
29739         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
29740
29741 2009-02-10  Bruno Haible  <bruno@clisp.org>
29742
29743         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
29744         property.
29745         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
29746         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
29747         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
29748
29749 2009-02-10  Simon Josefsson  <simon@josefsson.org>
29750
29751         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
29752         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
29753
29754 2009-02-10  Bruno Haible  <bruno@clisp.org>
29755
29756         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
29757         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
29758         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
29759         * lib/unilbrk/u8-possible-linebreaks.c: Update.
29760         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
29761         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
29762
29763 2009-02-09  Simon Josefsson  <simon@josefsson.org>
29764
29765         * lib/sockets.h (gl_fd_to_handle): New function.
29766
29767         * tests/test-sockets.c: Call gl_fd_to_handle.
29768
29769 2009-02-09  Bruno Haible  <bruno@clisp.org>
29770
29771         * doc/havelib.texi: Document the conventions on bi-arch systems.
29772
29773 2009-02-08  Bruno Haible  <bruno@clisp.org>
29774
29775         Document the AC_LIB_LINKFLAGS macro.
29776         * doc/havelib.texi: New file, mostly written on 2005-05-24.
29777         * doc/gnulib.texi: Include it.
29778
29779 2009-02-08  Bruno Haible  <bruno@clisp.org>
29780
29781         Fix wrong order of sections, compared to TOC.
29782         * doc/gnulib.texi: Include relocatable-maint.texi after the
29783         "Regular expressions" node, not before.
29784
29785 2009-02-08  Bruno Haible  <bruno@clisp.org>
29786
29787         Tests for module 'unicase/totitle'.
29788         * modules/unicase/totitle-tests: New file.
29789
29790         Tests for module 'unicase/tolower'.
29791         * modules/unicase/tolower-tests: New file.
29792
29793         Tests for module 'unicase/toupper'.
29794         * modules/unicase/toupper-tests: New file.
29795         * tests/unicase/test-mapping-part1.h: New file.
29796         * tests/unicase/test-mapping-part2.h: New file.
29797
29798         New module 'unicase/totitle'.
29799         * modules/unicase/totitle: New file.
29800         * lib/unicase/totitle.c: New file.
29801
29802         New module 'unicase/tolower'.
29803         * modules/unicase/tolower: New file.
29804         * lib/unicase/tolower.c: New file.
29805
29806         New module 'unicase/toupper'.
29807         * modules/unicase/toupper: New file.
29808         * lib/unicase/toupper.c: New file.
29809         * lib/unicase/simple-mapping.h: New file.
29810
29811         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29812         (mapping_table): New structure.
29813         (output_simple_mapping): New function.
29814         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29815         * modules/gen-uni-tables (Description): Update.
29816         * lib/unicase/toupper.h: New file, automatically generated by
29817         gen-uni-tables.
29818         * lib/unicase/tolower.h: New file, automatically generated by
29819         gen-uni-tables.
29820         * lib/unicase/totitle.h: New file, automatically generated by
29821         gen-uni-tables.
29822         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29823         gen-uni-tables.
29824         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29825         gen-uni-tables.
29826         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29827         gen-uni-tables.
29828
29829         New module 'unicase/base'.
29830         * modules/unicase/base: New file.
29831         * lib/unicase.h: New file.
29832
29833 2009-02-08  Bruno Haible  <bruno@clisp.org>
29834
29835         New module 'uniwbrk/ulc-wordbreaks'.
29836         * modules/uniwbrk/ulc-wordbreaks: New file.
29837         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29838
29839         New module 'uniwbrk/u32-wordbreaks'.
29840         * modules/uniwbrk/u32-wordbreaks: New file.
29841         * lib/uniwbrk/u32-wordbreaks.c: New file.
29842
29843         New module 'uniwbrk/u16-wordbreaks'.
29844         * modules/uniwbrk/u16-wordbreaks: New file.
29845         * lib/uniwbrk/u16-wordbreaks.c: New file.
29846
29847         New module 'uniwbrk/u8-wordbreaks'.
29848         * modules/uniwbrk/u8-wordbreaks: New file.
29849         * lib/uniwbrk/u8-wordbreaks.c: New file.
29850         * lib/uniwbrk/u-wordbreaks.h: New file.
29851
29852         New module 'uniwbrk/table'.
29853         * modules/uniwbrk/table: New file.
29854         * lib/uniwbrk/wbrktable.h: New file.
29855         * lib/uniwbrk/wbrktable.c: New file.
29856
29857         New module 'uniwbrk/wordbreak-property'.
29858         * modules/uniwbrk/wordbreak-property: New file.
29859         * lib/uniwbrk/wordbreak-property.c: New file.
29860
29861         * lib/gen-uni-tables.c (WBP_*): New enum items.
29862         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29863         (unicode_org_wbp): New variable.
29864         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29865         New functions.
29866         (wbp_table): New structure.
29867         (output_wbp, output_wbrk_tables): New functions.
29868         (main): Accept additional argument. Invoke fill_org_wbp,
29869         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29870         output_wbrk_tables.
29871         * modules/gen-uni-tables (Description): Update.
29872         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29873         gen-uni-tables.
29874
29875         New module 'uniwbrk/base'.
29876         * modules/uniwbrk/base: New file.
29877         * lib/uniwbrk.h: New file.
29878
29879 2009-02-08  Bruno Haible  <bruno@clisp.org>
29880
29881         Update to Unicode 5.1.0.
29882         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29883         U+2185..U+2188.
29884         (is_property_default_ignorable_code_point): Don't include characters
29885         of category Cc or Cs and not-a-characters.
29886         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29887         U+0D79, U+109E, U+109F, U+A60C.
29888         * lib/unictype/bidi_of.h: Regenerated.
29889         * lib/unictype/blocks.h: Regenerated.
29890         * lib/unictype/categ_C.h: Regenerated.
29891         * lib/unictype/categ_Cf.h: Regenerated.
29892         * lib/unictype/categ_Cn.h: Regenerated.
29893         * lib/unictype/categ_L.h: Regenerated.
29894         * lib/unictype/categ_Ll.h: Regenerated.
29895         * lib/unictype/categ_Lm.h: Regenerated.
29896         * lib/unictype/categ_Lo.h: Regenerated.
29897         * lib/unictype/categ_Lu.h: Regenerated.
29898         * lib/unictype/categ_M.h: Regenerated.
29899         * lib/unictype/categ_Mc.h: Regenerated.
29900         * lib/unictype/categ_Me.h: Regenerated.
29901         * lib/unictype/categ_Mn.h: Regenerated.
29902         * lib/unictype/categ_N.h: Regenerated.
29903         * lib/unictype/categ_Nd.h: Regenerated.
29904         * lib/unictype/categ_Nl.h: Regenerated.
29905         * lib/unictype/categ_No.h: Regenerated.
29906         * lib/unictype/categ_P.h: Regenerated.
29907         * lib/unictype/categ_Pd.h: Regenerated.
29908         * lib/unictype/categ_Pe.h: Regenerated.
29909         * lib/unictype/categ_Pf.h: Regenerated.
29910         * lib/unictype/categ_Pi.h: Regenerated.
29911         * lib/unictype/categ_Po.h: Regenerated.
29912         * lib/unictype/categ_Ps.h: Regenerated.
29913         * lib/unictype/categ_S.h: Regenerated.
29914         * lib/unictype/categ_Sk.h: Regenerated.
29915         * lib/unictype/categ_Sm.h: Regenerated.
29916         * lib/unictype/categ_So.h: Regenerated.
29917         * lib/unictype/categ_of.h: Regenerated.
29918         * lib/unictype/combining.h: Regenerated.
29919         * lib/unictype/ctype_alnum.h: Regenerated.
29920         * lib/unictype/ctype_alpha.h: Regenerated.
29921         * lib/unictype/ctype_graph.h: Regenerated.
29922         * lib/unictype/ctype_lower.h: Regenerated.
29923         * lib/unictype/ctype_print.h: Regenerated.
29924         * lib/unictype/ctype_punct.h: Regenerated.
29925         * lib/unictype/ctype_upper.h: Regenerated.
29926         * lib/unictype/decdigit.h: Regenerated.
29927         * lib/unictype/digit.h: Regenerated.
29928         * lib/unictype/mirror.h: Regenerated.
29929         * lib/unictype/numeric.h: Regenerated.
29930         * lib/unictype/pr_alphabetic.h: Regenerated.
29931         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29932         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29933         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29934         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29935         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29936         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29937         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29938         * lib/unictype/pr_combining.h: Regenerated.
29939         * lib/unictype/pr_dash.h: Regenerated.
29940         * lib/unictype/pr_decimal_digit.h: Regenerated.
29941         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29942         * lib/unictype/pr_deprecated.h: Regenerated.
29943         * lib/unictype/pr_diacritic.h: Regenerated.
29944         * lib/unictype/pr_extender.h: Regenerated.
29945         * lib/unictype/pr_format_control.h: Regenerated.
29946         * lib/unictype/pr_grapheme_base.h: Regenerated.
29947         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29948         * lib/unictype/pr_grapheme_link.h: Regenerated.
29949         * lib/unictype/pr_id_continue.h: Regenerated.
29950         * lib/unictype/pr_id_start.h: Regenerated.
29951         * lib/unictype/pr_ideographic.h: Regenerated.
29952         * lib/unictype/pr_ignorable_control.h: Regenerated.
29953         * lib/unictype/pr_lowercase.h: Regenerated.
29954         * lib/unictype/pr_math.h: Regenerated.
29955         * lib/unictype/pr_numeric.h: Regenerated.
29956         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29957         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29958         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29959         * lib/unictype/pr_other_id_continue.h: Regenerated.
29960         * lib/unictype/pr_other_lowercase.h: Regenerated.
29961         * lib/unictype/pr_other_math.h: Regenerated.
29962         * lib/unictype/pr_punctuation.h: Regenerated.
29963         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29964         * lib/unictype/pr_soft_dotted.h: Regenerated.
29965         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29966         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29967         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29968         * lib/unictype/pr_uppercase.h: Regenerated.
29969         * lib/unictype/pr_xid_continue.h: Regenerated.
29970         * lib/unictype/pr_xid_start.h: Regenerated.
29971         * lib/unictype/pr_zero_width.h: Regenerated.
29972         * lib/unictype/scripts.h: Regenerated.
29973         * lib/unictype/scripts_byname.gperf: Regenerated.
29974         * lib/unictype/sy_java_ident.h: Regenerated.
29975         * lib/unilbrk/lbrkprop1.h: Regenerated.
29976         * lib/unilbrk/lbrkprop2.h: Regenerated.
29977         * tests/unictype/test-categ_C.c: Regenerated.
29978         * tests/unictype/test-categ_Cf.c: Regenerated.
29979         * tests/unictype/test-categ_Cn.c: Regenerated.
29980         * tests/unictype/test-categ_L.c: Regenerated.
29981         * tests/unictype/test-categ_Ll.c: Regenerated.
29982         * tests/unictype/test-categ_Lm.c: Regenerated.
29983         * tests/unictype/test-categ_Lo.c: Regenerated.
29984         * tests/unictype/test-categ_Lu.c: Regenerated.
29985         * tests/unictype/test-categ_M.c: Regenerated.
29986         * tests/unictype/test-categ_Mc.c: Regenerated.
29987         * tests/unictype/test-categ_Me.c: Regenerated.
29988         * tests/unictype/test-categ_Mn.c: Regenerated.
29989         * tests/unictype/test-categ_N.c: Regenerated.
29990         * tests/unictype/test-categ_Nd.c: Regenerated.
29991         * tests/unictype/test-categ_Nl.c: Regenerated.
29992         * tests/unictype/test-categ_No.c: Regenerated.
29993         * tests/unictype/test-categ_P.c: Regenerated.
29994         * tests/unictype/test-categ_Pd.c: Regenerated.
29995         * tests/unictype/test-categ_Pe.c: Regenerated.
29996         * tests/unictype/test-categ_Pf.c: Regenerated.
29997         * tests/unictype/test-categ_Pi.c: Regenerated.
29998         * tests/unictype/test-categ_Po.c: Regenerated.
29999         * tests/unictype/test-categ_Ps.c: Regenerated.
30000         * tests/unictype/test-categ_S.c: Regenerated.
30001         * tests/unictype/test-categ_Sk.c: Regenerated.
30002         * tests/unictype/test-categ_Sm.c: Regenerated.
30003         * tests/unictype/test-categ_So.c: Regenerated.
30004         * tests/unictype/test-ctype_alnum.c: Regenerated.
30005         * tests/unictype/test-ctype_alpha.c: Regenerated.
30006         * tests/unictype/test-ctype_graph.c: Regenerated.
30007         * tests/unictype/test-ctype_lower.c: Regenerated.
30008         * tests/unictype/test-ctype_print.c: Regenerated.
30009         * tests/unictype/test-ctype_punct.c: Regenerated.
30010         * tests/unictype/test-ctype_upper.c: Regenerated.
30011         * tests/unictype/test-decdigit.h: Regenerated.
30012         * tests/unictype/test-digit.h: Regenerated.
30013         * tests/unictype/test-numeric.h: Regenerated.
30014         * tests/unictype/test-pr_alphabetic.c: Regenerated.
30015         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
30016         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
30017         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
30018         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
30019         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
30020         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
30021         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
30022         * tests/unictype/test-pr_combining.c: Regenerated.
30023         * tests/unictype/test-pr_dash.c: Regenerated.
30024         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
30025         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
30026         * tests/unictype/test-pr_deprecated.c: Regenerated.
30027         * tests/unictype/test-pr_diacritic.c: Regenerated.
30028         * tests/unictype/test-pr_extender.c: Regenerated.
30029         * tests/unictype/test-pr_format_control.c: Regenerated.
30030         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
30031         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
30032         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
30033         * tests/unictype/test-pr_id_continue.c: Regenerated.
30034         * tests/unictype/test-pr_id_start.c: Regenerated.
30035         * tests/unictype/test-pr_ideographic.c: Regenerated.
30036         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
30037         * tests/unictype/test-pr_lowercase.c: Regenerated.
30038         * tests/unictype/test-pr_math.c: Regenerated.
30039         * tests/unictype/test-pr_numeric.c: Regenerated.
30040         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
30041         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
30042         Regenerated.
30043         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
30044         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
30045         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
30046         * tests/unictype/test-pr_other_math.c: Regenerated.
30047         * tests/unictype/test-pr_punctuation.c: Regenerated.
30048         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
30049         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
30050         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
30051         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
30052         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
30053         * tests/unictype/test-pr_uppercase.c: Regenerated.
30054         * tests/unictype/test-pr_xid_continue.c: Regenerated.
30055         * tests/unictype/test-pr_xid_start.c: Regenerated.
30056         * tests/unictype/test-pr_zero_width.c: Regenerated.
30057
30058         Update to Unicode 5.1.0.
30059         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
30060         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
30061         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
30062         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
30063         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
30064         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
30065         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
30066         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
30067         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
30068         (nonspacing_table_ind): Update.
30069         * tests/uniwidth/test-uc_width2.sh: Update expected result.
30070
30071         Update to Unicode 5.1.0.
30072         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
30073         code transform.
30074         * lib/uniname/uniname.c (unicode_character_name,
30075         unicode_name_character): Add the range 0x1Fxxx to the code transform.
30076         * lib/uniname/uninames.h: Regenerated.
30077         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
30078
30079 2009-02-07  Bruno Haible  <bruno@clisp.org>
30080
30081         Merge gen-ctype and gen-lbrk into a single program.
30082         * lib/gen-uni-tables.c: New file, incorporating
30083         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
30084         Add directory prefixes to the names of the generated files.
30085         * lib/unictype/gen-ctype.c: Remove file.
30086         * lib/unilbrk/gen-lbrk.c: Remove file.
30087         * modules/gen-uni-tables: New file.
30088         * modules/unictype/gen-ctype: Remove file.
30089         * modules/unilbrk/gen-lbrk: Remove file.
30090
30091 2009-02-07  Bruno Haible  <bruno@clisp.org>
30092
30093         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
30094
30095         New module 'unistr/u32-strcoll'.
30096         * modules/unistr/u32-strcoll: New file.
30097         * lib/unistr/u32-strcoll.c: New file.
30098
30099         New module 'unistr/u16-strcoll'.
30100         * modules/unistr/u16-strcoll: New file.
30101         * lib/unistr/u16-strcoll.c: New file.
30102
30103         New module 'unistr/u8-strcoll'.
30104         * modules/unistr/u8-strcoll: New file.
30105         * lib/unistr/u8-strcoll.c: New file.
30106         * lib/unistr/u-strcoll.h: New file.
30107
30108 2009-02-07  Bruno Haible  <bruno@clisp.org>
30109
30110         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
30111         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30112         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30113         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
30114         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
30115         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
30116
30117 2009-02-07  Bruno Haible  <bruno@clisp.org>
30118
30119         Make 64-bit clean.
30120         * lib/unictype/gen-ctype.c (output_predicate, output_category,
30121         output_combclass, output_bidi_category, output_decimal_digit,
30122         output_digit, output_numeric, output_mirror, output_scripts,
30123         output_ident_category): Use proper width specifier in format strings.
30124
30125 2009-02-07  Bruno Haible  <bruno@clisp.org>
30126
30127         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
30128         failure behaviour.
30129
30130 2009-02-07  Jim Meyering  <meyering@redhat.com>
30131
30132         regex: avoid compilation failure with upcoming gcc-4.4
30133         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
30134         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
30135         "... error: integer overflow in preprocessor expression".
30136
30137 2009-02-05  Ben Pfaff  <blp@gnu.org>
30138
30139         Fix link errors on Windows when close module is used.
30140         * modules/close: Add $(LIB_CLOSE) to Link section.
30141         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
30142         $(LIB_CLOSE) on Windows.
30143
30144 2009-02-05  Jim Meyering  <meyering@redhat.com>
30145
30146         still avoid unused-parameter warnings, but do it cleanly
30147         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
30148         (get_fs_usage): Cast to void instead.
30149         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
30150         (dev_from_mount_options, read_file_system_list): Cast to void.
30151         Prompted by Bruno Haible.
30152
30153 2009-02-04  Jim Meyering  <meyering@redhat.com>
30154
30155         fsusage.c: correct copyright year
30156         * lib/fsusage.c: Reflect year in which the change is pushed into
30157
30158         avoid misc. warnings
30159         * lib/fsusage.c (UNUSED_PARAM): Define.
30160         (get_fs_usage): Mark parameter "disk" as unused.
30161         * lib/getugroups.c (getgrent): Use "void" in prototype.
30162         * lib/mountlist.c: Mark unused parameters.
30163         (read_file_system_list): Declare a local with "const".
30164         * lib/nanosleep.c (getnow): Declare static.
30165         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
30166
30167         dirfd: set errno upon failure
30168         * lib/dirfd.c: Include <errno.h>.
30169         Set errno to ENOTSUP when returning -1.
30170         * modules/dirfd (Depends-on): Add errno.
30171         Suggested by John Kodis <kodis@comcast.net>.
30172
30173 2009-02-01  Bruno Haible  <bruno@clisp.org>
30174
30175         Don't assume sizeof (long) >= sizeof (void *).
30176         * lib/memcmp.c: Include stdint.h.
30177         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
30178         srcp2 to 'const byte *'.
30179         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
30180         types to uintptr_t.
30181         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
30182         * modules/memcmp (Depends-on): Add stdint.
30183         Reported by Ozkan Sezer <sezeroz@gmail.com>.
30184
30185 2009-01-30  Eric Blake  <ebb9@byu.net>
30186
30187         fix more require-before-expand issues
30188         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
30189         expand, AC_PROG_AWK.
30190         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
30191
30192 2009-01-28  Eric Blake  <ebb9@byu.net>
30193
30194         version-etc: use consistent URL formatting
30195         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
30196         Improve formatting.  Use fputs for string without %.
30197
30198 2009-01-28  Jim Meyering  <meyering@redhat.com>
30199
30200         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
30201         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
30202         "underquoted definition of NAME" from autoconf-2.59.
30203
30204 2009-01-28  Bruno Haible  <bruno@clisp.org>
30205
30206         * doc/gnulib.texi: Add "Obsolete modules" to index.
30207
30208 2009-01-28  Jim Meyering  <meyering@redhat.com>
30209
30210         useless-if-before-free: recognize more variants
30211         * build-aux/useless-if-before-free: Also recognize e.g.,
30212         if (NULL != p) free (p);
30213
30214 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
30215
30216         test-getaddrinfo: skip (don't fail) this test when there's no network
30217         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
30218         on the presumption that it means you lack network access.
30219
30220 2009-01-26  Jim Meyering  <meyering@redhat.com>
30221
30222         fflush: avoid warnings on modern systems
30223         * lib/fflush.c (rpl_fflush): Move declarations of locals,
30224         pos and result, into scopes where they're used.
30225
30226 2009-01-26  Eric Blake  <ebb9@byu.net>
30227
30228         Silence warning reintroduced by recent extensions patch.
30229         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
30230         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
30231         autoconf.
30232
30233         Backport improved autoconf semantics of AC_DEFUN_ONCE.
30234         * m4/00gnulib.m4: New file.
30235         * gnulib-tool (func_get_filelist): Always use it.
30236         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
30237         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
30238
30239 2009-01-25  Bruno Haible  <bruno@clisp.org>
30240
30241         Make test-quotearg work on MacOS X and AIX.
30242         * tests/test-quotearg.sh: New file.
30243         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
30244         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
30245         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
30246         include <libintl.h>.
30247         (fake_locale): Remove variable.
30248         (gettext, dgettext, dcgettext): Remove functions.
30249         (main): Instead of setting a fake locale, set a real locale. Call
30250         textdomain and bindtextdomain.
30251         * modules/quotearg-tests (Files): Add the new files.
30252         (Depends-on): Add gettext, setenv, unsetenv.
30253         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
30254         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
30255         Augment TESTS_ENVIRONMENT.
30256
30257 2009-01-25  Bruno Haible  <bruno@clisp.org>
30258
30259         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
30260         fr_FR.ISO8859-1 locale on MacOS X.
30261         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
30262         ja_JP.eucJP locale on MacOS X.
30263         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
30264         zh_CN.GB18030 locale on MacOS X.
30265
30266 2009-01-25  Bruno Haible  <bruno@clisp.org>
30267
30268         Avoid link errors on MacOS X 10.3.
30269         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
30270         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30271
30272 2009-01-25  Bruno Haible  <bruno@clisp.org>
30273
30274         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30275         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
30276         * modules/pipe (Files): Remove m4/posix_spawn.m4.
30277         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30278         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
30279         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30280         posix_spawnattr_init, posix_spawnattr_setsigmask,
30281         posix_spawnattr_setflags, posix_spawnattr_destroy.
30282
30283         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30284         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
30285         * modules/execute (Files): Remove m4/posix_spawn.m4.
30286         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30287         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30288         posix_spawnattr_init, posix_spawnattr_setsigmask,
30289         posix_spawnattr_setflags, posix_spawnattr_destroy.
30290
30291 2009-01-25  Bruno Haible  <bruno@clisp.org>
30292
30293         * lib/glthread/threadlib.c: Include <stdlib.h>.
30294
30295 2009-01-25  Bruno Haible  <bruno@clisp.org>
30296
30297         * lib/glthread/threadlib.c (dummy): New declaration.
30298
30299 2009-01-25  Bruno Haible  <bruno@clisp.org>
30300
30301         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
30302         multibyte characters also for the GB18030 encoding. Don't crash when
30303         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
30304
30305 2009-01-25  Bruno Haible  <bruno@clisp.org>
30306
30307         Avoid redefining 'struct random_data' on OSF/1 5.1.
30308         * lib/stdlib.in.h: Include <random.h> if it exists.
30309         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
30310         HAVE_RANDOM_H. Include <random.h> when testing whether
30311         'struct random_data' exists.
30312         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
30313
30314 2009-01-25  Bruno Haible  <bruno@clisp.org>
30315
30316         Don't install charset.alias on MacOS X >= 10.3.
30317         * lib/localcharset.c (DARWIN7): New macro.
30318         (get_charset_aliases): Hardcode the result for Darwin7.
30319         * modules/localcharset (install-exec-local): Don't install
30320         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
30321
30322 2009-01-25  Bruno Haible  <bruno@clisp.org>
30323
30324         Don't install charset.alias on mingw and Cygwin.
30325         * modules/localcharset (install-exec-local): Don't install
30326         charset.alias on mingw and Cygwin, if the file does not yet exist.
30327         The result for these platforms is hardcoded in localcharset.c.
30328
30329 2009-01-25  Bruno Haible  <bruno@clisp.org>
30330
30331         Make it possible again to use AC_GNU_SOURCE together with gnulib.
30332         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
30333         before requiring AC_USE_SYSTEM_EXTENSIONS.
30334
30335 2009-01-25  Jim Meyering  <meyering@redhat.com>
30336
30337         c-strtod: avoid warnings
30338         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
30339         "assignment discards qualifiers from pointer target type" warnings.
30340
30341 2009-01-24  Bruno Haible  <bruno@clisp.org>
30342
30343         Add support for non-UTF-8 locales on MacOS X.
30344         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
30345         canonical encodings. For Darwin 7 and newer, don't map traditional
30346         encodings to UTF-8.
30347         Reported by Vincent Lefevre <vincent@vinc17.org>
30348         at <http://savannah.gnu.org/bugs/?25235>.
30349
30350 2009-01-24  Bruno Haible  <bruno@clisp.org>
30351
30352         * doc/gnulib.texi (Obsolete modules): New section.
30353         Reported by Mike Frysinger <vapier@gentoo.org>.
30354
30355 2009-01-24  Bruno Haible  <bruno@clisp.org>
30356
30357         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
30358         (%.dvi): New rule.
30359
30360 2009-01-24  Bruno Haible  <bruno@clisp.org>
30361
30362         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
30363         Reported by Eric Blake.
30364
30365 2009-01-24  Bruno Haible  <bruno@clisp.org>
30366
30367         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
30368         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
30369         Reported by Gary V. Vaughan <gary@gnu.org>.
30370
30371 2009-01-24  Bruno Haible  <bruno@clisp.org>
30372
30373         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
30374
30375 2009-01-23  Bruno Haible  <bruno@clisp.org>
30376
30377         Make c-strtod, c-strtold usable in libraries.
30378         * lib/c-strtod.c: Include string.h instead of xalloc.h.
30379         (C_STRTOD): Call strdup instead of xstrdup.
30380         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
30381         * modules/c-strtold (Depends-on): Likewise.
30382         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
30383         * NEWS: Mention the change.
30384         Reported by Michael Gold <mgold@ncf.ca>.
30385
30386 2009-01-23  Jim Meyering  <meyering@redhat.com>
30387
30388         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
30389         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
30390         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
30391
30392 2009-01-23  Simon Josefsson  <simon@josefsson.org>
30393
30394         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
30395         GNU CoreUtils.
30396         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
30397         * modules/version-etc (Description): Update.
30398
30399 2009-01-22  Bruno Haible  <bruno@clisp.org>
30400
30401         Cache the C locale object.
30402         * lib/c-strtod.c (c_locale_cache): New variable.
30403         (c_locale): New function.
30404         (C_STRTOD): Use it, and don't call freelocale.
30405         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
30406         Suggested by Paolo Bonzini.
30407
30408 2009-01-21  Bruno Haible  <bruno@clisp.org>
30409
30410         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
30411         conditions other than overflow.
30412
30413 2009-01-21  Bruno Haible  <bruno@clisp.org>
30414
30415         * lib/c-strtod.c: Include errno.h.
30416         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
30417         value from STRTOD_L and STRTOD.
30418
30419 2009-01-21  Bruno Haible  <bruno@clisp.org>
30420         and Jim Meyering  <meyering@redhat.com>
30421
30422         nanosleep: skip configure test (fail it) for apple universal builds
30423         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
30424         universal builds, assume that nanosleep does not work.
30425         * modules/nanosleep (Depends-on): Add multiarch.
30426
30427         mktime: skip configure test (fail it) for apple universal builds
30428         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
30429         universal builds, assume that mktime does not work.
30430         * modules/mktime (Depends-on): Add multiarch.
30431
30432 2009-01-21  Eric Blake  <ebb9@byu.net>
30433
30434         multiarch: avoid expand-before-require warning
30435         * modules/multiarch (configure.ac): Require, rather than expand,
30436         gl_MULTIARCH.
30437         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
30438         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
30439         enforce that all clients require it.  Partial reversion of
30440         2008-12-29 patch.
30441
30442         error: avoid expand-before-require warning
30443         * modules/errno (configure.ac): Require, rather than expand,
30444         gl_HEADER_ERRNO_H.
30445         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
30446         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
30447         enforce that all clients require it.
30448
30449         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
30450         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
30451         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
30452         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
30453
30454 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
30455
30456         Revert:
30457         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30458
30459         regex: do not depend on obsolete modules.
30460         * modules/regex: Remove memcmp and memmove.
30461
30462 2009-01-20  Bruno Haible  <bruno@clisp.org>
30463
30464         Make the 'link' module link on Windows NT 4.
30465         * lib/link.c (_WIN32_WINNT): Don't define.
30466         (CreateHardLinkFuncType): New type.
30467         (CreateHardLinkFunc, initialized): New variables.
30468         (initialize): New function.
30469         (link): Invoke CreateHardLink indirectly through the function pointer.
30470
30471 2009-01-20  Bruno Haible  <bruno@clisp.org>
30472
30473         Fix compilation failure on mingw.
30474         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
30475
30476 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
30477
30478         * doc/c-strtod.texi: Mention a couple of restrictions.
30479
30480 2009-01-20  Jim Meyering  <meyering@redhat.com>
30481
30482         gettimeofday: move more declarations out of functions
30483         * lib/gettimeofday.c: Move extern declarations of tzset and
30484         gmtime out of containing functions.  Prompted by Bruno Haible.
30485
30486 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30487
30488         regex: do not depend on obsolete modules.
30489         * modules/regex: Remove memcmp and memmove.
30490
30491 2009-01-19  Bruno Haible  <bruno@clisp.org>
30492
30493         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30494         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
30495         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30496         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
30497         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
30498
30499 2009-01-19  Bruno Haible  <bruno@clisp.org>
30500
30501         * tests/test-link.c: Include <errno.h>.
30502         (main): Exit with code 77 when a hard link cannot be created due to
30503         the file system.
30504         * tests/test-link.sh: Skip test when a hard link cannot be created due
30505         to the file system.
30506         Suggested by Eric Blake.
30507
30508 2009-01-19  Martin Lambers  <marlam@marlam.de>
30509
30510         * modules/link-tests: New file.
30511         * tests/test-link.sh: New file.
30512         * tests/test-link.c: New file.
30513
30514 2009-01-19  Eric Blake  <ebb9@byu.net>
30515
30516         doc: mention another function added in cygwin 1.7.0
30517         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
30518         Another new function in cygwin 1.7.
30519
30520 2009-01-19  Bruno Haible  <bruno@clisp.org>
30521
30522         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30523         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
30524         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
30525         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30526         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30527         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
30528         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30529         * m4/md4.m4 (gl_MD4): Likewise.
30530         * m4/md5.m4 (gl_MD5): Likewise.
30531         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
30532         * m4/sha1.m4 (gl_SHA1): Likewise.
30533         * m4/sha256.m4 (gl_SHA256): Likewise.
30534         * m4/sha512.m4 (gl_SHA512): Likewise.
30535
30536 2009-01-19  Bruno Haible  <bruno@clisp.org>
30537
30538         * modules/uniname/uniname-tests (Depends-on): Add progname.
30539         * tests/uniname/test-uninames.c: Include progname.h.
30540         (main): Call set_program_name.
30541
30542         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
30543         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
30544         (main): Call set_program_name.
30545
30546         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
30547         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
30548         (main): Call set_program_name.
30549
30550         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
30551         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
30552         (main): Call set_program_name.
30553
30554         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
30555         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
30556         (main): Call set_program_name.
30557
30558         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
30559         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
30560         (main): Call set_program_name.
30561
30562         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
30563         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
30564         (main): Call set_program_name.
30565
30566         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
30567         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
30568         (main): Call set_program_name.
30569
30570         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
30571         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
30572         (main): Call set_program_name.
30573
30574 2009-01-19  Eric Blake  <ebb9@byu.net>
30575
30576         test-unistd: test previous patch
30577         * tests/test-unistd.c: Test *_FILENO macros.
30578
30579         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
30580         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30581         Guarantee a definition.
30582         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
30583         * modules/unistd-safer (Depends-on): Add dependency on unistd.
30584         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
30585         * lib/dup-safer.c (STDERR_FILENO): Likewise.
30586         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30587         Likewise.
30588         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
30589         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
30590         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30591         Likewise.
30592         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
30593         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
30594         (STDERR_FILENO): Likewise.
30595         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
30596         (STDERR_FILENO): Likewise.
30597         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
30598         (STDERR_FILENO): Likewise.
30599         Reported by Elbert Pol.
30600
30601 2009-01-19  Eric Blake  <ebb9@byu.net>
30602
30603         doc: mention more functions added in cygwin 1.7.0
30604         * doc/posix-functions/abort.texi (abort): Update wording related
30605         to cygwin.
30606         * doc/posix-functions/daylight.texi (daylight): Likewise.
30607         * doc/posix-functions/optarg.texi (optarg): Likewise.
30608         * doc/posix-functions/optarg.texi (opterr): Likewise.
30609         * doc/posix-functions/optarg.texi (optind): Likewise.
30610         * doc/posix-functions/optarg.texi (optopt): Likewise.
30611         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
30612         worked in 1.5.x, and was withdrawn in 1.7.
30613         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
30614         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
30615         cygwin versions.
30616         * doc/posix-functions/perror.texi (perror): Likewise.
30617         * doc/posix-functions/printf.texi (printf): Likewise.
30618         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
30619         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
30620         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
30621         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
30622         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
30623         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
30624         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
30625         Likewise.
30626         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
30627         Likewise.
30628         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
30629         this function.
30630         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
30631         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
30632         Likewise.
30633         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
30634         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
30635         * doc/posix-functions/confstr.texi (confstr): Likewise.
30636         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
30637         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
30638         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
30639         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
30640         * doc/posix-functions/fputws.texi (fputws): Likewise.
30641         * doc/posix-functions/fwide.texi (fwide): Likewise.
30642         * doc/posix-functions/getwc.texi (getwc): Likewise.
30643         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
30644         * doc/posix-functions/putwc.texi (putwc): Likewise.
30645         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
30646         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
30647         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
30648         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
30649         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
30650         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
30651         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
30652         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
30653         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
30654         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
30655         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
30656
30657 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30658
30659         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
30660         * lib/ioctl.c: Include <sys/ioctl.h>.
30661
30662 2009-01-19  Simon Josefsson  <simon@josefsson.org>
30663
30664         * modules/getdate-tests (Depends-on): Add progname.
30665         * tests/test-getdate.c: Use progname module, to avoid link errors
30666         on non-glibc systems.
30667
30668 2009-01-18  Simon Josefsson  <simon@josefsson.org>
30669
30670         * modules/filenamecat-tests (Depends-on): Add progname.
30671         * modules/fstrcmp-tests (Depends-on): Likewise.
30672
30673         * tests/test-filenamecat.c: Use progname module, to avoid link
30674         errors on non-glibc systems.
30675         * tests/test-fstrcmp.c: Likewise.
30676
30677 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30678
30679         gettimeofday: avoid warning: nested extern declaration of 'localtime'
30680         * lib/gettimeofday.c: Move extern declaration out of function.
30681
30682 2009-01-18  Bruno Haible  <bruno@clisp.org>
30683
30684         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
30685         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
30686         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
30687
30688 2009-01-18  Bruno Haible  <bruno@clisp.org>
30689
30690         * lib/strftime.c (MEMPCPY): Remove unused macro.
30691         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
30692
30693 2009-01-18  Martin Lambers  <marlam@marlam.de>
30694
30695         New module 'link'.
30696         * lib/unistd.in.h (link): New declaration.
30697         * lib/link.c: New file.
30698         * m4/link.m4: New file.
30699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
30700         HAVE_LINK.
30701         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
30702         * modules/link: New file.
30703         * doc/posix-functions/link.texi: Mention the new module.
30704
30705 2009-01-18  Bruno Haible  <bruno@clisp.org>
30706
30707         * tests/test-avltree_list.c (main): Call set_program_name.
30708         * tests/test-avltree_oset.c (main): Likewise.
30709         * tests/test-obstack-printf.c: Include progname.h.
30710         (main): Call set_program_name.
30711         * tests/test-quotearg.c: Include progname.h.
30712         (main): Call set_program_name.
30713         * tests/test-xmemdup0.c: Include progname.h.
30714         (main): Call set_program_name.
30715
30716 2009-01-18  Bruno Haible  <bruno@clisp.org>
30717
30718         New module 'alphasort'.
30719         * lib/dirent.in.h (alphasort): New declaration.
30720         * lib/alphasort.c: New file, from glibc with modifications.
30721         * m4/alphasort.m4: New file.
30722         * modules/alphasort: New file.
30723         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
30724         HAVE_ALPHASORT.
30725         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
30726         HAVE_ALPHASORT.
30727         * doc/posix-functions/alphasort.texi: Mention the new module and the
30728         portability problems.
30729
30730 2009-01-18  Bruno Haible  <bruno@clisp.org>
30731
30732         New module 'scandir'.
30733         * lib/dirent.in.h (scandir): New declaration.
30734         * lib/scandir.c: New file, from glibc with modifications.
30735         * m4/scandir.m4: New file.
30736         * modules/scandir: New file.
30737         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
30738         HAVE_SCANDIR.
30739         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
30740         HAVE_SCANDIR.
30741         * doc/posix-functions/scandir.texi: Mention the new module and the
30742         portability problems.
30743
30744 2009-01-17  Bruno Haible  <bruno@clisp.org>
30745
30746         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
30747         Update documentation.
30748         (func_remove_suffix): Escape all dots in the suffix. Update
30749         documentation.
30750         (func_filter_filelist): Update documentation.
30751         Reported by Ralf Wildenhues.
30752
30753 2009-01-17  Bruno Haible  <bruno@clisp.org>
30754
30755         * modules/dprintf-posix-tests: New file.
30756         * tests/test-dprintf-posix.sh: New file.
30757         * tests/test-dprintf-posix.c: New file.
30758
30759         New modules 'dprintf', 'dprintf-posix'.
30760         * lib/stdio.in.h (dprintf): New declaration.
30761         * lib/dprintf.c: New file.
30762         * m4/dprintf.m4: New file.
30763         * m4/dprintf-posix.m4: New file.
30764         * modules/dprintf: New file.
30765         * modules/dprintf-posix: New file.
30766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
30767         HAVE_DPRINTF, REPLACE_DPRINTF.
30768         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
30769         HAVE_DPRINTF, REPLACE_DPRINTF.
30770         * doc/posix-functions/dprintf.texi: Mention the new modules.
30771
30772 2009-01-17  Bruno Haible  <bruno@clisp.org>
30773
30774         * modules/vdprintf-posix-tests: New file.
30775         * tests/test-vdprintf-posix.sh: New file.
30776         * tests/test-vdprintf-posix.c: New file.
30777
30778         New modules 'vdprintf', 'vdprintf-posix'.
30779         * lib/stdio.in.h (vdprintf): New declaration.
30780         * lib/vdprintf.c: New file.
30781         * m4/vdprintf.m4: New file.
30782         * m4/vdprintf-posix.m4: New file.
30783         * modules/vdprintf: New file.
30784         * modules/vdprintf-posix: New file.
30785         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
30786         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30787         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
30788         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30789         * doc/posix-functions/vdprintf.texi: Mention the new modules.
30790
30791 2009-01-17  Bruno Haible  <bruno@clisp.org>
30792
30793         Fix replacement of fopen on mingw.
30794         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
30795         mingw.
30796
30797 2009-01-17  Bruno Haible  <bruno@clisp.org>
30798
30799         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30800         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30801
30802 2009-01-17  Bruno Haible  <bruno@clisp.org>
30803
30804         Avoid test-fflush2.sh failure on mingw.
30805         * tests/test-fflush2.c: Include binary-io.h.
30806         (main): Put standard input into binary mode.
30807         * modules/fflush-tests (Depends-on): Add binary-io.
30808
30809 2009-01-17  Bruno Haible  <bruno@clisp.org>
30810
30811         * lib/wchar.in.h: In another particular situation, include only the
30812         system's <wchar.h> file.
30813         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30814         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30815         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30816
30817 2009-01-17  Bruno Haible  <bruno@clisp.org>
30818
30819         Support for stripping executables in --enable-relocatable.
30820         * build-aux/install-reloc: Expect one more argument, or an environment
30821         variable RELOC_STRIP_PROG. If set, strip the destination program and
30822         its wrapper.
30823         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30824         RELOC_STRIP_PROG.
30825         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30826         to set RELOCATABLE_STRIP.
30827         * NEWS: Mention the new Makefile requirement.
30828
30829 2009-01-17  Bruno Haible  <bruno@clisp.org>
30830
30831         * build-aux/install-reloc: Remove debugging information left over by
30832         C compiler on MacOS X.
30833
30834 2009-01-17  Bruno Haible  <bruno@clisp.org>
30835
30836         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30837         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30838         _NSGetExecutablePath.
30839
30840 2009-01-16  Jim Meyering  <meyering@redhat.com>
30841
30842         strerror: avoid warnings about discarding "const"
30843         * lib/strerror.c (rpl_strerror): Instead of returning a const
30844         string from each and every "case", use a variable, and add a single
30845         cast after the switch.
30846
30847 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30848
30849         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30850
30851 2009-01-16  Bruno Haible  <bruno@clisp.org>
30852
30853         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30854         array initializer syntax that also works in C++ mode.
30855         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30856
30857 2009-01-16  Jim Meyering  <meyering@redhat.com>
30858
30859         poll: suppress a warning
30860         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30861         to ignore "...unsigned expression < 0 is always false" warnings.
30862
30863 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30864
30865         poll: remove declarations of unused variables
30866         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30867         sockbuf and optlen.
30868
30869 2009-01-15  Bruno Haible  <bruno@clisp.org>
30870
30871         Make fflush-after-ungetc POSIX compliant on BSD systems.
30872         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30873         (clear_ungetc_buffer): Implement also for other systems.
30874         (rpl_fflush): On glibc systems, invoke
30875         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30876         clear_ungetc_buffer after fetching the stream's position, not before.
30877
30878 2009-01-15  Bruno Haible  <bruno@clisp.org>
30879
30880         Make fflush-after-ungetc POSIX compliant on glibc systems.
30881         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30882         after ungetc.
30883         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30884         (rpl_fflush): On glibc systems, simply call the system's fflush
30885         function after clearing the ungetc buffer.
30886         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30887         Instead, lseek only to the end of file, then use the system's fseeko
30888         for the rest. On glibc systems, reset the EOF indicator bit.
30889
30890 2009-01-15  Jim Meyering  <meyering@redhat.com>
30891
30892         openmp.m4: revert quote-adding change, for portability to older autoconf
30893         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30894         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30895         Simon Josefsson noticed the problem when using autoconf-2.61.
30896
30897 2009-01-15  Bruno Haible  <bruno@clisp.org>
30898
30899         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30900         * tests/test-fflush2.c (ASSERT): Always fail.
30901         (main): Add two tests for fflush() after ungetc(), taking into account
30902         the Austin Group's clarification.
30903         Suggested by Eric Blake.
30904
30905 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30906
30907         mktime.m4: remove K&R-style function prototypes
30908         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30909         for the Sun C++ compiler.
30910
30911 2009-01-14  Bruno Haible  <bruno@clisp.org>
30912
30913         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30914         while including <wchar.h>.
30915         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30916         the system's <wchar.h> file.
30917         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30918
30919 2009-01-14  Bruno Haible  <bruno@clisp.org>
30920
30921         * m4/csharp.m4: Don't mention gettext on the serial number line.
30922         * m4/csharpexec.m4: Likewise.
30923         * m4/eaccess.m4: Likewise.
30924         * m4/javaexec.m4: Likewise.
30925         * m4/sig_atomic_t.m4: Likewise.
30926         * m4/tmpdir.m4: Likewise.
30927         * m4/intldir.m4: Bump gettext version.
30928         * m4/lib-ld.m4: Likewise.
30929
30930 2009-01-14  Bruno Haible  <bruno@clisp.org>
30931
30932         * lib/progname.c (set_program_name): Add more comments.
30933         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30934
30935 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30936
30937         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30938         were sys/stat.h does not define it.
30939
30940 2009-01-14  Jim Meyering  <meyering@redhat.com>
30941
30942         many *.m4 files: improve m4 quoting
30943         99% of this change was performed by running the following commands:
30944         git ls-files | grep '\.m4$' | xargs perl -pi \
30945           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30946           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30947           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30948           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30949         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30950         The remainder were to add Copyright dates, increment serial numbers,
30951         undo some changes in comments, exclude m4/intl.m4, and add quotes
30952         around the "1" in ",1" where the unusual spacing prohibited the
30953         above regexps from doing the job.  For more details, see
30954         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30955         * m4/acl.m4: Modified.
30956         * m4/afs.m4: Likewise.
30957         * m4/alloca.m4: Likewise.
30958         * m4/argp.m4: Likewise.
30959         * m4/argz.m4: Likewise.
30960         * m4/atexit.m4: Likewise.
30961         * m4/bison-i18n.m4: Likewise.
30962         * m4/bison.m4: Likewise.
30963         * m4/byteswap.m4: Likewise.
30964         * m4/c-stack.m4: Likewise.
30965         * m4/c-strtod.m4: Likewise.
30966         * m4/calloc.m4: Likewise.
30967         * m4/canonicalize-lgpl.m4: Likewise.
30968         * m4/chown.m4: Likewise.
30969         * m4/clock_time.m4: Likewise.
30970         * m4/codeset.m4: Likewise.
30971         * m4/copy-file.m4: Likewise.
30972         * m4/csharp.m4: Likewise.
30973         * m4/csharpcomp.m4: Likewise.
30974         * m4/csharpexec.m4: Likewise.
30975         * m4/d-ino.m4: Likewise.
30976         * m4/d-type.m4: Likewise.
30977         * m4/dirfd.m4: Likewise.
30978         * m4/double-slash-root.m4: Likewise.
30979         * m4/eaccess.m4: Likewise.
30980         * m4/eealloc.m4: Likewise.
30981         * m4/environ.m4: Likewise.
30982         * m4/errno_h.m4: Likewise.
30983         * m4/euidaccess.m4: Likewise.
30984         * m4/execute.m4: Likewise.
30985         * m4/fatal-signal.m4: Likewise.
30986         * m4/fchdir.m4: Likewise.
30987         * m4/fcntl_h.m4: Likewise.
30988         * m4/fileblocks.m4: Likewise.
30989         * m4/filenamecat.m4: Likewise.
30990         * m4/findprog.m4: Likewise.
30991         * m4/flexmember.m4: Likewise.
30992         * m4/fnmatch.m4: Likewise.
30993         * m4/fopen.m4: Likewise.
30994         * m4/fpending.m4: Likewise.
30995         * m4/fprintf-posix.m4: Likewise.
30996         * m4/free.m4: Likewise.
30997         * m4/frexp.m4: Likewise.
30998         * m4/frexpl.m4: Likewise.
30999         * m4/fsusage.m4: Likewise.
31000         * m4/ftruncate.m4: Likewise.
31001         * m4/gc-camellia.m4: Likewise.
31002         * m4/gc-random.m4: Likewise.
31003         * m4/gc.m4: Likewise.
31004         * m4/getaddrinfo.m4: Likewise.
31005         * m4/getcwd-abort-bug.m4: Likewise.
31006         * m4/getcwd-path-max.m4: Likewise.
31007         * m4/getdate.m4: Likewise.
31008         * m4/getdomainname.m4: Likewise.
31009         * m4/getgroups.m4: Likewise.
31010         * m4/gethostname.m4: Likewise.
31011         * m4/gethrxtime.m4: Likewise.
31012         * m4/getline.m4: Likewise.
31013         * m4/getloadavg.m4: Likewise.
31014         * m4/getndelim2.m4: Likewise.
31015         * m4/getpass.m4: Likewise.
31016         * m4/gettext.m4: Likewise.
31017         * m4/gettime.m4: Likewise.
31018         * m4/gettimeofday.m4: Likewise.
31019         * m4/gnulib-common.m4: Likewise.
31020         * m4/group-member.m4: Likewise.
31021         * m4/host-os.m4: Likewise.
31022         * m4/iconv.m4: Likewise.
31023         * m4/iconv_open.m4: Likewise.
31024         * m4/inet_ntop.m4: Likewise.
31025         * m4/inet_pton.m4: Likewise.
31026         * m4/inline.m4: Likewise.
31027         * m4/intldir.m4: Likewise.
31028         * m4/intlmacosx.m4: Likewise.
31029         * m4/intmax.m4: Likewise.
31030         * m4/intmax_t.m4: Likewise.
31031         * m4/inttypes.m4: Likewise.
31032         * m4/inttypes_h.m4: Likewise.
31033         * m4/inttypes-pri.m4: Likewise.
31034         * m4/isapipe.m4: Likewise.
31035         * m4/isnand.m4: Likewise.
31036         * m4/isnanf.m4: Likewise.
31037         * m4/isnanl.m4: Likewise.
31038         * m4/javacomp.m4: Likewise.
31039         * m4/javaexec.m4: Likewise.
31040         * m4/jm-winsz1.m4: Likewise.
31041         * m4/jm-winsz2.m4: Likewise.
31042         * m4/lchown.m4: Likewise.
31043         * m4/lcmessage.m4: Likewise.
31044         * m4/ldexpl.m4: Likewise.
31045         * m4/lib-ld.m4: Likewise.
31046         * m4/lib-link.m4: Likewise.
31047         * m4/libsigsegv.m4: Likewise.
31048         * m4/link-follow.m4: Likewise.
31049         * m4/localcharset.m4: Likewise.
31050         * m4/locale-fr.m4: Likewise.
31051         * m4/locale-ja.m4: Likewise.
31052         * m4/locale-tr.m4: Likewise.
31053         * m4/locale-zh.m4: Likewise.
31054         * m4/lock.m4: Likewise.
31055         * m4/longlong.m4: Likewise.
31056         * m4/ls-mntd-fs.m4: Likewise.
31057         * m4/lstat.m4: Likewise.
31058         * m4/malloc.m4: Likewise.
31059         * m4/mathl.m4: Likewise.
31060         * m4/mbrtowc.m4: Likewise.
31061         * m4/mbstate_t.m4: Likewise.
31062         * m4/mbswidth.m4: Likewise.
31063         * m4/memchr.m4: Likewise.
31064         * m4/memcmp.m4: Likewise.
31065         * m4/memcpy.m4: Likewise.
31066         * m4/memmem.m4: Likewise.
31067         * m4/memmove.m4: Likewise.
31068         * m4/mempcpy.m4: Likewise.
31069         * m4/memrchr.m4: Likewise.
31070         * m4/memset.m4: Likewise.
31071         * m4/minmax.m4: Likewise.
31072         * m4/mkdir-slash.m4: Likewise.
31073         * m4/mkdtemp.m4: Likewise.
31074         * m4/mktime.m4: Likewise.
31075         * m4/mmap-anon.m4: Likewise.
31076         * m4/mountlist.m4: Likewise.
31077         * m4/nanosleep.m4: Likewise.
31078         * m4/nls.m4: Likewise.
31079         * m4/nocrash.m4: Likewise.
31080         * m4/open.m4: Likewise.
31081         * m4/openat.m4: Likewise.
31082         * m4/openmp.m4: Likewise.
31083         * m4/pathmax.m4: Likewise.
31084         * m4/perl.m4: Likewise.
31085         * m4/physmem.m4: Likewise.
31086         * m4/pipe.m4: Likewise.
31087         * m4/po.m4: Likewise.
31088         * m4/poll.m4: Likewise.
31089         * m4/posixtm.m4: Likewise.
31090         * m4/posixver.m4: Likewise.
31091         * m4/printf-frexp.m4: Likewise.
31092         * m4/printf-frexpl.m4: Likewise.
31093         * m4/printf-posix.m4: Likewise.
31094         * m4/printf-posix-rpl.m4: Likewise.
31095         * m4/printf.m4: Likewise.
31096         * m4/progtest.m4: Likewise.
31097         * m4/putenv.m4: Likewise.
31098         * m4/readline.m4: Likewise.
31099         * m4/readlink.m4: Likewise.
31100         * m4/readutmp.m4: Likewise.
31101         * m4/realloc.m4: Likewise.
31102         * m4/regex.m4: Likewise.
31103         * m4/relocatable.m4: Likewise.
31104         * m4/relocatable-lib.m4: Likewise.
31105         * m4/rename-dest-slash.m4: Likewise.
31106         * m4/rename.m4: Likewise.
31107         * m4/rmdir-errno.m4: Likewise.
31108         * m4/rmdir.m4: Likewise.
31109         * m4/roundf.m4: Likewise.
31110         * m4/roundl.m4: Likewise.
31111         * m4/rpmatch.m4: Likewise.
31112         * m4/save-cwd.m4: Likewise.
31113         * m4/selinux-selinux-h.m4: Likewise.
31114         * m4/setenv.m4: Likewise.
31115         * m4/settime.m4: Likewise.
31116         * m4/sig2str.m4: Likewise.
31117         * m4/sig_atomic_t.m4: Likewise.
31118         * m4/signalblocking.m4: Likewise.
31119         * m4/signbit.m4: Likewise.
31120         * m4/sigpipe.m4: Likewise.
31121         * m4/sockets.m4: Likewise.
31122         * m4/sockpfaf.m4: Likewise.
31123         * m4/st_dm_mode.m4: Likewise.
31124         * m4/stat-time.m4: Likewise.
31125         * m4/stdbool.m4: Likewise.
31126         * m4/stdint.m4: Likewise.
31127         * m4/stdint_h.m4: Likewise.
31128         * m4/stpcpy.m4: Likewise.
31129         * m4/stpncpy.m4: Likewise.
31130         * m4/strcase.m4: Likewise.
31131         * m4/strchrnul.m4: Likewise.
31132         * m4/strcspn.m4: Likewise.
31133         * m4/strdup.m4: Likewise.
31134         * m4/strftime.m4: Likewise.
31135         * m4/strndup.m4: Likewise.
31136         * m4/strnlen.m4: Likewise.
31137         * m4/strpbrk.m4: Likewise.
31138         * m4/strptime.m4: Likewise.
31139         * m4/strsep.m4: Likewise.
31140         * m4/strtod.m4: Likewise.
31141         * m4/strtoimax.m4: Likewise.
31142         * m4/strtok_r.m4: Likewise.
31143         * m4/strtol.m4: Likewise.
31144         * m4/strtoll.m4: Likewise.
31145         * m4/strtoul.m4: Likewise.
31146         * m4/strtoull.m4: Likewise.
31147         * m4/strtoumax.m4: Likewise.
31148         * m4/strverscmp.m4: Likewise.
31149         * m4/threadlib.m4: Likewise.
31150         * m4/timegm.m4: Likewise.
31151         * m4/tm_gmtoff.m4: Likewise.
31152         * m4/tmpdir.m4: Likewise.
31153         * m4/tmpfile.m4: Likewise.
31154         * m4/tzset.m4: Likewise.
31155         * m4/uintmax_t.m4: Likewise.
31156         * m4/unlinkdir.m4: Likewise.
31157         * m4/unlocked-io.m4: Likewise.
31158         * m4/uptime.m4: Likewise.
31159         * m4/userspec.m4: Likewise.
31160         * m4/utimbuf.m4: Likewise.
31161         * m4/utime.m4: Likewise.
31162         * m4/utimes-null.m4: Likewise.
31163         * m4/utimes.m4: Likewise.
31164         * m4/vararrays.m4: Likewise.
31165         * m4/vasnprintf.m4: Likewise.
31166         * m4/vfprintf-posix.m4: Likewise.
31167         * m4/vprintf-posix.m4: Likewise.
31168         * m4/wait-process.m4: Likewise.
31169         * m4/wchar_t.m4: Likewise.
31170         * m4/wint_t.m4: Likewise.
31171         * m4/write-any-file.m4: Likewise.
31172         * m4/yield.m4: Likewise.
31173
31174 2009-01-13  Bruno Haible  <bruno@clisp.org>
31175
31176         Avoid test-copy-file.sh failures when ACL support insufficient.
31177         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
31178         TESTS_ENVIRONMENT.
31179         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
31180         Reported by Jim Meyering.
31181
31182 2009-01-13  Bruno Haible  <bruno@clisp.org>
31183
31184         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
31185         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
31186         * modules/unistdio/u8-printf-parse (Files): Likewise.
31187         * modules/unistdio/u32-printf-parse (Files): Likewise.
31188         * modules/unistdio/ulc-printf-parse (Files): Likewise.
31189
31190 2009-01-13  Simon Josefsson  <simon@josefsson.org>
31191
31192         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
31193         and m4/inttypes_h.m4 too.
31194
31195 2009-01-12  Eric Blake  <ebb9@byu.net>
31196
31197         tests: IRIX 6.2 cc can't compile -0.0 into .data
31198         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
31199         rather than at compile-time.
31200         * tests/test-floorl.c (minus_zero): Likewise.
31201         * tests/test-frexpl.c (minus_zero): Likewise.
31202         * tests/test-isnan.c (minus_zerol): Likewise.
31203         * tests/test-isnanl.h (minus_zero): Likewise.
31204         * tests/test-ldexpl.c (minus_zero): Likewise.
31205         * tests/test-roundl.c (minus_zero): Likewise.
31206         * tests/test-signbit.c (minus_zerol): Likewise.
31207         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31208         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31209         * tests/test-truncl.c (minus_zero): Likewise.
31210         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31211         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31212         Reported by Tom G. Christensen and Nelson H. F. Beebe.
31213
31214 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31215
31216         regex: fix glibc bug 9697
31217         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
31218         handling.
31219
31220 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31221
31222         regex: fix glibc bug 697
31223         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
31224         being NULL also if there are no backreferences.
31225
31226 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31227
31228         regex: merge glibc changes
31229         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
31230         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
31231         re_string_skip_chars, re_string_reconstruct): Likewise.
31232         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
31233
31234 2009-01-07  Jim Meyering  <meyering@redhat.com>
31235
31236         poll: filter through cppi
31237         * lib/poll.c: Indent cpp directives to reflect nesting.
31238
31239 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
31240
31241         poll: don't return uninitialized
31242         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
31243
31244 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
31245
31246         avoid compile failure on AIX 6.1
31247         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
31248         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
31249
31250 2009-01-04  Jim Meyering  <meyering@redhat.com>
31251
31252         remove duplicate inclusion of <stdio.h>
31253         * tests/test-fprintf-posix.c: Likewise.
31254         * tests/test-printf-posix.c: Likewise.
31255         * tests/test-snprintf-posix.c: Likewise.
31256         * tests/test-sprintf-posix.c: Likewise.
31257         * tests/test-vasprintf-posix.c: Likewise.
31258         * tests/test-vfprintf-posix.c: Likewise.
31259         * tests/test-vprintf-posix.c: Likewise.
31260         * tests/test-vsnprintf-posix.c: Likewise.
31261         * tests/test-vsprintf-posix.c: Likewise.
31262
31263 2009-01-03  Jim Meyering  <meyering@redhat.com>
31264
31265         gnulib-tool: fix sed-based filtering
31266         * gnulib-tool (func_filter_filelist): Remove extra backslash
31267         in sed_fff_filter definition.
31268
31269 2009-01-02  Jim Meyering  <meyering@redhat.com>
31270
31271         strftime: avoid compilation failure on Solaris 2.6
31272         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
31273         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
31274         Don't #define mbrlen or mbsinit, since now they're guaranteed to
31275         be available.  Reported by Tom G. Christensen.  Details in
31276         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
31277
31278 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31279             Bruno Haible  <bruno@clisp.org>
31280
31281         Speed up gnulib-tool by doing more string processing through shell
31282         built-ins.
31283         * gnulib-tool (fast_func_append): New variable.
31284         (func_remove_prefix, func_remove_suffix): New functions.
31285         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
31286         (func_filter_filelist): New function.
31287         (func_get_dependencies): Use func_remove_suffix instead of sed.
31288         (func_get_automake_snippet): Use func_filter_filelist instead of a
31289         subshell and sed invocation.
31290
31291 2009-01-01  Bruno Haible  <bruno@clisp.org>
31292
31293         Fix a security bug.
31294         * gnulib-tool (func_import, import, update): Don't allow the characters
31295         '"', '$', '`', '\' in macro arguments that become part of commands that
31296         are evaluated.
31297
31298 2009-01-01  Bruno Haible  <bruno@clisp.org>
31299
31300         * gnulib-tool (func_reset_sigpipe): Add more comments.
31301
31302 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31303
31304         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
31305         func_emit_tests_Makefile_am, func_import): Abort loops early if we
31306         already know the answer.
31307
31308 2009-01-01  Jim Meyering  <meyering@redhat.com>
31309
31310         * lib/version-etc.c (version_etc_va): Update copyright year.
31311
31312 2008-12-30  Bruno Haible  <bruno@clisp.org>
31313
31314         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
31315         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
31316         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
31317
31318 2008-12-29  Eric Blake  <ebb9@byu.net>
31319
31320         multiarch: avoid autoconf AC_REQUIRE bug
31321         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
31322         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
31323         2.63 and older.
31324         Reported by Bruno Haible, and analyzed in
31325         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
31326
31327 2008-12-29  Bruno Haible  <bruno@clisp.org>
31328
31329         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
31330         files in subdirectories correctly.
31331         Reported by Ralf Wildenhues.
31332
31333 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31334
31335         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
31336         rather than 'join FILE -', for Solaris join.
31337
31338 2008-12-29  Bruno Haible  <bruno@clisp.org>
31339
31340         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
31341         quoting.
31342         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31343         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
31344         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
31345         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
31346         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31347         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31348         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31349         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31350         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31351         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31352         * m4/nls.m4 (AM_NLS): Likewise.
31353         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
31354         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31355         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31356         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31357         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31358         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31359         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
31360         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31361         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31362         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31363         * m4/xsize.m4 (gl_XSIZE): Likewise.
31364         Suggested by Jim Meyering.
31365
31366 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31367
31368         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
31369         * lib/parse-duration.c: use a switch instead of cascading if's.
31370
31371 2008-12-29  Eric Blake  <ebb9@byu.net>
31372
31373         wchar.h: supply WEOF on Irix 5.3
31374         * lib/wchar.in.h (wint_t): Also supply WEOF.
31375         * lib/wctype.in.h (wint_t): Likewise.
31376         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
31377         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
31378         Reported by Tom G. Christensen.
31379
31380 2008-12-26  Bruno Haible  <bruno@clisp.org>
31381
31382         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
31383         i486, i586, i686.
31384
31385 2008-12-26  Bruno Haible  <bruno@clisp.org>
31386
31387         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
31388
31389 2008-12-26  Bruno Haible  <bruno@clisp.org>
31390
31391         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
31392         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
31393         not __STDC_CONSTANT_MACROS.
31394         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31395
31396 2008-12-25  Bruno Haible  <bruno@clisp.org>
31397
31398         Add support for universal builds to vasnprintf.
31399         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
31400         universal builds, guess no.
31401         * modules/vasnprintf-posix (Depends-on): Add multiarch.
31402         * modules/vasprintf-posix (Depends-on): Likewise.
31403         * modules/fprintf-posix (Depends-on): Likewise.
31404         * modules/vfprintf-posix (Depends-on): Likewise.
31405         * modules/snprintf-posix (Depends-on): Likewise.
31406         * modules/vsnprintf-posix (Depends-on): Likewise.
31407         * modules/sprintf-posix (Depends-on): Likewise.
31408         * modules/vsprintf-posix (Depends-on): Likewise.
31409         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31410         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31411         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31412         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31413         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31414         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31415         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31416
31417         Add support for universal builds to <inttypes.h>.
31418         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
31419         _SCNu64_PREFIX): In Apple
31420         universal builds, define directly, using _LP64.
31421         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
31422         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
31423         * modules/inttypes (Depends-on): Add multiarch.
31424         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31425
31426         Add support for universal builds to <stdint.h>.
31427         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
31428         universal builds, define directly, using _LP64.
31429         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
31430         Apple universal builds, don't test for the size and suffix of ptrdiff_t
31431         and size_t.
31432         * modules/stdint (Depends-on): Add multiarch.
31433         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31434
31435         New module 'multiarch'.
31436         * modules/multiarch: New file.
31437         * m4/multiarch.m4: New file.
31438
31439 2008-12-25  Bruno Haible  <bruno@clisp.org>
31440
31441         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
31442
31443 2008-12-25  Bruno Haible  <bruno@clisp.org>
31444
31445         * modules/btowc (License): Relicense under LGPLv2+.
31446         * modules/mbsinit (License): Likewise.
31447         * modules/mbrtowc (License): Likewise.
31448         * modules/wcrtomb (License): Likewise.
31449         * modules/streq (License): Likewise.
31450         Reported by David Lutterkort <lutter@redhat.com>.
31451
31452 2008-12-23  Bruno Haible  <bruno@clisp.org>
31453
31454         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
31455
31456 2008-12-23  Bruno Haible  <bruno@clisp.org>
31457
31458         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
31459         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
31460         GETADDRINFO_LIB, not in LIBS.
31461         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
31462         * modules/canon-host (Link): Likewise.
31463         * NEWS: Mention the change.
31464         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
31465         GETADDRINFO_LIB.
31466
31467 2008-12-22  Bruno Haible  <bruno@clisp.org>
31468
31469         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
31470         * doc/posix-functions/iswalpha_l.texi: Likewise.
31471         * doc/posix-functions/iswblank_l.texi: Likewise.
31472         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31473         * doc/posix-functions/iswctype_l.texi: Likewise.
31474         * doc/posix-functions/iswdigit_l.texi: Likewise.
31475         * doc/posix-functions/iswgraph_l.texi: Likewise.
31476         * doc/posix-functions/iswlower_l.texi: Likewise.
31477         * doc/posix-functions/iswprint_l.texi: Likewise.
31478         * doc/posix-functions/iswpunct_l.texi: Likewise.
31479         * doc/posix-functions/iswspace_l.texi: Likewise.
31480         * doc/posix-functions/iswupper_l.texi: Likewise.
31481         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31482         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
31483         * doc/posix-functions/open_wmemstream.texi: Likewise.
31484         * doc/posix-functions/swscanf.texi: Likewise.
31485         * doc/posix-functions/towctrans_l.texi: Likewise.
31486         * doc/posix-functions/towlower.texi: Likewise.
31487         * doc/posix-functions/towlower_l.texi: Likewise.
31488         * doc/posix-functions/towupper.texi: Likewise.
31489         * doc/posix-functions/towupper_l.texi: Likewise.
31490         * doc/posix-functions/vfwprintf.texi: Likewise.
31491         * doc/posix-functions/vfwscanf.texi: Likewise.
31492         * doc/posix-functions/vswscanf.texi: Likewise.
31493         * doc/posix-functions/vwprintf.texi: Likewise.
31494         * doc/posix-functions/vwscanf.texi: Likewise.
31495         * doc/posix-functions/wcpcpy.texi: Likewise.
31496         * doc/posix-functions/wcpncpy.texi: Likewise.
31497         * doc/posix-functions/wcscasecmp.texi: Likewise.
31498         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
31499         * doc/posix-functions/wcscoll_l.texi: Likewise.
31500         * doc/posix-functions/wcsdup.texi: Likewise.
31501         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31502         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
31503         * doc/posix-functions/wcsnlen.texi: Likewise.
31504         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31505         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31506         * doc/posix-functions/wctrans_l.texi: Likewise.
31507         * doc/posix-functions/wctype_l.texi: Likewise.
31508         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
31509         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
31510         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
31511         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
31512         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
31513         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
31514         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
31515         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
31516         * doc/glibc-functions/wcschrnul.texi: Likewise.
31517         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31518         * doc/glibc-functions/wcstod_l.texi: Likewise.
31519         * doc/glibc-functions/wcstof_l.texi: Likewise.
31520         * doc/glibc-functions/wcstol_l.texi: Likewise.
31521         * doc/glibc-functions/wcstold_l.texi: Likewise.
31522         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31523         * doc/glibc-functions/wcstoq.texi: Likewise.
31524         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31525         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31526         * doc/glibc-functions/wcstouq.texi: Likewise.
31527         * doc/glibc-functions/wmempcpy.texi: Likewise.
31528
31529 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
31530             Eric Blake  <ebb9@byu.net>
31531             Paolo Bonzini  <bonzini@gnu.org>
31532             Bruno Haible  <bruno@clisp.org>
31533
31534         Make c-stack work on Haiku.
31535         * lib/c-stack.c (SA_ONSTACK): Define fallback.
31536         (c_stack_action): Use SA_ONSTACK flag.
31537
31538 2008-12-22  Bruno Haible  <bruno@clisp.org>
31539
31540         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
31541
31542 2008-12-22  Bruno Haible  <bruno@clisp.org>
31543
31544         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
31545         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
31546         being overridden.
31547         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
31548         New macros.
31549         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
31550         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
31551         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
31552         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
31553
31554 2008-12-22  Bruno Haible  <bruno@clisp.org>
31555
31556         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
31557         from test code.
31558
31559 2008-12-22  Eric Blake  <ebb9@byu.net>
31560
31561         Avoid gcc warnings on cygwin.
31562         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
31563         Avoid unused variable.
31564         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
31565         Likewise.
31566
31567 2008-12-22  Bruno Haible  <bruno@clisp.org>
31568
31569         Remove HAVE_MBRTOWC conditionals.
31570         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
31571         (mbscasecmp): Assume mbrtowc function.
31572         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
31573         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
31574         * lib/mbschr.c: Include mbuiter.h unconditionally.
31575         (mbschr): Assume mbrtowc function.
31576         * lib/mbscspn.c: Include mbuiter.h unconditionally.
31577         (mbscspn): Assume mbrtowc function.
31578         * lib/mbslen.c: Include mbuiter.h unconditionally.
31579         (mbslen): Assume mbrtowc function.
31580         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
31581         (mbsncasecmp): Assume mbrtowc function.
31582         * lib/mbsnlen.c: Include mbiter.h unconditionally.
31583         (mbsnlen): Assume mbrtowc function.
31584         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
31585         (mbspbrk): Assume mbrtowc function.
31586         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
31587         (mbspcasecmp): Assume mbrtowc function.
31588         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
31589         (mbsrchr): Assume mbrtowc function.
31590         * lib/mbssep.c: Include mbuiter.h unconditionally.
31591         (mbssep): Assume mbrtowc function.
31592         * lib/mbsspn.c: Include mbuiter.h unconditionally.
31593         (mbsspn): Assume mbrtowc function.
31594         * lib/mbsstr.c: Include mbuiter.h unconditionally.
31595         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
31596         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
31597         (mbstok_r): Assume mbrtowc function.
31598         * lib/propername.c: Include mbuiter.h unconditionally.
31599         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
31600         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
31601         (trim2): Assume mbrtowc function.
31602         * lib/mbswidth.c (mbsinit): Remove fallback definition.
31603         (mbsnwidth): Assume mbrtowc function.
31604         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
31605         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
31606         fallback definitions.
31607         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
31608
31609 2008-12-22  Bruno Haible  <bruno@clisp.org>
31610
31611         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
31612
31613 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
31614
31615         * modules/regex: Request emulations for the mb*/wc* functions we need.
31616         * m4/regex.m4: Don't look for those functions here.
31617         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
31618
31619 2008-12-22  Bruno Haible  <bruno@clisp.org>
31620
31621         * modules/fnmatch (Depends-on): Remove duplicated dependency.
31622
31623 2008-12-21  Bruno Haible  <bruno@clisp.org>
31624
31625         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
31626         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
31627         (Include): Remove conditionalization.
31628         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
31629         (Include): Remove conditionalization.
31630         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
31631         (Include): Remove conditionalization.
31632         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
31633         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31634         * NEWS: Mention the change.
31635         Reported by Alan Hourihane <alanh@fairlite.co.uk>
31636         via Sergey Poznyakoff <gray@gnu.org.ua>.
31637
31638 2008-12-21  Bruno Haible  <bruno@clisp.org>
31639
31640         * MODULES.html.sh (Extended multibyte and wide character utilities
31641         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
31642         wcrtomb, wcsrtombs.
31643         (Support for systems lacking POSIX:2008): Add accept, bind, close,
31644         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
31645         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
31646         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
31647
31648 2008-12-21  Bruno Haible  <bruno@clisp.org>
31649
31650         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
31651
31652 2008-12-21  Bruno Haible  <bruno@clisp.org>
31653
31654         * modules/wcsnrtombs-tests: New file.
31655         * tests/test-wcsnrtombs1.sh: New file.
31656         * tests/test-wcsnrtombs2.sh: New file.
31657         * tests/test-wcsnrtombs3.sh: New file.
31658         * tests/test-wcsnrtombs4.sh: New file.
31659         * tests/test-wcsnrtombs.c: New file.
31660
31661         New module 'wcsnrtombs'.
31662         * lib/wchar.in.h (wcsnrtombs): New declaration.
31663         * lib/wcsnrtombs.c: New file.
31664         * lib/wcsrtombs-state.c: New file.
31665         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
31666         (internal_state): Remove variable.
31667         * m4/wcsnrtombs.m4: New file.
31668         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
31669         compilation units.
31670         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
31671         HAVE_WCSNRTOMBS.
31672         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
31673         HAVE_WCSNRTOMBS.
31674         * modules/wcsnrtombs: New file.
31675         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
31676         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
31677
31678 2008-12-21  Bruno Haible  <bruno@clisp.org>
31679
31680         * modules/wcsrtombs-tests: New file.
31681         * tests/test-wcsrtombs1.sh: New file.
31682         * tests/test-wcsrtombs2.sh: New file.
31683         * tests/test-wcsrtombs3.sh: New file.
31684         * tests/test-wcsrtombs4.sh: New file.
31685         * tests/test-wcsrtombs.c: New file.
31686
31687         New module 'wcsrtombs'.
31688         * lib/wchar.in.h (wcsrtombs): New declaration.
31689         * lib/wcsrtombs.c: New file.
31690         * m4/wcsrtombs.m4: New file.
31691         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
31692         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31693         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
31694         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31695         * modules/wcsrtombs: New file.
31696         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
31697         bugs.
31698
31699 2008-12-21  Bruno Haible  <bruno@clisp.org>
31700
31701         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
31702         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
31703         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
31704         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
31705         if not correct.
31706         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
31707         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
31708         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31709         m4/locale-zh.m4, m4/codeset.m4.
31710         * doc/posix-functions/wcrtomb.texi: Document the bug.
31711
31712 2008-12-21  Bruno Haible  <bruno@clisp.org>
31713
31714         Work around a btowc() bug on IRIX 6.5.
31715         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
31716         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
31717         REPLACE_WTOBC if not.
31718         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
31719         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
31720         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
31721
31722 2008-12-21  Bruno Haible  <bruno@clisp.org>
31723
31724         * modules/wcrtomb-tests: New file.
31725         * tests/test-wcrtomb.sh: New file.
31726         * tests/test-wcrtomb.c: New file.
31727
31728         New module 'wcrtomb'.
31729         * lib/wchar.in.h (wcrtomb): New declaration.
31730         * lib/wcrtomb.c: New file.
31731         * m4/wcrtomb.m4: New file.
31732         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
31733         HAVE_WCRTOMB.
31734         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
31735         HAVE_WCRTOMB.
31736         * modules/wcrtomb: New file.
31737         * doc/posix-functions/wcrtomb.texi: Mention the new module.
31738
31739 2008-12-21  Bruno Haible  <bruno@clisp.org>
31740
31741         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
31742         * modules/mbsrtowcs (Files): Likewise.
31743         * modules/wctob (Files): Likewise.
31744         * modules/c-strcase-tests (Files): Likewise.
31745         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31746         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31747         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
31748         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
31749         * modules/vasnprintf-posix-tests (Files): Likewise.
31750
31751 2008-12-21  William Pursell  <bill.pursell@gmail.com>
31752
31753         gitlog-to-changelog: pass all command-line arguments to git-log
31754         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
31755         it is sometimes convenient to filter the commits in various ways.
31756         gitlog-to-changelog only allows --since to specify a start date,
31757         but git-log itself supports many other filtering mechanisms.
31758         At the moment, I want to filter by branch name.  Rather than
31759         adding a --branch option to gitlog-to-changelog, it seems more
31760         flexible to simply pass all options directly to git-log and let
31761         git do the work.  Notice that this effectively makes --since a
31762         redundant option for gitlog-to-changelog, but removing it would
31763         require current usage to change since calls would then require
31764         an additional '--'.
31765
31766 2008-12-21  Bruno Haible  <bruno@clisp.org>
31767
31768         * modules/mbsnrtowcs-tests: New file.
31769         * tests/test-mbsnrtowcs1.sh: New file.
31770         * tests/test-mbsnrtowcs2.sh: New file.
31771         * tests/test-mbsnrtowcs3.sh: New file.
31772         * tests/test-mbsnrtowcs4.sh: New file.
31773         * tests/test-mbsnrtowcs.c: New file.
31774
31775         New module 'mbsnrtowcs'.
31776         * lib/wchar.in.h (mbsnrtowcs): New declaration.
31777         * lib/mbsnrtowcs.c: New file.
31778         * lib/mbsrtowcs-state.c: New file.
31779         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
31780         (internal_state): Remove variable.
31781         * m4/mbsnrtowcs.m4: New file.
31782         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
31783         compilation units.
31784         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
31785         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31786         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
31787         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31788         * modules/mbsnrtowcs: New file.
31789         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
31790         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
31791         portability problem.
31792
31793 2008-12-21  Bruno Haible  <bruno@clisp.org>
31794
31795         Work around mbsrtowcs bug.
31796         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31797         (gl_FUNC_MBSRTOWCS): Invoke it.
31798         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31799         m4/locale-zh.m4.
31800         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31801
31802 2008-12-21  Bruno Haible  <bruno@clisp.org>
31803
31804         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31805
31806 2008-12-21  Bruno Haible  <bruno@clisp.org>
31807
31808         Update doc for AIX.
31809         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31810         16-bit wchar_t type.
31811         * doc/posix-functions/btowc.texi: Likewise.
31812         * doc/posix-functions/fgetwc.texi: Likewise.
31813         * doc/posix-functions/fgetws.texi: Likewise.
31814         * doc/posix-functions/fputwc.texi: Likewise.
31815         * doc/posix-functions/fputws.texi: Likewise.
31816         * doc/posix-functions/fwide.texi: Likewise.
31817         * doc/posix-functions/fwprintf.texi: Likewise.
31818         * doc/posix-functions/fwscanf.texi: Likewise.
31819         * doc/posix-functions/getwchar.texi: Likewise.
31820         * doc/posix-functions/getwc.texi: Likewise.
31821         * doc/posix-functions/iswalnum.texi: Likewise.
31822         * doc/posix-functions/iswalpha.texi: Likewise.
31823         * doc/posix-functions/iswblank.texi: Likewise.
31824         * doc/posix-functions/iswcntrl.texi: Likewise.
31825         * doc/posix-functions/iswctype.texi: Likewise.
31826         * doc/posix-functions/iswdigit.texi: Likewise.
31827         * doc/posix-functions/iswgraph.texi: Likewise.
31828         * doc/posix-functions/iswlower.texi: Likewise.
31829         * doc/posix-functions/iswprint.texi: Likewise.
31830         * doc/posix-functions/iswpunct.texi: Likewise.
31831         * doc/posix-functions/iswspace.texi: Likewise.
31832         * doc/posix-functions/iswupper.texi: Likewise.
31833         * doc/posix-functions/iswxdigit.texi: Likewise.
31834         * doc/posix-functions/mbrtowc.texi: Likewise.
31835         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31836         * doc/posix-functions/mbstowcs.texi: Likewise.
31837         * doc/posix-functions/mbtowc.texi: Likewise.
31838         * doc/posix-functions/putwchar.texi: Likewise.
31839         * doc/posix-functions/putwc.texi: Likewise.
31840         * doc/posix-functions/swprintf.texi: Likewise.
31841         * doc/posix-functions/tolower.texi: Likewise.
31842         * doc/posix-functions/toupper.texi: Likewise.
31843         * doc/posix-functions/towctrans.texi: Likewise.
31844         * doc/posix-functions/ungetwc.texi: Likewise.
31845         * doc/posix-functions/vswprintf.texi: Likewise.
31846         * doc/posix-functions/wcrtomb.texi: Likewise.
31847         * doc/posix-functions/wcscat.texi: Likewise.
31848         * doc/posix-functions/wcschr.texi: Likewise.
31849         * doc/posix-functions/wcscmp.texi: Likewise.
31850         * doc/posix-functions/wcscoll.texi: Likewise.
31851         * doc/posix-functions/wcscpy.texi: Likewise.
31852         * doc/posix-functions/wcscspn.texi: Likewise.
31853         * doc/posix-functions/wcsftime.texi: Likewise.
31854         * doc/posix-functions/wcslen.texi: Likewise.
31855         * doc/posix-functions/wcsncat.texi: Likewise.
31856         * doc/posix-functions/wcsncmp.texi: Likewise.
31857         * doc/posix-functions/wcsncpy.texi: Likewise.
31858         * doc/posix-functions/wcspbrk.texi: Likewise.
31859         * doc/posix-functions/wcsrchr.texi: Likewise.
31860         * doc/posix-functions/wcsrtombs.texi: Likewise.
31861         * doc/posix-functions/wcsspn.texi: Likewise.
31862         * doc/posix-functions/wcsstr.texi: Likewise.
31863         * doc/posix-functions/wcstod.texi: Likewise.
31864         * doc/posix-functions/wcstof.texi: Likewise.
31865         * doc/posix-functions/wcstoimax.texi: Likewise.
31866         * doc/posix-functions/wcstok.texi: Likewise.
31867         * doc/posix-functions/wcstold.texi: Likewise.
31868         * doc/posix-functions/wcstoll.texi: Likewise.
31869         * doc/posix-functions/wcstol.texi: Likewise.
31870         * doc/posix-functions/wcstombs.texi: Likewise.
31871         * doc/posix-functions/wcstoull.texi: Likewise.
31872         * doc/posix-functions/wcstoul.texi: Likewise.
31873         * doc/posix-functions/wcstoumax.texi: Likewise.
31874         * doc/posix-functions/wcswidth.texi: Likewise.
31875         * doc/posix-functions/wcsxfrm.texi: Likewise.
31876         * doc/posix-functions/wctob.texi: Likewise.
31877         * doc/posix-functions/wctomb.texi: Likewise.
31878         * doc/posix-functions/wctrans.texi: Likewise.
31879         * doc/posix-functions/wctype.texi: Likewise.
31880         * doc/posix-functions/wcwidth.texi: Likewise.
31881         * doc/posix-functions/wmemchr.texi: Likewise.
31882         * doc/posix-functions/wmemcmp.texi: Likewise.
31883         * doc/posix-functions/wmemcpy.texi: Likewise.
31884         * doc/posix-functions/wmemmove.texi: Likewise.
31885         * doc/posix-functions/wmemset.texi: Likewise.
31886         * doc/posix-functions/wprintf.texi: Likewise.
31887         * doc/posix-functions/wscanf.texi: Likewise.
31888
31889 2008-12-21  Bruno Haible  <bruno@clisp.org>
31890
31891         Update doc for HP-UX 11.11.
31892         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31893         in HP-UX version 11.00, not in all versions of HP-UX 11.
31894         * doc/posix-functions/fwide.texi: Likewise.
31895         * doc/posix-functions/fwprintf.texi: Likewise.
31896         * doc/posix-functions/fwscanf.texi: Likewise.
31897         * doc/posix-functions/inet_ntop.texi: Likewise.
31898         * doc/posix-functions/inet_pton.texi: Likewise.
31899         * doc/posix-functions/mbrlen.texi: Likewise.
31900         * doc/posix-functions/mbrtowc.texi: Likewise.
31901         * doc/posix-functions/mbsinit.texi: Likewise.
31902         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31903         * doc/posix-functions/swprintf.texi: Likewise.
31904         * doc/posix-functions/swscanf.texi: Likewise.
31905         * doc/posix-functions/towctrans.texi: Likewise.
31906         * doc/posix-functions/vfwprintf.texi: Likewise.
31907         * doc/posix-functions/vswprintf.texi: Likewise.
31908         * doc/posix-functions/vwprintf.texi: Likewise.
31909         * doc/posix-functions/wcrtomb.texi: Likewise.
31910         * doc/posix-functions/wcsrtombs.texi: Likewise.
31911         * doc/posix-functions/wcsstr.texi: Likewise.
31912         * doc/posix-functions/wctob.texi: Likewise.
31913         * doc/posix-functions/wctrans.texi: Likewise.
31914         * doc/posix-functions/wmemchr.texi: Likewise.
31915         * doc/posix-functions/wmemcmp.texi: Likewise.
31916         * doc/posix-functions/wmemcpy.texi: Likewise.
31917         * doc/posix-functions/wmemmove.texi: Likewise.
31918         * doc/posix-functions/wmemset.texi: Likewise.
31919         * doc/posix-functions/wprintf.texi: Likewise.
31920         * doc/posix-functions/wscanf.texi: Likewise.
31921
31922 2008-12-21  Bruno Haible  <bruno@clisp.org>
31923
31924         Work around a portability problem.
31925         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31926         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31927
31928 2008-12-20  Bruno Haible  <bruno@clisp.org>
31929
31930         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31931         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31932         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31934         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31935
31936         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31937         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31938         set.
31939         (GNULIB_defined_mbstate_t): New macro.
31940         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31941         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31942         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31943         reuses the system's mbrtowc function but works around the bugs.
31944         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31945         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31946         macros.
31947         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31948         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31949         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31950         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31951         REPLACE_MBSINIT if mbsinit needs to be overridden.
31952         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31953         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31954         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31955         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31956         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31957         m4/locale-zh.m4.
31958         (Depends): Add mbsinit.
31959         * modules/mbsinit (Depends): Add mbrtowc.
31960         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31961
31962 2008-12-20  Bruno Haible  <bruno@clisp.org>
31963
31964         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31965         so that there are no conversion errors on AIX.
31966         * tests/test-mbsrtowcs.c (main): LIkewise.
31967
31968 2008-12-20  Bruno Haible  <bruno@clisp.org>
31969
31970         Work around wctob bug on Solaris <= 9.
31971         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31972         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31973         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31974         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31975         * modules/wctob (Files): Add m4/locale-fr.m4.
31976         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31977
31978 2008-12-20  Bruno Haible  <bruno@clisp.org>
31979
31980         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31981         /dev/null.
31982         * tests/test-select-in.sh: Likewise.
31983         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31984
31985 2008-12-20  Bruno Haible  <bruno@clisp.org>
31986
31987         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31988         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31989         Cygwin 1.5.x.
31990
31991 2008-12-20  Bruno Haible  <bruno@clisp.org>
31992
31993         Ensure mbstate_t is defined on HP-UX 11.11.
31994         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31995         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31996         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31997         AC_USE_SYSTEM_EXTENSIONS.
31998         * modules/fnmatch (Depends-on): Add extensions.
31999         * modules/mbrlen (Depends-on): Likewise.
32000         * modules/mbrtowc (Depends-on): Likewise.
32001         * modules/mbsinit (Depends-on): Likewise.
32002         * modules/mbsrtowcs (Depends-on): Likewise.
32003         * modules/mbswidth (Depends-on): Likewise.
32004         * modules/quotearg (Depends-on): Likewise.
32005         * modules/strftime (Depends-on): Likewise.
32006
32007 2008-12-20  Bruno Haible  <bruno@clisp.org>
32008
32009         Ensure wctob is declared on IRIX 6.5.
32010         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
32011         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
32012         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
32013         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
32014         of HAVE_WCTOB.
32015         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
32016         HAVE_WCTOB.
32017         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
32018
32019 2008-12-19  Bruno Haible  <bruno@clisp.org>
32020
32021         * modules/mbsrtowcs-tests: New file.
32022         * tests/test-mbsrtowcs1.sh: New file.
32023         * tests/test-mbsrtowcs2.sh: New file.
32024         * tests/test-mbsrtowcs3.sh: New file.
32025         * tests/test-mbsrtowcs4.sh: New file.
32026         * tests/test-mbsrtowcs.c: New file.
32027
32028         New module 'mbsrtowcs'.
32029         * lib/wchar.in.h (mbsrtowcs): New declaration.
32030         * lib/mbsrtowcs.c: New file.
32031         * m4/mbsrtowcs.m4: New file.
32032         * modules/mbsrtowcs: New file.
32033         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
32034         HAVE_MBSRTOWCS.
32035         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
32036         HAVE_MBSRTOWCS.
32037         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
32038
32039 2008-12-19  Bruno Haible  <bruno@clisp.org>
32040
32041         New module 'mbrlen'.
32042         * lib/wchar.in.h (mbrlen): New declaration.
32043         * lib/mbrlen.c: New file.
32044         * m4/mbrlen.m4: New file.
32045         * modules/mbrlen: New file.
32046         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
32047         HAVE_MBRLEN.
32048         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
32049         HAVE_MBRLEN.
32050         * doc/posix-functions/mbrlen.texi: Document the new module.
32051
32052 2008-12-19  Bruno Haible  <bruno@clisp.org>
32053
32054         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
32055         * modules/mbrtowc (Depends-on): Add verify.
32056         Suggested by Paul Eggert.
32057
32058 2008-12-18  Bruno Haible  <bruno@clisp.org>
32059
32060         * modules/mbsinit-tests: New file.
32061         * tests/test-mbsinit.sh: New file.
32062         * tests/test-mbsinit.c: New file.
32063
32064 2008-12-18  Bruno Haible  <bruno@clisp.org>
32065
32066         * modules/mbrtowc-tests: New file.
32067         * tests/test-mbrtowc1.sh: New file.
32068         * tests/test-mbrtowc2.sh: New file.
32069         * tests/test-mbrtowc3.sh: New file.
32070         * tests/test-mbrtowc4.sh: New file.
32071         * tests/test-mbrtowc.c: New file.
32072
32073         New module 'mbrtowc'.
32074         * lib/wchar.in.h (mbstate_t): Override when the system does not have
32075         mbsinit and mbrtowc.
32076         (mbrtowc): New declaration.
32077         * lib/mbrtowc.c: New file.
32078         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
32079         * modules/mbrtowc: New file.
32080         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
32081         HAVE_MBRTOWC.
32082         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
32083         HAVE_MBRTOWC.
32084         * doc/posix-functions/mbrtowc.texi: Document the new module.
32085
32086 2008-12-18  Bruno Haible  <bruno@clisp.org>
32087
32088         New module 'wctob'.
32089         * lib/wchar.in.h (wctob): New declaration.
32090         * lib/wctob.c: New file.
32091         * m4/wctob.m4: New file.
32092         * modules/wctob: New file.
32093         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
32094         HAVE_WCTOB.
32095         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
32096         * doc/posix-functions/wctob.texi: Document the new module.
32097
32098 2008-12-18  Bruno Haible  <bruno@clisp.org>
32099
32100         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
32101         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
32102
32103 2008-12-18  Simon Josefsson  <simon@josefsson.org>
32104
32105         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
32106         G. Christensen" <tgc@jupiterrise.com>.
32107
32108         * lib/flock.c: Need to include errno.h.  Reported by "Tom
32109         G. Christensen" <tgc@jupiterrise.com>.
32110
32111         * lib/flock.c: Need to include string.h.  Reported by "Tom
32112         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
32113         <ebb9@byu.net>.
32114
32115 2008-12-18  Bruno Haible  <bruno@clisp.org>
32116
32117         * m4/locale-ja.m4: New file, from GNU gettext.
32118
32119 2008-12-17  Bruno Haible  <bruno@clisp.org>
32120
32121         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
32122         Suggested by Eric Blake.
32123
32124 2008-12-17  Bruno Haible  <bruno@clisp.org>
32125
32126         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
32127
32128 2008-12-17  Bruno Haible  <bruno@clisp.org>
32129
32130         * lib/mbsinit.c: Include verify.h. Verify an assumption.
32131         * modules/mbsinit (Depends-on): Add verify.
32132         Suggested by Paul Eggert.
32133
32134 2008-12-17  Bruno Haible  <bruno@clisp.org>
32135
32136         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
32137         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
32138         gl_FUNC_MBRTOWC.
32139         * m4/mbiter.m4 (gl_MBITER): LIkewise.
32140         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
32141         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
32142         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
32143         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
32144         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
32145         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
32146         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
32147         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
32148         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
32149         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
32150         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
32151         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
32152         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
32153         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
32154         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32155         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
32156         * modules/trim (configure.ac): Likewise.
32157
32158 2008-12-17  Bruno Haible  <bruno@clisp.org>
32159
32160         * modules/btowc-tests: New file.
32161         * tests/test-btowc1.sh: New file.
32162         * tests/test-btowc2.sh: New file.
32163         * tests/test-btowc.c: New file.
32164
32165         New module 'btowc'.
32166         * lib/wchar.in.h (btowc): New declaration.
32167         * lib/btowc.c: New file.
32168         * m4/btowc.m4: New file.
32169         * modules/btowc: New file.
32170         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
32171         HAVE_BTOWC.
32172         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
32173         * doc/posix-functions/btowc.texi: Document the new module.
32174
32175 2008-12-17  Bruno Haible  <bruno@clisp.org>
32176
32177         New module 'mbsinit'.
32178         * lib/wchar.in.h (mbsinit): New declaration.
32179         * lib/mbsinit.c: New file.
32180         * m4/mbsinit.m4: New file.
32181         * modules/mbsinit: New file.
32182         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
32183         HAVE_MBSINIT.
32184         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
32185         HAVE_MBSINIT.
32186         * doc/posix-functions/mbsinit.texi: Document the new module.
32187
32188 2008-12-16  Bruno Haible  <bruno@clisp.org>
32189
32190         * lib/unistd.in.h: Add comment.
32191         * tests/test-environ.c: Don't include <stdlib.h>.
32192
32193 2008-12-16  Bruno Haible  <bruno@clisp.org>
32194
32195         * lib/parse-duration.h (parse_duration): Document return value
32196         convention.
32197         * lib/parse-duration.c: Include specification header first. Add
32198         comments.
32199         (_): Remove macro.
32200         (parse_year_month_day, parse_hour_minute_second): Move side effects
32201         outside of strchr call.
32202         (parse_non_iso8601): Move side effects outside of isspace call.
32203         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
32204         call.
32205
32206 2008-12-16  Bruno Haible  <bruno@clisp.org>
32207
32208         * tests/test-parse-duration.sh: Produce no output when the test
32209         succeeds.
32210
32211 2008-12-16  Bruno Haible  <bruno@clisp.org>
32212
32213         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
32214         expressions.
32215
32216 2008-12-15  Bruno Haible  <bruno@clisp.org>
32217
32218         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
32219         * doc/glibc-functions/flistxattr.texi: Likewise.
32220         * doc/glibc-functions/fopencookie.texi: Likewise.
32221         * doc/glibc-functions/fremovexattr.texi: Likewise.
32222         * doc/glibc-functions/fsetxattr.texi: Likewise.
32223         * doc/glibc-functions/getxattr.texi: Likewise.
32224         * doc/glibc-functions/lgetxattr.texi: Likewise.
32225         * doc/glibc-functions/listxattr.texi: Likewise.
32226         * doc/glibc-functions/llistxattr.texi: Likewise.
32227         * doc/glibc-functions/lremovexattr.texi: Likewise.
32228         * doc/glibc-functions/lsetxattr.texi: Likewise.
32229         * doc/glibc-functions/removexattr.texi: Likewise.
32230         * doc/glibc-functions/setxattr.texi: Likewise.
32231         * doc/posix-functions/open_memstream.texi: Likewise.
32232
32233 2008-12-15  Eric Blake  <ebb9@byu.net>
32234
32235         Update doc for cygwin 1.7.
32236         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
32237         functions.
32238         * doc/posix-functions/fchmodat.texi: Likewise.
32239         * doc/posix-functions/fchownat.texi: Likewise.
32240         * doc/posix-functions/fdopendir.texi: Likewise.
32241         * doc/posix-functions/fmemopen.texi: Likewise.
32242         * doc/posix-functions/freeaddrinfo.texi: Likewise.
32243         * doc/posix-functions/fstatat.texi: Likewise.
32244         * doc/posix-functions/futimens.texi: Likewise.
32245         * doc/posix-functions/gai_strerror.texi: Likewise.
32246         * doc/posix-functions/getaddrinfo.texi: Likewise.
32247         * doc/posix-functions/getnameinfo.texi: Likewise.
32248         * doc/posix-functions/if_freenameindex.texi: Likewise.
32249         * doc/posix-functions/if_indextoname.texi: Likewise.
32250         * doc/posix-functions/if_nameindex.texi: Likewise.
32251         * doc/posix-functions/if_nametoindex.texi: Likewise.
32252         * doc/posix-functions/insque.texi: Likewise.
32253         * doc/posix-functions/linkat.texi: Likewise.
32254         * doc/posix-functions/llrint.texi: Likewise.
32255         * doc/posix-functions/llrintf.texi: Likewise.
32256         * doc/posix-functions/llrintl.texi: Likewise.
32257         * doc/posix-functions/lockf.texi: Likewise.
32258         * doc/posix-functions/lrintl.texi: Likewise.
32259         * doc/posix-functions/mkdirat.texi: Likewise.
32260         * doc/posix-functions/mkfifoat.texi: Likewise.
32261         * doc/posix-functions/mknodat.texi: Likewise.
32262         * doc/posix-functions/mq_close.texi: Likewise.
32263         * doc/posix-functions/mq_getattr.texi: Likewise.
32264         * doc/posix-functions/mq_notify.texi: Likewise.
32265         * doc/posix-functions/mq_open.texi: Likewise.
32266         * doc/posix-functions/mq_receive.texi: Likewise.
32267         * doc/posix-functions/mq_send.texi: Likewise.
32268         * doc/posix-functions/mq_setattr.texi: Likewise.
32269         * doc/posix-functions/mq_timedreceive.texi: Likewise.
32270         * doc/posix-functions/mq_timedsend.texi: Likewise.
32271         * doc/posix-functions/mq_unlink.texi: Likewise.
32272         * doc/posix-functions/open_memstream.texi: Likewise.
32273         * doc/posix-functions/openat.texi: Likewise.
32274         * doc/posix-functions/posix_fadvise.texi: Likewise.
32275         * doc/posix-functions/posix_fallocate.texi: Likewise.
32276         * doc/posix-functions/posix_madvise.texi: Likewise.
32277         * doc/posix-functions/posix_memalign.texi: Likewise.
32278         * doc/posix-functions/posix_openpt.texi: Likewise.
32279         * doc/posix-functions/readlinkat.texi: Likewise.
32280         * doc/posix-functions/remque.texi: Likewise.
32281         * doc/posix-functions/renameat.texi: Likewise.
32282         * doc/posix-functions/rintl.texi: Likewise.
32283         * doc/posix-functions/sem_unlink.texi: Likewise.
32284         * doc/posix-functions/shm_open.texi: Likewise.
32285         * doc/posix-functions/shm_unlink.texi: Likewise.
32286         * doc/posix-functions/signgam.texi: Likewise.
32287         * doc/posix-functions/sigset.texi: Likewise.
32288         * doc/posix-functions/stpcpy.texi: Likewise.
32289         * doc/posix-functions/stpncpy.texi: Likewise.
32290         * doc/posix-functions/strerror.texi: Likewise.
32291         * doc/posix-functions/strtod.texi: Likewise.
32292         * doc/posix-functions/symlinkat.texi: Likewise.
32293         * doc/posix-functions/unlinkat.texi: Likewise.
32294         * doc/posix-functions/utimensat.texi: Likewise.
32295         * doc/glibc-functions/bindresvport.texi: Likewise.
32296         * doc/glibc-functions/dn_expand.texi: Likewise.
32297         * doc/glibc-functions/exp10.texi: Likewise.
32298         * doc/glibc-functions/exp10f.texi: Likewise.
32299         * doc/glibc-functions/fgetxattr.texi: Likewise.
32300         * doc/glibc-functions/flistxattr.texi: Likewise.
32301         * doc/glibc-functions/fopencookie.texi: Likewise.
32302         * doc/glibc-functions/freeifaddrs.texi: Likewise.
32303         * doc/glibc-functions/fremovexattr.texi: Likewise.
32304         * doc/glibc-functions/fsetxattr.texi: Likewise.
32305         * doc/glibc-functions/getifaddrs.texi: Likewise.
32306         * doc/glibc-functions/getxattr.texi: Likewise.
32307         * doc/glibc-functions/lgetxattr.texi: Likewise.
32308         * doc/glibc-functions/listxattr.texi: Likewise.
32309         * doc/glibc-functions/llistxattr.texi: Likewise.
32310         * doc/glibc-functions/lremovexattr.texi: Likewise.
32311         * doc/glibc-functions/lsetxattr.texi: Likewise.
32312         * doc/glibc-functions/pow10.texi: Likewise.
32313         * doc/glibc-functions/pow10f.texi: Likewise.
32314         * doc/glibc-functions/rcmd_af.texi: Likewise.
32315         * doc/glibc-functions/removexattr.texi: Likewise.
32316         * doc/glibc-functions/res_init.texi: Likewise.
32317         * doc/glibc-functions/res_mkquery.texi: Likewise.
32318         * doc/glibc-functions/res_query.texi: Likewise.
32319         * doc/glibc-functions/res_querydomain.texi: Likewise.
32320         * doc/glibc-functions/res_send.texi: Likewise.
32321         * doc/glibc-functions/rresvport_af.texi: Likewise.
32322         * doc/glibc-functions/setxattr.texi: Likewise.
32323         * doc/glibc-functions/strcasestr.texi: Likewise.
32324
32325 2008-12-15  Bruno Haible  <bruno@clisp.org>
32326
32327         Fix compilation error on OSF/1 4.0.
32328         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
32329         <sys/time.h>, simply delegate to the system header.
32330         Reported by Daniel Richard G. <oss@teragram.com>.
32331
32332 2008-12-15  Bruno Haible  <bruno@clisp.org>
32333
32334         * doc/posix-functions/openat.texi: Mention the 'openat' module.
32335         * doc/posix-functions/fchmodat.texi: Likewise.
32336         * doc/posix-functions/fchownat.texi: Likewise.
32337         * doc/posix-functions/fdopendir.texi: Likewise.
32338         * doc/posix-functions/fstatat.texi: Likewise.
32339         * doc/posix-functions/mkdirat.texi: Likewise.
32340         * doc/posix-functions/unlinkat.texi: Likewise.
32341
32342 2008-12-14  Bruno Haible  <bruno@clisp.org>
32343
32344         Update doc for POSIX:2008.
32345         * doc/posix-functions/faccessat.texi: New file.
32346         * doc/posix-functions/fchmodat.texi: New file.
32347         * doc/posix-functions/fchownat.texi: New file.
32348         * doc/posix-functions/fdopendir.texi: New file.
32349         * doc/posix-functions/fstatat.texi: New file.
32350         * doc/posix-functions/futimens.texi: New file.
32351         * doc/posix-functions/linkat.texi: New file.
32352         * doc/posix-functions/mkdirat.texi: New file.
32353         * doc/posix-functions/mkfifoat.texi: New file.
32354         * doc/posix-functions/mknodat.texi: New file.
32355         * doc/posix-functions/open_wmemstream.texi: New file.
32356         * doc/posix-functions/openat.texi: New file.
32357         * doc/posix-functions/psiginfo.texi: New file.
32358         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
32359         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
32360         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
32361         * doc/posix-functions/readlinkat.texi: New file.
32362         * doc/posix-functions/renameat.texi: New file.
32363         * doc/posix-functions/strerror_l.texi: New file.
32364         * doc/posix-functions/symlinkat.texi: New file.
32365         * doc/posix-functions/unlinkat.texi: New file.
32366         * doc/posix-functions/utimensat.texi: New file.
32367         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32368
32369 2008-12-14  Bruno Haible  <bruno@clisp.org>
32370
32371         Update doc for POSIX:2008.
32372         * doc/posix-functions/alphasort.texi: Renamed from
32373         doc/glibc-functions/alphasort.texi.
32374         * doc/posix-functions/dirfd.texi: Renamed from
32375         doc/glibc-functions/dirfd.texi.
32376         * doc/posix-functions/dprintf.texi: Renamed from
32377         doc/glibc-functions/dprintf.texi.
32378         * doc/posix-functions/duplocale.texi: Renamed from
32379         doc/glibc-functions/duplocale.texi.
32380         * doc/posix-functions/fexecve.texi: Renamed from
32381         doc/glibc-functions/fexecve.texi.
32382         * doc/posix-functions/fmemopen.texi: Renamed from
32383         doc/glibc-functions/fmemopen.texi.
32384         * doc/posix-functions/freelocale.texi: Renamed from
32385         doc/glibc-functions/freelocale.texi.
32386         * doc/posix-functions/getdate_err.texi: Renamed from
32387         doc/glibc-functions/getdate_err.texi.
32388         * doc/posix-functions/isalnum_l.texi: Renamed from
32389         doc/glibc-functions/isalnum_l.texi.
32390         * doc/posix-functions/isalpha_l.texi: Renamed from
32391         doc/glibc-functions/isalpha_l.texi.
32392         * doc/posix-functions/isblank_l.texi: Renamed from
32393         doc/glibc-functions/isblank_l.texi.
32394         * doc/posix-functions/iscntrl_l.texi: Renamed from
32395         doc/glibc-functions/iscntrl_l.texi.
32396         * doc/posix-functions/isdigit_l.texi: Renamed from
32397         doc/glibc-functions/isdigit_l.texi.
32398         * doc/posix-functions/isgraph_l.texi: Renamed from
32399         doc/glibc-functions/isgraph_l.texi.
32400         * doc/posix-functions/islower_l.texi: Renamed from
32401         doc/glibc-functions/islower_l.texi.
32402         * doc/posix-functions/isprint_l.texi: Renamed from
32403         doc/glibc-functions/isprint_l.texi.
32404         * doc/posix-functions/ispunct_l.texi: Renamed from
32405         doc/glibc-functions/ispunct_l.texi.
32406         * doc/posix-functions/isspace_l.texi: Renamed from
32407         doc/glibc-functions/isspace_l.texi.
32408         * doc/posix-functions/isupper_l.texi: Renamed from
32409         doc/glibc-functions/isupper_l.texi.
32410         * doc/posix-functions/iswalnum_l.texi: Renamed from
32411         doc/glibc-functions/iswalnum_l.texi.
32412         * doc/posix-functions/iswalpha_l.texi: Renamed from
32413         doc/glibc-functions/iswalpha_l.texi.
32414         * doc/posix-functions/iswblank_l.texi: Renamed from
32415         doc/glibc-functions/iswblank_l.texi.
32416         * doc/posix-functions/iswcntrl_l.texi: Renamed from
32417         doc/glibc-functions/iswcntrl_l.texi.
32418         * doc/posix-functions/iswctype_l.texi: Renamed from
32419         doc/glibc-functions/iswctype_l.texi.
32420         * doc/posix-functions/iswdigit_l.texi: Renamed from
32421         doc/glibc-functions/iswdigit_l.texi.
32422         * doc/posix-functions/iswgraph_l.texi: Renamed from
32423         doc/glibc-functions/iswgraph_l.texi.
32424         * doc/posix-functions/iswlower_l.texi: Renamed from
32425         doc/glibc-functions/iswlower_l.texi.
32426         * doc/posix-functions/iswprint_l.texi: Renamed from
32427         doc/glibc-functions/iswprint_l.texi.
32428         * doc/posix-functions/iswpunct_l.texi: Renamed from
32429         doc/glibc-functions/iswpunct_l.texi.
32430         * doc/posix-functions/iswspace_l.texi: Renamed from
32431         doc/glibc-functions/iswspace_l.texi.
32432         * doc/posix-functions/iswupper_l.texi: Renamed from
32433         doc/glibc-functions/iswupper_l.texi.
32434         * doc/posix-functions/iswxdigit_l.texi: Renamed from
32435         doc/glibc-functions/iswxdigit_l.texi.
32436         * doc/posix-functions/isxdigit_l.texi: Renamed from
32437         doc/glibc-functions/isxdigit_l.texi.
32438         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
32439         doc/glibc-functions/mbsnrtowcs.texi.
32440         * doc/posix-functions/mkdtemp.texi: Renamed from
32441         doc/glibc-functions/mkdtemp.texi.
32442         * doc/posix-functions/newlocale.texi: Renamed from
32443         doc/glibc-functions/newlocale.texi.
32444         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
32445         doc/glibc-functions/nl_langinfo_l.texi.
32446         * doc/posix-functions/open_memstream.texi: Renamed from
32447         doc/glibc-functions/open_memstream.texi.
32448         * doc/posix-functions/opterr.texi: Renamed from
32449         doc/glibc-functions/opterr.texi.
32450         * doc/posix-functions/optind.texi: Renamed from
32451         doc/glibc-functions/optind.texi.
32452         * doc/posix-functions/optopt.texi: Renamed from
32453         doc/glibc-functions/optopt.texi.
32454         * doc/posix-functions/psignal.texi: Renamed from
32455         doc/glibc-functions/psignal.texi.
32456         * doc/posix-functions/scandir.texi: Renamed from
32457         doc/glibc-functions/scandir.texi.
32458         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
32459         doc/glibc-functions/sched_get_priority_min.texi.
32460         * doc/posix-functions/signgam.texi: Renamed from
32461         doc/glibc-functions/signgam.texi.
32462         * doc/posix-functions/stpcpy.texi: Renamed from
32463         doc/glibc-functions/stpcpy.texi.
32464         * doc/posix-functions/stpncpy.texi: Renamed from
32465         doc/glibc-functions/stpncpy.texi.
32466         * doc/posix-functions/strcasecmp_l.texi: Renamed from
32467         doc/glibc-functions/strcasecmp_l.texi.
32468         * doc/posix-functions/strcoll_l.texi: Renamed from
32469         doc/glibc-functions/strcoll_l.texi.
32470         * doc/posix-functions/strfmon_l.texi: Renamed from
32471         doc/glibc-functions/strfmon_l.texi.
32472         * doc/posix-functions/strftime_l.texi: Renamed from
32473         doc/glibc-functions/strftime_l.texi.
32474         * doc/posix-functions/strncasecmp_l.texi: Renamed from
32475         doc/glibc-functions/strncasecmp_l.texi.
32476         * doc/posix-functions/strndup.texi: Renamed from
32477         doc/glibc-functions/strndup.texi.
32478         * doc/posix-functions/strnlen.texi: Renamed from
32479         doc/glibc-functions/strnlen.texi.
32480         * doc/posix-functions/strsignal.texi: Renamed from
32481         doc/glibc-functions/strsignal.texi.
32482         * doc/posix-functions/strxfrm_l.texi: Renamed from
32483         doc/glibc-functions/strxfrm_l.texi.
32484         * doc/posix-functions/timer_gettime.texi: Renamed from
32485         doc/glibc-functions/timer_gettime.texi.
32486         * doc/posix-functions/tolower_l.texi: Renamed from
32487         doc/glibc-functions/tolower_l.texi.
32488         * doc/posix-functions/toupper_l.texi: Renamed from
32489         doc/glibc-functions/toupper_l.texi.
32490         * doc/posix-functions/towctrans_l.texi: Renamed from
32491         doc/glibc-functions/towctrans_l.texi.
32492         * doc/posix-functions/towlower_l.texi: Renamed from
32493         doc/glibc-functions/towlower_l.texi.
32494         * doc/posix-functions/towupper_l.texi: Renamed from
32495         doc/glibc-functions/towupper_l.texi.
32496         * doc/posix-functions/uselocale.texi: Renamed from
32497         doc/glibc-functions/uselocale.texi.
32498         * doc/posix-functions/vdprintf.texi: Renamed from
32499         doc/glibc-functions/vdprintf.texi.
32500         * doc/posix-functions/wcpcpy.texi:
32501         Renamed from doc/glibc-functions/wcpcpy.texi.
32502         * doc/posix-functions/wcpncpy.texi: Renamed from
32503         doc/glibc-functions/wcpncpy.texi.
32504         * doc/posix-functions/wcscasecmp.texi: Renamed from
32505         doc/glibc-functions/wcscasecmp.texi.
32506         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
32507         doc/glibc-functions/wcscasecmp_l.texi.
32508         * doc/posix-functions/wcscoll_l.texi: Renamed from
32509         doc/glibc-functions/wcscoll_l.texi.
32510         * doc/posix-functions/wcsdup.texi: Renamed from
32511         doc/glibc-functions/wcsdup.texi.
32512         * doc/posix-functions/wcsncasecmp.texi: Renamed from
32513         doc/glibc-functions/wcsncasecmp.texi.
32514         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
32515         doc/glibc-functions/wcsncasecmp_l.texi.
32516         * doc/posix-functions/wcsnlen.texi: Renamed from
32517         doc/glibc-functions/wcsnlen.texi.
32518         * doc/posix-functions/wcsnrtombs.texi: Renamed from
32519         doc/glibc-functions/wcsnrtombs.texi.
32520         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
32521         doc/glibc-functions/wcsxfrm_l.texi.
32522         * doc/posix-functions/wctrans_l.texi: Renamed from
32523         doc/glibc-functions/wctrans_l.texi.
32524         * doc/posix-functions/wctype_l.texi: Renamed from
32525         doc/glibc-functions/wctype_l.texi.
32526         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32527         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
32528         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
32529         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
32530         these subsections.
32531         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
32532         Remove sections.
32533
32534 2008-12-14  Bruno Haible  <bruno@clisp.org>
32535
32536         Update doc for POSIX:2008.
32537         * doc/posix-functions/*.texi: Update URL of POSIX specification.
32538
32539 2008-12-14  Bruno Haible  <bruno@clisp.org>
32540
32541         Update doc for POSIX:2008.
32542         * doc/pastposix-functions/bcmp.texi: Renamed from
32543         doc/posix-functions/bcmp.texi.
32544         * doc/pastposix-functions/bcopy.texi: Renamed from
32545         doc/posix-functions/bcopy.texi.
32546         * doc/pastposix-functions/bsd_signal.texi: Renamed from
32547         doc/posix-functions/bsd_signal.texi.
32548         * doc/pastposix-functions/bzero.texi: Renamed from
32549         doc/posix-functions/bzero.texi.
32550         * doc/pastposix-functions/ecvt.texi: Renamed from
32551         doc/posix-functions/ecvt.texi.
32552         * doc/pastposix-functions/fcvt.texi: Renamed from
32553         doc/posix-functions/fcvt.texi.
32554         * doc/pastposix-functions/ftime.texi: Renamed from
32555         doc/posix-functions/ftime.texi.
32556         * doc/pastposix-functions/gcvt.texi: Renamed from
32557         doc/posix-functions/gcvt.texi.
32558         * doc/pastposix-functions/getcontext.texi: Renamed from
32559         doc/posix-functions/getcontext.texi.
32560         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
32561         doc/posix-functions/gethostbyaddr.texi.
32562         * doc/pastposix-functions/gethostbyname.texi: Renamed from
32563         doc/posix-functions/gethostbyname.texi.
32564         * doc/pastposix-functions/getwd.texi: Renamed from
32565         doc/posix-functions/getwd.texi.
32566         * doc/pastposix-functions/h_errno.texi: Renamed from
32567         doc/posix-functions/h_errno.texi.
32568         * doc/pastposix-functions/index.texi: Renamed from
32569         doc/posix-functions/index.texi.
32570         * doc/pastposix-functions/makecontext.texi: Renamed from
32571         doc/posix-functions/makecontext.texi.
32572         * doc/pastposix-functions/mktemp.texi: Renamed from
32573         doc/posix-functions/mktemp.texi.
32574         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
32575         doc/posix-functions/pthread_attr_getstackaddr.texi.
32576         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
32577         doc/posix-functions/pthread_attr_setstackaddr.texi.
32578         * doc/pastposix-functions/rindex.texi: Renamed from
32579         doc/posix-functions/rindex.texi.
32580         * doc/pastposix-functions/scalb.texi: Renamed from
32581         doc/posix-functions/scalb.texi.
32582         * doc/pastposix-functions/setcontext.texi: Renamed from
32583         doc/posix-functions/setcontext.texi.
32584         * doc/pastposix-functions/swapcontext.texi: Renamed from
32585         doc/posix-functions/swapcontext.texi.
32586         * doc/pastposix-functions/ualarm.texi: Renamed from
32587         doc/posix-functions/ualarm.texi.
32588         * doc/pastposix-functions/usleep.texi: Renamed from
32589         doc/posix-functions/usleep.texi.
32590         * doc/pastposix-functions/vfork.texi: Renamed from
32591         doc/posix-functions/vfork.texi.
32592         * doc/pastposix-functions/wcswcs.texi: Renamed from
32593         doc/posix-functions/wcswcs.texi.
32594         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
32595         (Function Substitutes): Update.
32596
32597 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32598
32599         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
32600         m4/strerror.m4.
32601
32602 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32603             Bruno Haible  <bruno@clisp.org>
32604
32605         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
32606
32607 2008-12-13  Bruno Haible  <bruno@clisp.org>
32608
32609         * modules/strtoull (Depends-on): Remove unistd.
32610
32611 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32612
32613         * modules/strtoull (Depends-on): Add stdlib.
32614
32615 2008-12-11  Simon Josefsson  <simon@josefsson.org>
32616
32617         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
32618
32619 2008-12-10  Jim Meyering  <meyering@redhat.com>
32620
32621         gl_ASSERT: don't say assertions are disabled when they're not
32622         * m4/assert.m4 (gl_ASSERT): Do not make configure report
32623         "checking whether to enable assertions... no", when they are in
32624         fact enabled.  This is solely a bug in the output of configure.
32625         In spite of saying "no", NDEBUG was not defined in that case.
32626         Also, as noted by Eric Blake, leave assertions enabled upon
32627         --enable-assert=INVALID.
32628
32629 2008-12-10  Bruno Haible  <bruno@clisp.org>
32630
32631         Change MODULES.html to refer to POSIX:2008 where possible.
32632         * MODULES.html.sh (POSIX2008_URL): New variable.
32633         (posix_headers): Remove sys/timeb, ucontext.
32634         (posix2001_headers): New variable.
32635         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
32636         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
32637         index, makecontext, mktemp, pthread_attr_getstackaddr,
32638         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
32639         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
32640         (posix2001_functions): New variable.
32641         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
32642         otherwise.
32643
32644 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32645
32646         add missing include to parse-duration.c
32647         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
32648         * modules/parse-duration (Depends-on): Add xalloc.
32649
32650         fix sed script reading maint.mk
32651         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
32652         (syntax-check-rules): Use it.
32653
32654 2008-12-09  Bruno Haible  <bruno@clisp.org>
32655
32656         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
32657         MacOS X 10.4/PowerPC.
32658         Reported by Simon Josefsson.
32659
32660 2008-12-08  Jim Meyering  <meyering@redhat.com>
32661
32662         work around mingw's lack of some S_IF definitions
32663         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
32664         Reported by Simon Josefsson.
32665
32666 2008-12-08  Bruno Haible  <bruno@clisp.org>
32667
32668         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
32669         applied to variables. Needed on MacOS X 10.4/PowerPC.
32670         Reported by Simon Josefsson.
32671
32672 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
32673         and Eric Blake  <ebb9@byu.net>
32674
32675         assert: honor --enable-assert
32676         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
32677         order to honor --enable-assert, rather than treating it as a
32678         synonym for --disable-assert.
32679
32680 2008-12-08  Jim Meyering  <meyering@redhat.com>
32681
32682         * lib/posixtm.c: Remove now-useless declaration of mktime.
32683
32684         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
32685
32686 2008-12-07  Bruno Haible  <bruno@clisp.org>
32687
32688         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
32689         test_once): Mark functions as static.
32690         * tests/test-tls.c (test_tls): Likewise.
32691
32692 2008-12-07  Bruno Haible  <bruno@clisp.org>
32693
32694         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
32695         iconv_register_autodetect.
32696
32697 2008-12-07  Jim Meyering  <meyering@redhat.com>
32698
32699         posixtm.c: avoid a warning
32700         * lib/posixtm.c (posixtime): Don't initialize tm0.
32701         It's no longer needed to placate gcc4's -Wuninitialized,
32702         and the attempt to placate would elicit a new warning.
32703
32704         unicodeio.c: mark unused parameters
32705         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32706         (fallback_failure_callback): Likewise.
32707
32708 2008-12-07  Bruno Haible  <bruno@clisp.org>
32709
32710         * gnulib-tool (func_create_testdir): When building the tests
32711         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
32712         Reported by Simon Josefsson.
32713
32714 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32715
32716         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
32717
32718 2008-12-06  Bruno Haible  <bruno@clisp.org>
32719
32720         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
32721         Suggested by Eric Blake.
32722
32723 2008-12-06  Bruno Haible  <bruno@clisp.org>
32724
32725         Fix a c-stack test failure on MacOS X.
32726         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
32727         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
32728         handler for SIGBUS as well.
32729         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
32730         install a signal handler for SIGBUS as well.
32731         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
32732
32733 2008-12-06  Bruno Haible  <bruno@clisp.org>
32734
32735         Advocacy documentation.
32736         * doc/gnulib-intro.texi (Benefits): New section.
32737         * doc/gnulib.texi: Update.
32738
32739 2008-12-06  Bruno Haible  <bruno@clisp.org>
32740
32741         Document the 'manywarnings' module.
32742         * doc/manywarnings.texi: New file.
32743         * doc/gnulib.texi: Include it.
32744
32745 2008-12-05  Eric Blake  <ebb9@byu.net>
32746
32747         tests: silence some gcc warnings
32748         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
32749         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
32750         type mismatches.
32751
32752 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32753             Bruno Haible  <bruno@clisp.org>
32754
32755         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
32756
32757 2008-11-29  Jim Meyering  <meyering@redhat.com>
32758
32759         unicodeio.c: mark unused parameters
32760         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32761         (fallback_failure_callback): Likewise.
32762
32763         fts: fix a thinko
32764         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
32765         (set_stat_type): Return S_IF*-valued "type" directly.
32766         Prompted by James Youngman's spotting a related bug.
32767         Confirmed by further testing through find.
32768
32769         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
32770         * lib/fts.c (D_TYPE): Define.
32771         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
32772         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
32773         (s_ifmt_shift_bits): New function.
32774         (set_stat_type): New function.
32775         (fts_build): When not calling fts_stat, call set_stat_type
32776         to propagate dirent.d_type info to fts_read caller.
32777         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
32778         fts_statp->st_mode type information may be valid.
32779
32780 2008-11-28  Simon Josefsson  <simon@josefsson.org>
32781
32782         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
32783         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
32784         <sds@gnu.org>.
32785
32786 2008-11-20  Bruno Haible  <bruno@clisp.org>
32787
32788         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
32789         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
32790         INCLUDE_NEXT.
32791         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
32792         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
32793         * modules/math (Makefile.am): Substitute
32794         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
32795         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32796
32797 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32798             Bruno Haible  <bruno@clisp.org>
32799
32800         * lib/stdint.in.h: Define all type macros so that their expansion is
32801         a single typedef'ed token. Fixes a compilation failure in Boost which
32802         does "using ::int8_t;".
32803
32804 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32805
32806         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32807         gl_MANYWARN_ALL_GCC.
32808         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32809         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32810         * modules/manywarnings: New file.
32811         * MODULES.html.sh: Mention manywarnings module.
32812
32813 2008-11-18  Bruno Haible  <bruno@clisp.org>
32814
32815         * doc/gnulib-tool.texi (Unit tests): New section.
32816
32817 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32818
32819         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32820         paths like 'lib/po/foo.po'.
32821
32822 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32823
32824         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32825         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32826
32827 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32828
32829         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32830         parameter works.
32831
32832 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32833
32834         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32835
32836 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32837
32838         * modules/parse-duration-tests: New file.
32839         * tests/test-parse-duration.sh: New file.
32840         * tests/test-parse-duration.c: New file.
32841
32842         New module 'parse-duration'.
32843         * lib/parse-duration.h: New file.
32844         * lib/parse-duration.c: New file.
32845         * modules/parse-duration: New file.
32846
32847 2008-11-17  Bruno Haible  <bruno@clisp.org>
32848
32849         * tests/test-select-out.sh: Comment out the first pipe test.
32850         Reported by Simon Josefsson.
32851
32852 2008-11-17  Bruno Haible  <bruno@clisp.org>
32853
32854         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32855         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32856         gl_HOSTENT.
32857
32858 2008-11-17  Bruno Haible  <bruno@clisp.org>
32859
32860         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32861         -lnetwork and -lnet. Needed for Haiku and BeOS.
32862
32863 2008-11-16  Bruno Haible  <bruno@clisp.org>
32864
32865         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32866
32867 2008-11-16  Bruno Haible  <bruno@clisp.org>
32868
32869         Avoid test failure on Haiku.
32870         * tests/test-fsync.c: Include <errno.h>.
32871         (main): Don't require that fsync (0) fails.
32872
32873 2008-11-15  Bruno Haible  <bruno@clisp.org>
32874
32875         New module 'hostent'.
32876         * modules/hostent: New file.
32877         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32878
32879 2008-11-15  Bruno Haible  <bruno@clisp.org>
32880
32881         New module 'servent'.
32882         * modules/servent: New file.
32883         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32884
32885 2008-11-15  Bruno Haible  <bruno@clisp.org>
32886
32887         Avoid generating same test program with two different rules.
32888         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32889         test-frexp to test-frexp-nolibm.
32890         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32891         test-frexpl to test-frexpl-nolibm.
32892
32893 2008-11-15  Bruno Haible  <bruno@clisp.org>
32894
32895         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32896         $(FREXPL_LIBM).
32897
32898 2008-11-15  Bruno Haible  <bruno@clisp.org>
32899
32900         * lib/netdb.in.h: Activate the definitions also when the system's
32901         <netdb.h> has 'struct addrinfo'.
32902         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32903         EAI_OVERFLOW or AI_NUMERICSERV.
32904         * doc/posix-headers/netdb.texi: Document the problem.
32905
32906 2008-11-15  Bruno Haible  <bruno@clisp.org>
32907
32908         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32909
32910         Make the 'sched' module work on platforms where <sched.h> exists but
32911         is incomplete (such as Haiku).
32912         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32913         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32914         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32915         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32916         HAVE_STRUCT_SCHED_PARAM.
32917         * modules/sched (Depends-on): Add include_next.
32918         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32919         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32920         * doc/posix-headers/sched.texi: Document the issue.
32921
32922 2008-11-13  Jim Meyering  <meyering@redhat.com>
32923
32924         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32925         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32926         test would fail due to the difference in the Report bugs to ...
32927         line.  The expected address is empty, "<>", while the actual
32928         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32929
32930 2008-11-12  Bruno Haible  <bruno@clisp.org>
32931
32932         lstat: don't compile lstat.c on systems lacking lstat
32933         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32934         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32935         Reported by Daniel P. Berrange via Jim Meyering.
32936
32937 2008-11-12  Jim Meyering  <meyering@redhat.com>
32938
32939         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32940
32941 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32942
32943         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32944         instead.
32945
32946 2008-11-12  Bruno Haible  <bruno@clisp.org>
32947
32948         * lib/unicodeio.c: Include unistr.h.
32949         (utf8_wctomb): Remove function.
32950         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32951
32952 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32953
32954         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32955         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32956         <bruno@clisp.org>.
32957         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32958
32959 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32960
32961         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32962         * doc/gnulib.texi: Add section for warnings.
32963
32964 2008-11-11  Bruno Haible  <bruno@clisp.org>
32965
32966         * lib/sockets.h: Add a comment.
32967
32968 2008-11-11  Karl Berry  <karl@gnu.org>
32969
32970         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32971
32972 2008-11-11  Eric Blake  <ebb9@byu.net>
32973
32974         fdl.texi: avoid git symlinks
32975         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32976
32977 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32978
32979         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32980
32981 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32982
32983         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32984         (gl_WARN_ADD): Substitute $2 if literal.
32985
32986 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32987
32988         * m4/warning.m4: Remove.
32989
32990 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32991
32992         * m4/warnings.m4: Almost complete rewrite. :-)
32993
32994 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32995
32996         * modules/warnings: New module.
32997         * m4/warnings.m4: New file.
32998         * MODULES.html.sh: Mention warnings module.
32999         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
33000         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33001
33002 2008-11-10  Eric Blake  <ebb9@byu.net>
33003
33004         fdl.texi: make a symlink to the latest version
33005         * doc/standards.texi: Revert today's earlier change.
33006         * doc/fdl-1.2.texi: Rename from old fdl.texi...
33007         * doc/fdl.texi: ...and replace this with a symlink to the newer
33008         fdl-1.3.texi.
33009
33010 2008-11-10  Bruno Haible  <bruno@clisp.org>
33011
33012         * tests/test-select-fd.c (main): Accept the result file name as fourth
33013         argument.
33014         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
33015         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
33016
33017 2008-11-10  Bruno Haible  <bruno@clisp.org>
33018
33019         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
33020         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
33021         as autoconf-substituted macros.
33022         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
33023         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
33024         gl_NETDB_H_DEFAULTS. Set these variables.
33025         * modules/netdb (Makefile.am): Substitute these variables.
33026
33027 2008-11-10  Eric Blake  <ebb9@byu.net>
33028
33029         standards.texi: include correct file for FDL 1.3
33030         * doc/standards.texi (GNU Free Documentation License): Change
33031         include file to pull in FDL 1.3, not 1.2.
33032
33033         fdl.texi: revert accidental change to license
33034         * doc/fdl.texi: This is FDL 1.2, not 1.3.
33035
33036 2008-11-10  Bruno Haible  <bruno@clisp.org>
33037
33038         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
33039         cross-compiling guesses also when the native compile gives no result.
33040
33041 2008-11-10  Bruno Haible  <bruno@clisp.org>
33042
33043         * lib/spawni.c (__spawni): Force variable into the stack.
33044
33045 2008-11-10  Bruno Haible  <bruno@clisp.org>
33046
33047         Add support for Haiku.
33048         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
33049         glibc and BeOS, but also on Haiku.
33050         * lib/fpurge.c (fpurge): Likewise.
33051         * lib/freadable.c (freadable): Likewise.
33052         * lib/freadahead.c (freadahead): Likewise.
33053         * lib/freading.c (freading): Likewise.
33054         * lib/freadptr.c (freadptr): Likewise.
33055         * lib/freadseek.c (freadptrinc): Likewise.
33056         * lib/fseeko.c (rpl_fseeko): Likewise.
33057         * lib/fseterr.c (fseterr): Likewise.
33058         * lib/fwritable.c (fwritable): Likewise.
33059         * lib/fwriting.c (fwriting): Likewise.
33060         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
33061
33062 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33063
33064         * lib/config.charset: Treat Haiku like BeOS.
33065
33066 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33067
33068         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
33069         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
33070
33071 2008-11-08  Bruno Haible  <bruno@clisp.org>
33072
33073         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
33074         AC_CACHE_CHECK.
33075
33076 2008-11-08  Bruno Haible  <bruno@clisp.org>
33077
33078         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
33079
33080 2008-11-08  Bruno Haible  <bruno@clisp.org>
33081
33082         * tests/test-select-fd.c: New file.
33083         * tests/test-select-in.sh: New file.
33084         * tests/test-select-out.sh: New file.
33085         * tests/test-select-stdin.c: New file.
33086         * modules/select-tests (Files): Add the new files.
33087         (Depends-on): Add gettimeofday.
33088         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
33089         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
33090         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
33091
33092 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
33093             Bruno Haible  <bruno@clisp.org>
33094
33095         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
33096
33097 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
33098
33099         * build-aux/pmccabe2html: Added support for C++ source files.
33100
33101 2008-11-05  Ben Pfaff  <blp@gnu.org>
33102
33103         Fix lib/close.c build on Windows.
33104         * modules/close (Files): Add lib/w32sock.h.
33105
33106 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
33107
33108         Accept Bison's NEWS format.
33109         * build-aux/announce-gen (print_news_deltas): Tweak
33110         $re_prefix.
33111
33112 2008-11-04  Bruno Haible  <bruno@clisp.org>
33113
33114         * modules/random_r (Maintainer): Add glibc.
33115
33116 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33117
33118         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
33119         by karl@freefriends.org (Karl Berry).
33120         * doc/alloca.texi: Likewise.
33121         * doc/c-ctype.texi: Likewise.
33122         * doc/c-strcase.texi: Likewise.
33123         * doc/c-strcaseeq.texi: Likewise.
33124         * doc/c-strcasestr.texi: Likewise.
33125         * doc/c-strstr.texi: Likewise.
33126         * doc/c-strtod.texi: Likewise.
33127         * doc/c-strtold.texi: Likewise.
33128         * doc/ctime.texi: Likewise.
33129         * doc/error.texi: Likewise.
33130         * doc/fdl.texi: Likewise.
33131         * doc/gcd.texi: Likewise.
33132         * doc/getdate.texi: Likewise.
33133         * doc/gnulib-intro.texi: Likewise.
33134         * doc/gnulib-tool.texi: Likewise.
33135         * doc/gnulib.texi: Likewise.
33136         * doc/inet_ntoa.texi: Likewise.
33137         * doc/maintain.texi: Likewise.
33138         * doc/make-stds.texi: Likewise.
33139         * doc/quote.texi: Likewise.
33140         * doc/regexprops-generic.texi: Likewise.
33141         * doc/standards.texi: Likewise.
33142         * doc/verify.texi: Likewise.
33143         * doc/visibility.texi: Likewise.
33144         * doc/gnulib.texi (GNU Free Documentation License): Include
33145         fdl-1.3.texi instead of fdl.texi.
33146
33147 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33148
33149         * doc/fdl-1.3.texi: New file, from
33150         <http://www.gnu.org/licenses/fdl-1.3.texi>.
33151         * modules/fdl-1.3: Add.
33152         * MODULES.html.sh: Add fdl-1.3.
33153
33154 2008-11-03  Bruno Haible  <bruno@clisp.org>
33155
33156         Make determination of absolute name of header file work with AIX xlc.
33157         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
33158         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
33159         preprocessing.
33160         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33161         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33162
33163 2008-11-03  Simon Josefsson  <simon@josefsson.org>
33164
33165         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
33166         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
33167         <ludo@gnu.org>.
33168
33169 2008-11-02  Bruno Haible  <bruno@clisp.org>
33170
33171         Mark 'strpbrk' obsolete.
33172         * modules/strpbrk (Status, Notice): New sections.
33173         * modules/strtok_r (Depends-on): Add strpbrk.
33174
33175 2008-11-02  Bruno Haible  <bruno@clisp.org>
33176
33177         Mark 'strdup' obsolete.
33178         * modules/strdup (Status, Notice): New sections.
33179         * modules/findprog (Depends-on): Add strdup.
33180         * modules/getaddrinfo (Depends-on): Likewise.
33181         * modules/localename (Depends-on): Likewise.
33182         * modules/relocatable-lib (Depends-on): Likewise.
33183         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
33184         * modules/relocatable-prog (Depends-on): Likewise.
33185         * modules/trim (Depends-on): Likewise.
33186         * modules/unictype/gen-ctype (Depends-on): Likewise.
33187         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33188
33189 2008-11-02  Bruno Haible  <bruno@clisp.org>
33190
33191         Mark 'strcspn' obsolete.
33192         * modules/strcspn (Status, Notice): New sections.
33193
33194 2008-11-02  Bruno Haible  <bruno@clisp.org>
33195
33196         Mark 'rmdir' obsolete.
33197         * modules/rmdir (Status, Notice): New sections.
33198         * modules/clean-temp (Depends-on): Add rmdir.
33199         * modules/openat (Depends-on): Likewise.
33200
33201 2008-11-02  Bruno Haible  <bruno@clisp.org>
33202
33203         Mark 'raise' obsolete.
33204         * modules/raise (Status, Notice): New sections.
33205         (Include): Specify <signal.h>.
33206         * modules/stdio (Depends-on): Add raise.
33207         * modules/write (Depends-on): Likewise.
33208
33209 2008-11-02  Bruno Haible  <bruno@clisp.org>
33210
33211         Mark 'memset' obsolete.
33212         * modules/memset (Status, Notice): New sections.
33213
33214 2008-11-02  Bruno Haible  <bruno@clisp.org>
33215
33216         Mark 'memmove' obsolete.
33217         * modules/memmove (Status, Notice): New sections.
33218         * modules/argp (Depends-on): Add memmove.
33219         * modules/argz (Depends-on): Likewise.
33220         * modules/canonicalize (Depends-on): Likewise.
33221         * modules/canonicalize-lgpl (Depends-on): Likewise.
33222         * modules/fts (Depends-on): Likewise.
33223         * modules/getcwd (Depends-on): Likewise.
33224         * modules/human (Depends-on): Likewise.
33225         * modules/regex (Depends-on): Likewise.
33226         * modules/striconveh (Depends-on): Likewise.
33227         * modules/trim (Depends-on): Likewise.
33228         * modules/unistr/u8-move (Depends-on): Likewise.
33229         * modules/unistr/u16-move (Depends-on): Likewise.
33230         * modules/unistr/u32-move (Depends-on): Likewise.
33231
33232 2008-11-02  Bruno Haible  <bruno@clisp.org>
33233
33234         Mark 'memcpy' obsolete.
33235         * modules/memcpy (Status, Notice): New sections.
33236
33237 2008-11-02  Bruno Haible  <bruno@clisp.org>
33238
33239         Mark 'memcmp' obsolete.
33240         * modules/memcmp (Status, Notice): New sections.
33241         * modules/argmatch (Depends-on): Add memchr.
33242         * modules/backupfile (Depends-on): Likewise.
33243         * modules/c-strcasestr (Depends-on): Likewise.
33244         * modules/crypto/des (Depends-on): Likewise.
33245         * modules/csharpcomp (Depends-on): Likewise.
33246         * modules/fnmatch (Depends-on): Likewise.
33247         * modules/git-merge-changelog (Depends-on): Likewise.
33248         * modules/isnand (Depends-on): Likewise.
33249         * modules/isnand-nolibm (Depends-on): Likewise.
33250         * modules/isnanf (Depends-on): Likewise.
33251         * modules/isnanf-nolibm (Depends-on): Likewise.
33252         * modules/isnanl (Depends-on): Likewise.
33253         * modules/isnanl-nolibm (Depends-on): Likewise.
33254         * modules/mbchar (Depends-on): Likewise.
33255         * modules/memcoll (Depends-on): Likewise.
33256         * modules/quotearg (Depends-on): Likewise.
33257         * modules/regex (Depends-on): Likewise.
33258         * modules/relocatable-prog (Depends-on): Likewise.
33259         * modules/same (Depends-on): Likewise.
33260         * modules/signbit (Depends-on): Likewise.
33261         * modules/strcasestr-simple (Depends-on): Likewise.
33262         * modules/unictype/gen-ctype (Depends-on): Likewise.
33263         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33264         * modules/uniname/uniname (Depends-on): Likewise.
33265         * modules/unistr/u8-cmp (Depends-on): Likewise.
33266
33267 2008-11-02  Bruno Haible  <bruno@clisp.org>
33268
33269         Mark 'memchr' obsolete.
33270         * modules/memchr (Status, Notice): New sections.
33271         * modules/argp (Depends-on): Add memchr.
33272         * modules/base64 (Depends-on): Likewise.
33273         * modules/c-strcasestr (Depends-on): Likewise.
33274         * modules/chdir-long (Depends-on): Likewise.
33275         * modules/fnmatch (Depends-on): Likewise.
33276         * modules/getsubopt (Depends-on): Likewise.
33277         * modules/git-merge-changelog (Depends-on): Likewise.
33278         * modules/glob (Depends-on): Likewise.
33279         * modules/strcasestr-simple (Depends-on): Likewise.
33280         * modules/strnlen (Depends-on): Likewise.
33281
33282 2008-11-02  Bruno Haible  <bruno@clisp.org>
33283
33284         Mark 'atexit' obsolete.
33285         * modules/atexit (Status, Notice): New sections.
33286         * modules/chdir-long (Depends-on): Add atexit.
33287         * modules/wait-process (Depends-on): Likewise.
33288
33289 2008-11-02  Bruno Haible  <bruno@clisp.org>
33290
33291         * gnulib-tool: New option --with-obsolete.
33292         (func_usage): Document it.
33293         (func_modules_transitive_closure): Drop obsolete dependencies if
33294         incobsolete is not true.
33295         (func_import): Read and save the incobsolete variable to the cache.
33296
33297 2008-11-02  Bruno Haible  <bruno@clisp.org>
33298
33299         * modules/TEMPLATE-EXTENDED: New field 'Status'.
33300         * gnulib-tool: New option --extract-status.
33301         (func_usage): Document it.
33302         (sed_extract_prog): Recognize it.
33303         (func_get_status): New function.
33304
33305 2008-10-30  Simon Josefsson  <simon@josefsson.org>
33306
33307         * modules/sockets (License): Change from LGPL to LGPLv2+.
33308
33309 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33310
33311         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
33312
33313 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33314
33315         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33316         Mention times and sys_times.
33317         * modules/sys_times, modules/sys_times-tests: New modules.
33318         * modules/times, modules/times-tests: Likewise
33319         * m4/sys_times_h.m4: New file.
33320         * lib/sys_times.in.h: Likewise
33321         * lib/times.c: Likewise.
33322         * tests/test-sys_times.c: Likewise.
33323         * tests/test-times.c: Likewise.
33324         * doc/posix-headers/sys_times.texi: Update.
33325         * doc/posix-functions/times.texi: Update.
33326
33327 2008-10-28  Jim Meyering  <meyering@redhat.com>
33328
33329         * modules/tempname (Depends-on): Add lstat.
33330
33331         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
33332
33333 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33334
33335         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
33336         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
33337         using idiom used elsewhere in gnulib.
33338
33339 2008-10-27  Jim Meyering  <meyering@redhat.com>
33340
33341         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
33342
33343 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33344
33345         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
33346         TESTS_ENVIRONMENT, for shell scripts that needs to call built
33347         programs.
33348         * tests/test-argp-2.sh: Use $EXEEXT when needed.
33349
33350 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33351
33352         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
33353
33354 2008-10-27  Bruno Haible  <bruno@clisp.org>
33355
33356         * tests/test-lstat.c: Include <stdio.h>.
33357
33358 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33359
33360         * modules/lstat-tests: New module.
33361         * tests/test-lstat.c: New file.
33362
33363 2008-10-26  Jim Meyering  <meyering@redhat.com>
33364
33365         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
33366
33367 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33368             Bruno Haible  <bruno@clisp.org>
33369
33370         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
33371         * modules/configmake (Include): Add a note that the include must come
33372         after all system headers.
33373         * lib/javaversion.c: Include configmake.h after all other includes.
33374
33375 2008-10-26  Bruno Haible  <bruno@clisp.org>
33376
33377         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
33378         HAVE_STRUCT_RANDOM_DATA to 1.
33379         (gl_STDLIB_H): Simplify.
33380
33381 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33382
33383         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
33384         substitute HAVE_STRUCT_RANDOM_DATA.
33385         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
33386         random_data.
33387         * modules/stdlib (Makefile.am): Substitute
33388         HAVE_STRUCT_RANDOM_DATA.
33389
33390 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33391
33392         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
33393         * doc/gnulib-intro.texi (Copyright): Likewise.
33394
33395 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33396
33397         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
33398         findings.
33399
33400 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
33401             Bruno Haible  <bruno@clisp.org>
33402
33403         * lib/unistd.in.h: Include <winsock2.h>.
33404         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
33405         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
33406         Provide dummy declarations.
33407         (gethostname): Override.
33408         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
33409         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
33410         gl_PREREQ_SYS_H_WINSOCK2.
33411         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
33412         * doc/posix-functions/gethostname.texi: More details.
33413
33414 2008-10-25  Bruno Haible  <bruno@clisp.org>
33415
33416         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33417         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
33418         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
33419
33420         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
33421         here ...
33422         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
33423         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
33424         gl_UNISTD_H_DEFAULTS.
33425
33426 2008-10-25  Eric Blake  <ebb9@byu.net>
33427
33428         signbit: avoid spurious compiler failure
33429         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
33430         declarations inside function.
33431
33432 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33433             Bruno Haible  <bruno@clisp.org>
33434
33435         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
33436         * modules/random_r (Depends-on): Add stdint.
33437
33438 2008-10-24  Bruno Haible  <bruno@clisp.org>
33439
33440         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
33441         Eggert.
33442         * modules/strerror (License): Likewise.
33443
33444 2008-10-24  Jim Meyering  <meyering@redhat.com>
33445
33446         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
33447         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
33448
33449 2008-10-24  Eric Blake  <ebb9@byu.net>
33450
33451         getgroups: fix compilation when getgroups is available
33452         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
33453         but with <config.h> override of getgroups disabled.
33454
33455 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33456
33457         * doc/gnulib.texi (Header files): Add note about C++ problems.
33458         Explained by Bruno Haible <bruno@clisp.org>.
33459
33460 2008-10-23  Bruno Haible  <bruno@clisp.org>
33461
33462         Define a dummy SA_NODEFER macro on Interix.
33463         * lib/signal.in.h (SA_NODEFER): Define fallback.
33464         Reported by Aleksey Cheusov <cheusov@tut.by> via
33465         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
33466
33467 2008-10-23  Bruno Haible  <bruno@clisp.org>
33468
33469         * modules/freadahead (License): Change to LGPLv2+.
33470         Suggested by Simon Josefsson.
33471
33472 2008-10-23  Jim Meyering  <meyering@redhat.com>
33473
33474         random_r: new module
33475         * modules/random_r: New file.
33476         * m4/random_r.m4: New file.
33477         * lib/random_r.c: New file, from glibc.
33478         * modules/random_r-tests: New file.
33479         * tests/test-random_r.c: New file.
33480         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
33481          Declare.
33482         (RAND_MAX): Define.
33483         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
33484         * modules/stdlib: Substitute them, too.
33485         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
33486         * doc/glibc-functions/initstate_r.texi: Mention the new module.
33487         * doc/glibc-functions/random_r.texi: Likewise.
33488         * doc/glibc-functions/setstate_r.texi: Likewise.
33489         * doc/glibc-functions/srandom_r.texi: Likewise.
33490         * config/srclist.txt: Mention it.
33491
33492 2008-10-23  David Lutterkort  <lutter@redhat.com>
33493
33494         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
33495         link requirement
33496
33497 2008-10-23  Jim Meyering  <meyering@redhat.com>
33498
33499         selinux-h: mark parameters of stub functions as intentionally unused
33500         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
33501         * lib/se-context.in.h: Likewise.
33502
33503 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33504
33505         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
33506
33507 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33508
33509         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
33510
33511 2008-10-22  Eric Blake  <ebb9@byu.net>
33512
33513         glthread/thread: avoid compiler warning
33514         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
33515         Add unreachable abort to silence compiler.
33516
33517 2008-10-22  Eric Blake  <ebb9@byu.net>
33518
33519         netdb: also supply struct addrinfo for cygwin 1.5.x
33520         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
33521         older cygwin.
33522         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
33523         cygwin.
33524         * doc/posix-headers/netdb.texi (netdb.h): Document this.
33525
33526 2008-10-22  Bruno Haible  <bruno@clisp.org>
33527
33528         * users.txt: Update entry about pspp.
33529
33530 2008-10-21  Bruno Haible  <bruno@clisp.org>
33531
33532         Simplification.
33533         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
33534         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
33535
33536         Simplification.
33537         * lib/ioctl.c (ioctl): Don't undefine.
33538         * lib/socket.c (socket): Don't undefine.
33539
33540         Remove unused module indicator macros.
33541         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
33542         GNULIB_$1 as a C macro.
33543
33544         * doc/posix-functions/close.texi: Undo last change.
33545         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
33546         Windows platforms.
33547
33548 2008-10-21  Bruno Haible  <bruno@clisp.org>
33549
33550         Add gethostname() declaration to <unistd.h>.
33551         * lib/unistd.in.h (gethostname): New declaration.
33552         * lib/gethostname.c: Include <unistd.h>.
33553         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
33554         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
33555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
33556         and HAVE_GETHOSTNAME.
33557         * modules/gethostname (Depends-on): Add unistd.
33558         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33559         (Include): Specify <unistd.h>.
33560         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
33561         HAVE_GETHOSTNAME.
33562         * tests/test-gethostname.c: Include <unistd.h> first.
33563
33564 2008-10-21  Bruno Haible  <bruno@clisp.org>
33565
33566         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
33567         * modules/select-tests (Depends-on): Likewise.
33568         Reported by Simon Josefsson.
33569
33570 2008-10-21  Simon Josefsson  <simon@josefsson.org>
33571
33572         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
33573         * lib/accept.c: New file, based on winsock.c.
33574         * lib/bind.c: New file, based on winsock.c.
33575         * lib/connect.c: New file, based on winsock.c.
33576         * lib/getpeername.c: New file, based on winsock.c.
33577         * lib/getsockname.c: New file, based on winsock.c.
33578         * lib/getsockopt.c: New file, based on winsock.c.
33579         * lib/ioctl.c: New file, based on winsock.c.
33580         * lib/listen.c: New file, based on winsock.c.
33581         * lib/recv.c: New file, based on winsock.c.
33582         * lib/recvfrom.c: New file, based on winsock.c.
33583         * lib/send.c: New file, based on winsock.c.
33584         * lib/sendto.c: New file, based on winsock.c.
33585         * lib/setsockopt.c: New file, based on winsock.c.
33586         * lib/shutdown.c: New file, based on winsock.c.
33587         * lib/socket.c: New file, based on winsock.c.
33588         * lib/w32sock.h: New file, based on winsock.c.
33589         * lib/winsock.c: Remove file.
33590         * modules/accept: Likewise.
33591         * modules/bind: Likewise.
33592         * modules/connect: Likewise.
33593         * modules/getpeername: Likewise.
33594         * modules/getsockname: Likewise.
33595         * modules/getsockopt: Likewise.
33596         * modules/ioctl: Likewise.
33597         * modules/listen: Likewise.
33598         * modules/recv: Likewise.
33599         * modules/recvfrom: Likewise.
33600         * modules/send: Likewise.
33601         * modules/sendto: Likewise.
33602         * modules/setsockopt: Likewise.
33603         * modules/shutdown: Likewise.
33604         * modules/socket: Use socket.c instead of winsock.c.
33605         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
33606         * doc/posix-functions/accept.texi: Doc fix.
33607         * doc/posix-functions/bind.texi: Doc fix.
33608         * doc/posix-functions/close.texi: Doc fix.
33609         * doc/posix-functions/connect.texi: Doc fix.
33610         * doc/posix-functions/getpeername.texi: Doc fix.
33611         * doc/posix-functions/getsockname.texi: Doc fix.
33612         * doc/posix-functions/getsockopt.texi: Doc fix.
33613         * doc/posix-functions/ioctl.texi: Doc fix.
33614         * doc/posix-functions/listen.texi: Doc fix.
33615         * doc/posix-functions/recv.texi: Doc fix.
33616         * doc/posix-functions/recvfrom.texi: Doc fix.
33617         * doc/posix-functions/send.texi: Doc fix.
33618         * doc/posix-functions/sendto.texi: Doc fix.
33619         * doc/posix-functions/setsockopt.texi: Doc fix.
33620         * doc/posix-functions/shutdown.texi: Doc fix.
33621         * doc/posix-functions/socket.texi: Doc fix.
33622
33623 2008-10-20  Bruno Haible  <bruno@clisp.org>
33624
33625         Take into account the role of SIGABRT_COMPAT on Windows 2008.
33626         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
33627         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
33628         as an alias for SIGABRT.
33629         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
33630         (sigaction): Map it to SIGABRT.
33631         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
33632
33633 2008-10-20  Bruno Haible  <bruno@clisp.org>
33634
33635         * lib/fts.c: Don't include lstat.h.
33636         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
33637
33638         Move the lstat() declaration to <sys/stat.h>.
33639         * lib/lstat.h: Remove file.
33640         * lib/sys_stat.in.h: Add special invocation convention.
33641         (lstat): New declaration.
33642         * lib/lstat.c (orig_lstat): New function.
33643         (rpl_lstat): Use orig_lstat instead of lstat.
33644         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
33645         AC_C_INLINE. Set REPLACE_LSTAT.
33646         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
33647         and REPLACE_LSTAT.
33648         * modules/lstat (Files): Remove lib/lstat.h.
33649         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33650         (Include): Specify <sys/stat.h> instead of lstat.h.
33651         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
33652         REPLACE_LSTAT.
33653         * NEWS: Mention the change.
33654
33655 2008-10-20  Bruno Haible  <bruno@clisp.org>
33656
33657         * modules/posix_spawn-tests: New file.
33658         * tests/test-posix_spawn3.c: New file.
33659
33660 2008-10-20  Bruno Haible  <bruno@clisp.org>
33661
33662         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
33663         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33664         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
33665         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33666         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
33667
33668 2008-10-20  Bruno Haible  <bruno@clisp.org>
33669
33670         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
33671         of posix_spawn on AIX 5.3.
33672
33673 2008-10-20  Bruno Haible  <bruno@clisp.org>
33674
33675         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
33676
33677 2008-10-20  Bruno Haible  <bruno@clisp.org>
33678
33679         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
33680         of AC_LANG_PROGRAM.
33681
33682 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33683
33684         * lib/netdb.in.h: Don't define GNU specific constants until they
33685         are supported or needed.  Reported by Bruno Haible
33686         <bruno@clisp.org>.
33687
33688 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33689
33690         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
33691
33692 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33693
33694         * lib/getaddrinfo.h: Remove file.
33695         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
33696         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
33697         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
33698         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
33699         * modules/netdb: Substitute GNULIB_GETADDRINFO.
33700         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
33701         * tests/test-getaddrinfo.c: Likewise.
33702         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
33703         * NEWS: Mention change.
33704
33705 2008-10-19  Bruno Haible  <bruno@clisp.org>
33706
33707         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
33708
33709 2008-10-19  Bruno Haible  <bruno@clisp.org>
33710
33711         * lib/wait-process.c: Include simply <sys/wait.h>.
33712         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
33713         WIFSTOPPED): Remove fallback definitions.
33714         * modules/wait-process (Depends-on): Add sys_wait.
33715
33716         New module 'sys_wait'.
33717         * modules/sys_wait: New file.
33718         * lib/sys_wait.in.h: New file, partially copied from
33719         lib/wait-process.c.
33720         * m4/sys_wait_h.m4: New file.
33721         * doc/posix-headers/sys_wait.texi: Mention the new module.
33722
33723 2008-10-19  Bruno Haible  <bruno@clisp.org>
33724
33725         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
33726
33727 2008-10-19  Bruno Haible  <bruno@clisp.org>
33728
33729         Assume that waitpid() fills an 'int' status, not a 'union wait'.
33730         * lib/wait-process.c (WAIT_T): Remove type.
33731         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
33732         (wait_subprocess): Update.
33733
33734 2008-10-19  Bruno Haible  <bruno@clisp.org>
33735
33736         New module 'atoll'.
33737         * modules/atoll: New file.
33738         * lib/stdlib.in.h (atoll): New declaration.
33739         * lib/atoll.c: New file, from glibc with modifications.
33740         * m4/atoll.m4: New file.
33741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
33742         HAVE_ATOLL.
33743         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
33744         * doc/posix-functions/atoll.texi: Mention the new module.
33745
33746 2008-10-19  Bruno Haible  <bruno@clisp.org>
33747
33748         Add strtoull() declaration to <stdlib.h>.
33749         * lib/stdlib.in.h (strtoull): New declaration.
33750         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33751         Set HAVE_STRTOULL.
33752         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
33753         HAVE_STRTOULL.
33754         * modules/strtoull (Depends-on): Add stdlib.
33755         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33756         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
33757         HAVE_STRTOULL.
33758
33759 2008-10-19  Bruno Haible  <bruno@clisp.org>
33760
33761         Add strtoll() declaration to <stdlib.h>.
33762         * lib/stdlib.in.h (strtoll): New declaration.
33763         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33764         Set HAVE_STRTOLL.
33765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
33766         HAVE_STRTOLL.
33767         * modules/strtoll (Depends-on): Add stdlib.
33768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33769         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
33770
33771 2008-10-19  Bruno Haible  <bruno@clisp.org>
33772
33773         * modules/bcopy (Depends-on): Add strings.
33774         (Include): Specify <strings.h>.
33775
33776 2008-10-19  Bruno Haible  <bruno@clisp.org>
33777
33778         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
33779
33780 2008-10-19  Bruno Haible  <bruno@clisp.org>
33781
33782         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
33783         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
33784         mingw.
33785
33786 2008-10-19  Bruno Haible  <bruno@clisp.org>
33787
33788         * lib/atanl.c: Don't include isnanl.h.
33789         * lib/cosl.c: Likewise.
33790         * lib/ldexpl.c: Likewise.
33791         * lib/logl.c: Likewise.
33792         * lib/sinl.c: Likewise.
33793         * lib/sqrtl.c: Likewise.
33794         * lib/tanl.c: Likewise.
33795
33796         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33797         * lib/isnanf.h: Remove file.
33798         * lib/isnand.h: Remove file.
33799         * lib/isnanl.h: Remove file.
33800         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33801         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33802         macros.
33803         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33804         HAVE_ISNANF, don't define it as a C macro.
33805         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33806         HAVE_ISNAND, don't define it as a C macro.
33807         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33808         HAVE_ISNANL, don't define it as a C macro.
33809         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33810         HAVE_ISNAN[FDL].
33811         * modules/isnanf (Files): Remove lib/isnanf.h.
33812         (Depends-on): Add math.
33813         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33814         (Include): Specify <math.h> instead of isnanf.h.
33815         * modules/isnand (Files): Remove lib/isnand.h.
33816         (Depends-on): Add math.
33817         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33818         (Include): Specify <math.h> instead of isnand.h.
33819         * modules/isnanl (Files): Remove lib/isnanl.h.
33820         (Depends-on): Add math.
33821         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33822         (Include): Specify <math.h> instead of isnanl.h.
33823         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33824         HAVE_ISNAN[FDL].
33825         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33826         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33827         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33828         * NEWS: Mention the change.
33829
33830 2008-10-18  Bruno Haible  <bruno@clisp.org>
33831
33832         Add getusershell(), setusershell(), endusershell() declarations to
33833         <unistd.h>.
33834         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33835         declarations.
33836         * lib/getusershell.c: Include unistd.h.
33837         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33838         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33839         HAVE_GETUSERSHELL.
33840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33841         and HAVE_GETUSERSHELL.
33842         * modules/getusershell (Depends-on): Add unistd, extensions.
33843         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33844         (Include): Specify <unistd.h>.
33845         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33846         HAVE_GETUSERSHELL.
33847
33848 2008-10-18  Bruno Haible  <bruno@clisp.org>
33849
33850         Add a getloadavg() declaration to <stdlib.h>.
33851         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33852         getloadavg declaration.
33853         (getloadavg): New declaration.
33854         * lib/getloadavg.c: Include <stdlib.h> first.
33855         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33856         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33857         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33858         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33859         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33860         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33861         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33862         (Include): Specify <stdlib.h>.
33863         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33864         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33865
33866 2008-10-18  Bruno Haible  <bruno@clisp.org>
33867
33868         * lib/dirchownmod.c: Don't include lchmod.h.
33869
33870         Move the lchmod() declaration to <sys/stat.h>.
33871         * lib/lchmod.h: Remove file.
33872         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33873         (lchmod): New declaration, moved here from lib/lchown.h.
33874         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33875         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33876         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33877         and HAVE_LCHMOD.
33878         * modules/lchmod (Files): Remove lib/lchmod.h.
33879         (Depends-on): Add sys_stat, extensions.
33880         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33881         (Include): Specify <sys/stat.h> instead of lchmod.h.
33882         * modules/sys_stat (Depends-on): Add link-warning.
33883         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33884         definition of GL_LINK_WARNING.
33885         * NEWS: Mention the change.
33886
33887 2008-10-18  Bruno Haible  <bruno@clisp.org>
33888
33889         * lib/fchdir.c: Don't include dirfd.h.
33890         * lib/fts.c: Likewise.
33891         * lib/getcwd.c: Likewise.
33892         * lib/glob.c: Likewise.
33893
33894         Move the dirfd() declaration to <dirent.h>.
33895         * lib/dirfd.h: Remove file.
33896         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33897         (dirfd): New declaration.
33898         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33899         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33900         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33901         HAVE_DECL_DIRFD.
33902         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33903         HAVE_DECL_DIRFD.
33904         * modules/dirfd (Files): Remove lib/dirfd.h.
33905         (Depends-on): Add dirent, extensions.
33906         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33907         (Include): Specify <dirent.h> instead of dirfd.h.
33908         * modules/dirent (Depends-on): Add link-warning.
33909         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33910         definition of GL_LINK_WARNING.
33911         * NEWS: Mention the change.
33912
33913 2008-10-18  Bruno Haible  <bruno@clisp.org>
33914
33915         Move the euidaccess() declaration to <unistd.h>.
33916         * lib/euidaccess.h: Remove file.
33917         * lib/unistd.in.h (euidaccess): New declaration.
33918         * lib/euidaccess.c: Don't include euidaccess.h.
33919         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33920         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33922         and HAVE_EUIDACCESS.
33923         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33924         (Depends-on): Add unistd.
33925         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33926         (Include): Specify <unistd.h> instead of euidaccess.h.
33927         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33928         HAVE_EUIDACCESS.
33929         * NEWS: Mention the change.
33930
33931 2008-10-18  Bruno Haible  <bruno@clisp.org>
33932
33933         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33934
33935         Move the getdomainname() declaration to <unistd.h>.
33936         * lib/getdomainname.h: Remove file.
33937         * lib/unistd.in.h (getdomainname): New declaration.
33938         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33939         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33940         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33941         HAVE_GETDOMAINNAME.
33942         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33943         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33944         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33945         (Depends-on): Add unistd, extensions.
33946         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33947         (Includes): Specify <unistd.h> instead of getdomainname.h.
33948         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33949         HAVE_GETDOMAINNAME.
33950         * NEWS: Mention the change.
33951
33952 2008-10-18  Bruno Haible  <bruno@clisp.org>
33953
33954         * modules/dirent: New file.
33955         * m4/dirent_h.m4: New file.
33956         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33957         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33958         * modules/fchdir (Files): Remove lib/dirent.in.h.
33959         (Depends-on): Add dirent.
33960         (Makefile.am): Move rules to modules/dirent.
33961         * doc/posix-headers/dirent.texi: Mention the new module.
33962
33963 2008-10-18  Bruno Haible  <bruno@clisp.org>
33964
33965         Avoid -Wunused-parameter warnings in public gnulib header files.
33966         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33967         macro.
33968         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33969
33970 2008-10-18  Bruno Haible  <bruno@clisp.org>
33971
33972         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33973         * doc/glibc-functions/error.texi: Mention the module 'error'.
33974         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33975         * doc/glibc-functions/getdomainname.texi: Mention the module
33976         'getdomainname'.
33977         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33978         * doc/glibc-functions/getpagesize.texi: Mention the module
33979         'getpagesize'.
33980         * doc/glibc-functions/getusershell.texi: Mention the module
33981         'getusershell'.
33982         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33983         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33984         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33985         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33986         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33987         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33988         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33989         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33990         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33991         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33992         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33993         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33994         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33995         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33996
33997 2008-10-17  Bruno Haible  <bruno@clisp.org>
33998
33999         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
34000         HP-UX and IRIX, use -0.0L.
34001         * tests/test-ceill.c (minus_zero): Likewise.
34002         * tests/test-floorl.c (minus_zero): Likewise.
34003         * tests/test-frexpl.c (minus_zero): Likewise.
34004         * tests/test-isnan.c (minus_zerol): Likewise.
34005         * tests/test-isnanl.h (minus_zero): Likewise.
34006         * tests/test-ldexpl.c (minus_zero): Likewise.
34007         * tests/test-roundl.c (minus_zero): Likewise.
34008         * tests/test-signbit.c (minus_zerol): Likewise.
34009         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
34010         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
34011         * tests/test-truncl.c (minus_zero): Likewise.
34012         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
34013         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
34014         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
34015         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
34016
34017 2008-10-17  Bruno Haible  <bruno@clisp.org>
34018
34019         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
34020         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
34021         that it gets activated only for gcc >= 3.0.
34022         * lib/dirent.in.h: Likewise.
34023         * lib/errno.in.h: Likewise.
34024         * lib/fcntl.in.h: Likewise.
34025         * lib/float.in.h: Likewise.
34026         * lib/iconv.in.h: Likewise.
34027         * lib/inttypes.in.h: Likewise.
34028         * lib/locale.in.h: Likewise.
34029         * lib/math.in.h: Likewise.
34030         * lib/netdb.in.h: Likewise.
34031         * lib/netinet_in.in.h: Likewise.
34032         * lib/search.in.h: Likewise.
34033         * lib/signal.in.h: Likewise.
34034         * lib/spawn.in.h: Likewise.
34035         * lib/stdarg.in.h: Likewise.
34036         * lib/stdint.in.h: Likewise.
34037         * lib/stdio.in.h: Likewise.
34038         * lib/stdlib.in.h: Likewise.
34039         * lib/string.in.h: Likewise.
34040         * lib/strings.in.h: Likewise.
34041         * lib/sys_file.in.h: Likewise.
34042         * lib/sys_ioctl.in.h: Likewise.
34043         * lib/sys_select.in.h: Likewise.
34044         * lib/sys_socket.in.h: Likewise.
34045         * lib/sys_stat.in.h: Likewise.
34046         * lib/sys_time.in.h: Likewise.
34047         * lib/sysexits.in.h: Likewise.
34048         * lib/time.in.h: Likewise.
34049         * lib/unistd.in.h: Likewise.
34050         * lib/wchar.in.h: Likewise.
34051         * lib/wctype.in.h: Likewise.
34052         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34053
34054 2008-10-17  Jim Meyering  <meyering@redhat.com>
34055
34056         ignore-value: don't depend on inline module
34057         * modules/ignore-value (Depends-on): Remove 'inline'.
34058         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
34059         Suggestion from Bruno Haible.
34060
34061 2008-10-17  Bruno Haible  <bruno@clisp.org>
34062
34063         New implementation of condition variables for Win32.
34064         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
34065         (gl_linked_waitqueue_t): New type.
34066         (gl_cond_t): Use it.
34067         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
34068         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
34069         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
34070         (glthread_cond_init_func, glthread_cond_wait_func,
34071         glthread_cond_timedwait_func, glthread_cond_signal_func,
34072         glthread_cond_broadcast_func, glthread_cond_destroy_func):
34073         Reimplemented on the basis of gl_linked_waitqueue_t.
34074         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
34075         gl_waitqueue_t.
34076         (gl_rwlock_t): Update.
34077         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
34078
34079 2008-10-17  Simon Josefsson  <simon@josefsson.org>
34080
34081         * modules/recvfrom (Depends-on): Add dependency on getpeername.
34082         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34083
34084 2008-10-17  Jim Meyering  <meyering@redhat.com>
34085
34086         ignore-value: new module
34087         * modules/ignore-value: New file.
34088         * lib/ignore-value.h: New file.
34089         * MODULES.html.sh (Compiler warning management): New section,
34090         just for this module.  More to come.
34091
34092 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34093
34094         open-safer.c: avoid 'signed and unsigned in conditional...' warning
34095         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
34096         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
34097
34098 2008-10-16  Jim Meyering  <meyering@redhat.com>
34099
34100         openat-die.c: avoid 'no previous prototype' warning
34101         * lib/openat-die.c: Include "openat.h".
34102         Reported by Reuben Thomas <rrt@sc3d.org>.
34103
34104 2008-10-16  Simon Josefsson  <simon@josefsson.org>
34105
34106         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
34107         * lib/netdb.in.h: Fix typo.
34108         Reported by Bruno Haible  <bruno@clisp.org>
34109
34110         * lib/netdb.in.h: Include sys/socket.h for platforms without
34111         netdb.h, to get structures like hostent on MinGW.
34112         * modules/netdb (Depends-on): Add sys_socket.
34113
34114 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34115
34116         * modules/netdb, modules/netdb-tests: New file.
34117         * m4/netdb_h.m4: New file.
34118         * lib/netdb.in.h: Add, currently just an empty file pending
34119         definitions.
34120         * tests/test-netdb.c: New file.
34121         * doc/posix-headers/netdb.texi: Mention that we replace it if
34122         needed.
34123         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34124         netdb.
34125
34126 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34127
34128         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
34129         with code.
34130
34131 2008-10-13  Bruno Haible  <bruno@clisp.org>
34132
34133         * lib/glthread/cond.c (glthread_cond_wait_func,
34134         glthread_cond_timedwait_func): Add a comment.
34135
34136 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34137
34138         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
34139         * tests/test-select.c: Likewise,
34140
34141 2008-10-13  Bruno Haible  <bruno@clisp.org>
34142
34143         * lib/glthread/cond.c (glthread_cond_wait_func,
34144         glthread_cond_timedwait_func): Fix variable name.
34145         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34146
34147 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
34148
34149         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
34150         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
34151         struct sockaddr.sa_len.
34152         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
34153
34154 2008-10-13  Simon Josefsson  <simon@josefsson.org>
34155
34156         * build-aux/pmccabe2html: Add css and css_url parameters.
34157
34158 2008-10-12  Bruno Haible  <bruno@clisp.org>
34159
34160         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
34161         calling aclx_get.
34162         Reported by Rainer Tammer <tammer@tammer.net>.
34163
34164 2008-10-12  Bruno Haible  <bruno@clisp.org>
34165
34166         Use msvcrt aware primitives for creation/termination of Win32 threads.
34167         * lib/glthread/thread.c: Include <process.h>.
34168         (glthread_create_func): Use _beginthreadex instead of CreateThread.
34169         (wrapper_func): Update signature.
34170         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
34171
34172 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34173             Bruno Haible  <bruno@clisp.org>
34174
34175         Provide a Win32 implementation of the 'cond' module.
34176         * lib/glthread/cond.h [USE_WIN32]: New implementation.
34177         * lib/glthread/cond.c (glthread_cond_init_func,
34178         glthread_cond_wait_func, glthread_cond_timedwait_func,
34179         glthread_cond_signal_func, glthread_cond_broadcast_func,
34180         glthread_cond_destroy_func) [USE_WIN32]: New functions.
34181         * modules/cond (Dependencies): Add gettimeofday.
34182
34183 2008-10-11  Bruno Haible  <bruno@clisp.org>
34184
34185         Make sleep work on older versions of mingw.
34186         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
34187         only whether it exists.
34188         * doc/posix-functions/sleep.texi: Mention the problem with older
34189         versions of mingw.
34190
34191 2008-10-11  Bruno Haible  <bruno@clisp.org>
34192
34193         New module 'shutdown'.
34194         * modules/shutdown: New file.
34195         * lib/sys_socket.in.h (shutdown): New declaration.
34196         * lib/winsock.c (shutdown): New function.
34197         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34198         GNULIB_SHUTDOWN.
34199         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
34200         * doc/posix-functions/shutdown.texi: Document the new module.
34201
34202 2008-10-11  Jim Meyering  <meyering@redhat.com>
34203
34204         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
34205
34206 2008-10-11  Bruno Haible  <bruno@clisp.org>
34207
34208         New module 'fclose'.
34209         * modules/fclose: New file.
34210         * lib/stdio.in.h (fclose): New declaration.
34211         * lib/fclose.c: New file.
34212         * m4/fclose.m4: New file.
34213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
34214         REPLACE_FCLOSE.
34215         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
34216         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
34217         REPLACE_FCLOSE.
34218         * modules/close (Depends-on): fclose.
34219         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
34220
34221 2008-10-11  Bruno Haible  <bruno@clisp.org>
34222
34223         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
34224         set errno and don't call _close.
34225
34226 2008-10-10  Bruno Haible  <bruno@clisp.org>
34227
34228         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
34229         ACL, not afterwards. Fixes test failure on Cygwin.
34230
34231 2008-10-09  Ben Pfaff  <blp@gnu.org>
34232
34233         * build-aux/announce-gen: Fix gnulib version related part of usage
34234         message.  Die with a useful error message if no tarballs are
34235         found.
34236
34237 2008-10-10  Jim Meyering  <meyering@redhat.com>
34238
34239         bootstrap: use git's --depth=N option only if it's supported
34240         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
34241         recognize the --depth option.  Reported by Pádraig Brady.
34242
34243 2008-10-09  Bruno Haible  <bruno@clisp.org>
34244
34245         New module 'ioctl'.
34246         * modules/ioctl: New file.
34247         * lib/sys_socket.in.h (ioctl): Remove declaration.
34248         * lib/winsock.c: Include <sys/ioctl.h>.
34249         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
34250         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34251         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
34252         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
34253         * doc/posix-functions/ioctl.texi: Mention the new module.
34254
34255 2008-10-09  Bruno Haible  <bruno@clisp.org>
34256
34257         New module 'sys_ioctl'.
34258         * lib/sys_ioctl.in.h: New file.
34259         * m4/sys_ioctl_h.m4: New file.
34260         * modules/sys_ioctl: New file.
34261         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
34262
34263 2008-10-09  Bruno Haible  <bruno@clisp.org>
34264
34265         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
34266         * lib/winsock.c: Include <stdarg.h>.
34267         (rpl_ioctl): Change to second argument 'int' and then varargs.
34268
34269 2008-10-09  Bruno Haible  <bruno@clisp.org>
34270
34271         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
34272         when the sys_socket module is present and the system has <winsock2.h>.
34273
34274 2008-10-09  Bruno Haible  <bruno@clisp.org>
34275
34276         * doc/posix-functions/close.texi: Mention module 'close' instead of
34277         module 'sys_socket'.
34278
34279 2008-10-09  Bruno Haible  <bruno@clisp.org>
34280
34281         * doc/glibc-headers/sys_ioctl.texi: New file.
34282         * doc/gnulib.texi: Include it.
34283
34284 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34285             Bruno Haible  <bruno@clisp.org>
34286
34287         Combine the two replacements of 'close'.
34288         * lib/sys_socket.in.h (close): Define to a reminder to include
34289         <unistd.h>.
34290         (_gl_close_fd_maybe_socket): New declaration.
34291         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
34292         * lib/winsock.c (close): Remove undefinition.
34293         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
34294         needed for the gnulib module 'close'.
34295         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
34296         define to an error symbol or to a warning, if suitable.
34297         * lib/close.c: Include <sys/socket.h>.
34298         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
34299         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
34300         UNISTD_H_HAVE_WINSOCK2_H.
34301         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
34302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34303         UNISTD_H_HAVE_WINSOCK2_H.
34304         * modules/sys_socket (Files): Add m4/unistd_h.m4.
34305         (configure.ac): Set a module indicator.
34306         (Makefile.am): Substitute GNULIB_CLOSE.
34307         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
34308         * modules/poll-tests (Depends-on): Add close.
34309         * modules/select-tests (Depends-on): Likewise.
34310
34311 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34312             Bruno Haible  <bruno@clisp.org>
34313
34314         New module 'close'.
34315         * modules/close: New file.
34316         * lib/unistd.in.h (close): Move declaration out of the
34317         FCHDIR_REPLACEMENT scope.
34318         (_gl_unregister_fd): New declaration.
34319         * lib/close.c: New file.
34320         * lib/fchdir.c (rpl_close): Remove function.
34321         * m4/close.m4: New file.
34322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34323         close.
34324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
34325         REPLACE_CLOSE.
34326         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
34327         REPLACE_CLOSE.
34328         * modules/fchdir (Depends-on): Add close.
34329
34330 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34331             Bruno Haible  <bruno@clisp.org>
34332
34333         * lib/fcntl.in.h (open): Simplify conditionals.
34334         (_gl_register_fd): New declaration.
34335         * lib/fchdir.c (rpl_open): Remove function.
34336         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
34337         also.
34338         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
34339         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34340         open.
34341
34342 2008-10-09  Jim Meyering  <meyering@redhat.com>
34343
34344         GNUmakefile: use the more name-space-friendly "_version"
34345         * top/GNUmakefile (_dummy): Update.
34346         (_version): Rename from "version".
34347
34348 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34349             Bruno Haible  <bruno@clisp.org>
34350
34351         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
34352         rpl_close.
34353         (_gl_register_fd): New function, extracted from rpl_open.
34354         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
34355         (rpl_open, rpl_opendir): Use _gl_register_fd.
34356
34357 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34358
34359         Fix organization of 'open' replacement.
34360         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
34361         (gl_FUNC_OPEN): Use it.
34362         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
34363
34364 2008-10-08  Bruno Haible  <bruno@clisp.org>
34365
34366         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
34367
34368 2008-10-08  Simon Josefsson  <simon@josefsson.org>
34369
34370         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
34371         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
34372         listen).
34373
34374 2008-10-08  Eric Blake  <ebb9@byu.net>
34375
34376         GNUmakefile: add 'make version' target
34377         * top/GNUmakefile (_curr-ver): Split version update rules...
34378         (version): ...into a target.
34379
34380 2008-10-07  Bruno Haible  <bruno@clisp.org>
34381
34382         Use a more portable replacement expression for -0.0L.
34383         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
34384         instead of -0.0L. Fix m4 quotation.
34385
34386         * tests/test-signbit.c: Include <float.h>.
34387         (minus_zero): New variable.
34388         (test_signbitl): Use minus_zero instead of -zero.
34389         * modules/signbit-tests (Depends-on): Add float.
34390
34391         * tests/test-ceill.c: Include <float.h>.
34392         (zero): Remove variable.
34393         (minus_zero): New variable.
34394         (main): Use minus_zero instead of -zero.
34395         * modules/ceill-tests (Depends-on): Add float.
34396
34397         * tests/test-floorl.c: Include <float.h>.
34398         (zero): Remove variable.
34399         (minus_zero): New variable.
34400         (main): Use minus_zero instead of -zero.
34401         * modules/floorl-tests (Depends-on): Add float.
34402
34403         * tests/test-roundl.c: Include <float.h>.
34404         (zero): Remove variable.
34405         (minus_zero): New variable.
34406         (main): Use minus_zero instead of -zero.
34407         * modules/roundl-tests (Depends-on): Add float.
34408
34409         * tests/test-truncl.c: Include <float.h>.
34410         (zero): Remove variable.
34411         (minus_zero): New variable.
34412         (main): Use minus_zero instead of -zero.
34413         * modules/truncl-tests (Depends-on): Add float.
34414
34415         * tests/test-frexpl.c (zero): Remove variable.
34416         (minus_zero): New variable.
34417         (main): Use minus_zero instead of -zero.
34418         * modules/frexpl-tests (Depends-on): Add float.
34419
34420         * tests/test-isnan.c (zerol): Remove variable.
34421         (minus_zerol): New variable.
34422         (test_long_double): Use minus_zerol instead of -zerol.
34423         * modules/isnan-tests (Depends-on): Add float.
34424
34425         * tests/test-isnanl.h (zero): Remove variable.
34426         (minus_zero): New variable.
34427         (main): Use minus_zero instead of -zero.
34428         * modules/isnanl-nolibm-tests (Depends-on): Add float.
34429         * modules/isnanl-tests (Depends-on): Add float.
34430
34431         * tests/test-ldexpl.c (zero): Remove variable.
34432         (minus_zero): New variable.
34433         (main): Use minus_zero instead of -zero.
34434         * modules/ldexpl-tests (Depends-on): Add float.
34435
34436         * tests/test-snprintf-posix.h (zerol): Remove variable.
34437         (minus_zerol): New variable.
34438         (test_function): Use minus_zerol instead of -zerol.
34439         * modules/snprintf-posix-tests (Depends-on): Add float.
34440         * modules/vsnprintf-posix-tests (Depends-on): Add float.
34441
34442         * tests/test-sprintf-posix.h (zerol): Remove variable.
34443         (minus_zerol): New variable.
34444         (test_function): Use minus_zerol instead of -zerol.
34445         * modules/sprintf-posix-tests (Depends-on): Add float.
34446         * modules/vsprintf-posix-tests (Depends-on): Add float.
34447
34448         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
34449         (minus_zerol): New variable.
34450         (test_function): Use minus_zerol instead of -zerol.
34451         * modules/vasnprintf-posix-tests (Depends-on): Add float.
34452
34453         * tests/test-vasprintf-posix.c (zerol): Remove variable.
34454         (minus_zerol): New variable.
34455         (test_function): Use minus_zerol instead of -zerol.
34456         * modules/vasprintf-posix-tests (Depends-on): Add float.
34457
34458 2008-10-07  Simon Josefsson  <simon@josefsson.org>
34459
34460         * MODULES.html.sh (Support for building documentation): Mention
34461         pmccabe2html.  Sort entries.
34462
34463         Add pmccabe2html module, from gnupdf.
34464         * build-aux/pmccabe.css: New file.
34465         * build-aux/pmccabe2html: New file.
34466         * m4/pmccabe2html.m4: New file.
34467         * modules/pmccabe2html: New file.
34468
34469 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
34470
34471         flock: new module
34472         * MODULES.html.sh: Add to list of modules.
34473         * lib/flock.c: flock implementation for Windows and Unix systems
34474         which have fcntl.
34475         * doc/glibc-functions/flock.texi: Update documentation.
34476         * lib/sys_file.in.h: <sys/file.h> header file.
34477         * m4/flock.m4: M4 macros.
34478         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
34479         * modules/flock: flock module.
34480         * modules/flock-tests: flock tests module.
34481         * modules/sys_file: sys/file.h module.
34482         * tests/test-flock.c: test suite for flock.
34483
34484 2008-10-06  Jim Meyering  <meyering@redhat.com>
34485
34486         bootstrap: check for LT_INIT more portably still ;-)
34487         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
34488         Spotted by Bruno Haible.
34489
34490 2008-10-06  Eric Blake  <ebb9@byu.net>
34491
34492         test-signbit: avoid tripping Irix cc bug on -0.0L
34493         * tests/test-signbit.c (minus_zerol): Delete, and replace with
34494         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
34495         entire testsuite consistent and avoids an Irix 6.2 bug.
34496
34497 2008-10-05  Bruno Haible  <bruno@clisp.org>
34498             Jim Meyering  <jim@meyering.net>
34499
34500         Add an option for ignoring EPIPE during close_stdout.
34501         * lib/closeout.h: Include <stdbool.h>.
34502         (close_stdout_set_ignore_EPIPE): New declaration.
34503         * lib/closeout.c: Include <stdbool.h>.
34504         (ignore_EPIPE): New variable.
34505         (close_stdout_set_ignore_EPIPE): New function.
34506         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
34507         * lib/close-stream.c (close_stream): Mention the possible EPIPE
34508         failure.
34509         * modules/closeout (Depends-on): Add stdbool.
34510
34511 2008-10-05  Bruno Haible  <bruno@clisp.org>
34512
34513         * modules/accept: New file.
34514         * modules/bind: New file.
34515         * modules/connect: New file.
34516         * modules/getpeername: New file.
34517         * modules/getsockname: New file.
34518         * modules/getsockopt: New file.
34519         * modules/listen: New file.
34520         * modules/recv: New file.
34521         * modules/recvfrom: New file.
34522         * modules/send: New file.
34523         * modules/sendto: New file.
34524         * modules/setsockopt: New file.
34525         * modules/socket: New file.
34526         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
34527         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34528         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
34529         the particular module is requested. Add a link warning when the
34530         particular module is not requested.
34531         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
34532         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
34533         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
34534         the particular module is requested.
34535         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
34536         gl_SYS_SOCKET_H_DEFAULTS): New macros.
34537         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
34538         * modules/sys_socket (Depends-on): Add link-warning.
34539         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
34540         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
34541         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
34542         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
34543         GL_LINK_WARNING.
34544         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
34545         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
34546         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
34547         * doc/posix-functions/getpeername.texi: Mention the new module
34548         'getpeername'.
34549         * doc/posix-functions/getsockname.texi: Mention the new module
34550         'getsockname'.
34551         * doc/posix-functions/getsockopt.texi: Mention the new module
34552         'getsockopt'.
34553         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
34554         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
34555         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
34556         * doc/posix-functions/send.texi: Mention the new module 'send'.
34557         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
34558         * doc/posix-functions/setsockopt.texi: Mention the new module
34559         'setsockopt'.
34560         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
34561         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
34562         listen, connect, accept.
34563         * modules/select-tests (Depends-on): Likewise.
34564
34565 2008-10-05  Bruno Haible  <bruno@clisp.org>
34566
34567         * lib/winsock.c (strerror): Remove unused #undef.
34568         (rpl_close): Remove unused local variable.
34569
34570         * modules/sys_socket (Depends-on); Add errno.
34571
34572 2008-10-05  Bruno Haible  <bruno@clisp.org>
34573
34574         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
34575         (select): Add a link warning when the 'select' module is not used.
34576         * modules/sys_select (Depends-on): Add link-warning.
34577         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
34578         Suggested by Paolo Bonzini.
34579
34580 2008-10-05  Jim Meyering  <meyering@redhat.com>
34581
34582         bootstrap: check for LT_INIT more portably
34583         * build-aux/bootstrap: Avoid using grep -E, since it's not
34584         portable enough.  Suggestion from Bruno Haible.
34585
34586 2008-10-05  Bruno Haible  <bruno@clisp.org>
34587
34588         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
34589         as being fixed by gnulib.
34590
34591 2008-10-05  Bruno Haible  <bruno@clisp.org>
34592
34593         * modules/select-tests: New file, mostly copied from
34594         modules/sys_select-tests.
34595         * tests/test-select.c: New file, mostly copied from
34596         tests/test-sys_select.c.
34597         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
34598         * modules/sys_select-tests (Depends-on): Remove all dependencies.
34599         (Makefile.am): Remove test_sys_select_LDADD.
34600
34601         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
34602         to an undefined symbol, for an error message.
34603         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
34604         (gl_SYS_SELECT_H_DEFAULTS): New macro.
34605         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
34606         winsock-select.c here.
34607         * modules/sys_select (Files): Remove lib/winsock-select.c.
34608         (Depends-on): Remove alloca.
34609         (Makefile.am): Substitute GNULIB_SELECT.
34610         * modules/select: New file.
34611         * doc/posix-functions/select.texi: Update.
34612
34613 2008-10-05  Bruno Haible  <bruno@clisp.org>
34614
34615         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
34616         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
34617         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
34618         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
34619         getdtablesize.
34620         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
34621         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
34622
34623 2008-10-05  Bruno Haible  <bruno@clisp.org>
34624
34625         * modules/getdtablesize-tests: New file.
34626         * tests/test-getdtablesize.c: New file.
34627
34628         New module 'getdtablesize'.
34629         * lib/unistd.in.h (getdtablesize): New declaration.
34630         * lib/getdtablesize.c: New file.
34631         * m4/getdtablesize.m4: New file.
34632         * modules/getdtablesize: New file.
34633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34634         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
34635         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
34636         HAVE_GETDTABLESIZE.
34637         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
34638
34639 2008-10-05  Bruno Haible  <bruno@clisp.org>
34640
34641         * modules/sched (Makefile.am): Fix typo.
34642         Reported by Simon Josefsson.
34643
34644 2008-10-05  Jim Meyering  <meyering@redhat.com>
34645
34646         bootstrap: check for LT_INIT, too
34647         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
34648         are deprecated.  Suggestion from Ralf Wildenhues.
34649
34650 2008-10-05  Bruno Haible  <bruno@clisp.org>
34651
34652         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
34653         overriding them by ours.
34654         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
34655
34656 2008-10-05  Jim Meyering  <meyering@redhat.com>
34657
34658         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
34659         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
34660         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
34661
34662 2008-10-04  Bruno Haible  <bruno@clisp.org>
34663
34664         * modules/dup2 (License): Change to LGPLv2+.
34665         * modules/sleep (License): Likewise.
34666         * modules/perror (License): Likewise.
34667         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
34668         Blake.
34669         * modules/signal (License): Likewise.
34670         * modules/sigprocmask (License): Likewise.
34671         * modules/raise (License): Change to LGPLv2+, with approval by Jim
34672         Meyering.
34673
34674 2008-10-04  Bruno Haible  <bruno@clisp.org>
34675
34676         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
34677         Reported by Rainer Tammer <tammer@tammer.net>.
34678
34679 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
34680             Bruno Haible  <bruno@clisp.org>
34681
34682         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
34683         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
34684         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
34685
34686 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
34687
34688         filevercmp: new module
34689         * lib/filevercmp.h: New function filevercmp comparing version strings.
34690         * lib/filevercmp.c: Implementation of filevercmp function.
34691         * modules/filevercmp: Module metadata.
34692         * tests/test-filevercmp.c: Unit test for new module.
34693         * modules/filevercmp-tests: Unit test metadata.
34694         * MODULES.html.sh: Add filevercmp module.
34695
34696 2008-10-03  Bruno Haible  <bruno@clisp.org>
34697
34698         * lib/c-ctype.h: Add comment.
34699         Reported by Jim Meyering.
34700
34701 2008-10-02  Bruno Haible  <bruno@clisp.org>
34702
34703         * modules/posix_spawn-internal (Depends-on): Add 'open'.
34704
34705 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34706
34707         * build-aux/bootstrap: Allow renaming bootstrap, and change the
34708         name of bootstrap.conf accordingly.
34709
34710 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34711
34712         * build-aux/bootstrap: Install git-merge-changelog configuration
34713         items into .gitconfig if needed.
34714
34715 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34716
34717         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
34718         git repository, and initialize/update it accordingly.
34719
34720 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
34721
34722         * modules/fsync-tests: New file.
34723         * tests/test-fsync.c: New file.
34724
34725         New module 'fsync'.
34726         * lib/fsync.c: New file.
34727         * m4/fsync.m4: New file.
34728         * modules/fsync: New file.
34729         * lib/unistd.in.h (fsync): New declaration.
34730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
34731         GNULIB_FSYNC and HAVE_FSYNC.
34732         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
34733         * MODULES.html.sh (posix_functions): Add fsync.
34734         * doc/posix-functions/fsync.texi: Mention the new module.
34735
34736 2008-10-02  Jim Meyering  <meyering@redhat.com>
34737
34738         fts.c: sync with similar code from coreutils' remove.c
34739         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
34740         Guard also with "#if defined __linux__", since for now at least,
34741         this code is Linux-kernel-specific.
34742
34743 2008-10-02  Jim Meyering  <meyering@redhat.com>
34744
34745         fts: bug fixes
34746         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
34747         Include <sys/vfs.h>, not <sys/statfs.h>.
34748
34749         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
34750         Include <sys/vfs.h>, not <sys/statfs.h>.
34751
34752 2008-10-01  Bruno Haible  <bruno@clisp.org>
34753
34754         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
34755         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
34756         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
34757         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
34758         * doc/posix-functions/posix_spawnp.texi: Likewise.
34759         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
34760         whether posix_spawn actually works.
34761         * m4/pipe.m4 (gl_PIPE): Likewise.
34762         * modules/execute (Files): Add m4/posix_spawn.m4.
34763         * modules/pipe (Files): Add m4/posix_spawn.m4.
34764         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
34765
34766 2008-10-01  Jim Meyering  <meyering@redhat.com>
34767
34768         remove trailing spaces
34769         * NEWS: Likewise.
34770         * lib/poll.c (poll): Likewise.
34771         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
34772         * lib/winsock.c (rpl_close): Likewise.
34773         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
34774         * modules/yield: Likewise.
34775         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
34776         * tests/test-sys_select.c (connect_to_socket): Likewise.
34777
34778         fts.c: adjust a new interface to be more generally useful
34779         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
34780         (fts_build): Adjust caller.
34781
34782 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34783
34784         * modules/cond-tests: New file.
34785         * tests/test-cond.c: New file.
34786
34787 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34788             Bruno Haible  <bruno@clisp.org>
34789
34790         * modules/cond (Dependencies): Add errno, time.
34791         * lib/glthread/cond.h: Include <time.h>.
34792         (gl_cond_define, gl_cond_define_initialized): Use the same definition
34793         across platforms.
34794
34795 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34796             Bruno Haible  <bruno@clisp.org>
34797
34798         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34799
34800 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34801             Bruno Haible  <bruno@clisp.org>
34802
34803         * modules/tls-tests (Depends-on): Add thread, yield.
34804         (configure.ac): Remove all checks.
34805         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34806         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34807         gl_thread_self): Remove definitions. Include glthread/thread.h and
34808         glthread/yield.h instead.
34809         (test_tls): Pass an additional NULL argument to gl_thread_join.
34810
34811 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34812             Bruno Haible  <bruno@clisp.org>
34813
34814         * modules/lock-tests (Depends-on): Add thread, yield.
34815         (configure.ac): Remove all checks.
34816         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34817         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34818         gl_thread_self): Remove definitions. Include glthread/thread.h and
34819         glthread/yield.h instead.
34820         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34821         additional NULL argument to gl_thread_join.
34822
34823 2008-09-30  Bruno Haible  <bruno@clisp.org>
34824
34825         Fix the Win32 implementation of the 'thread' module.
34826         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34827         pointer type.
34828         (gl_thread_self): Invoke gl_thread_self_func.
34829         (gl_thread_self_func): New declaration.
34830         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34831         (do_init_self_key, init_self_key): New functions.
34832         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34833         Remove some fields.
34834         (running_threads, running_lock): Remove variables.
34835         (get_current_thread_handle): New function.
34836         (gl_thread_self_func, wrapper_func, glthread_create_func,
34837         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34838         simplified.
34839
34840 2008-09-30  Bruno Haible  <bruno@clisp.org>
34841
34842         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34843         files.
34844
34845 2008-09-30  Jim Meyering  <meyering@redhat.com>
34846
34847         fts.m4: correct the test for statfs.f_type
34848         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34849         when checking for statfs.f_type.
34850
34851 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34852
34853         tests: avoid some compiler warnings
34854         * tests/test-memchr.c (main): Pass NULL indirectly.
34855         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34856
34857 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
34858
34859         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34860         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34861         exactly specified dayshifts.
34862         (dayshift): New rule.
34863         (rel): Add dayshift.
34864         (relative_time_table) [tomorrow, yesterday, today, now]:
34865         Use tDAY_SHIFT in place of tDAY_UNIT.
34866         * tests/test-getdate.c: Add tests for now-disallowed countable
34867         dayshifts, e.g., "4 yesterday ago".
34868
34869 2008-09-29  Bruno Haible  <bruno@clisp.org>
34870
34871         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34872         * tests/test-posix_spawn1.in.sh: Renamed from
34873         tests/test-posix_spawn.in.sh.
34874         * tests/test-posix_spawn2.c: New file.
34875         * tests/test-posix_spawn2.in.sh: New file.
34876         * modules/posix_spawnp-tests (Files): Update.
34877         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34878
34879 2008-09-29  Bruno Haible  <bruno@clisp.org>
34880
34881         Propagate effects of putenv/setenv/unsetenv to child processes.
34882         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34883         * lib/pipe.c (create_pipe): Likewise.
34884
34885 2008-09-29  Bruno Haible  <bruno@clisp.org>
34886
34887         Enable use of shell scripts as executables in mingw.
34888         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34889         run the program as a shell script.
34890         * lib/pipe.c (create_pipe): Likewise.
34891         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34892         resulting array.
34893
34894 2008-09-29  Eric Blake  <ebb9@byu.net>
34895
34896         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34897
34898 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34899
34900         * doc/posix-functions/accept.texi: Update mingw problems.
34901         * doc/posix-functions/bind.texi: Update mingw problems.
34902         * doc/posix-functions/close.texi: Update mingw problems.
34903         * doc/posix-functions/connect.texi: Update mingw problems.
34904         * doc/posix-functions/getpeername.texi: Update mingw problems.
34905         * doc/posix-functions/getsockname.texi: Update mingw problems.
34906         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34907         * doc/posix-functions/ioctl.texi: Update mingw problems.
34908         * doc/posix-functions/listen.texi: Update mingw problems.
34909         * doc/posix-functions/recv.texi: Update mingw problems.
34910         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34911         * doc/posix-functions/select.texi: Update mingw problems.
34912         * doc/posix-functions/send.texi: Update mingw problems.
34913         * doc/posix-functions/sendto.texi: Update mingw problems.
34914         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34915         * doc/posix-functions/socket.texi: Update mingw problems.
34916
34917 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34918             Bruno Haible  <bruno@clisp.org>
34919
34920         * lib/sys_select.in.h: Include sys/time.h.
34921         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34922         * modules/sys_select: Depend on sys_time.
34923         * tests/test-sys_select.c: Test that sys/select.h defines struct
34924         timeval fully.
34925
34926 2008-09-29  Bruno Haible  <bruno@clisp.org>
34927
34928         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34929         * lib/sys_select.in.h: Likewise.
34930
34931 2008-09-29  Bruno Haible  <bruno@clisp.org>
34932
34933         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34934
34935 2008-09-29  Bruno Haible  <bruno@clisp.org>
34936
34937         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34938         Set LIBSOCKET instead of augmenting LIBS.
34939         * modules/sockets (Link): New section.
34940         * modules/sockets-tests (test_sockets_LDADD): New variable.
34941         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34942         * modules/poll-tests (test_poll_LDADD): New variable.
34943         * NEWS: Document the change.
34944
34945 2008-09-29  Bruno Haible  <bruno@clisp.org>
34946
34947         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34948         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34949         ARPA_INET_H directly.
34950         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34951
34952 2008-09-28  Bruno Haible  <bruno@clisp.org>
34953
34954         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34955         from gl_HEADER_SYS_SOCKET.
34956         (gl_HEADER_SYS_SOCKET): Invoke it.
34957         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34958
34959 2008-09-28  Bruno Haible  <bruno@clisp.org>
34960
34961         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34962         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34963         Needed on OSF/1 4.0.
34964
34965 2008-09-28  Bruno Haible  <bruno@clisp.org>
34966
34967         Override open more carefully.
34968         * lib/open.c (orig_open): New function.
34969         (rpl_open): Use orig_open instead of open.
34970         * lib/fcntl.in.h: Add special invocation convention.
34971         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34972         (gl_FUNC_OPEN): Invoke it.
34973
34974         Override freopen more carefully.
34975         * lib/freopen.c (orig_freopen): New function.
34976         (rpl_freopen): Use orig_freopen instead of freopen.
34977         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34978         (gl_FUNC_FREOPEN): Invoke it.
34979
34980         Override fopen more carefully.
34981         * lib/fopen.c (orig_fopen): New function.
34982         (rpl_fopen): Use orig_fopen instead of fopen.
34983         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34984         (gl_FUNC_FOPEN): Invoke it.
34985         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34986
34987 2008-09-28  Bruno Haible  <bruno@clisp.org>
34988
34989         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34990         SIGPIPE.
34991
34992 2008-09-28  Bruno Haible  <bruno@clisp.org>
34993
34994         * tests/test-sigaction.c (handler, main): Disable the check whether
34995         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34996         glibc systems with LinuxThreads.
34997
34998 2008-09-28  Bruno Haible  <bruno@clisp.org>
34999
35000         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
35001
35002         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
35003         with AIX xlc.
35004         * lib/fcntl.in.h (open): Likewise.
35005         Reported by Rainer Tammer <tammer@tammer.net>.
35006
35007 2008-09-28  Bruno Haible  <bruno@clisp.org>
35008
35009         * modules/posix_spawnp-tests: New file.
35010         * tests/test-posix_spawn.c: New file.
35011         * tests/test-posix_spawn.in.sh: New file.
35012
35013         New module 'posix_spawnp'.
35014         * modules/posix_spawnp: New file.
35015         * lib/spawnp.c: New file, from GNU libc with modifications.
35016         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
35017
35018         New module 'posix_spawn'.
35019         * modules/posix_spawn: New file.
35020         * lib/spawn.c: New file, from GNU libc with modifications.
35021         * doc/posix-functions/posix_spawn.texi: Mention the new module.
35022
35023         New module 'posix_spawnattr_destroy'.
35024         * modules/posix_spawnattr_destroy: New file.
35025         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
35026         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
35027         module.
35028
35029         New module 'posix_spawnattr_setsigmask'.
35030         * modules/posix_spawnattr_setsigmask: New file.
35031         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
35032         modifications.
35033         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
35034         new module.
35035
35036         New module 'posix_spawnattr_getsigmask'.
35037         * modules/posix_spawnattr_getsigmask: New file.
35038         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
35039         modifications.
35040         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
35041         new module.
35042
35043         New module 'posix_spawnattr_setsigdefault'.
35044         * modules/posix_spawnattr_setsigdefault: New file.
35045         * lib/spawnattr_setdefault.c: New file, from GNU libc with
35046         modifications.
35047         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
35048         new module.
35049
35050         New module 'posix_spawnattr_getsigdefault'.
35051         * modules/posix_spawnattr_getsigdefault: New file.
35052         * lib/spawnattr_getdefault.c: New file, from GNU libc with
35053         modifications.
35054         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
35055         new module.
35056
35057         New module 'posix_spawnattr_setschedpolicy'.
35058         * modules/posix_spawnattr_setschedpolicy: New file.
35059         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
35060         modifications.
35061         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
35062         new module.
35063
35064         New module 'posix_spawnattr_getschedpolicy'.
35065         * modules/posix_spawnattr_getschedpolicy: New file.
35066         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
35067         modifications.
35068         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
35069         new module.
35070
35071         New module 'posix_spawnattr_setschedparam'.
35072         * modules/posix_spawnattr_setschedparam: New file.
35073         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
35074         modifications.
35075         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
35076         new module.
35077
35078         New module 'posix_spawnattr_getschedparam'.
35079         * modules/posix_spawnattr_getschedparam: New file.
35080         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
35081         modifications.
35082         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
35083         new module.
35084
35085         New module 'posix_spawnattr_setpgroup'.
35086         * modules/posix_spawnattr_setpgroup: New file.
35087         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
35088         modifications.
35089         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
35090         module.
35091
35092         New module 'posix_spawnattr_getpgroup'.
35093         * modules/posix_spawnattr_getpgroup: New file.
35094         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
35095         modifications.
35096         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
35097         module.
35098
35099         New module 'posix_spawnattr_setflags'.
35100         * modules/posix_spawnattr_setflags: New file.
35101         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
35102         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
35103         module.
35104
35105         New module 'posix_spawnattr_getflags'.
35106         * modules/posix_spawnattr_getflags: New file.
35107         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
35108         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
35109         module.
35110
35111         New module 'posix_spawnattr_init'.
35112         * modules/posix_spawnattr_init: New file.
35113         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
35114         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
35115         module.
35116
35117         New module 'posix_spawn_file_actions_destroy'.
35118         * modules/posix_spawn_file_actions_destroy: New file.
35119         * lib/spawn_faction_destroy.c: New file, from GNU libc with
35120         modifications.
35121         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
35122         the new module.
35123
35124         New module 'posix_spawn_file_actions_addopen'.
35125         * modules/posix_spawn_file_actions_addopen: New file.
35126         * lib/spawn_faction_addopen.c: New file, from GNU libc with
35127         modifications.
35128         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
35129         the new module.
35130
35131         New module 'posix_spawn_file_actions_adddup2'.
35132         * modules/posix_spawn_file_actions_adddup2: New file.
35133         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
35134         modifications.
35135         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
35136         the new module.
35137
35138         New module 'posix_spawn_file_actions_addclose'.
35139         * modules/posix_spawn_file_actions_addclose: New file.
35140         * lib/spawn_faction_addclose.c: New file, from GNU libc with
35141         modifications.
35142         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
35143         the new module.
35144
35145         New module 'posix_spawn_file_actions_init'.
35146         * modules/posix_spawn_file_actions_init: New file.
35147         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
35148         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
35149         new module.
35150
35151         New module 'posix_spawn-internal'.
35152         * modules/posix_spawn-internal: New file.
35153         * lib/spawn_int.h: New file, from GNU libc with modifications.
35154         * lib/spawni.c: New file, from GNU libc with modifications.
35155         * m4/posix_spawn.m4: New file.
35156
35157         New module 'spawn'.
35158         * modules/spawn: New file.
35159         * lib/spawn.in.h: New file, from GNU libc with modifications.
35160         * m4/spawn_h.m4: New file.
35161         * doc/posix-headers/spawn.texi: Mention the new module.
35162
35163 2008-09-28  Bruno Haible  <bruno@clisp.org>
35164
35165         * modules/sched-tests: New file.
35166         * tests/test-sched.c: New file.
35167
35168         New module 'sched'.
35169         * modules/sched: New file.
35170         * lib/sched.in.h: New file.
35171         * m4/sched_h.m4: New file.
35172         * doc/posix-headers/sched.texi: Mention the new module.
35173
35174 2008-09-27  Eric Blake  <ebb9@byu.net>
35175
35176         Fix previous patch, and tweak references to $0.
35177         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
35178         (func_version, func_gnulib_dir): Don't call this program
35179         gnulib-tool.
35180         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
35181         with using $0 in function.
35182         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
35183         (func_fatal_error): Reuse the name the user invoked us with.
35184
35185 2008-09-27  Bruno Haible  <bruno@clisp.org>
35186
35187         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
35188         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
35189         (gl_ICONV_H): Not here.
35190         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35191         instead of assigning ICONV_H directly.
35192
35193         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
35194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
35195         WCHAR_H directly.
35196
35197 2008-09-27  Bruno Haible  <bruno@clisp.org>
35198
35199         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
35200         * modules/arpa_inet (Depends-on): Add link-warning.
35201         (Makefile.am): Insert the definition of GL_LINK-WARNING.
35202         * modules/unistd (Makefile.am): Likewise.
35203
35204 2008-09-26  Bruno Haible  <bruno@clisp.org>
35205
35206         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
35207         variables.
35208         (func_version): Essentially copied from gnulib-tool.
35209         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
35210         func_readlink): Copied from gnulib-tool.
35211
35212 2008-09-26  Bruno Haible  <bruno@clisp.org>
35213
35214         * gnulib-tool (func_version): Change directory to $gnulib_dir before
35215         invoking git-version-gen.
35216
35217 2008-09-26  Bruno Haible  <bruno@clisp.org>
35218
35219         * posix-modules: Update to directory names changed on 2008-01-19.
35220         Remove commas in output before splitting into words. No more need to
35221         avoid 'ftruncate' since 2007-02-19.
35222
35223 2008-09-26  Bruno Haible  <bruno@clisp.org>
35224
35225         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
35226
35227 2008-09-26  Bruno Haible  <bruno@clisp.org>
35228
35229         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
35230         * modules/fwriteerror (Depends-on): Add errno.
35231
35232 2008-09-26  Bruno Haible  <bruno@clisp.org>
35233
35234         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
35235         * tests/test-vc-list-files-cvs.sh: Likewise.
35236
35237 2008-09-26  Bruno Haible  <bruno@clisp.org>
35238
35239         * doc/posix-headers/sys_resource.texi: Reorder items.
35240
35241 2008-09-26  Jim Meyering  <meyering@redhat.com>
35242
35243         fts: tweak inode comparison function
35244         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
35245         inode numbers, as documented.
35246
35247         fts: sort dirent entries on inode number before traversing
35248         This avoids a quadratic, seek-related performance penalty when
35249         operating on a directory containing many entries (measurable at 10k;
35250         3.5 hours at 2 million entries with a cold cache) on certain types
35251         of file systems, including ext3 and ext4, but not tmpfs.
35252         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
35253         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
35254         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
35255         (fs_handles_readdir_ordered_dirents_efficiently): New function.
35256         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
35257         (fts_build): Set the stat.st_ino member from D_INO.
35258         If it is likely to be useful, sort dirent entries on inode number.
35259
35260         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
35261         and the struct statfs.f_type member.
35262         * modules/fts (Depends-on): Add d-ino.
35263
35264 2008-09-26  Bruno Haible  <bruno@clisp.org>
35265
35266         * modules/sigpipe-die (Depends-on): Add sigpipe.
35267
35268         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
35269         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
35270         and GNULIB_STDIO_H_SIGPIPE are set.
35271         * lib/stdio-write.c: New file.
35272         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
35273         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35274         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35275         REPLACE_STDIO_WRITE_FUNCS.
35276         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
35277         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35278         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35279         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35280         * modules/stdio (Files): Add lib/stdio-write.c.
35281         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
35282         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35283         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35284         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35285         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
35286         REPLACE_FPRINTF_POSIX.
35287         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
35288         REPLACE_PRINTF_POSIX.
35289         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
35290         REPLACE_VFPRINTF_POSIX.
35291         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
35292         REPLACE_VPRINTF_POSIX.
35293         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
35294         SIGPIPE issue.
35295         * doc/posix-functions/fputc.texi: Likewise.
35296         * doc/posix-functions/fputs.texi: Likewise.
35297         * doc/posix-functions/fwrite.texi: Likewise.
35298         * doc/posix-functions/printf.texi: Likewise.
35299         * doc/posix-functions/putc.texi: Likewise.
35300         * doc/posix-functions/putchar.texi: Likewise.
35301         * doc/posix-functions/puts.texi: Likewise.
35302         * doc/posix-functions/vfprintf.texi: Likewise.
35303         * doc/posix-functions/vprintf.texi: Likewise.
35304
35305         * modules/safe-write (Depends-on): Add write.
35306
35307         * modules/sigpipe-tests: New file.
35308         * tests/test-sigpipe.c: New file.
35309         * tests/test-sigpipe.sh: New file.
35310
35311         * modules/write: New file.
35312         * lib/unistd.in.h: Include <sys/types.h>.
35313         (write): New declaration.
35314         * lib/write.c: New file.
35315         * m4/write.m4: New file.
35316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35317         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
35318         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
35319         GNULIB_WRITE, REPLACE_WRITE.
35320         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
35321         and the SIGPIPE issue.
35322
35323         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
35324         (raise): New declaration.
35325         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
35326         (ext_signal): New function.
35327         (rpl_raise): New function.
35328         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35329         GNULIB_SIGNAL_H_SIGPIPE.
35330         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
35331         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
35332
35333         * modules/sigpipe: New file.
35334         * m4/sigpipe.m4: New file.
35335
35336 2008-09-25  Derek Price  <derek@ximbiot.com>
35337             Bruno Haible  <bruno@clisp.org>
35338
35339         * gnulib-tool (func_import): Report all license incompatibilities, not
35340         just the first one.
35341
35342 2008-09-25  Bruno Haible  <bruno@clisp.org>
35343
35344         * gnulib-tool (func_import): When computing the edits, consider not
35345         only the Makefile.ams that exist but also those that will be generated.
35346
35347 2008-09-25  Simon Josefsson  <simon@josefsson.org>
35348
35349         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
35350         fixes gnulib-tool --test warning about duplicate dependency.
35351
35352 2008-09-25  Bruno Haible  <bruno@clisp.org>
35353
35354         * gnulib-tool: Don't ask the user to perform edits in the generated
35355         Makefile.ams.
35356         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
35357         apply to the Makefile.am being generated.
35358         (func_emit_tests_Makefile_am): Execute edits that apply to the
35359         Makefile.am being generated.
35360         (func_import): Setup list of Makefile.am edits before emitting the
35361         Makefile.ams, not at the end.
35362         (func_create_testdir): Update.
35363         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35364
35365 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35366
35367         * gnulib-tool (func_import): Store the --tests-base option in the
35368         comment in gnulib-cache.m4.
35369
35370 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
35371
35372         * NEWS: Document increased portability that sys_select now provides.
35373
35374         * lib/sys_select.in.h: Install select wrapper.
35375         * lib/sys_socket.in.h: Use more descriptive name when there is no
35376         select wrapper.
35377         * lib/winsock-select.c: New.
35378         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
35379         Require gl_HEADER_SYS_SOCKET.
35380         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
35381         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
35382         * tests/test-sys_select.c: Add functional tests.
35383
35384 2008-09-24  Eric Blake  <ebb9@byu.net>
35385
35386         open, fopen: close fd leak in last patch
35387         * lib/open.c (rpl_open): Close fd before returning error.
35388         * lib/fopen.c (rpl_fopen): Close fd before returning error.
35389         * doc/posix-functions/open.texi (open): Document that Irix also
35390         has the bug.
35391         * doc/posix-functions/fopen.texi (fopen): Likewise.
35392         Reported by Paolo Bonzini.
35393
35394 2008-09-24  Bruno Haible  <bruno@clisp.org>
35395
35396         Ensure that a filename ending in a slash cannot be used to access a
35397         non-directory.
35398         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
35399         to check whether it's really a directory.
35400         * lib/fopen.c: Include fcntl.h, unistd.h.
35401         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
35402         and fdopen().
35403         * modules/fopen (Depends-on): Add unistd.
35404         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
35405         * tests/test-fopen.c (main): Likewise.
35406         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
35407         * doc/posix-functions/fopen.texi: Likewise.
35408         Reported by Eric Blake.
35409
35410 2008-09-23  Eric Blake  <ebb9@byu.net>
35411
35412         c-stack: avoid compiler optimizations when provoking overflow
35413         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
35414         recursion harder to optimize, to ensure a stack overflow occurs.
35415         * tests/test-c-stack.c (recurse): Likewise.
35416         Borrowed from libsigsegv.
35417
35418         c-stack: work around Irix sigaltstack bug
35419         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
35420         whether sigaltstack uses wrong end of stack_t (copied in part from
35421         libsigsegv).
35422         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
35423         Irix bug, without requiring an over-allocation.
35424         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
35425         bug.
35426
35427         fopen: document mingw bug on directories
35428         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
35429         not allowing a stream visiting a directory, even though reading
35430         from such a stream is not portable.
35431
35432 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35433
35434         * lib/poll.c: Rewrite.
35435         * modules/poll: Depend on alloca.
35436
35437 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35438
35439         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
35440         instead define prototypes for a full set of wrappers.  Ensure
35441         that Cygwin does not use the compatibility code, which is only
35442         for MinGW.
35443         * lib/winsock.c: New.
35444         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
35445         * modules/sys_socket: Add lib/winsock.c.
35446
35447         * modules/poll-tests: Add errno and perror.
35448         * tests/test-poll.c: Use ioctl, not ioctlsocket.
35449
35450 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35451
35452         * tests/test-poll.c: Downgrade minimum needed Winsock version.
35453
35454 2008-09-23  Bruno Haible  <bruno@clisp.org>
35455
35456         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
35457         * doc/glibc-functions/*: Likewise.
35458
35459 2008-09-23  Simon Josefsson  <simon@josefsson.org>
35460
35461         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
35462         success.
35463
35464 2008-09-22  Eric Blake  <ebb9@byu.net>
35465             Bruno Haible  <bruno@clisp.org>
35466
35467         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
35468         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
35469         supply %A but mishandle pseudo-NaN.
35470         Reported by Simon Josefsson.
35471
35472 2008-09-21  Bruno Haible  <bruno@clisp.org>
35473
35474         * tests/test-lock.c (main): Tweak skip message.
35475         * tests/test-tls.c (main): Likewise.
35476
35477 2008-09-21  Bruno Haible  <bruno@clisp.org>
35478
35479         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
35480         whether 'struct sigaction' has sa_sigaction here...
35481         (gl_PREREQ_SIG_HANDLER_H): ... not here.
35482         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
35483
35484 2008-09-21  Bruno Haible  <bruno@clisp.org>
35485
35486         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
35487         section.
35488         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
35489         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
35490         the new section.
35491         (Support for obsolete systems lacking POSIX:2001): New section.
35492         (String handling <string.h>): Move strdup to the new section.
35493         Suggested by Simon Josefsson and Paolo Bonzini.
35494
35495 2008-09-21  Bruno Haible  <bruno@clisp.org>
35496
35497         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
35498         exponents in %e and %g results on 'long double'. Needed for mingw's
35499         improved *printf functions.
35500         * tests/test-vasprintf-posix.c (test_function): Likewise.
35501         * tests/test-snprintf-posix.h (test_function): Likewise.
35502         * tests/test-sprintf-posix.h (test_function): Likewise.
35503         Reported by Eric Blake.
35504
35505 2008-09-21  Bruno Haible  <bruno@clisp.org>
35506
35507         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
35508         * tests/test-sprintf-posix.h (test_function): Likewise.
35509
35510 2008-09-21  Bruno Haible  <bruno@clisp.org>
35511
35512         * modules/getpass (Depends-on): Add strdup-posix.
35513
35514         New module 'strdup-posix'.
35515         * modules/strdup-posix: New file.
35516         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
35517         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
35518         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35519         REPLACE_STRDUP.
35520         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
35521         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
35522         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35523         strdup-posix.
35524
35525         * modules/strdup (Depends-on): Remove malloc-posix.
35526
35527 2008-09-20  Bruno Haible  <bruno@clisp.org>
35528
35529         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
35530         Wildenhues.
35531
35532 2008-09-20  Bruno Haible  <bruno@clisp.org>
35533
35534         Ensure that wint_t gets defined on IRIX 5.3.
35535         * lib/wchar.in.h (wint_t): Define if not defined by the system.
35536         * lib/wctype.in.h (wint_t): Likewise.
35537         (__wctype_wint_t): Remove type.
35538         (isw*): Use wint_t instead of __wctype_wint_t.
35539         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
35540         * modules/wchar (Files): Add m4/wint_t.m4.
35541         (Makefile.am): Substitute HAVE_WINT_T.
35542         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
35543         * tests/test-wctype.c: Check that wint_t is defined.
35544         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
35545         * doc/posix-headers/wctype.texi: Likewise.
35546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35547
35548 2008-09-18  Bruno Haible  <bruno@clisp.org>
35549
35550         * gnulib-tool (func_exit): Update comment.
35551
35552 2008-09-18  Simon Josefsson  <simon@josefsson.org>
35553
35554         * modules/getaddrinfo (Depends-on): Remove strdup, this module
35555         assumes strdup exists and does not depend on strdup to return
35556         ENOMEM on out of memory conditions.
35557
35558 2008-09-18  Bruno Haible  <bruno@clisp.org>
35559
35560         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
35561         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
35562         digits for the exponent.
35563
35564 2008-09-18  Jim Meyering  <meyering@redhat.com>
35565             Bruno Haible  <bruno@clisp.org>
35566
35567         * lib/vasnprintf.c (decimal_point_char): Define also if
35568         NEED_PRINTF_INFINITE_LONG_DOUBLE.
35569
35570 2008-09-16  Bruno Haible  <bruno@clisp.org>
35571         and Eric Blake  <ebb9@byu.net>
35572
35573         vasnprintf: support Irix 5.3
35574         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
35575         that mishandle long double infinity.
35576         Reported by Tom G. Christensen.
35577
35578 2008-09-16  Bruno Haible  <bruno@clisp.org>
35579
35580         * doc/glibc-functions/scandir.texi: Mention the function is missing on
35581         Solaris 9.
35582         * doc/glibc-functions/alphasort.texi: Likewise.
35583         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
35584
35585 2008-09-16  Jim Meyering  <meyering@redhat.com>
35586
35587         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
35588         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
35589         a umask modification leak out of a subshell.  Otherwise, the
35590         opensolaris /bin/sh would be accepted and thus cause unwarranted
35591         failures in the coreutils test suite.
35592
35593 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
35594
35595         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
35596         to succeed.
35597
35598 2008-09-16  Jim Meyering  <meyering@redhat.com>
35599
35600         avoid spurious test failure when library is built without ACL support
35601         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
35602         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
35603         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
35604         * tests/test-copy-acl.sh: Likewise.
35605
35606 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35607
35608         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
35609         based on character occurrence counts.
35610
35611 2008-09-15  Eric Blake  <ebb9@byu.net>
35612
35613         tests: avoid some compiler warnings
35614         * tests/test-memchr.c (main): Pass NULL indirectly.
35615         * tests/test-closein.c (main): Avoid unused variable.
35616
35617 2008-09-15  Bruno Haible  <bruno@clisp.org>
35618
35619         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
35620         are missing on OpenBSD 4.0 individually.
35621         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35622
35623 2008-09-15  Bruno Haible  <bruno@clisp.org>
35624
35625         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
35626         * doc/posix-functions/strerror.texi: Mention also Cygwin.
35627         * doc/posix-functions/perror.texi: Likewise.
35628         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
35629         is missing.
35630         Reported by Eric Blake.
35631
35632         * lib/errno.in.h: Use replacement values >= 2000.
35633         Reported by Eric Blake.
35634
35635 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35636
35637         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
35638         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
35639         limit.
35640         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
35641         compareseq was aborted.
35642
35643 2008-09-14  Bruno Haible  <bruno@clisp.org>
35644
35645         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
35646         yvec_edit_count.
35647         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
35648         (fstrcmp_bounded): Simplify result computation accordingly.
35649
35650 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35651
35652         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
35653         (fstrcmp): Define in terms of fstrcmp_bounded.
35654         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
35655         lower_bound argument.
35656         Return quickly if the result is certainly < lower_bound.
35657         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
35658
35659 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35660
35661         * lib/diffseq.h (EARLY_ABORT): New macro.
35662         (compareseq): Change return type to bool. Return true when EARLY_ABORT
35663         evaluates to true.
35664
35665 2008-09-14  Bruno Haible  <bruno@clisp.org>
35666
35667         * modules/perror-tests: New file.
35668         * tests/test-perror.sh: New file.
35669         * tests/test-perror.c: New file.
35670
35671         New module 'perror'.
35672         * lib/stdio.in.h (perror): New declaration.
35673         * lib/perror.c: New file.
35674         * m4/perror.m4: New file.
35675         * modules/perror: New file.
35676         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
35677         * doc/posix-functions/perror.texi: Mention the perror module.
35678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
35679         REPLACE_PERROR.
35680         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
35681         REPLACE_PERROR.
35682
35683 2008-09-14  Bruno Haible  <bruno@clisp.org>
35684
35685         * modules/stdio (Makefile.am): Reorder to match the order in
35686         lib/stdio.in.h.
35687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35688
35689 2008-09-13  Bruno Haible  <bruno@clisp.org>
35690
35691         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
35692
35693 2008-09-13  Bruno Haible  <bruno@clisp.org>
35694
35695         Extend strerror to cover the added errno values.
35696         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
35697         (rpl_strerror): Provide error messages for the added errno values and
35698         for the WSA* values.
35699         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
35700         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
35701         strerror.
35702         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
35703         * modules/strerror (Depends-on): Add errno.
35704         * doc/posix-functions/strerror.texi: Document the change.
35705         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
35706         and EOVERFLOW.
35707
35708 2008-09-13  Bruno Haible  <bruno@clisp.org>
35709
35710         * modules/EOVERFLOW: Remove file.
35711         * m4/eoverflow.m4: Remove file.
35712         * modules/EOVERFLOW-tests: Remove file.
35713         * tests/test-EOVERFLOW.c: Remove file.
35714         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
35715         * modules/ftell (Depends-on): Likewise.
35716         * modules/getdelim (Depends-on): Likewise.
35717         * modules/getugroups (Depends-on): Likewise.
35718         * modules/poll (Depends-on): Likewise.
35719         * modules/snprintf (Depends-on): Likewise.
35720         * modules/sprintf-posix (Depends-on): Likewise.
35721         * modules/vasnprintf (Depends-on): Likewise.
35722         * modules/vasprintf (Depends-on): Likewise.
35723         * modules/vfprintf-posix (Depends-on): Likewise.
35724         * modules/vsnprintf (Depends-on): Likewise.
35725         * modules/vsprintf-posix (Depends-on): Likewise.
35726         * modules/xvasprintf (Depends-on): Likewise.
35727         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35728         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
35729         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
35730         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
35731         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35732         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
35733         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
35734         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
35735         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35736         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
35737         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
35738         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
35739         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35740         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
35741         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
35742         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
35743         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35744         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
35745         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
35746         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
35747         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35748         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
35749         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
35750         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
35751         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
35752         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35753         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
35754         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
35755         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
35756         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
35757         * MODULES.html.sh: Remove EOVERFLOW.
35758         * NEWS: Mention the change.
35759
35760 2008-09-13  Bruno Haible  <bruno@clisp.org>
35761
35762         * modules/errno-tests: New file.
35763         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
35764
35765         * lib/errno.in.h: New file.
35766         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
35767         * modules/errno: New file.
35768         * doc/posix-headers/errno.texi: Update documentation.
35769         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
35770
35771 2008-09-13  Bruno Haible  <bruno@clisp.org>
35772
35773         * tests/test-poll.c: Use #if for native Windows, rather than testing
35774         __MSVCRT__.
35775
35776 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35777             Bruno Haible  <bruno@clisp.org>
35778
35779         * lib/glob.c: Don't include <pwd.h> on native Windows.
35780         (WINDOWS32): New macro.
35781         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
35782
35783 2008-09-13  Bruno Haible  <bruno@clisp.org>
35784
35785         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
35786         (ETIMEDOUT): Remove macro.
35787         (glthread_cond_timedwait_multithreaded): New declaration.
35788         (glthread_cond_timedwait): Use it.
35789         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
35790         (glthread_cond_timedwait_multithreaded): New function.
35791
35792 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35793
35794         * modules/poll-tests: Do not check for io.h.
35795         * tests/test-poll.c: Check for __MSVCRT__ instead.
35796
35797 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35798
35799         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35800         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35801         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35802
35803 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35804
35805         * modules/poll-tests: New.
35806         * tests/test-poll.c: New.
35807
35808 2008-09-12  Eric Blake  <ebb9@byu.net>
35809
35810         frexp: test for NetBSD failure on -0.0
35811         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35812         not all, bugs from NetBSD 3.0 have been fixed.
35813         * doc/posix-functions/frexp.texi (frexp): Document bug.
35814         Reported by Thomas Klausner.
35815
35816         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35817         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35818         literal -0.0.
35819         Reported by Jonathan C. Patschke <jp@centtech.com>.
35820
35821 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35822
35823         * lib/glthread/cond.h: Use dummy implementation also if
35824         USE_WIN32_THREADS.
35825
35826 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35827
35828         * modules/fnmatch-posix (License): Change to LGPLv2+.
35829         * modules/fnmatch-gnu (License): Likewise.
35830
35831 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35832
35833         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35834
35835 2008-09-11  Jim Meyering  <meyering@redhat.com>
35836
35837         * users.txt: Add gtk-vnc.
35838
35839 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35840
35841         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35842         rotate amounts.
35843
35844         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35845         required for 16-bit and 8-bit rotates.
35846         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35847         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35848         UINT8_MAX instead of hard-coded constants.
35849         Suggested by Paul Eggert.
35850
35851 2008-09-07  Bruno Haible  <bruno@clisp.org>
35852
35853         * tests/test-striconveh.c (main): Check behaviour when converting from
35854         UTF-7.
35855
35856         Make striconveh work better with stateful encodings.
35857         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35858         that iconv does not increment the inptr when returning -1/EINVAL.
35859
35860 2008-09-07  Bruno Haible  <bruno@clisp.org>
35861
35862         * build-aux/config.rpath: Update according to libtool-2.2.6.
35863         * build-aux/config.libpath: Likewise.
35864
35865 2008-09-06  Bruno Haible  <bruno@clisp.org>
35866
35867         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35868         * lib/freadptr.c (freadptr): Likewise.
35869         * lib/freadseek.c (freadptrinc): Likewise.
35870         Reported by Simon Josefsson.
35871
35872 2008-09-06  Bruno Haible  <bruno@clisp.org>
35873
35874         * modules/freadptr (License): Change to LGPLv2+.
35875         * modules/freadseek (License): Likewise.
35876         Suggested by Eric Blake.
35877
35878         * modules/memchr2 (License): Change to LGPLv2+.
35879         Approved by Eric Blake.
35880
35881 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35882             Bruno Haible  <bruno@clisp.org>
35883
35884         Make gnulib-tool work with native 'sed' on AIX.
35885         * gnulib-tool (sed_noop): New variable.
35886         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35887         func_add_or_update, func_create_testdir): Use it to initialize sed
35888         script variables.
35889         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35890
35891 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35892             Bruno Haible  <bruno@clisp.org>
35893
35894         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35895         also works after #include directives.
35896
35897 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
35898
35899         getdate.y: reject an out-of-range timezone value
35900         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35901         the range [-24...+24].  When specified with only one or two digits,
35902         * tests/test-getdate.c: Tests for the fix.
35903         * doc/getdate.texi: Document this change.
35904
35905 2008-09-03  Bruno Haible  <bruno@clisp.org>
35906
35907         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35908
35909 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35910
35911         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35912         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35913         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35914         Blake <ebb9@byu.net>.
35915
35916         * tests/test-bitrotate.c: Add more test vectors.
35917
35918 2008-09-02  Eric Blake  <ebb9@byu.net>
35919
35920         vasnprintf-posix: handle large precision via %.*d
35921         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35922         when handling it ourselves.
35923         * tests/test-vasnprintf-posix.c (test_function): Add test.
35924         * tests/test-snprintf-posix.h (test_function): Likewise.
35925         * tests/test-sprintf-posix.h (test_function): Likewise.
35926         * tests/test-vasprintf-posix.c (test_function): Likewise.
35927         Reported by Alain Guibert.
35928
35929 2008-09-01  Eric Blake  <ebb9@byu.net>
35930
35931         c-stack: make configure-time check more robust
35932         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35933         successful sigaction call.
35934         Reported by Tom G. Christensen.
35935
35936 2008-09-01  Bruno Haible  <bruno@clisp.org>
35937
35938         New module 'findprog-lgpl'.
35939         * modules/findprog-lgpl: New file.
35940         * lib/findprog-lgpl.c: New file.
35941         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35942         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35943         to decide whether to use strdup or xstrdup, concatenated_filename or
35944         xconcatenated_filename.
35945
35946 2008-09-01  Bruno Haible  <bruno@clisp.org>
35947
35948         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35949         'xconcat-filename' (GPL).
35950         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35951         (License): Change to LGPLv2+.
35952         * modules/xconcat-filename: New file.
35953         * lib/concat-filename.h (concatenated_filename): Change specification.
35954         (xconcatenated_filename): New declaration.
35955         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35956         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35957         memory situations.
35958         * lib/xconcat-filename.c: New file.
35959         * NEWS: Mention the change.
35960         * lib/findprog.c: Include concat-filename.h, not filename.h.
35961         (find_in_path): Use xconcatenated_filename instead of
35962         concatenated_filename.
35963         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35964         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35965         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35966         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35967         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35968         instead of concatenated_filename.
35969         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35970         (execute_java_class): Use xconcatenated_filename instead of
35971         concatenated_filename.
35972         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35973         * modules/javacomp (Depends-on): Likewise.
35974         * modules/javaexec (Depends-on): Likewise.
35975
35976 2008-09-01  Bruno Haible  <bruno@clisp.org>
35977
35978         Split module 'filename' into 'filename' and 'concat-filename'.
35979         * modules/filename: Keep only lib/filename.h.
35980         (License): Change to LGPLv2+.
35981         * modules/concat-filename: New file, extracted from modules/filename.
35982         * lib/filename.h (concatenated_filename): Remove declaration.
35983         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35984         * lib/concat-filename.c: Include concat-filename.h.
35985         * NEWS: Mention the change.
35986
35987 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35988
35989         * lib/bitrotate.h (rotl8, rotr8): Add.
35990
35991         * modules/bitrotate (configure.ac): Need
35992         AC_REQUIRE([AC_C_INLINE]).
35993         (Description): Mention stdint.h.  Reported by Bruno Haible
35994         <bruno@clisp.org>.
35995
35996         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35997         Paolo Bonzini <bonzini@gnu.org>.
35998
35999 2008-08-31  Bruno Haible  <bruno@clisp.org>
36000
36001         Assume Solaris specific bi-arch conventions on Solaris systems.
36002         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
36003         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
36004         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
36005         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
36006         like acl_libdirstem.
36007         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
36008         acl_libdirstem.
36009         * NEWS: Mention the change.
36010         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
36011
36012 2008-08-31  Jim Meyering  <meyering@redhat.com>
36013
36014         * lib/strftime.h: Add comments describing the two added arguments.
36015
36016         remove duplicate #include directives
36017         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
36018         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
36019
36020 2008-08-31  Bruno Haible  <bruno@clisp.org>
36021
36022         New module 'sigpipe-die'.
36023         * modules/sigpipe-die: New file.
36024         * lib/sigpipe-die.h: New file.
36025         * lib/sigpipe-die.c: New file.
36026         * MODULES.html.sh (Signal handling): Add sigpipe-die.
36027
36028 2008-08-31  Bruno Haible  <bruno@clisp.org>
36029
36030         Don't override previously installed signal handlers.
36031         * lib/fatal-signal.c (saved_sigactions): New variable.
36032         (uninstall_handlers): Reset the signal to the saved handler, not
36033         to SIG_DFL (except when ignored).
36034         (install_handlers): Save the previous handlers.
36035
36036 2008-08-30  Bruno Haible  <bruno@clisp.org>
36037
36038         * gnulib-tool (func_reset_sigpipe): New function.
36039         (func_get_automake_snippet, func_modules_transitive_closure,
36040         func_import): Invoke it before a join command that reads from stdin,
36041         to avoid "echo: write error: Broken pipe" error messages on stderr.
36042         Reported by Sam Steingold <sds@gnu.org>.
36043
36044 2008-08-30  Bruno Haible  <bruno@clisp.org>
36045
36046         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
36047         Code copied from m4/open.m4.
36048         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
36049         access and the filename ends in a slash. Code copied from lib/open.c.
36050         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
36051         * tests/test-fopen.c (main): Check against bug with trailing slash.
36052
36053 2008-08-29  Bruno Haible  <bruno@clisp.org>
36054
36055         Avoid some "gcc -pedantic" warnings.
36056         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
36057         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
36058         * lib/dirent.in.h: Likewise.
36059         * lib/fcntl.in.h: Likewise.
36060         * lib/float.in.h: Likewise.
36061         * lib/iconv.in.h: Likewise.
36062         * lib/inttypes.in.h: Likewise.
36063         * lib/locale.in.h: Likewise.
36064         * lib/math.in.h: Likewise.
36065         * lib/netinet_in.in.h: Likewise.
36066         * lib/search.in.h: Likewise.
36067         * lib/signal.in.h: Likewise.
36068         * lib/stdarg.in.h: Likewise.
36069         * lib/stdint.in.h: Likewise.
36070         * lib/stdio.in.h: Likewise.
36071         * lib/stdlib.in.h: Likewise.
36072         * lib/string.in.h: Likewise.
36073         * lib/strings.in.h: Likewise.
36074         * lib/sys_select.in.h: Likewise.
36075         * lib/sys_socket.in.h: Likewise.
36076         * lib/sys_stat.in.h: Likewise.
36077         * lib/sys_time.in.h: Likewise.
36078         * lib/sysexits.in.h: Likewise.
36079         * lib/time.in.h: Likewise.
36080         * lib/unistd.in.h: Likewise.
36081         * lib/wchar.in.h: Likewise.
36082         * lib/wctype.in.h: Likewise.
36083         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
36084         * modules/fchdir (Makefile.am): Likewise.
36085         * modules/fcntl (Makefile.am): Likewise.
36086         * modules/float (Makefile.am): Likewise.
36087         * modules/iconv_open (Makefile.am): Likewise.
36088         * modules/inttypes (Makefile.am): Likewise.
36089         * modules/locale (Makefile.am): Likewise.
36090         * modules/math (Makefile.am): Likewise.
36091         * modules/netinet_in (Makefile.am): Likewise.
36092         * modules/search (Makefile.am): Likewise.
36093         * modules/signal (Makefile.am): Likewise.
36094         * modules/stdarg (Makefile.am): Likewise.
36095         * modules/stdint (Makefile.am): Likewise.
36096         * modules/stdio (Makefile.am): Likewise.
36097         * modules/stdlib (Makefile.am): Likewise.
36098         * modules/string (Makefile.am): Likewise.
36099         * modules/strings (Makefile.am): Likewise.
36100         * modules/sys_select (Makefile.am): Likewise.
36101         * modules/sys_socket (Makefile.am): Likewise.
36102         * modules/sys_stat (Makefile.am): Likewise.
36103         * modules/sys_time (Makefile.am): Likewise.
36104         * modules/sysexits (Makefile.am): Likewise.
36105         * modules/time (Makefile.am): Likewise.
36106         * modules/unistd (Makefile.am): Likewise.
36107         * modules/wchar (Makefile.am): Likewise.
36108         * modules/wctype (Makefile.am): Likewise.
36109         Reported by Reuben Thomas <rrt@sc3d.org>.
36110
36111 2008-08-29  Bruno Haible  <bruno@clisp.org>
36112
36113         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
36114         any more.
36115
36116 2008-08-29  Simon Josefsson  <simon@josefsson.org>
36117
36118         * MODULES.html.sh (Misc): Add bitrotate.
36119
36120         * modules/bitrotate: New file.
36121
36122         * lib/bitrotate.h: New file.
36123
36124         * modules/bitrotate-tests: New file.
36125
36126         * tests/test-bitrotate.c: New file.
36127
36128         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
36129         on the bitrotate module.
36130
36131         * lib/arctwo.c: Use new bitrotate module.
36132
36133 2008-08-29  Jim Meyering  <meyering@redhat.com>
36134
36135         bootstrap: merge changes from coreutils
36136         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
36137         of copied files.  Remove a kludge, now that this is fixed.
36138         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
36139         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
36140         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
36141
36142 2008-08-29  Bruno Haible  <bruno@clisp.org>
36143
36144         * MODULES.html.sh: Remove --cvs-urls option.
36145
36146 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
36147
36148         maint.mk: adjust to file name change
36149         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
36150
36151 2008-08-28  Jim Meyering  <meyering@redhat.com>
36152
36153         * modules/getndelim2 (License): Relicense to LGPLv2+.
36154         Approved by Richard Stallman for the version of 1995, and by
36155         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
36156
36157 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
36158
36159         * lib/getdelim.c (flockfile, funlockfile): Make all of them
36160         dummy if one is not available.  Do not touch them if
36161         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
36162         (getc_maybe_unlocked): New.
36163         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
36164
36165 2008-08-26  Eric Blake  <ebb9@byu.net>
36166
36167         doc/INSTALL: resync from autoconf
36168         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
36169         (INSTALL_PRELUDE): Delete; this is done more efficiently by
36170         moving...
36171         * install.texi [!autoconf]: ...here.  Resync from autoconf.
36172         * INSTALL: Regenerate.
36173         * INSTALL.ISO: New file.
36174         * INSTALL.UTF-8: Likewise.
36175
36176 2008-08-26  Jim Meyering  <meyering@redhat.com>
36177
36178         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
36179         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
36180         these definitions conditional, so that they may be overridden, too.
36181
36182 2008-08-26  Bruno Haible  <bruno@clisp.org>
36183
36184         Generate INSTALL file variants with prettier quotes.
36185         * doc/Makefile (INSTALL_PRELUDE): New macro.
36186         (INSTALL): Use it.
36187         (INSTALL.ISO, INSTALL.UTF-8): New rules.
36188
36189 2008-08-26  Bruno Haible  <bruno@clisp.org>
36190
36191         Run makeinfo in an English locale.
36192         * doc/Makefile (MAKEINFO): New variable.
36193
36194 2008-08-26  Bruno Haible  <bruno@clisp.org>
36195
36196         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
36197         Suggested by Eric Blake.
36198
36199 2008-08-25  Bruno Haible  <bruno@clisp.org>
36200
36201         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
36202
36203 2008-08-25  Eric Blake  <ebb9@byu.net>
36204
36205         c-stack: test that stack overflow can be caught
36206         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
36207         that platform allows handling stack overflow; at least OS/2 EMX
36208         has sigaltstack, but crashes before transferring control to
36209         handler on stack overflow.
36210         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
36211         check for HAVE_STACK_OVERFLOW_HANDLING.
36212         Reported by Elbert Pol.
36213
36214 2008-08-25  Bruno Haible  <bruno@clisp.org>
36215
36216         * doc/posix-functions/strftime.texi: Fix description of strftime
36217         module.
36218
36219 2008-08-24  Bruno Haible  <bruno@clisp.org>
36220
36221         * tests/uniwidth/test-uc_width2.c: New file.
36222         * tests/uniwidth/test-uc_width2.sh: New file.
36223         * modules/uniwidth/width-tests (Files): Add the new files.
36224         (TESTS): Add uniwidth/test-uc_width2.sh.
36225         (TESTS_ENVIRONMENT): New variable.
36226         (check_PROGRAMS): Add test-uc_width2.
36227         (test_uc_width2_SOURCES): New variable.
36228
36229         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
36230         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
36231         not 0x00AB.
36232         Reported by Alexander V. Lukyanov <lav@netis.ru>.
36233
36234 2008-08-22  Eric Blake  <ebb9@byu.net>
36235
36236         test-lock, test-tls: mention why a test is skipped
36237         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
36238         skipped.
36239         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
36240
36241         count-one-bits: relax license
36242         * modules/count-one-bits (License): Relicense to LGPLv2+.
36243         Suggested by Ludovic Courtès, approved by Ben Pfaff.
36244
36245 2008-08-22  Andreas Schwab  <schwab@suse.de>
36246
36247         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36248         Remove spurious space in assignment.
36249
36250 2008-08-21  Simon Josefsson  <simon@josefsson.org>
36251
36252         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
36253         Paul Eggert <eggert@CS.UCLA.EDU>.
36254
36255 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
36256
36257         * modules/gettext: Add m4/threadlib.m4.
36258
36259 2008-08-19  Eric Blake  <ebb9@byu.net>
36260
36261         test-c-stack: fix compilation failure on FreeBSD 5.0
36262         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
36263         headers before <sys/resource.h>.
36264         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
36265         the bug.
36266         Reported by Nelson H. F. Beebe.
36267
36268         strverscmp: migrate from "strverscmp.h" to <string.h>
36269         * modules/string (Makefile.am): Add new hooks.
36270         * modules/strverscmp (Files): Remove strverscmp.h.
36271         (Depends-on): Add string.
36272         (configure.ac): Add indicator.
36273         (Include): Mention new header.
36274         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
36275         defaults.
36276         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
36277         results.
36278         * lib/strverscmp.h: Delete.
36279         * lib/string.in.h (strverscmp): Provide declaration, when needed.
36280         * tests/test-strverscmp.c (includes): Adjust client.
36281         * lib/check-version.c (includes): Likewise.
36282         * NEWS: Document the change.
36283
36284         strverscmp: add unit test
36285         * modules/strverscmp-tests: New file.
36286         * tests/test-strverscmp.c: Likewise.
36287
36288 2008-08-19  Simon Josefsson  <simon@josefsson.org>
36289
36290         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
36291         regarding Windows crypto stuff, from Mono.
36292
36293 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
36294
36295         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
36296         if present, for intel RND.  Return error on failures.
36297
36298 2008-08-18  Ben Pfaff  <blp@gnu.org>
36299
36300         gitlog-to-changelog: give better diagnostic for failed pipe-open
36301         * build-aux/gitlog-to-changelog: Improve error message: suggest
36302         that the version of Git may be too old.
36303
36304 2008-08-18  Simon Josefsson  <simon@josefsson.org>
36305
36306         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
36307         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
36308
36309 2008-08-18  Bruno Haible  <bruno@clisp.org>
36310
36311         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
36312         pthread_in_use().
36313
36314 2008-08-18  Bruno Haible  <bruno@clisp.org>
36315
36316         * lib/glthread/threadlib.c: Include <pthread.h>.
36317
36318 2008-08-18  Bruno Haible  <bruno@clisp.org>
36319
36320         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
36321         glthread_recursive_lock_* macros.
36322         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
36323         Fix syntax error.
36324
36325 2008-08-18  Bruno Haible  <bruno@clisp.org>
36326
36327         * lib/glthread/thread.c: Avoid forcing a context switch right after
36328         thread creation.
36329
36330 2008-08-17  Bruno Haible  <bruno@clisp.org>
36331
36332         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
36333         * lib/glthread/thread.h: Provide Win32 specific implementation.
36334         * modules/thread (Files): Add lib/glthread/thread.c.
36335         (Depends-on): Add lock.
36336         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
36337
36338 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36339
36340         New module 'yield'.
36341         * modules/yield: New file.
36342         * lib/glthread/yield.h: New file.
36343         * m4/yield.m4: New file.
36344         * MODULES.html.sh (Multithreading): Add yield.
36345
36346 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36347
36348         New module 'thread'.
36349         * modules/thread: New file.
36350         * lib/glthread/thread.h: New file.
36351         * m4/thread.m4: New file.
36352         * MODULES.html.sh (Multithreading): Add thread.
36353
36354 2008-08-17  Bruno Haible  <bruno@clisp.org>
36355
36356         * lib/glthread/lock.h: Include <stdlib.h> always.
36357         * lib/glthread/tls.h: Likewise.
36358         * lib/glthread/cond.h: Likewise.
36359
36360 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36361
36362         New module 'cond'.
36363         * modules/cond: New file.
36364         * lib/glthread/cond.h: New file.
36365         * lib/glthread/cond.c: New file.
36366         * m4/cond.m4: New file.
36367         * MODULES.html.sh (Multithreading): Add cond.
36368
36369 2008-08-16  Eric Blake  <ebb9@byu.net>
36370
36371         c-stack: fix regression on Irix 5.3 from 2008-06-21
36372         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
36373         sa_sigaction...
36374         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
36375         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
36376         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
36377         * modules/signal (Makefile.am): Use the value.
36378         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
36379         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
36380         * doc/posix-headers/signal.texi (signal.h): Document this
36381         portability issue.
36382         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
36383         Reported by Tom G. Christensen.
36384
36385 2008-08-17  Bruno Haible  <bruno@clisp.org>
36386
36387         New module 'threadlib'.
36388         * modules/threadlib: New file.
36389         * lib/glthread/threadlib.c: New file, extracted from
36390         lib/glthread/lock.c.
36391         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
36392         functions.
36393         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
36394         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
36395         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
36396         macros.
36397         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
36398         (gl_DISABLE_THREADS): Remove macro.
36399         * modules/lock (Files): Remove build-aux/config.rpath.
36400         (Depends-on): Remove havelib. Add threadlib.
36401         (configure.ac-early): Remove section.
36402         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
36403         * modules/tls (Depends-on): Remove lock. Add threadlib.
36404         (Link): New section, copied from threadlib.
36405         * MODULES.html.sh (Multithreading): Add threadlib.
36406
36407 2008-08-14  Bruno Haible  <bruno@clisp.org>
36408
36409         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
36410         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
36411         glthread_rwlock_unlock, glthread_rwlock_destroy,
36412         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
36413         glthread_recursive_lock_destroy): Define as macros always.
36414         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
36415         glthread_lock_lock.
36416         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
36417         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
36418         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
36419         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
36420         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
36421         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
36422         (glthread_recursive_lock_lock_func): Renamed from
36423         glthread_recursive_lock_lock.
36424         (glthread_recursive_lock_unlock_func): Renamed from
36425         glthread_recursive_lock_unlock.
36426         (glthread_recursive_lock_destroy_func): Renamed from
36427         glthread_recursive_lock_destroy.
36428
36429 2008-08-14  Bruno Haible  <bruno@clisp.org>
36430
36431         * lib/glthread/lock.h: Renamed from lib/lock.h.
36432         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
36433         * lib/glthread/tls.h: Renamed from lib/tls.h.
36434         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
36435         * lib/fstrcmp.c: Update includes.
36436         * lib/strsignal.c: Update includes.
36437         * modules/lock (Files, Makefile.am): Update.
36438         (Include): Change to "glthread/lock.h".
36439         * modules/tls (Files, Makefile.am): Update.
36440         (Include): Change to "glthread/tls.h".
36441         * tests/test-lock.c: Update includes.
36442         * tests/test-tls.c: Update includes.
36443         * NEWS: Mention the renamed header files.
36444
36445 2008-08-11  Jim Meyering  <meyering@redhat.com>
36446
36447         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
36448
36449 2008-08-11  Eric Blake  <ebb9@byu.net>
36450
36451         test-c-stack: avoid C99-ism
36452         * tests/test-c-stack.c (main): Fix whitespace, move declaration
36453         before statement.
36454         Reported by Alain Guibert.
36455
36456 2008-08-10  Jim Meyering  <meyering@redhat.com>
36457
36458         ensure that return value of uinttostr et al are not ignored
36459         * lib/inttostr.h (__GNUC_PREREQ): Define.
36460         (__attribute_warn_unused_result__): Define.
36461         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
36462
36463 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
36464
36465         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
36466         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
36467
36468 2008-08-07  Jim Meyering  <meyering@redhat.com>
36469
36470         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
36471
36472         * modules/mkstemp (License): Relicense under LGPLv2+.
36473         * modules/tempname (License): Likewise.
36474
36475 2008-08-06  Bruno Haible  <bruno@clisp.org>
36476
36477         * lib/poll.c (poll): Further micro-optimization.
36478
36479 2008-08-06  Jim Meyering  <meyering@redhat.com>
36480
36481         inet_pton.c: use locale-independent tolower
36482         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
36483         (inet_pton6): Use c_tolower rather than tolower.
36484         * modules/inet_pton (Depends-on): Add c-ctype.
36485
36486 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
36487
36488         * lib/poll.c (poll): Avoid division when timeout is 0, cache
36489         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
36490
36491 2008-08-06  Jim Meyering  <meyering@redhat.com>
36492
36493         * modules/inet_pton (License): Relicense under LGPLv2+.
36494
36495 2008-08-03  Bruno Haible  <bruno@clisp.org>
36496
36497         Additional non-aborting API for lock and tls.
36498         * lib/lock.h: Include <errno.h>.
36499         (glthread_lock_init): New macro/function.
36500         (gl_lock_init): Define as wrapper around glthread_lock_init.
36501         (glthread_lock_lock): New macro/function.
36502         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
36503         (glthread_lock_unlock): New macro/function.
36504         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
36505         (glthread_lock_destroy): New macro/function.
36506         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
36507         (glthread_rwlock_init): New macro/function.
36508         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
36509         (glthread_rwlock_rdlock): New macro/function.
36510         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
36511         (glthread_rwlock_wrlock): New macro/function.
36512         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
36513         (glthread_rwlock_unlock): New macro/function.
36514         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
36515         (glthread_rwlock_destroy): New macro/function.
36516         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
36517         (glthread_recursive_lock_init): New macro/function.
36518         (gl_recursive_lock_init): Define as wrapper around
36519         glthread_recursive_lock_init.
36520         (glthread_recursive_lock_lock): New macro/function.
36521         (gl_recursive_lock_lock): Define as wrapper around
36522         glthread_recursive_lock_lock.
36523         (glthread_recursive_lock_unlock): New macro/function.
36524         (gl_recursive_lock_unlock): Define as wrapper around
36525         glthread_recursive_lock_unlock.
36526         (glthread_recursive_lock_destroy): New macro/function.
36527         (gl_recursive_lock_destroy): Define as wrapper around
36528         glthread_recursive_lock_destroy.
36529         (glthread_once): New macro/function.
36530         (gl_once): Define as wrapper around glthread_once.
36531         Update function declarations.
36532         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
36533         glthread_rwlock_init. Return error code.
36534         (glthread_rwlock_rdlock_multithreaded): Renamed from
36535         glthread_rwlock_rdlock. Return error code.
36536         (glthread_rwlock_wrlock_multithreaded): Renamed from
36537         glthread_rwlock_wrlock. Return error code.
36538         (glthread_rwlock_unlock_multithreaded): Renamed from
36539         glthread_rwlock_unlock. Return error code.
36540         (glthread_rwlock_destroy_multithreaded): Renamed from
36541         glthread_rwlock_destroy. Return error code.
36542         (glthread_recursive_lock_init_multithreaded): Renamed from
36543         glthread_recursive_lock_init. Return error code.
36544         (glthread_recursive_lock_lock_multithreaded): Renamed from
36545         glthread_recursive_lock_lock. Return error code.
36546         (glthread_recursive_lock_unlock_multithreaded): Renamed from
36547         glthread_recursive_lock_unlock. Return error code.
36548         (glthread_recursive_lock_destroy_multithreaded): Renamed from
36549         glthread_recursive_lock_destroy. Return error code.
36550         (glthread_once_call): Make static.
36551         (glthread_once_multithreaded): Renamed from glthread_once.
36552         * lib/tls.h: Include <errno.h>.
36553         (glthread_tls_key_init): New macro/function.
36554         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
36555         (glthread_tls_set): New macro/function.
36556         (gl_tls_set): Define as wrapper around glthread_tls_set.
36557         (glthread_tls_key_destroy): New macro/function.
36558         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
36559         Update function declarations.
36560         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
36561         glthread_tls_get.
36562         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36563
36564 2008-08-04  Eric Blake  <ebb9@byu.net>
36565
36566         gnumakefile: use space, not TAB, outside of targets
36567         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
36568
36569 2008-08-02  Jim Meyering  <meyering@redhat.com>
36570
36571         getdate.y: avoid locale-dependent date parsing failure
36572         In Turkish locales, getdate would fail to recognize keywords
36573         containing a lowercase "i".  The solution is not to rely on
36574         locale-sensitive case-conversion.
36575         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
36576         (lookup_word): Use c_toupper in place of toupper.
36577         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
36578         Reported by Vefa Bicakci <bicave@superonline.com> in
36579         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
36580         * modules/getdate (Depends-on): Add c-ctype.
36581
36582 2008-08-02  Bruno Haible  <bruno@clisp.org>
36583
36584         * gnulib-tool (func_import): When updating or creating a .gitignore
36585         file, prepend each added line with a slash, and ignore leading slashes
36586         from the existing lines.
36587         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36588
36589 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36590
36591         Portability fix for GNU make 3.79.1.
36592         * top/GNUmakefile: Avoid 'else COND', which older GNU make
36593         versions do not understand.
36594
36595 2008-08-01  Bruno Haible  <bruno@clisp.org>
36596
36597         Work around bug of HP-UX 10.20 cc with -0.0 literal.
36598         * tests/test-isnanf.h (zero): New variable.
36599         (main): Avoid literal -0.0f.
36600         * tests/test-isnand.h (zero): New variable.
36601         (main): Avoid literal -0.0.
36602         * tests/test-isnanl.h (zero): New variable.
36603         (main): Avoid literal -0.0L.
36604         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
36605         (test_float, test_double, test_long_double): Avoid literals -0.0f,
36606         -0.0, -0.0L.
36607         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
36608         (test_signbitd): Avoid literal -0.0.
36609         (test_signbitl): Avoid literal -0.0L.
36610         * tests/test-ceilf1.c (zero): New variable.
36611         (main): Avoid literal -0.0f.
36612         * tests/test-ceill.c (zero): New variable.
36613         (main): Avoid literal -0.0L.
36614         * tests/test-floorf1.c (zero): New variable.
36615         (main): Avoid literal -0.0f.
36616         * tests/test-floorl.c (zero): New variable.
36617         (main): Avoid literal -0.0L.
36618         * tests/test-roundf1.c (zero): New variable.
36619         (main): Avoid literal -0.0f.
36620         * tests/test-round1.c (zero): New variable.
36621         (main): Avoid literal -0.0.
36622         * tests/test-roundl.c (zero): New variable.
36623         (main): Avoid literal -0.0L.
36624         * tests/test-truncf1.c (zero): New variable.
36625         (main): Avoid literal -0.0f.
36626         * tests/test-trunc1.c (zero): New variable.
36627         (main): Avoid literal -0.0.
36628         * tests/test-truncl.c (zero): New variable.
36629         (main): Avoid literal -0.0L.
36630         * tests/test-frexp.c (zero): New variable.
36631         (main): Avoid literal -0.0.
36632         * tests/test-frexpl.c (zero): New variable.
36633         (main): Avoid literal -0.0L.
36634         * tests/test-ldexpl.c (zero): New variable.
36635         (main): Avoid literal -0.0L.
36636         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36637         (zerod, zerol): New variables.
36638         (test_function): Avoid literals -0.0, -0.0L.
36639         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36640         (zerod, zerol): New variables.
36641         (test_function): Avoid literals -0.0, -0.0L.
36642         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36643         (zerod, zerol): New variables.
36644         (test_function): Avoid literals -0.0, -0.0L.
36645         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36646         (zerod, zerol): New variables.
36647         (test_function): Avoid literals -0.0, -0.0L.
36648         * tests/test-strtod.c (zero): New variable.
36649         (main): Avoid literal -0.0.
36650         Reported by Jonathan C. Patschke <jp@centtech.com>.
36651
36652 2008-07-31  Jim Meyering  <meyering@redhat.com>
36653
36654         sha256.h: correct definition of SHA224_DIGEST_SIZE
36655         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
36656         Reported by Paulie Pena IV <paulie4@gmail.com>.
36657         Define as 224 / 8, rather than as a literal.
36658         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
36659         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
36660         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
36661
36662 2008-07-31  Bruno Haible  <bruno@clisp.org>
36663
36664         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
36665         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
36666         Reported by Jonathan Patschke <jp@centtech.com>.
36667
36668 2008-07-31  Bruno Haible  <bruno@clisp.org>
36669
36670         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
36671         Reported by Paolo Bonzini <bonzini@gnu.org>.
36672
36673 2008-07-30  Eric Blake  <ebb9@byu.net>
36674
36675         test-strtod: allow compilation without -lm
36676         * tests/test-strtod.c (main): Avoid link dependence on fabs.
36677         Reported by Dennis Clarke <blastwave@gmail.com>.
36678
36679 2008-07-28  Jim Meyering  <meyering@redhat.com>
36680
36681         bootstrap: work also when there are no .po files in po/
36682         * build-aux/bootstrap (update_po_files): Complete the change
36683         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
36684
36685 2008-07-27  Jim Meyering  <meyering@redhat.com>
36686
36687         * users.txt: Add zile.
36688
36689 2008-07-26  Ben Pfaff  <blp@gnu.org>
36690
36691         Add missing dependencies on new m4/exponent[fdl].m4 files.
36692         * modules/isnanf-nolibm: Add m4/exponentf.m4.
36693         * modules/isnand-nolibm: Add m4/exponentd.m4.
36694         * modules/isnanl-nolibm: Add m4/exponentl.m4.
36695         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
36696         m4/isnan[fdl].m4, because the macros actually used moved.
36697         Reported by Jim Meyering.
36698
36699 2008-07-14  Ben Pfaff  <blp@gnu.org>
36700
36701         Add isinf module.
36702         * lib/isinf.c: New file.
36703         * lib/math.in.h: Define isinf macro if we have decided to replace
36704         it.
36705         * m4/isinf.m4: New file.
36706         * m4/math_h.m4: Initialize and substitute variables for isinf
36707         module.
36708         * modules/isinf: New file.
36709         * modules/isinf-tests: New file.
36710         * modules/math: Add substitutions for new module.
36711         * tests/test-isinf.c: New file.
36712         * doc/posix-functions/isinf.texi: Mention new module.
36713         * MODULES.html.sh: Mention new module.
36714
36715 2008-07-14  Ben Pfaff  <blp@gnu.org>
36716
36717         Factor out some macros for use by additional modules.
36718         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
36719         exponentf.m4.
36720         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
36721         exponentd.m4.
36722         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
36723         file exponentl.m4.
36724         * m4/exponentf.m4: New file.
36725         * m4/exponentd.m4: New file.
36726         * m4/exponentl.m4: New file.
36727         * modules/isnanf: Use new file m4/exponentf.m4.
36728         * modules/isnand: Use new file m4/exponentd.m4.
36729         * modules/isnanl: Use new file m4/exponentl.m4.
36730
36731 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
36732
36733         mktime.c: normalize tp->tm_isdst value to -1/0/1.
36734         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
36735         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
36736         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
36737
36738         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
36739         readlink on platforms without PATH_MAX.
36740
36741 2008-07-21  Eric Blake  <ebb9@byu.net>
36742
36743         Warn, not fail, on stale version.
36744         * top/GNUmakefile (_curr-ver): Tone down previous patch.
36745
36746         Don't allow installation with stale devel version number.
36747         * top/GNUmakefile (_is-install-target): New macro.
36748         (_curr-ver): Forbid installation with stale version number.
36749
36750 2008-07-20  Bruno Haible  <bruno@clisp.org>
36751
36752         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
36753         TESTS_ENVIRONMENT.
36754         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
36755
36756 2008-07-20  Bruno Haible  <bruno@clisp.org>
36757
36758         * lib/c-stack.h (c_stack_action): Add documentation.
36759         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
36760
36761 2008-07-20  Bruno Haible  <bruno@clisp.org>
36762
36763         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
36764         * modules/readlink (License): Likewise.
36765
36766 2008-07-17  Eric Blake  <ebb9@byu.net>
36767
36768         * modules/c-stack (Link): Fix typo.
36769
36770         Make c-stack use libsigsegv, when available.
36771         * modules/c-stack (Depends-on): Add libsigsegv.
36772         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
36773         needed.
36774         * lib/c-stack.c (SIGSTKSZ): Define fallback.
36775         (segv_handler, overflow_handler, c_stack_action)
36776         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
36777         implementation when libsigsegv is available, but only when using
36778         the library is necessary.
36779         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
36780         comment, explaining why XSI check fails on Linux.
36781         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
36782         * tests/test-c-stack2.sh: Tweak skip message.
36783         * NEWS: Document new link-time requirements.
36784
36785 2008-07-16  Eric Blake  <ebb9@byu.net>
36786
36787         c-stack: Expose false positives when not using libsigsegv.
36788         * modules/c-stack-tests (Files): Expand test.
36789         * tests/test-c-stack.c (main): Add means to conditionally trigger
36790         non-overflow SIGSEGV.
36791         * tests/test-c-stack2.sh: New file.
36792
36793 2008-07-14  Bruno Haible  <bruno@clisp.org>
36794
36795         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
36796         Reported by Eric Blake.
36797
36798 2008-07-14  Sam Steingold  <sds@gnu.org>
36799             Bruno Haible  <bruno@clisp.org>
36800
36801         New module libsigsegv.
36802         * modules/libsigsegv: New file.
36803         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36804         modifications.
36805         * MODULES.html.sh (Signal handling): New section.
36806
36807 2008-07-14  Bruno Haible  <bruno@clisp.org>
36808
36809         * modules/unictype/ctype-* (Description): Add the word "function".
36810         Improves the resulting doc in MODULES.html.
36811
36812 2008-07-12  Ben Pfaff  <blp@gnu.org>
36813
36814         Add longlong module.
36815         * modules/longlong: New file.
36816
36817 2008-07-12  Bruno Haible  <bruno@clisp.org>
36818
36819         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36820         to empty.
36821
36822 2008-07-10  Ben Pfaff  <blp@gnu.org>
36823
36824         Add isnan module.
36825         * doc/posix-functions/isnan.texi: Mention new module.
36826         * lib/math.in.h: Define isnan macro if we have decided to replace
36827         it.
36828         * m4/isnan.m4: New file.
36829         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36830         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36831         also.
36832         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36833         redundancy.
36834         * m4/math_h.m4: Initialize and substitute variables for isnan
36835         module.
36836         * modules/isnan: New file.
36837         * modules/isnan-tests: New file.
36838         * modules/math: Add substitutions for new module.
36839         * tests/test-isnan.c: New file.
36840         * MODULES.html.sh: Mention new module.
36841
36842 2008-07-10  Ben Pfaff  <blp@gnu.org>
36843
36844         Add isnanf module.
36845         * lib/isnanf.m4: New file.
36846         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36847         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36848         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36849         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36850         * modules/isnanf: New file.
36851         * modules/isnanf-tests: New file.
36852         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36853         files.
36854         * tests/test-isnanf-nolibm.c: factored most of its contents into
36855         new file tests/test-isnanf.h.
36856         * tests/test-isnanf.h: New file.
36857         * tests/test-isnanf.c: New file.
36858         * MODULES.html.sh: Mention new module.
36859         * doc/glibc-functions/isnanf.texi: Mention new module.
36860
36861 2008-07-10  Ben Pfaff  <blp@gnu.org>
36862
36863         Add isnand module.
36864         * lib/isnand.h: New file.
36865         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36866         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36867         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36868         functionality also.
36869         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36870         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36871         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36872         * modules/isnand: New file.
36873         * modules/isnand-tests: New file.
36874         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36875         files.
36876         * tests/test-isnand-nolibm.c: factored most of its contents into
36877         new file tests/test-isnand.h.
36878         * tests/test-isnand.h: New file.
36879         * tests/test-isnand.c: New file.
36880         * MODULES.html.sh: Mention new module.
36881
36882 2008-07-10  Ben Pfaff  <blp@gnu.org>
36883
36884         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36885         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36886         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36887         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36888         * modules/isnanf-nolibm: Update references to renamed files.
36889         * modules/isnand-nolibm: Likewise.
36890         * modules/isnanf-nolibm-tests: Likewise.
36891         * modules/isnand-nolibm-tests: Likewise.
36892         * lib/frexp.c: Likewise.
36893         * lib/isfinite.c: Likewise.
36894         * lib/signbitd.c: Likewise.
36895         * lib/signbitf.c: Likewise.
36896         * lib/vasnprintf.c: Likewise.
36897         * tests/test-ceilf1.c: Likewise.
36898         * tests/test-ceilf2.c: Likewise.
36899         * tests/test-floorf1.c: Likewise.
36900         * tests/test-floorf2.c: Likewise.
36901         * tests/test-frexp.c: Likewise.
36902         * tests/test-round1.c: Likewise.
36903         * tests/test-round2.c: Likewise.
36904         * tests/test-roundf1.c: Likewise.
36905         * tests/test-strtod.c: Likewise.
36906         * tests/test-trunc1.c: Likewise.
36907         * tests/test-trunc2.c: Likewise.
36908         * tests/test-truncf1.c: Likewise.
36909         * tests/test-truncf2.c: Likewise.
36910         * NEWS: Mention the renamed header files.
36911
36912 2008-07-11  Jim Meyering  <meyering@redhat.com>
36913
36914         vc-list-files: make the last-resort awk code more portable
36915         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36916         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36917         does not support it.
36918
36919 2008-07-10  Eric Blake  <ebb9@byu.net>
36920
36921         Work with tar's bootstrap.
36922         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36923         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36924         an m4 comment.
36925
36926 2008-07-09  Jim Meyering  <meyering@redhat.com>
36927
36928         posix-shell.m4: fix typo that made this test malfunction
36929         * m4/posix-shell.m4: Remove capitalization in variable name.
36930
36931 2008-07-08  Bruno Haible  <bruno@clisp.org>
36932
36933         * m4/onceonly.m4: Update comments.
36934         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36935
36936 2008-07-04  Jim Meyering  <meyering@redhat.com>
36937
36938         * users.txt: Add vc-dwim.
36939         (bison, coreutils): Use the gitweb URL.
36940
36941 2008-07-03  Jim Meyering  <meyering@redhat.com>
36942
36943         * users.txt: Add libffcall.  From Sam Steingold.
36944
36945 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
36946
36947         getdate.y: do not ignore TZ with relative day, month or year offset
36948         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36949         relative-date-handling, since otherwise, the latter would clobber the
36950         sole output (an updated Start value) of the tz-handling block.
36951         * tests/test-getdate.c: Tests for the fix
36952
36953 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36954
36955         Recognize 'foo_LIBRARIES += libgnu.a'.
36956         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36957         makefile snippet has already specified an installation location,
36958         also using '+='.
36959
36960 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
36961
36962         getdate.y: factor out common actions
36963         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36964         Use them in place of open-coded actions.
36965
36966 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36967
36968         Add self-test for getdate module.
36969         * modules/getdate-tests: New file.
36970         * tests/test-getdate.c: New file.
36971
36972 2008-06-29  Bruno Haible  <bruno@clisp.org>
36973
36974         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36975         .gitignore.
36976         Reported by Sylvain Beucler <beuc@beuc.net>.
36977
36978 2008-06-29  Bruno Haible  <bruno@clisp.org>
36979
36980         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36981         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36982
36983 2008-06-29  Bruno Haible  <bruno@clisp.org>
36984
36985         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36986         EXTRA_DIST.
36987         Reported by Sylvain Beucler <beuc@beuc.net>.
36988
36989 2008-06-26  Jim Meyering  <meyering@redhat.com>
36990
36991         make several modules depend on the "open" module
36992         This provides slightly increased consistency when opening-for-write
36993         the name of a non-directory spelled with a trailing slash.
36994         * modules/chdir-safer: Likewise.
36995         * modules/chown: Likewise.
36996         * modules/clean-temp: Likewise.
36997         * modules/copy-file: Likewise.
36998         * modules/fchdir: Likewise.
36999         * modules/fcntl-safer: Likewise.
37000         * modules/pipe: Likewise.
37001         * modules/utime: Likewise.
37002         Prompted by Eric Blake and Bruno Haible.
37003
37004 2008-06-24  Andreas Schwab  <schwab@suse.de>
37005
37006         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
37007         literals can be used as initializers for global variables.
37008
37009 2008-06-23  Eric Blake  <ebb9@byu.net>
37010
37011         Make gnulib-cache.m4 easier to diff.
37012         * gnulib-tool (func_import): Allow newlines when reading cached
37013         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
37014
37015 2008-06-23  Bruno Haible  <bruno@clisp.org>
37016
37017         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
37018         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
37019         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
37020         m4/signalblocking.m4.
37021         (gl_PREREQ_SIGACTION): Don't invoke it.
37022         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
37023         gl_PREREQ_SIG_HANDLER_H.
37024         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37025         Don't check for sigaction here.
37026
37027 2008-06-23  Bruno Haible  <bruno@clisp.org>
37028
37029         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
37030         (install_handlers): Don't set the SA_RESETHAND flag.
37031
37032 2008-06-23  Bruno Haible  <bruno@clisp.org>
37033
37034         * m4/sigaction.m4: Comment fixes.
37035         * lib/signal.in.h: Likewise.
37036
37037 2008-06-23  Eric Blake  <ebb9@byu.net>
37038
37039         Fix typo.
37040         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
37041
37042         Avoid SA_ namespace.
37043         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
37044         Reported by Ralf Wildenhues.
37045
37046         Avoid test failure due to SA_RESTORER.
37047         * tests/test-sigaction.c (SA_MASK): New macro.
37048         (main): Avoid failing due to extension flags being set.
37049         Reported by Jim Meyering.
37050
37051         Revert use of sig-handler.h in sigprocmask.c.
37052         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
37053         it requires the existence of struct sigaction.
37054         * lib/sigprocmask.c (handler_t): Restore typedef.
37055         (rpl_signal, old_handlers): Use local type.
37056
37057 2008-06-22  Bruno Haible  <bruno@clisp.org>
37058
37059         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
37060         conditionally.
37061         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37062
37063 2008-06-22  Bruno Haible  <bruno@clisp.org>
37064
37065         * doc/posix-functions/siginterrupt.texi: Move note.
37066
37067         * lib/signal.in.h (SA_RESTART): New macro.
37068         * lib/sigaction.c: Update comment.
37069
37070         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
37071
37072         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
37073         (gl_PREREQ_SIGPROCMASK): Invoke it.
37074         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
37075
37076         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
37077
37078         * lib/sigprocmask.c: Update a comment.
37079
37080 2008-06-21  Eric Blake  <ebb9@byu.net>
37081
37082         Use sigaction module rather than signal().
37083         * modules/c-stack (Depends-on): Add sigaction.
37084         * modules/fatal-signal (Depends-on): Likewise.
37085         * modules/nanosleep (Depends-on): Likewise.
37086         * modules/sigprocmask (Files): Add sig-handler.h.
37087         * modules/sigaction (Files): Likewise.
37088         * lib/sig-handler.h (get_handler): New file, suggested by Paul
37089         Eggert.
37090         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
37091         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
37092         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
37093         (init_fatal_signals): Likewise.
37094         * lib/nanosleep.c (rpl_nanosleep): Likewise.
37095         (siginterrupt): Delete fallback.
37096         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
37097         instead.
37098         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
37099         siginterrupt.
37100
37101         New module sigaction, for mingw.
37102         * modules/sigaction: New module...
37103         * modules/sigaction-tests: ...and its test.
37104         * m4/sigaction.m4: New file.
37105         * lib/sigaction.c: Likewise.
37106         * tests/test-sigaction.c: Likewise.
37107         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
37108         * modules/signal (Makefile.am): Likewise.
37109         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
37110         needed.
37111         * doc/posix-headers/signal.texi (signal.h): Mention provided
37112         types.
37113         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
37114         that sigaction is preferable.
37115         * doc/posix-functions/sigaction.texi (sigaction): Mention new
37116         module.
37117         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37118         sigaction.
37119
37120         Improve robustness of sigprocmask by overriding signal.
37121         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
37122         is in use.
37123         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
37124         (SIGKILL, SIGSTOP): Provide fallbacks.
37125         (rpl_signal): Implement.
37126         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
37127         signal can be called inside handlers.
37128
37129         Fix nanosleep module on mingw.
37130         * modules/nanosleep (Depends-on): Add sys_select.
37131         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
37132
37133         Fix licensing of sigprocmask.
37134         * modules/raise (License): Relicense as LGPL.
37135
37136 2008-06-21  Bruno Haible  <bruno@clisp.org>
37137
37138         * lib/propername.c (proper_name_utf8): Don't use the transliterated
37139         result if it contains question marks.
37140         Reported by Michael Geng <linux@michaelgeng.de>.
37141
37142 2008-06-19  Bruno Haible  <bruno@clisp.org>
37143
37144         Fix CVS-ism.
37145         * doc/gnulib.texi: Include updated-stamp.texi.
37146         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
37147         (updated-stamp.texi): New rule.
37148         (gnulib.info): Depend on it.
37149         * doc/.gitignore: Add updated-stamp.texi.
37150         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
37151
37152 2008-06-19  Bruno Haible  <bruno@clisp.org>
37153
37154         * doc/Makefile (gnulib.info): Update and simplify dependencies.
37155         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37156
37157 2008-06-19  Eric Blake  <ebb9@byu.net>
37158
37159         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
37160         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
37161         Reported by Stepan Kasal.
37162
37163 2008-06-18  Bruno Haible  <bruno@clisp.org>
37164
37165         * lib/fatal-signal.c (init_fatal_signals): Add comment.
37166         Reported by Eric Blake.
37167
37168 2008-06-18  Eric Blake  <ebb9@byu.net>
37169
37170         Work around cygwin 1.5.25 strsignal bug.
37171         * tests/test-strsignal.c: Allow for const char *.
37172         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
37173
37174 2008-06-18  Simon Josefsson  <simon@josefsson.org>
37175
37176         * users.txt: Update URL to article and add author/date
37177         information.
37178
37179 2008-06-17  Bruno Haible  <bruno@clisp.org>
37180
37181         New macro gl_DISABLE_THREADS.
37182         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
37183         if the user did not pass --enable-threads or --disable-threads option.
37184         (gl_DISABLE_THREADS): New macro.
37185         Reported by Eric Blake <ebb9@byu.net>.
37186
37187 2008-06-17  Bruno Haible  <bruno@clisp.org>
37188
37189         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
37190         when the macro ignores it.
37191         Based on a patch by Eric Blake <ebb9@byu.net>.
37192
37193 2008-06-17  Bruno Haible  <bruno@clisp.org>
37194
37195         * modules/tls (License): Change to LGPLv2+.
37196         Reported by Eric Blake.
37197
37198 2008-06-17  Eric Blake  <ebb9@byu.net>
37199
37200         Simplify c-stack prerequisites.
37201         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
37202         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
37203         no longer requires <ucontext.h> to exist.  Optimize setrlimit
37204         check.
37205         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
37206         <sys/resource.h>.
37207
37208         Move c-stack test into testsuite.
37209         * modules/c-stack-tests: New file.
37210         * lib/c-stack.c [DEBUG]: Move test program...
37211         * tests/test-c-stack.c: ...into this new file.  Skip rather than
37212         fail test if sigaltstack is lacking.
37213         * tests/test-c-stack.sh: New driver file.
37214
37215 2008-06-16  Eric Blake  <ebb9@byu.net>
37216
37217         Use raise module consistently.
37218         * modules/fatal-signal (Depends-on): Add raise.
37219         * modules/sigprocmask (Depends-on): Likewise.
37220         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
37221         * lib/sigprocmask.c (sigprocmask): Likewise.
37222         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37223         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
37224
37225         Fix compliance bug in sigpending.
37226         * lib/sigprocmask.c (sigpending): Return pending array via
37227         parameter, not return value.
37228
37229 2008-06-14  Eric Blake  <ebb9@byu.net>
37230
37231         Improve obstack-printf test code.
37232         * tests/test-obstack-printf.c (test_function): Fix comment, and
37233         simplify usage of obstack_* in macros.  Add a test for coverage.
37234         Reported by Bruno Haible.
37235
37236 2008-06-14  Bruno Haible  <bruno@clisp.org>
37237
37238         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
37239         array size as a constant, not as a const variable.
37240         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
37241         AC_USE_SYSTEM_EXTENSIONS.
37242         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37243         Test whether the obstack_printf function actually exists.
37244         * modules/obstack-printf (Depends-on): Add extensions.
37245         (Include): Remove obstack.h.
37246         * modules/obstack-printf-posix (Depends-on): Add extensions.
37247         (Include): Remove obstack.h.
37248
37249 2008-06-13  Eric Blake  <ebb9@byu.net>
37250
37251         Add obstack-printf and obstack-printf-posix modules.
37252         * modules/obstack-printf: New file.
37253         * modules/obstack-printf-posix: Likewise.
37254         * MODULES.html.sh (Misc): Mention them.
37255         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37256         Likewise.
37257         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37258         Likewise.
37259         * modules/stdio (Makefile.am): Accomodate new modules.
37260         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37261         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
37262         Declare.
37263         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
37264         functions.
37265         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
37266         (gl_REPLACE_OBSTACK_PRINTF): New macros
37267         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
37268         * tests/test-obstack-printf.c: New file.
37269         * modules/obstack-printf-tests: Likewise.
37270         * modules/obstack-printf-posix-tests: Likewise.
37271
37272 2008-06-11  Bruno Haible  <bruno@clisp.org>
37273
37274         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
37275         * lib/open.c: Include errno.h.
37276         (open): Fail when attempting to write to a file that has a trailing
37277         slash.
37278         * tests/test-open.c (main): Test against trailing slash bug.
37279         * doc/posix-functions/open.texi: Mention the trailing slash bug.
37280
37281 2008-06-10  Bruno Haible  <bruno@clisp.org>
37282
37283         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
37284         for $? to work inside the trap command, with various /bin/sh-s.
37285         * tests/test-vc-list-files-cvs.sh: Likewise.
37286
37287 2008-06-10  Bruno Haible  <bruno@clisp.org>
37288
37289         * lib/acl-internal.h: Don't include gettext.h here.
37290         * lib/set-mode-acl.c: Include gettext.h here.
37291         * lib/copy-acl.c: Likewise.
37292
37293 2008-06-10  Bruno Haible  <bruno@clisp.org>
37294
37295         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
37296         * lib/wait-process.c (wait_subprocess): Likewise.
37297         * lib/execute.h (execute): Add termsigp argument.
37298         * lib/execute.c (execute): Likewise.
37299         * lib/csharpcomp.c (compile_csharp_using_pnet,
37300         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
37301         * lib/csharpexec.c (execute_csharp_using_pnet,
37302         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
37303         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
37304         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
37305         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
37306         is_jikes_present): Update.
37307         * lib/javaexec.c (execute_java_class): Update.
37308         * lib/javaversion.c (execute_and_read_line): Update.
37309         * NEWS: Document the changes.
37310         Reported by Eric Blake.
37311
37312 2008-06-10  Eric Blake  <ebb9@byu.net>
37313
37314         Add missing include.
37315         * tests/test-strstr.c (includes): Add <signal.h>.
37316         * tests/test-strcasestr.c (includes): Likewise.
37317         * tests/test-memmem.c (includes): Likewise.
37318
37319 2008-06-10  Bruno Haible  <bruno@clisp.org>
37320
37321         * lib/wait-process.c (wait_subprocess): Add an assertion.
37322
37323 2008-06-10  Bruno Haible  <bruno@clisp.org>
37324
37325         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
37326
37327 2008-06-10  Bruno Haible  <bruno@clisp.org>
37328
37329         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
37330         using alarm().
37331         * tests/test-strcasestr.c (main): Likewise.
37332         * tests/test-strstr.c (main): Likewise.
37333
37334 2008-06-09  Bruno Haible  <bruno@clisp.org>
37335
37336         Work around the Solaris 10 ACE ACLs ABI change.
37337         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
37338         declare if ACL_NO_TRIVIAL is present.
37339         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
37340         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
37341         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
37342         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
37343         define if ACL_NO_TRIVIAL is present.
37344         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
37345         and use the current ABI.
37346         (file_has_acl): Use same #if condition as elsewhere.
37347         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
37348         in use, and use the current ABI.
37349         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
37350         Reported by Jim Meyering.
37351
37352 2008-06-09  Eric Blake  <ebb9@byu.net>
37353
37354         Work around environments that (stupidly) ignore SIGALRM.
37355         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
37356         before using alarm().
37357         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37358         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37359         Reported by Ian Beckwith <ianb@erislabs.net>.
37360
37361         Produce autobuild blurb earlier in log.
37362         * modules/autobuild (configure.ac-early): Move AB_INIT here.
37363
37364 2008-06-09  Jim Meyering  <meyering@redhat.com>
37365         and Ondřej Vašík  <ovasik@redhat.com>
37366
37367         utimens.c: correct kernel bug work-around
37368         Ondřej Vašík found that the invalid return value of 280 indicates
37369         failure, not success, and the kernel bug we're trying to work
37370         around affects not just the utimensat call, but also the fallback
37371         futimens call.
37372         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
37373         not success.
37374         [HAVE_FUTIMENS]: Use the same work-around, here.
37375
37376 2008-06-09  Jim Meyering  <meyering@redhat.com>
37377
37378         add more guards around definition of ACE_-related code
37379         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
37380         ALLOW and ACE_OWNER are also defined.
37381
37382 2008-06-08  Bruno Haible  <bruno@clisp.org>
37383
37384         * lib/acl-internal.h: Add me as co-author.
37385         * lib/file-has-acl.c: Likewise.
37386         * lib/set-mode-acl.c: Likewise.
37387         * lib/copy-acl.c: Likewise.
37388
37389 2008-06-08  Bruno Haible  <bruno@clisp.org>
37390
37391         Add support for AIX ACLs.
37392         * lib/acl-internal.h (acl_nontrivial): New declaration.
37393         * lib/file-has-acl.c (acl_nontrivial): New function.
37394         (file_has_acl): Add implementation using AIX 4 ACL API.
37395         * lib/set-mode-acl.c (qset_acl): Likewise.
37396         * lib/copy-acl.c (qcopy_acl): Likewise.
37397
37398 2008-06-08  Bruno Haible  <bruno@clisp.org>
37399
37400         Add support for HP-UX ACLs.
37401         * lib/acl-internal.h (acl_nontrivial): New declaration.
37402         * lib/file-has-acl.c (acl_nontrivial): New function.
37403         (file_has_acl): Add implementation using HP-UX 11 ACL API.
37404         * lib/set-mode-acl.c (qset_acl): Likewise.
37405         * lib/copy-acl.c (qcopy_acl): Likewise.
37406
37407 2008-06-08  Bruno Haible  <bruno@clisp.org>
37408
37409         Add support for Cygwin ACLs.
37410         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
37411         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
37412         the chmod_or_fchmod call.
37413         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
37414
37415 2008-06-08  Bruno Haible  <bruno@clisp.org>
37416
37417         Fix bug with setuid modes in Solaris 10+ code.
37418         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
37419         succeeded, when the mode contains some special bits.
37420
37421 2008-06-08  Bruno Haible  <bruno@clisp.org>
37422
37423         Add support for Solaris 7..10 ACLs.
37424         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
37425         declarations.
37426         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
37427         functions.
37428         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
37429         * lib/set-mode-acl.c (qset_acl): Likewise.
37430         * lib/copy-acl.c (qcopy_acl): Likewise.
37431
37432 2008-06-08  Bruno Haible  <bruno@clisp.org>
37433
37434         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
37435         declaration.
37436         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
37437         (acl_access_nontrivial): Remove MacOS X case.
37438         (file_has_acl): Use acl_extended_nontrivial.
37439         * lib/copy-acl.c (qcopy_acl): Likewise.
37440
37441 2008-06-08  Bruno Haible  <bruno@clisp.org>
37442
37443         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
37444
37445 2008-06-08  Jim Meyering  <meyering@redhat.com>
37446
37447         * modules/acl (Maintainer): Add Bruno Haible.
37448
37449 2008-06-07  Bruno Haible  <bruno@clisp.org>
37450
37451         Improve support for Tru64 ACLs.
37452         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
37453         ACL on OSF/1.
37454
37455 2008-06-07  Bruno Haible  <bruno@clisp.org>
37456
37457         Add support for MacOS X ACLs.
37458         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
37459         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
37460         * lib/set-mode-acl.c (qset_acl): Likewise.
37461         * lib/copy-acl.c (qcopy_acl): Likewise.
37462
37463 2008-06-07  Bruno Haible  <bruno@clisp.org>
37464
37465         Fix memory leak introduced on 2008-05-22.
37466         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
37467         use.
37468
37469 2008-06-07  Bruno Haible  <bruno@clisp.org>
37470
37471         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
37472         to construct an empty ACL.
37473
37474 2008-06-07  Bruno Haible  <bruno@clisp.org>
37475
37476         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
37477         precisely.
37478         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
37479
37480 2008-06-07  Bruno Haible  <bruno@clisp.org>
37481
37482         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
37483         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
37484
37485 2008-06-07  Bruno Haible  <bruno@clisp.org>
37486
37487         * doc/posix-functions/_setjmp.texi: Explain the use of this function
37488         regardless of POSIX.
37489         * doc/posix-functions/_longjmp.texi: Likewise.
37490         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
37491         SystemV platform in this case.
37492
37493 2008-06-06  Eric Blake  <ebb9@byu.net>
37494
37495         Document abort() bugs.
37496         * doc/posix-functions/abort.texi (abort): Mention anomalies.
37497
37498         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
37499         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
37500         sigsetjmp.
37501         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
37502         siglongjmp, but only as a macro.
37503         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
37504         is obsolete.
37505         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
37506
37507         Tweak documentation to cover cygwin argz bugs.
37508         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
37509         argz bug fix; no code change needed since no cygwin releases
37510         occurred between the last fix and the bug being tested.
37511         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
37512         module and recently fixed cygwin bugs.
37513         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
37514         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
37515         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
37516         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
37517         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
37518         Likewise.
37519         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
37520         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
37521         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
37522         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
37523         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
37524         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
37525         Likewise.
37526
37527         Avoid gcc warning on cygwin.
37528         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
37529         !ACL_NO_TRIVIAL]: Avoid unused variable.
37530
37531 2008-06-05  Eric Blake  <ebb9@byu.net>
37532
37533         Be tolerant of UNKNOWN version in gnulib-tool test dir.
37534         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
37535         git-version-gen fails to come up with a version.
37536         Reported by Simon Josefsson.
37537
37538 2008-06-05  Jim Meyering  <meyering@redhat.com>
37539             Paul Eggert  <eggert@cs.ucla.edu>
37540
37541         utimens.c: work around a probable Linux kernel bug
37542         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
37543         appears to be a kernel bug that causes utimensat to return 280
37544         instead of 0, indicating success.
37545
37546 2008-06-04  Bruno Haible  <bruno@clisp.org>
37547
37548         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
37549         2008-06-01 commit.
37550
37551 2008-06-04  Bruno Haible  <bruno@clisp.org>
37552
37553         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
37554         * lib/file-has-acl.c (acl_access_nontrivial): New function.
37555         (file_has_acl): Use it. Save errno afterwards.
37556         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
37557
37558 2008-06-03  Bruno Haible  <bruno@clisp.org>
37559
37560         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
37561         draft code. Simplify #ifs.
37562         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
37563         Put Solaris code after POSIX-draft code. Fix comments regarding
37564         Solaris 10, HP-UX. Mention Cygwin.
37565         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
37566
37567 2008-06-03  Eric Blake  <ebb9@byu.net>
37568
37569         Provide fallback for older kernels.
37570         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
37571         Provide runtime fallback if kernel lacks support.
37572         Reported by Mike Frysinger.
37573
37574 2008-06-02  Bruno Haible  <bruno@clisp.org>
37575
37576         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
37577         it exists.
37578
37579 2008-06-02  Bruno Haible  <bruno@clisp.org>
37580
37581         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
37582         * lib/copy-acl.c (qcopy_acl): Update comment.
37583
37584 2008-06-02  Bruno Haible  <bruno@clisp.org>
37585
37586         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
37587         like ACL APIs.
37588
37589 2008-06-02  Bruno Haible  <bruno@clisp.org>
37590
37591         * tests/test-file-has-acl.sh: Use different code for Cygwin.
37592         * tests/test-set-mode-acl.sh: Likewise.
37593         * tests/test-copy-acl.sh: Likewise.
37594         * tests/test-copy-file.sh: Likewise.
37595
37596 2008-06-02  Bruno Haible  <bruno@clisp.org>
37597
37598         * tests/test-file-has-acl.sh: Remove unused code.
37599
37600 2008-06-01  Bruno Haible  <bruno@clisp.org>
37601
37602         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
37603         (copy_acl): Just a wrapper around qcopy_acl that emits the error
37604         messages.
37605         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
37606
37607 2008-06-01  Bruno Haible  <bruno@clisp.org>
37608
37609         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
37610         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
37611         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
37612         APIs.
37613         * modules/acl-tests (configure.ac): Remove tests now contained in
37614         m4/acl.m4.
37615
37616 2008-06-02  Jim Meyering  <meyering@redhat.com>
37617
37618         announce-gen: use a better key-server host name
37619         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
37620         it may be more consistently reliable.  Suggested by Werner Koch
37621         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
37622
37623 2008-06-01  Bruno Haible  <bruno@clisp.org>
37624
37625         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
37626         Reported by Voroskoi Andras <voroskoi@gmail.com>.
37627
37628 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
37629
37630         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
37631
37632 2008-06-01  Bruno Haible  <bruno@clisp.org>
37633
37634         New ACL tests.
37635         * tests/test-file-has-acl.sh: New file.
37636         * tests/test-file-has-acl.c: New file.
37637         * tests/test-set-mode-acl.sh: New file.
37638         * tests/test-set-mode-acl.c: New file.
37639         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
37640         * tests/test-copy-acl.c: New file.
37641         * modules/acl-tests: New file, based on modules/copy-file-tests.
37642         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
37643         (Depends-on): Add acl-tests.
37644         (configure.ac): Remove checks.
37645         (Makefile.am): Don't create test-sameacls program here any more.
37646
37647 2008-06-01  Bruno Haible  <bruno@clisp.org>
37648
37649         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
37650         * tests/test-sameacls.c: Include progname.h.
37651         (main): Invoke set_program_name. Portability fixes for MacOS X,
37652         Solaris, HP-UX.
37653
37654 2008-06-01  Bruno Haible  <bruno@clisp.org>
37655
37656         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
37657         function.
37658         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
37659
37660 2008-06-01  Bruno Haible  <bruno@clisp.org>
37661
37662         * modules/rpmatch (Depends-on): Add strdup.
37663
37664 2008-06-01  Bruno Haible  <bruno@clisp.org>
37665
37666         * lib/pipe.c: Include unistd-safer.h.
37667         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
37668         * modules/pipe (Depends-on): Add unistd-safer.
37669
37670 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37671
37672         * modules/autobuild (configure.ac): Call AB_INIT.
37673
37674 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37675
37676         * tests/test-getaddrinfo.c: Don't print debug messages by default.
37677         Suggested by Bruno Haible <bruno@clisp.org>.
37678
37679 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37680
37681         * tests/test-base64.c: Cast size_t to unsigned long when invoking
37682         printf.  Use %lu instead of %d.  Reported by Bruno Haible
37683         <bruno@clisp.org>.
37684
37685 2008-05-29  Eric Blake  <ebb9@byu.net>
37686
37687         Prefer new POSIX 200x interfaces over futimesat.
37688         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
37689         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
37690         when available.
37691         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
37692
37693 2008-05-28  Bruno Haible  <bruno@clisp.org>
37694
37695         * modules/stpcpy (License): Change to LGPLv2+.
37696         Requested by David Lutterkort <dlutter@redhat.com>.
37697
37698 2008-05-27  Bruno Haible  <bruno@clisp.org>
37699
37700         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
37701         current mingw.
37702         Reported by Jose E. Marchesi <jemarch@gnu.org>.
37703
37704 2008-05-27  Bruno Haible  <bruno@clisp.org>
37705
37706         * modules/iconv_open (Link): New section, from module 'iconv'.
37707         * modules/striconv (Link): Likewise.
37708         * modules/striconveh (Link): Likewise.
37709         * modules/xstriconv (Link): Likewise.
37710         * modules/unicodeio (Link): Likewise.
37711         * modules/propername (Link): Likewise.
37712         Reported by Jim Meyering.
37713
37714 2008-05-26  Jim Meyering  <meyering@redhat.com>
37715
37716         sha256: do not artificially restrict buffer length to be < 2^32
37717         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
37718         uint32_t to size_t.
37719         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
37720         to match.
37721
37722         avoid unaligned access errors, e.g., on sparc
37723         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
37724         direct access through a possibly-unaligned uint64* pointer.
37725         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
37726         direct access through a possibly-unaligned uint32* pointer.
37727         Prompted by this patch from Tom "spot" Callaway:
37728         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
37729
37730         sha512.c: fix typo in comment
37731         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
37732
37733 2008-05-25  Bruno Haible  <bruno@clisp.org>
37734
37735         * lib/set-mode-acl.c: Renamed from lib/acl.c.
37736         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
37737         (Makefile.am): Update lib_SOURCES.
37738
37739 2008-05-25  Bruno Haible  <bruno@clisp.org>
37740
37741         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
37742
37743 2008-05-25  Jim Meyering  <meyering@redhat.com>
37744
37745         useless-if-before-free: freed expr may have white-space differences
37746         * build-aux/useless-if-before-free: Recognize cases in which the
37747         freed expression differs from the tested one in embedded white
37748         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
37749         $1 was used, so we can't make any regexp shy.  Improved tests now
37750         detect this.
37751
37752         useless-if-before-free: accept white space in the expression.
37753         * build-aux/useless-if-before-free: For now, any white space
37754         in the expression must be identical in the free argument.
37755
37756         useless-if-before-free: efficiency tweak
37757         * build-aux/useless-if-before-free: Make the expression-matching
37758         regexp "shy".
37759         Make the *outer* regexp shy, not the expr-matching one.
37760
37761         update code-in-comment to accept cast of free arg
37762         * build-aux/useless-if-before-free: Update regexp.
37763
37764 2008-05-25  Bruno Haible  <bruno@clisp.org>
37765
37766         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
37767         * modules/copy-file-tests (Files, Makefile.am): Update.
37768         * tests/test-copy-file.c (func_test_copy): Update.
37769
37770 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
37771
37772         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
37773
37774 2008-05-23  Bruno Haible  <bruno@clisp.org>
37775
37776         Improve support for ACLs on OSF/1.
37777         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
37778         Remove fallback for unknown flavors of ACLs.
37779
37780 2008-05-22  Bruno Haible  <bruno@clisp.org>
37781
37782         Add support for ACLs on OSF/1.
37783         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
37784         replacements.
37785         (acl_free_text): New macro fallback.
37786         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
37787         acl_free.
37788         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
37789         acl_free_text function. Require AC_C_INLINE.
37790
37791 2008-05-22  Bruno Haible  <bruno@clisp.org>
37792
37793         Make copy_acl work on MacOS X 10.5.
37794         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
37795         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
37796         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37797         If MODE_INSIDE_ACL, don't assume that every system has the same text
37798         representation for ACLs as FreeBSD.
37799         * lib/copy-acl.c (copy_acl): Add support for platforms with
37800         !MODE_INSIDE_ACL.
37801         * lib/file-has-acl.c (file_has_acl): Likewise.
37802         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37803         FreeBSD, MacOS X, or IRIX, respectively.
37804
37805 2008-05-22  Bruno Haible  <bruno@clisp.org>
37806
37807         * lib/acl.h: Don't include <sys/acl.h>.
37808         (GETACLCNT): Move fallback to lib/acl-internal.h.
37809         * lib/acl-internal.h: Include <sys/acl.h> here.
37810         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37811
37812 2008-05-22  Bruno Haible  <bruno@clisp.org>
37813
37814         Split off copy_acl function to separate file.
37815         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37816         * lib/acl.c (copy_acl): Moved function to separate file.
37817         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37818         * modules/acl (Files): Add lib/copy-acl.c.
37819         (Makefiles.am): Augment lib_SOURCES.
37820
37821 2008-05-22  Bruno Haible  <bruno@clisp.org>
37822
37823         * modules/copy-file-tests: New file.
37824         * tests/test-copy-file.sh: New file.
37825         * tests/test-copy-file.c: New file.
37826         * tests/test-copy-file-sameacls.c: New file.
37827
37828 2008-05-22  Eric Blake  <ebb9@byu.net>
37829
37830         Avoid gcc warning.
37831         * tests/test-memcmp.c (main): Pass NULL indirectly.
37832
37833 2008-05-21  Bruno Haible  <bruno@clisp.org>
37834
37835         Add reference doc about ACLs.
37836         * doc/acl-resources.txt: New file.
37837         * doc/acl-cygwin.txt: New file.
37838
37839 2008-05-21  Bruno Haible  <bruno@clisp.org>
37840
37841         Avoid one more warning from gcc.
37842         * lib/vasnprintf.c (IF_LINT): Update comments.
37843         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37844
37845 2008-05-21  Jim Meyering  <meyering@redhat.com>
37846
37847         avoid a warning from gcc
37848         * lib/vasnprintf.c (IF_LINT): Define.
37849         (scale10_round_decimal_long_double):
37850         Use it to avoid a "may be used uninitialized" warning.
37851         (scale10_round_decimal_double): Likewise.
37852
37853 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37854
37855         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37856         declared.
37857
37858 2008-05-20  Bruno Haible  <bruno@clisp.org>
37859
37860         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37861         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37862
37863 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37864
37865         * modules/memcmp-tests: New file.
37866         * tests/test-memcmp.c: New file.
37867
37868 2008-05-19  Bruno Haible  <bruno@clisp.org>
37869
37870         * modules/propername (Notice, configure.ac): Put quoted "..." into
37871         --keyword option.
37872         * lib/propername.h: Update comments accordingly.
37873         Reported by Eric Blake.
37874
37875 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37876
37877         * modules/getpass-gnu (Depends-on): Add fseeko.
37878
37879 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37880
37881         * modules/base64-tests: New file.
37882
37883 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37884
37885         * lib/base64.c (base64_decode_ctx): If a decode context structure
37886         was passed in use it to ignore newlines.  If a context structure
37887         was _not_ passed in, continue to treat newlines as garbage (this
37888         is the historical behavior).  Formerly base64_decode.
37889         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37890         takes a decode context structure.
37891         * lib/base64.h (base64_decode): Macro for four-argument calls.
37892         (base64_decode_alloc): Likewise.
37893         * lib/base64.c (base64_decode_ctx): If a decode context structure
37894         was passed in use it to ignore newlines.  If a context structure
37895         was _not_ passed in, continue to treat newlines as garbage (this
37896         is the historical behavior).  Formerly base64_decode.
37897         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37898         takes a decode context structure.
37899         * lib/base64.h (base64_decode): Macro for four-argument calls.
37900         (base64_decode_alloc): Likewise.
37901
37902 2008-05-19  Jim Meyering  <meyering@redhat.com>
37903
37904         avoid a warning from gcc
37905         * lib/trim.c (IF_LINT): Define.
37906         (trim2): Use it to avoid a "may be used uninitialized" warning.
37907
37908         Fix doc typo.
37909         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37910
37911 2008-05-19  Bruno Haible  <bruno@clisp.org>
37912
37913         * doc/glibc-functions/getpass.texi: Document limits of other
37914         implementations.
37915
37916 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37917             Bruno Haible <bruno@clisp.org>
37918
37919         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37920
37921 2008-05-18  Bruno Haible  <bruno@clisp.org>
37922
37923         * modules/propername: New file, from GNU gettext.
37924         * lib/propername.h: New file, from GNU gettext.
37925         * lib/propername.c: New file, from GNU gettext.
37926         * MODULES.html.sh (Internationalization functions): Add propername.
37927
37928 2008-05-16  Jim Meyering  <meyering@redhat.com>
37929             Bruno Haible  <bruno@clisp.org>
37930
37931         Avoid some warnings from "gcc -Wshadow".
37932         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37933
37934 2008-05-15  Eric Blake  <ebb9@byu.net>
37935
37936         Extend previous patch to cygwin 1.7.0.
37937         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37938         fast implementation in cygwin >= 1.7.0.
37939         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37940         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37941
37942 2008-05-15  Bruno Haible  <bruno@clisp.org>
37943
37944         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37945         implementation in glibc >= 2.9.
37946         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37947         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37948
37949 2008-05-15  Bruno Haible  <bruno@clisp.org>
37950
37951         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37952         (Unicode string functions): Add unilbrk/*.
37953         Reported by Karl Berry.
37954
37955 2008-05-15  Eric Blake  <ebb9@byu.net>
37956
37957         Fix violation of <stdbool.h> replacement in regex.
37958         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37959         * lib/regexec.c (re_search_internal): Likewise.
37960         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37961
37962 2008-05-15  Jim Meyering  <meyering@redhat.com>
37963
37964         avoid distracting test output when git or cvs is not found
37965         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37966         * tests/test-vc-list-files-git.sh: Likewise.
37967
37968 2008-05-15  Eric Blake  <ebb9@byu.net>
37969
37970         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37971         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37972         glibc version.
37973         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37974         * doc/posix-functions/strstr.texi (strstr): Likewise.
37975         * lib/str-two-way.h (MAX): Sychronize with glibc.
37976
37977 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37978
37979         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37980         opr.ctx_type.
37981         (calc_first): Initialize constraint field.
37982         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37983         Fix grammar.
37984         (duplicate_node): Merge constraint field for all node types.
37985         (calc_eclosure_iter): Look at constraint field for all node types.
37986         * lib/regex_internal.c (create_cd_newstate): Don't look at
37987         opr.ctx_type.
37988
37989 2008-05-14  Bruno Haible  <bruno@clisp.org>
37990
37991         Help GCC to do better code generation.
37992         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37993         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37994         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37995         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37996         Declare with attribute 'malloc' if supported.
37997
37998 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37999
38000         use "echo STR|wc -c" rather than unportable "expr length STR"
38001         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
38002         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
38003
38004 2008-05-14  Jim Meyering  <meyering@redhat.com>
38005
38006         use dd ibs=$n count=1 ... rather than less-portable head -c$n
38007         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
38008         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
38009         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
38010         via Collin Lasse.
38011
38012 2008-05-14  Eric Blake  <ebb9@byu.net>
38013
38014         Avoid quadratic growth in gl_LIBSOURCES.
38015         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
38016         Suggested by Bruno Haible.
38017
38018         Test xmemdup0.
38019         * modules/xmemdup0-tests: New file.
38020         * tests/test-xmemdup0.c: Likewise.
38021
38022 2008-05-13  Eric Blake  <ebb9@byu.net>
38023
38024         Split xmemdup0 into its own module.
38025         * modules/xmemdup0: New file.
38026         * lib/xmemdup0.h: Likewise.
38027         * lib/xmemdup0.c: Likewise.
38028         * MODULES.html.sh (Memory management functions): Add xmemdup0.
38029         * lib/xalloc.h (xmemdup0): Remove.
38030         * lib/xmalloc.c (xmemdup0): Likewise.
38031
38032 2008-05-13  Eric Blake  <ebb9@byu.net>
38033             Bruno Haible  <bruno@clisp.org>
38034
38035         Reduce number of forks required during autoconf.
38036         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
38037         and gl_LIBSOURCES_DIR.
38038         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
38039         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
38040         m4_syscmd per file.
38041         <m4_foreach_w>: Move...
38042         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
38043
38044 2008-05-13  Eric Blake  <ebb9@byu.net>
38045
38046         * gnulib-tool: Fix various comment typos.
38047
38048 2008-05-12  Bruno Haible  <bruno@clisp.org>
38049
38050         Tailor the linebreaking algorithm.
38051         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
38052
38053 2008-05-12  Bruno Haible  <bruno@clisp.org>
38054
38055         Update to Unicode 5.0.0.
38056         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38057         LBP_JV, LBP_JT. Redistribute values.
38058         (unilbrk_table): Change size.
38059         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
38060         Unicode TR#14 rev. 22.
38061         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38062         LBP_JV, LBP_JT. Redistribute values.
38063         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
38064         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
38065         Update.
38066         * lib/unilbrk/lbrkprop1.h: Regenerated.
38067         * lib/unilbrk/lbrkprop2.h: Regenerated.
38068         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
38069         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
38070         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
38071         Likewise.
38072         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
38073         Likewise.
38074         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
38075         result.
38076         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
38077         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
38078         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
38079         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
38080         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
38081         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
38082
38083 2008-05-11  Bruno Haible  <bruno@clisp.org>
38084
38085         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
38086
38087 2008-05-11  Bruno Haible  <bruno@clisp.org>
38088
38089         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
38090         * modules/unilbrk/gen-lbrk: New file.
38091
38092 2008-05-11  Bruno Haible  <bruno@clisp.org>
38093
38094         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
38095         * m4/sha512.m4 (gl_SHA512): Likewise.
38096
38097 2008-05-11  Jim Meyering  <meyering@redhat.com>
38098
38099         New modules: crypto/sha256, crypto/sha512 (from coreutils)
38100         * modules/crypto/sha256: New file.
38101         * modules/crypto/sha512: Likewise.
38102         * lib/sha256.c: Likewise.
38103         * lib/sha256.h: Likewise.
38104         * lib/sha512.c: Likewise.
38105         * lib/sha512.h: Likewise.
38106         * lib/u64.h: Likewise.
38107         * m4/sha256.m4: Likewise.
38108         * m4/sha512.m4: Likewise.
38109         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
38110
38111 2008-05-10  Bruno Haible  <bruno@clisp.org>
38112
38113         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
38114         (Input/Output <stdio.h>): Add xprintf.
38115         (Signal handling <signal.h>): Add strsignal.
38116         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
38117         (Core language properties): Add func.
38118         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
38119         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
38120         strings.
38121         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
38122         (Input/output): New section.
38123         (File system functions): Add openat-die, stat-macros.
38124         (Networking functions): Add sockets.
38125         (Unicode string functions): Add unictype/*.
38126         (Support for building libraries and executables): Add gperf.
38127         (Support for building documentation): Add agpl-3.0.
38128         (Misc): Add nocrash.
38129
38130 2008-05-10  Bruno Haible  <bruno@clisp.org>
38131
38132         * modules/unictype/gen-ctype: New file.
38133
38134 2008-05-10  Jim Meyering  <meyering@redhat.com>
38135
38136         Make chdir-safer.c more efficient on a system with no symlinks.
38137         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
38138         also if ELOOP is zero.  Suggested by Bruno Haible.
38139
38140         Make chdir-safer.c slightly safer.
38141         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
38142         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
38143
38144         Avoid compile failure on systems without ELOOP (like mingw).
38145         * lib/chdir-safer.c (ELOOP): Define if not already defined.
38146         Reported by Bruno Haible.
38147
38148 2008-05-10  Bruno Haible  <bruno@clisp.org>
38149
38150         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
38151         (is_utf8_encoding): Use a case-insensitive comparison.
38152         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
38153         streq.
38154
38155 2008-05-10  Bruno Haible  <bruno@clisp.org>
38156
38157         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
38158         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
38159         * lib/unilbrk/ulc-common.h (iconv_string_length,
38160         iconv_string_keeping_offsets): Remove declarations.
38161         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
38162         Don't include <iconv.h>, streq.h, xsize.h.
38163         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
38164         conversion.
38165         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
38166         <iconv.h>, streq.h, xsize.h.
38167         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
38168         conversion.
38169         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
38170         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
38171         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
38172         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
38173
38174 2008-05-10  Bruno Haible  <bruno@clisp.org>
38175
38176         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
38177         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
38178
38179         * modules/unilbrk/u32-width-linebreaks-tests: New file.
38180         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
38181
38182         * modules/unilbrk/u16-width-linebreaks-tests: New file.
38183         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
38184
38185         * modules/unilbrk/u8-width-linebreaks-tests: New file.
38186         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
38187
38188         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
38189         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
38190
38191         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
38192         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
38193
38194         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
38195         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
38196
38197         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
38198         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
38199
38200 2008-05-10  Bruno Haible  <bruno@clisp.org>
38201
38202         Split up 'linebreak' module.
38203         * lib/unilbrk.h: New file, based on lib/linebreak.h.
38204         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
38205         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
38206         modifications.
38207         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
38208         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
38209         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
38210         lib/linebreak.c.
38211         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
38212         lib/linebreak.c.
38213         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
38214         lib/linebreak.c.
38215         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
38216         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
38217         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
38218         lib/linebreak.c.
38219         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
38220         lib/linebreak.c.
38221         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
38222         lib/linebreak.c.
38223         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
38224         lib/linebreak.c.
38225         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
38226         lib/linebreak.c.
38227         * modules/unilbrk/base: New file.
38228         * modules/unilbrk/tables: New file.
38229         * modules/unilbrk/u8-possible-linebreaks: New file.
38230         * modules/unilbrk/u16-possible-linebreaks: New file.
38231         * modules/unilbrk/u32-possible-linebreaks: New file.
38232         * modules/unilbrk/ulc-common: New file.
38233         * modules/unilbrk/ulc-possible-linebreaks: New file.
38234         * modules/unilbrk/u8-width-linebreaks: New file.
38235         * modules/unilbrk/u16-width-linebreaks: New file.
38236         * modules/unilbrk/u32-width-linebreaks: New file.
38237         * modules/unilbrk/ulc-width-linebreaks: New file.
38238         * lib/linebreak.h: Remove file.
38239         * lib/linebreak.c: Remove file.
38240         * m4/linebreak.m4: Remove file.
38241         * modules/linebreak: Remove file.
38242         * NEWS: Mention the changes.
38243
38244 2008-05-09  Eric Blake  <ebb9@byu.net>
38245
38246         Add xmemdup0.
38247         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
38248         implementation.
38249         * lib/xmalloc.c (xmemdup0): New C implementation.
38250
38251 2008-05-08  Bruno Haible  <bruno@clisp.org>
38252
38253         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
38254
38255 2008-05-07  Eric Blake  <ebb9@byu.net>
38256
38257         Support cross-compilation of <wctype.h>.
38258         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
38259         AC_CACHE_CHECK.
38260
38261 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
38262
38263         * build-aux/vc-list-files: Add support for bzr.
38264
38265 2008-05-03  Jim Meyering  <meyering@redhat.com>
38266
38267         avoid failed assertion with tight malloc
38268         * tests/test-getndelim2.c: Correct an off-by-one assertion.
38269
38270 2008-05-03  Simon Josefsson  <simon@josefsson.org>
38271
38272         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
38273         are needed from arpa/inet.h.
38274         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
38275         Reported by Bruno Haible.
38276
38277 2008-05-02  Jim Meyering  <meyering@redhat.com>
38278
38279         avoid compilation error on FreeBSD 6
38280         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
38281
38282 2008-05-01  Jim Meyering  <meyering@redhat.com>
38283
38284         useless-if-before-free: correct --help's exit status description
38285         * build-aux/useless-if-before-free (usage): Like grep, exit 0
38286         for one or more matches, etc.  Reported by Bruno Haible.
38287
38288         vc-list-files: make the stand-alone gnulib test work
38289         * modules/vc-list-files-tests (configure.ac):
38290         Define and AC_SUBST abs_aux_dir.
38291         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
38292         $(abs_top_srcdir) to each script and having each of them
38293         duplicate the work of setting PATH, set PATH here, using
38294         the new variable, abs_aux_dir instead.
38295         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
38296         * tests/test-vc-list-files-git.sh: Likewise.
38297         Reported by Bruno Haible.
38298
38299 2008-05-01  Bruno Haible  <bruno@clisp.org>
38300
38301         * lib/getndelim2.c (getndelim2): Fix newsize computation during
38302         reallocation. Rename 'done' to 'found_delimiter'.
38303
38304 2008-05-01  Jim Meyering  <meyering@redhat.com>
38305
38306         vc-list-files: accommodate /bin/sh like the one from Solaris 10
38307         * build-aux/vc-list-files: Use `...`, not $(...).
38308
38309 2008-04-30  Jim Meyering  <meyering@redhat.com>
38310
38311         add tests for vc-list-files
38312         * modules/vc-list-files-tests: New module.
38313         * tests/test-vc-list-files-cvs.sh: New file.
38314         * tests/test-vc-list-files-git.sh: New file.
38315
38316         avoid a warning from gcc
38317         * lib/getndelim2.c (IF_LINT): Define.
38318         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
38319
38320         vc-list-files: work properly with build-aux/cvsu, too
38321         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
38322         to all cvs-based clauses.
38323
38324         vc-list-files: work properly in the CVS+awk case, too
38325         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
38326
38327         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
38328         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
38329         take more than one file argument, so .  Add quotes, just in case $dir
38330         ever contains a shell meta-character.  Prompted by Soren Hansen in
38331         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
38332
38333 2008-04-29  Eric Blake  <ebb9@byu.net>
38334
38335         Optimize getndelim2 to use block operations when possible.
38336         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
38337         freadseek, and memchr2.
38338         * lib/getndelim2.c (getndelim2): Use them for block reads.
38339
38340 2008-04-29  Bruno Haible  <bruno@clisp.org>
38341
38342         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
38343         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38344         * modules/inet_ntop (Depends-on): Add extensions.
38345         * modules/inet_pton (Depends-on): Likewise.
38346         Reported by Simon Josefsson.
38347
38348 2008-04-29  Jim Meyering  <meyering@redhat.com>
38349
38350         When the is more than one match in a block, match all of them.
38351         * build-aux/useless-if-before-free: Iterate through each block
38352         until there are no more matches.
38353
38354         Fix broken useless-if-before-free script.
38355         * build-aux/useless-if-before-free: Fix typo: missing "?" after
38356         the expression to match cast of argument to free-like function.
38357
38358 2008-04-29  Eric Blake  <ebb9@byu.net>
38359
38360         Use new header.
38361         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
38362
38363 2008-04-29  Jim Meyering  <meyering@redhat.com>
38364
38365         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
38366         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
38367         by gnulib to exist and to declare e.g., inet_ntop.
38368         Don't include "inet_ntop.h", now removed.
38369
38370         * m4/arpa_inet_h.m4: Remove trailing blanks.
38371
38372 2008-04-29  Eric Blake  <ebb9@byu.net>
38373
38374         Silence valgrind on safe reads beyond potential array bounds.
38375         * lib/rawmemchr.valgrind: New file.
38376         * lib/strchrnul.valgrind: Likewise.
38377         * modules/rawmemchr (Files): Distribute new file.
38378         * modules/strchrnul (Files): Likewise.
38379         Suggested by Bruno Haible.
38380
38381 2008-04-29  Bruno Haible  <bruno@clisp.org>
38382
38383         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
38384         (inet_ntop, inet_pton): Change portability warning's wording.
38385         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
38386         Invoke gl_CHECK_NEXT_HEADERS.
38387         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
38388         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
38389         set ARPA_INET_H.
38390         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38391         * modules/arpa_inet (Description): No longer only for systems that
38392         lack it.
38393         (Depends-on): Add include_next.
38394         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
38395         HAVE_ARPA_INET_H.
38396
38397 2008-04-29  Jim Meyering  <meyering@redhat.com>
38398
38399         * modules/mkdir (License): Re-license as LGPLv2+.
38400
38401 2008-04-29  Bruno Haible  <bruno@clisp.org>
38402
38403         * modules/rawmemchr (Maintainer): Set to Eric.
38404         * modules/strchrnul (Maintainer): Likewise.
38405
38406 2008-04-29  Simon Josefsson  <simon@josefsson.org>
38407
38408         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
38409         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
38410
38411         * modules/arpa_inet (arpa/inet.h): Use them.
38412
38413 2008-04-28  Eric Blake  <ebb9@byu.net>
38414
38415         Test getndelim2.
38416         * modules/getndelim2-tests: New file.
38417         * tests/test-getndelim2.c: Likewise.
38418         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
38419         stream.
38420         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
38421
38422         * MODULES.html.sh: Document new module.
38423
38424 2008-04-20  Bruno Haible  <bruno@clisp.org>
38425
38426         * lib/c-stack.c (die): Use raise.
38427         * modules/c-stack (Depends-on): Add raise.
38428
38429 2008-04-28  Bruno Haible  <bruno@clisp.org>
38430
38431         Expect rpmatch to be declared.
38432         * lib/yesno.c (rpmatch): Remove declaration.
38433
38434         Declare rpmatch.
38435         * lib/stdlib.in.h (rpmatch): New declaration.
38436         * lib/rpmatch.c: Include <stdlib.h> first.
38437         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
38438         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
38439         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
38440         HAVE_RPMATCH.
38441         * modules/rpmatch (Depends-on): Add stdlib, extensions.
38442         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38443         (Include): Set to <stdlib.h>.
38444         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
38445         HAVE_RPMATCH.
38446         * NEWS: Document the change.
38447
38448 2008-04-28  Bruno Haible  <bruno@clisp.org>
38449
38450         Change rpmatch to use nl_langinfo when appropriate.
38451         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
38452         (N_): New macro.
38453         (localized_pattern): New function/macro.
38454         (try): Remove match, nomatch arguments. Copy the pattern into safe
38455         memory before caching it.
38456         (rpmatch): Use localized_pattern. Add translator comments.
38457         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
38458         Suggested by Eric Blake.
38459         * modules/rpmatch (Depends-on): Add stdbool.
38460
38461 2008-04-28  Eric Blake  <ebb9@byu.net>
38462
38463         Add rawmemchr module, matching glibc.
38464         * modules/string (Makefile.am): New indicator.
38465         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
38466         * lib/string.in.h (rawmemchr): Declare when appropriate.
38467         * modules/rawmemchr: New file.
38468         * m4/rawmemchr.m4: Likewise.
38469         * lib/rawmemchr.c: Likewise.
38470         * modules/rawmemchr-tests: Likewise.
38471         * tests/test-rawmemchr.c: Likewise.
38472         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
38473         module.
38474         * modules/strchrnul (Depends-on): Add rawmemchr.
38475         * lib/strchrnul.c (strchrnul): Optimize a corner case.
38476
38477         Whitespace cleanup.
38478         * tests/test-strchrnul.c: Reindent.
38479         * lib/strchrnul.c: Likewise.
38480
38481         Optimize and test strchrnul.
38482         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
38483         * modules/strchrnul-tests: New file.
38484         * tests/test-strchrnul.c: Likewise.
38485
38486         Remove intprops dependency.
38487         * modules/memchr (Depends-on): Remove intprops.
38488         * modules/memrchr (Depends-on): Likewise.
38489         * modules/memchr2 (Depends-on): Likewise.
38490         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
38491         * lib/memrchr.c (__memrchr): Likewise.
38492         * lib/memrchr2.c (memchr2): Likewise.
38493         Reported by Simon Josefsson.
38494
38495 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38496
38497         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
38498         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38499
38500 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38501
38502         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
38503
38504         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
38505
38506         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
38507
38508         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
38509         declarations.
38510         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
38511
38512         * m4/inet_pton.m4: Don't check for header files.
38513
38514         * m4/inet_ntop.m4: Don't check for header files.
38515
38516 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38517
38518         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
38519         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
38520         trigger for cygwin).
38521         Reported by Bruno Haible  <bruno@clisp.org>.
38522
38523 2008-04-28  Bruno Haible  <bruno@clisp.org>
38524
38525         * doc/posix-functions/strdup.texi: Mention mingw problem.
38526
38527 2008-04-27  Bruno Haible  <bruno@clisp.org>
38528
38529         * modules/stat-time-tests (Depends-on): Add sleep.
38530         * tests/test-stat-time.c (force_unlink): New function.
38531         (cleanup): Use it.
38532         (test_mtime): Remove the ctime related tests.
38533         (test_ctime): New function, containing the ctime related tests.
38534         (main): Call test_ctime, except on native Windows platforms.
38535
38536 2008-04-27  Bruno Haible  <bruno@clisp.org>
38537
38538         * lib/rpmatch.c (rpmatch): Add some comments.
38539         Reported by James Youngman <jay@gnu.org>.
38540
38541 2008-04-27  Bruno Haible  <bruno@clisp.org>
38542
38543         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
38544         quiet NaNs.
38545
38546 2008-04-27  Bruno Haible  <bruno@clisp.org>
38547
38548         Make test-yesno.sh work on mingw.
38549         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
38550         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
38551         (main): Set stdin to binary mode.
38552         * modules/yesno-tests (Depends-on): Add binary-io.
38553
38554 2008-04-27  Bruno Haible  <bruno@clisp.org>
38555
38556         Fix 'isfinite' on x86, x86_64, ia64 platforms.
38557         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
38558         argument that lie outside the IEEE 854 domain.
38559         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
38560         (gl_ISFINITE): Use it.
38561         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
38562
38563 2008-04-27  Bruno Haible  <bruno@clisp.org>
38564
38565         Allow local renaming in config.h.
38566         * lib/memrchr.c (memrchr): Don't undefine outside libc.
38567
38568 2008-04-27  Bruno Haible  <bruno@clisp.org>
38569
38570         * lib/memchr.c (__memchr): Change type of 'i'.
38571         * lib/memchr2.c (memchr2): Likewise.
38572
38573 2008-04-26  Eric Blake  <ebb9@byu.net>
38574         and Bruno Haible  <bruno@clisp.org>
38575
38576         Optimize and test memrchr.
38577         * modules/memrchr (Depends-on): Add intprops.
38578         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
38579         * modules/memrchr-tests: New file.
38580         * tests/test-memrchr.c: New file.
38581
38582 2008-04-26  Bruno Haible  <bruno@clisp.org>
38583
38584         Add tentative support for DragonFly BSD.
38585         * lib/stdio-impl.h: Add macros for DragonFly BSD.
38586         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
38587         fp.
38588         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38589         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
38590         * lib/fpurge.c (fpurge): Likewise.
38591         * lib/freadable.c (freaadable): Likewise.
38592         * lib/freadahead.c (freadahead): Likewise.
38593         * lib/freading.c (freading): Likewise.
38594         * lib/freadptr.c (freadptr): Likewise.
38595         * lib/freadseek.c (freadptrinc): Likewise.
38596         * lib/fseeko.c (fseeko): Likewise.
38597         * lib/fseterr.c (fseterr): Likewise.
38598         * lib/fwritable.c (fwritable): Likewise.
38599         * lib/fwriting.c (fwriting): Likewise.
38600
38601 2008-04-26  Bruno Haible  <bruno@clisp.org>
38602
38603         * lib/stdio-impl.h: New file.
38604         * lib/fbufmode.c: Include stdio-impl.h.
38605         (fbufmode): Use fp_, remove redundant #defines.
38606         * lib/fflush.c: Include stdio-impl.h.
38607         (clear_ungetc_buffer): Remove redundant #defines.
38608         * lib/fpurge.c: Include stdio-impl.h.
38609         (fpurge): Remove redundant #defines.
38610         * lib/freadable.c: Include stdio-impl.h.
38611         (freadable): Remove redundant #defines.
38612         * lib/freadahead.c: Include stdio-impl.h.
38613         (freadahead): Remove redundant #defines.
38614         * lib/freading.c: Include stdio-impl.h.
38615         (freading): Remove redundant #defines.
38616         * lib/freadptr.c: Include stdio-impl.h.
38617         (freadptr): Remove redundant #defines.
38618         * lib/freadseek.c: Include stdio-impl.h.
38619         (freadptrinc): Remove redundant #defines.
38620         * lib/fseeko.c: Include stdio-impl.h.
38621         (rpl_fseeko): Remove redundant #defines.
38622         * lib/fseterr.c: Include stdio-impl.h.
38623         (fseterr): Remove redundant #defines.
38624         * lib/fwritable.c: Include stdio-impl.h.
38625         (fwritable: Remove redundant #defines.
38626         * lib/fwriting.c: Include stdio-impl.h.
38627         (fwriting): Remove redundant #defines.
38628         * modules/fbufmode (Files): Add lib/stdio-impl.h.
38629         * modules/fflush (Files): Likewise.
38630         * modules/fpurge (Files): Likewise.
38631         * modules/freadable (Files): Likewise.
38632         * modules/freadahead (Files): Likewise.
38633         * modules/freading (Files): Likewise.
38634         * modules/freadptr (Files): Likewise.
38635         * modules/freadseek (Files): Likewise.
38636         * modules/fseeko (Files): Likewise.
38637         * modules/fseterr (Files): Likewise.
38638         * modules/fwritable (Files): Likewise.
38639         * modules/fwriting (Files): Likewise.
38640
38641 2008-04-26  Bruno Haible  <bruno@clisp.org>
38642
38643         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38644         restore_seek_optimization, update_fpos_cache): New functions, extracted
38645         from rpl_fflush.
38646         (rpl_fflush): Use them.
38647         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
38648         (gl_REPLACE_FFLUSH): Use it.
38649
38650 2008-04-26  Bruno Haible  <bruno@clisp.org>
38651
38652         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
38653         on Solaris.
38654         * tests/test-xstrtoimax.sh: Likewise.
38655         * tests/test-xstrtoumax.sh: Likewise.
38656         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38657
38658 2008-04-26  Bruno Haible  <bruno@clisp.org>
38659
38660         * modules/memchr-tests: New file.
38661         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
38662
38663 2008-04-26  Eric Blake  <ebb9@byu.net>
38664             Bruno Haible  <bruno@clisp.org>
38665
38666         * lib/memchr.c: Include intprops.h.
38667         (__memchr): Optimize parallel detection of matching bytes. Rename local
38668         variables. Add explanatory comments.
38669
38670 2008-04-26  Bruno Haible  <bruno@clisp.org>
38671
38672         Fix module 'memchr', broken since 2000-10-28.
38673         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
38674
38675 2008-04-26  Bruno Haible  <bruno@clisp.org>
38676
38677         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
38678         comments.
38679
38680 2008-04-25  Eric Blake  <ebb9@byu.net>
38681
38682         Use native fstatat on cygwin 1.7.0.
38683         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
38684         first.
38685
38686 2008-04-23  Eric Blake  <ebb9@byu.net>
38687
38688         Improve memchr2 performance.
38689         * lib/memchr2.c (memchr2): Further optimize parallel detection of
38690         NUL bytes.
38691         * modules/memchr2 (Depends-on): Use intprops.h.
38692
38693 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38694
38695         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
38696         an inline function instead of a CPP macro.  Patch by Ben Pfaff
38697         <blp@cs.stanford.edu>.
38698
38699 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38700
38701         * lib/arpa_inet.in.h: New file.
38702
38703         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
38704         (Makefile.am): Sed in substitute header file.
38705
38706         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
38707         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
38708
38709         * modules/inet_ntop (configure.ac): Use
38710         gl_ARPA_INET_MODULE_INDICATOR.
38711
38712         * modules/inet_pton (configure.ac): Use
38713         gl_ARPA_INET_MODULE_INDICATOR.
38714
38715 2008-04-22  Jim Meyering  <meyering@redhat.com>
38716
38717         * modules/verify (License): Re-license as LGPLv2+.
38718
38719 2008-04-22  Simon Josefsson  <simon@josefsson.org>
38720
38721         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
38722         parameter to void* as per POSIX standard (MinGW uses char*).
38723
38724 2008-04-21  Bruno Haible  <bruno@clisp.org>
38725
38726         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
38727         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
38728         Define to replacements if REPLACE_ISWCNTRL is 1.
38729         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
38730         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
38731         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
38732         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
38733         what it fixes.
38734         * doc/posix-functions/iswalpha.texi: Likewise.
38735         * doc/posix-functions/iswblank.texi: Likewise.
38736         * doc/posix-functions/iswcntrl.texi: Likewise.
38737         * doc/posix-functions/iswdigit.texi: Likewise.
38738         * doc/posix-functions/iswgraph.texi: Likewise.
38739         * doc/posix-functions/iswlower.texi: Likewise.
38740         * doc/posix-functions/iswprint.texi: Likewise.
38741         * doc/posix-functions/iswpunct.texi: Likewise.
38742         * doc/posix-functions/iswspace.texi: Likewise.
38743         * doc/posix-functions/iswupper.texi: Likewise.
38744         * doc/posix-functions/iswxdigit.texi: Likewise.
38745         Reported by Alain Guibert.
38746
38747 2008-04-21  Bruno Haible  <bruno@clisp.org>
38748
38749         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
38750         Patch by Alain Guibert.
38751
38752 2008-04-21  Bruno Haible  <bruno@clisp.org>
38753
38754         Fix test failures on mingw.
38755         * tests/test-xstrtol.c (print_no_progname): New function.
38756         (main): Install it in error_print_progname hook.
38757         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
38758         * tests/test-xstrtoimax.sh: Likewise.
38759         * tests/test-xstrtoumax.sh: Likewise.
38760
38761 2008-04-21  Bruno Haible  <bruno@clisp.org>
38762
38763         Fix test failure on mingw.
38764         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
38765
38766 2008-04-21  Bruno Haible  <bruno@clisp.org>
38767
38768         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
38769         Actually assign a value.
38770
38771 2008-04-20  Bruno Haible  <bruno@clisp.org>
38772
38773         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
38774         take 2.
38775         * lib/canonicalize.c (canonicalize_file_name): Elide if the
38776         'canonicalize-lgpl' module is also used.
38777         * lib/canonicalize-lgpl.c: Undo last change.
38778         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
38779
38780 2008-04-20  Bruno Haible  <bruno@clisp.org>
38781
38782         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
38783         config.h. Provide _mkdir based fallback for mingw.
38784         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
38785         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
38786         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
38787         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
38788         rather than defining mkdir in config.h.
38789         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
38790         (gl_SYS_STAT_H_DEFAULTS): New macro.
38791         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
38792         HAVE_IO_H any more.
38793         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
38794         HAVE_DECL_MKDIR and HAVE_IO_H.
38795
38796 2008-04-20  Bruno Haible  <bruno@clisp.org>
38797
38798         * lib/isapipe.c: Port to native Windows platforms.
38799
38800 2008-04-20  Bruno Haible  <bruno@clisp.org>
38801
38802         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38803
38804 2008-04-21  Eric Blake  <ebb9@byu.net>
38805
38806         Work around preprocessors that don't handle UINTMAX_MAX.
38807         * lib/memchr2.c (memchr2): Avoid embedded #if.
38808         Reported by Alain Guibert, fix suggested by Bruno Haible.
38809
38810 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38811
38812         * doc/posix-functions/strftime.texi (strftime): Explain better
38813         Windows incompatibility.  Suggested by Micah Cowan
38814         <micah@cowan.name>.
38815
38816 2008-04-20  Bruno Haible  <bruno@clisp.org>
38817
38818         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38819         unistr/u8-mblen.
38820
38821 2008-04-20  Bruno Haible  <bruno@clisp.org>
38822
38823         Fix test failure on platforms with non-GNU iconv.
38824         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38825         (U_TO_U8): Use it, rather than u16_to_u8.
38826         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38827         units at the end of the input string.
38828         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38829
38830 2008-04-20  Bruno Haible  <bruno@clisp.org>
38831
38832         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38833         when the resulting length is 0.
38834         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38835
38836 2008-04-20  Bruno Haible  <bruno@clisp.org>
38837
38838         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38839         works.
38840         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38841
38842 2008-04-20  Bruno Haible  <bruno@clisp.org>
38843
38844         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38845         * modules/tsearch-tests (configure.ac): Test for initstate function.
38846
38847 2008-04-20  Bruno Haible  <bruno@clisp.org>
38848
38849         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38850         for nlink_t if missing.
38851         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38852
38853 2008-04-19  Bruno Haible  <bruno@clisp.org>
38854
38855         Work around snprintf bug on Linux libc5.
38856         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38857         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38858         gl_SNPRINTF_SIZE1.
38859         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38860         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38861         that test failed.
38862         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38863         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38864         * modules/snprintf (Files): Add m4/printf.m4.
38865         * modules/vsnprintf (Files): Likewise.
38866         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38867         * doc/posix-functions/vsnprintf.texi: Likewise.
38868
38869 2008-04-19  Bruno Haible  <bruno@clisp.org>
38870
38871         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38872         from 0.0058 to less than 10^-7.
38873
38874 2008-04-19  Bruno Haible  <bruno@clisp.org>
38875
38876         Fix rounding when a precision is given.
38877         * lib/vasnprintf.c (is_borderline): New function.
38878         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38879         9...9x.
38880         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38881         %e, %g.
38882         * tests/test-vasprintf-posix.c (test_function): Likewise.
38883         * tests/test-snprintf-posix.h (test_function): Likewise.
38884         * tests/test-sprintf-posix.h (test_function): Likewise.
38885         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38886         * tests/test-printf-posix.h (test_function): Likewise.
38887         * tests/test-printf-posix.output: Update.
38888         Reported by John Darrington <john@darrington.wattle.id.au> via
38889         Ben Pfaff <blp@cs.stanford.edu>.
38890
38891 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38892
38893         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38894         Suggested by Bruno Haible <bruno@clisp.org>.
38895
38896 2008-04-17  Bruno Haible  <bruno@clisp.org>
38897
38898         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38899         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38900         implementation.
38901         Patch by Bruce Merry <bmerry@gmail.com>.
38902
38903 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38904
38905         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38906         doesn't work under Windows.
38907
38908 2008-04-16  Bruno Haible  <bruno@clisp.org>
38909
38910         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38911         New macros.
38912         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38913         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38914         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38915         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38916         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38917         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38918         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38919         macros.
38920         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38921         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38922         Northern Sotho, Uighur.
38923
38924 2008-04-16  Bruno Haible  <bruno@clisp.org>
38925
38926         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38927         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38928         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38929         Reported by Daniel Bergström <daniel@octocode.com>.
38930
38931 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38932             Bruno Haible  <bruno@clisp.org>
38933
38934         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38935         function.
38936         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38937         New functions, mostly extracted from gl_locale_name_default.
38938         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38939
38940 2008-04-16  Eric Blake  <ebb9@byu.net>
38941
38942         Adjust strtod detection to catch glibc 2.7 bug.
38943         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38944         Reported by John Gatewood Ham.
38945
38946 2008-04-16  Bruno Haible  <bruno@clisp.org>
38947
38948         Add tentative support for Linux libc5.
38949         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38950         * lib/fpurge.c (fpurge): Likewise.
38951         * lib/freadable.c (freadable): Likewise.
38952         * lib/freadahead.c (freadahead): Likewise.
38953         * lib/freading.c (freading): Likewise.
38954         * lib/freadptr.c (freadptr): Likewise.
38955         * lib/freadseek.c (freadptrinc): Likewise.
38956         * lib/fseeko.c (rpl_fseeko): Likewise.
38957         * lib/fseterr.c (fseterr): Likewise.
38958         * lib/fwritable.c (fwritable): Likewise.
38959         * lib/fwriting.c (fwriting): Likewise.
38960         Reported by Alain Guibert <alguibert+bts@free.fr>.
38961
38962 2008-04-15  Bruno Haible  <bruno@clisp.org>
38963
38964         * modules/mathl (configure.ac): Define module indicator.
38965
38966 2008-04-15  Bruno Haible  <bruno@clisp.org>
38967
38968         * lib/logl.c (logl): Remove unused variables.
38969
38970 2008-04-15  Bruno Haible  <bruno@clisp.org>
38971
38972         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38973         fails.
38974
38975 2008-04-15  Bruno Haible  <bruno@clisp.org>
38976
38977         * lib/trim.c (trim2): Fix argument of isspace() macro.
38978
38979 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38980
38981         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38982         to 0.
38983         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38984
38985 2008-04-14  Bruno Haible  <bruno@clisp.org>
38986
38987         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38988         AC_LANG_PROGRAM argument.
38989         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38990         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38991         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38992         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38993         * m4/math_h.m4 (gl_MATH_H): Likewise.
38994         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38995         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38996         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38997         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38998         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38999         * m4/regex.m4 (gl_REGEX): Likewise.
39000         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
39001         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
39002         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39003         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
39004         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
39005         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39006         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39007         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
39008
39009 2008-04-14  Jim Meyering  <meyering@redhat.com>
39010
39011         test-strtod: fix typos: s/abs/fabs/
39012         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
39013
39014 2008-04-13  Bruno Haible  <bruno@clisp.org>
39015
39016         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
39017         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
39018         module is also used and while not building the reloc-wrapper.
39019
39020 2008-04-13  Bruno Haible  <bruno@clisp.org>
39021
39022         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
39023
39024 2008-04-13  Bruno Haible  <bruno@clisp.org>
39025
39026         Fix AIX compilation failure introduced on 2008-04-02.
39027         * tests/test-frexp.c (exp): Undefine before redefining.
39028         * tests/test-frexpl.c (exp): Likewise.
39029
39030 2008-04-13  Bruno Haible  <bruno@clisp.org>
39031
39032         Work around a HP-UX stdio bug.
39033         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
39034         * tests/test-ftello.c (main): Likewise.
39035         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
39036         * doc/posix-functions/ftello.texi: Likewise.
39037
39038 2008-04-13  Bruno Haible  <bruno@clisp.org>
39039
39040         Make test-signbit pass on HP-UX/hppa.
39041         * tests/test-signbit.c (minus_zerol): New variable.
39042         (test_signbitl): Use it.
39043
39044 2008-04-13  Bruno Haible  <bruno@clisp.org>
39045
39046         Make truncl work on OSF/1 4.0.
39047         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
39048         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39049         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39050         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
39051         HAVE_DECL_TRUNCL.
39052         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
39053         HAVE_DECL_TRUNCL.
39054         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
39055
39056 2008-04-13  Bruno Haible  <bruno@clisp.org>
39057
39058         * lib/unictype.h: Remove trailing comma from enumeration definitions.
39059
39060 2008-04-13  Bruno Haible  <bruno@clisp.org>
39061
39062         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
39063         expression, so as to avoid HP-UX 11 cc compiler bug.
39064
39065 2008-04-13  Bruno Haible  <bruno@clisp.org>
39066
39067         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
39068
39069 2008-04-13  Bruno Haible  <bruno@clisp.org>
39070
39071         * lib/git-merge-changelog.c: Remove empty declaration outside of
39072         functions.
39073
39074 2008-04-13  Bruno Haible  <bruno@clisp.org>
39075
39076         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
39077
39078 2008-04-13  Bruno Haible  <bruno@clisp.org>
39079
39080         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
39081         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
39082         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
39083         also if it exists but lacks definitions of the SHUT_* macros.
39084         * modules/sys_socket (Description): Update.
39085         Reported by Elbert Pol <e.pol@chello.nl>.
39086
39087 2008-04-13  Bruno Haible  <bruno@clisp.org>
39088
39089         * lib/localcharset.c (OS2): Don't redefine if already defined.
39090         Reported by Elbert Pol <e.pol@chello.nl>.
39091
39092 2008-04-13  Bruno Haible  <bruno@clisp.org>
39093
39094         * lib/binary-io.h [__EMX__]: Include <io.h>.
39095         Reported by Elbert Pol <e.pol@chello.nl>.
39096
39097 2008-04-12  Bruno Haible  <bruno@clisp.org>
39098
39099         * lib/fpucw.h: Enable the definitions also for x86_64.
39100         Needed for NetBSD/x86_64.
39101         Reported by Thomas Klausner <tk@giga.or.at>.
39102
39103 2008-04-12  Bruno Haible  <bruno@clisp.org>
39104
39105         * tests/test-strtod.c: Include isnand.h.
39106         (main): Use isnand instead of isnan.
39107         Reported by Jim Meyering.
39108
39109 2008-04-12  Bruno Haible  <bruno@clisp.org>
39110
39111         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
39112         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39113
39114 2008-04-12  Jim Meyering  <meyering@redhat.com>
39115
39116         * m4/math_h.m4 (gl_MATH_H): Fix typos.
39117
39118 2008-04-12  Bruno Haible  <bruno@clisp.org>
39119
39120         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
39121         Reported by Elbert Pol <e.pol@chello.nl>.
39122
39123 2008-04-12  Eric Blake  <ebb9@byu.net>
39124
39125         Work around Solaris 10 math.h bug.
39126         * m4/math_h.m4 (gl_MATH_H): Check for bug.
39127         (gl_MATH_H_DEFAULTS): Set up default.
39128         * modules/math (Makefile.am): Replace new indicators.
39129         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
39130         * tests/test-math.c (main): Test this.
39131         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
39132         * doc/posix-headers/math.texi (math.h): Mention bug.
39133         Reported by Nelson H. F. Beebe and Jim Meyering.
39134
39135 2008-04-11  Bruno Haible  <bruno@clisp.org>
39136
39137         Adapt to future versions of Apple GCC.
39138         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
39139         Reported by Peter O'Gorman <peter@pogma.com>.
39140
39141 2008-04-11  Bruno Haible  <bruno@clisp.org>
39142
39143         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
39144
39145 2008-04-11  Bruno Haible  <bruno@clisp.org>
39146
39147         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
39148
39149         * modules/getaddrinfo-tests (Makefile.am): Define
39150         test_getaddrinfo_LDADD.
39151
39152 2008-04-11  Bruno Haible  <bruno@clisp.org>
39153
39154         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
39155         (init): Fix syntax error.
39156         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
39157         is declared.
39158
39159 2008-04-11  Bruno Haible  <bruno@clisp.org>
39160
39161         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
39162         * modules/glob (Depends-on): Add stdbool.
39163
39164 2008-04-11  Bruno Haible  <bruno@clisp.org>
39165
39166         * lib/trim.c: Include <string.h>.
39167
39168 2008-04-11  Eric Blake  <ebb9@byu.net>
39169
39170         Avoid compile failure on OS/2.
39171         * lib/regex_internal.h (internal_function): Disable optimization
39172         on OS/2 (__EMX__), where it caused compiler error.
39173         Reported by Elbert Pol.
39174
39175 2008-04-11  Bruno Haible  <bruno@clisp.org>
39176
39177         Flush the standard error stream before aborting. Needed on mingw.
39178         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
39179         * tests/test-array_list.c (ASSERT): Likewise.
39180         * tests/test-array_oset.c (ASSERT): Likewise.
39181         * tests/test-avltree_list.c (ASSERT): Likewise.
39182         * tests/test-avltree_oset.c (ASSERT): Likewise.
39183         * tests/test-avltreehash_list.c (ASSERT): Likewise.
39184         * tests/test-binary-io.c (ASSERT): Likewise.
39185         * tests/test-byteswap.c (ASSERT): Likewise.
39186         * tests/test-c-ctype.c (ASSERT): Likewise.
39187         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
39188         * tests/test-c-strcasestr.c (ASSERT): Likewise.
39189         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
39190         * tests/test-c-strstr.c (ASSERT): Likewise.
39191         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
39192         * tests/test-canonicalize.c (ASSERT): Likewise.
39193         * tests/test-carray_list.c (ASSERT): Likewise.
39194         * tests/test-ceilf1.c (ASSERT): Likewise.
39195         * tests/test-ceilf2.c (ASSERT): Likewise.
39196         * tests/test-ceill.c (ASSERT): Likewise.
39197         * tests/test-count-one-bits.c (ASSERT): Likewise.
39198         * tests/test-fbufmode.c (ASSERT): Likewise.
39199         * tests/test-fflush2.c (ASSERT): Likewise.
39200         * tests/test-floorf1.c (ASSERT): Likewise.
39201         * tests/test-floorf2.c (ASSERT): Likewise.
39202         * tests/test-floorl.c (ASSERT): Likewise.
39203         * tests/test-fopen.c (ASSERT): Likewise.
39204         * tests/test-fpending.c (ASSERT): Likewise.
39205         * tests/test-fprintf-posix.c (ASSERT): Likewise.
39206         * tests/test-fpurge.c (ASSERT): Likewise.
39207         * tests/test-freadable.c (ASSERT): Likewise.
39208         * tests/test-freadahead.c (ASSERT): Likewise.
39209         * tests/test-freading.c (ASSERT): Likewise.
39210         * tests/test-freadptr.c (ASSERT): Likewise.
39211         * tests/test-freadptr2.c (ASSERT): Likewise.
39212         * tests/test-freadseek.c (ASSERT): Likewise.
39213         * tests/test-freopen.c (ASSERT): Likewise.
39214         * tests/test-frexp.c (ASSERT): Likewise.
39215         * tests/test-frexpl.c (ASSERT): Likewise.
39216         * tests/test-fseek.c (ASSERT): Likewise.
39217         * tests/test-fseeko.c (ASSERT): Likewise.
39218         * tests/test-fstrcmp.c (ASSERT): Likewise.
39219         * tests/test-ftell.c (ASSERT): Likewise.
39220         * tests/test-ftello.c (ASSERT): Likewise.
39221         * tests/test-func.c (ASSERT): Likewise.
39222         * tests/test-fwritable.c (ASSERT): Likewise.
39223         * tests/test-fwriting.c (ASSERT): Likewise.
39224         * tests/test-getdelim.c (ASSERT): Likewise.
39225         * tests/test-getline.c (ASSERT): Likewise.
39226         * tests/test-i-ring.c (ASSERT): Likewise.
39227         * tests/test-iconv-utf.c (ASSERT): Likewise.
39228         * tests/test-iconv.c (ASSERT): Likewise.
39229         * tests/test-isfinite.c (ASSERT): Likewise.
39230         * tests/test-isnand.c (ASSERT): Likewise.
39231         * tests/test-isnanf.c (ASSERT): Likewise.
39232         * tests/test-isnanl.h (ASSERT): Likewise.
39233         * tests/test-ldexpl.c (ASSERT): Likewise.
39234         * tests/test-linked_list.c (ASSERT): Likewise.
39235         * tests/test-linkedhash_list.c (ASSERT): Likewise.
39236         * tests/test-localename.c (ASSERT): Likewise.
39237         * tests/test-lseek.c (ASSERT): Likewise.
39238         * tests/test-mbscasecmp.c (ASSERT): Likewise.
39239         * tests/test-mbscasestr1.c (ASSERT): Likewise.
39240         * tests/test-mbscasestr2.c (ASSERT): Likewise.
39241         * tests/test-mbscasestr3.c (ASSERT): Likewise.
39242         * tests/test-mbscasestr4.c (ASSERT): Likewise.
39243         * tests/test-mbschr.c (ASSERT): Likewise.
39244         * tests/test-mbscspn.c (ASSERT): Likewise.
39245         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
39246         * tests/test-mbspbrk.c (ASSERT): Likewise.
39247         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
39248         * tests/test-mbsrchr.c (ASSERT): Likewise.
39249         * tests/test-mbsspn.c (ASSERT): Likewise.
39250         * tests/test-mbsstr1.c (ASSERT): Likewise.
39251         * tests/test-mbsstr2.c (ASSERT): Likewise.
39252         * tests/test-mbsstr3.c (ASSERT): Likewise.
39253         * tests/test-memchr2.c (ASSERT): Likewise.
39254         * tests/test-memmem.c (ASSERT): Likewise.
39255         * tests/test-open.c (ASSERT): Likewise.
39256         * tests/test-printf-frexp.c (ASSERT): Likewise.
39257         * tests/test-printf-frexpl.c (ASSERT): Likewise.
39258         * tests/test-printf-posix.c (ASSERT): Likewise.
39259         * tests/test-quotearg.c (ASSERT): Likewise.
39260         * tests/test-rbtree_list.c (ASSERT): Likewise.
39261         * tests/test-rbtree_oset.c (ASSERT): Likewise.
39262         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
39263         * tests/test-round1.c (ASSERT): Likewise.
39264         * tests/test-roundf1.c (ASSERT): Likewise.
39265         * tests/test-roundl.c (ASSERT): Likewise.
39266         * tests/test-signbit.c (ASSERT): Likewise.
39267         * tests/test-sleep.c (ASSERT): Likewise.
39268         * tests/test-snprintf-posix.c (ASSERT): Likewise.
39269         * tests/test-snprintf.c (ASSERT): Likewise.
39270         * tests/test-sprintf-posix.c (ASSERT): Likewise.
39271         * tests/test-stat-time.c (ASSERT): Likewise.
39272         * tests/test-strcasestr.c (ASSERT): Likewise.
39273         * tests/test-strerror.c (ASSERT): Likewise.
39274         * tests/test-striconv.c (ASSERT): Likewise.
39275         * tests/test-striconveh.c (ASSERT): Likewise.
39276         * tests/test-striconveha.c (ASSERT): Likewise.
39277         * tests/test-strsignal.c (ASSERT): Likewise.
39278         * tests/test-strstr.c (ASSERT): Likewise.
39279         * tests/test-strtod.c (ASSERT): Likewise.
39280         * tests/test-trunc1.c (ASSERT): Likewise.
39281         * tests/test-trunc2.c (ASSERT): Likewise.
39282         * tests/test-truncf1.c (ASSERT): Likewise.
39283         * tests/test-truncf2.c (ASSERT): Likewise.
39284         * tests/test-truncl.c (ASSERT): Likewise.
39285         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
39286         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
39287         * tests/test-vasnprintf.c (ASSERT): Likewise.
39288         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
39289         * tests/test-vasprintf.c (ASSERT): Likewise.
39290         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
39291         * tests/test-vprintf-posix.c (ASSERT): Likewise.
39292         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
39293         * tests/test-vsnprintf.c (ASSERT): Likewise.
39294         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
39295         * tests/test-wcwidth.c (ASSERT): Likewise.
39296         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
39297         * tests/test-xprintf-posix.c (ASSERT): Likewise.
39298         * tests/test-xvasprintf.c (ASSERT): Likewise.
39299         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
39300         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
39301         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
39302         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
39303         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
39304         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
39305         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
39306         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
39307         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
39308         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
39309         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
39310         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
39311         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
39312         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
39313         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
39314         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
39315         * tests/unictype/test-block_list.c (ASSERT): Likewise.
39316         * tests/unictype/test-block_of.c (ASSERT): Likewise.
39317         * tests/unictype/test-block_test.c (ASSERT): Likewise.
39318         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
39319         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
39320         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
39321         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
39322         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
39323         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
39324         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
39325         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
39326         * tests/unictype/test-combining.c (ASSERT): Likewise.
39327         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
39328         * tests/unictype/test-digit.c (ASSERT): Likewise.
39329         * tests/unictype/test-mirror.c (ASSERT): Likewise.
39330         * tests/unictype/test-numeric.c (ASSERT): Likewise.
39331         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
39332         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
39333         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
39334         * tests/unictype/test-scripts.c (ASSERT): Likewise.
39335         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
39336         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
39337         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
39338         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
39339         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
39340         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
39341         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
39342         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
39343         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
39344         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
39345         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
39346         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
39347         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
39348         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
39349         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
39350         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
39351         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
39352         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
39353         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
39354         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
39355         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
39356         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
39357         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
39358         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
39359         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
39360         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
39361         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
39362         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
39363         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
39364         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
39365         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
39366         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
39367         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
39368         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
39369         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
39370         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
39371         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
39372         Reported by Eric Blake.
39373
39374 2008-04-11  Bruno Haible  <bruno@clisp.org>
39375
39376         * lib/wchar.in.h: Tweak comment.
39377
39378 2008-04-11  Bruno Haible  <bruno@clisp.org>
39379
39380         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
39381         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
39382         gl_COMMON.
39383         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
39384
39385 2008-04-11  Bruno Haible  <bruno@clisp.org>
39386
39387         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
39388
39389 2008-04-11  Simon Josefsson  <simon@josefsson.org>
39390
39391         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
39392         of attempting to use non-existing /dev/*random.  Based on patch
39393         from Adam Strzelecki <ono@java.pl> in
39394         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
39395
39396 2008-04-08  Bruno Haible  <bruno@clisp.org>
39397
39398         Add tentative support for emx+gcc.
39399         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
39400         * lib/fpurge.c (fpurge): Likewise.
39401         * lib/freadable.c (freadable): Likewise.
39402         * lib/freadahead.c (freadahead): Likewise.
39403         * lib/freading.c (freading): Likewise.
39404         * lib/freadptr.c (freadptr): Likewise.
39405         * lib/freadseek.c (freadptrinc): Likewise.
39406         * lib/fseeko.c (rpl_fseeko): Likewise.
39407         * lib/fseterr.c (fseterr): Likewise.
39408         * lib/fwritable.c (fwritable): Likewise.
39409         * lib/fwriting.c (fwriting): Likewise.
39410         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
39411
39412 2008-04-09  Eric Blake  <ebb9@byu.net>
39413
39414         Avoid some autoconf warnings.
39415         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
39416         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
39417         * m4/afs.m4 (gl_AFS): Likewise.
39418         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
39419         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
39420         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39421         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
39422         (gl_INTEGER_TYPE_SUFFIX): Likewise.
39423         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
39424         (AC_CHECK_DECLS_ONCE): Likewise.
39425         Rename file...
39426         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
39427         gnulib-tool requires autoconf 2.59 or better.
39428         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
39429
39430 2008-04-08  Eric Blake  <ebb9@byu.net>
39431
39432         Use 'git describe --match' if present (added in git 1.5.5).
39433         * build-aux/git-version-gen: Limit result to tags that match 'v*'
39434         if possible.
39435
39436 2008-04-08  Bruno Haible  <bruno@clisp.org>
39437
39438         Add tentative support for OpenServer.
39439         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
39440         _ptr, _cnt.
39441         * lib/fpurge.c (fpurge): Likewise.
39442         * lib/freadable.c (freadable): Likewise.
39443         * lib/freadahead.c (freadahead): Likewise.
39444         * lib/freading.c (freading): Likewise.
39445         * lib/freadptr.c (freadptr): Likewise.
39446         * lib/freadseek.c (freadptrinc): Likewise.
39447         * lib/fseeko.c (rpl_fseeko): Likewise.
39448         * lib/fseterr.c (fseterr): Likewise.
39449         * lib/fwritable.c (fwritable): Likewise.
39450         * lib/fwriting.c (fwriting): Likewise.
39451         Reported by Roger Cornelius <rac@tenzing.org> and
39452         Brian K. White <brian@aljex.com>.
39453
39454 2008-04-06  Jim Meyering  <meyering@redhat.com>
39455
39456         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
39457
39458 2008-04-06  Bruno Haible  <bruno@clisp.org>
39459
39460         Avoid possible error with non-ASCII bytes in UTF-8 locales.
39461         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
39462         * tests/test-printf-posix.sh: Likewise.
39463         * tests/test-vfprintf-posix.sh: Likewise.
39464         * tests/test-vprintf-posix.sh: Likewise.
39465         * tests/test-xprintf-posix.sh: Likewise.
39466
39467 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39468
39469         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
39470         hide error from 'ls', needed on OS/2.
39471         Report by Elbert Pol <elbert.pol@gmail.com>.
39472
39473 2008-04-04  Eric Blake  <ebb9@byu.net>
39474
39475         Make test-fseeko.c failures meaningful.
39476         * tests/test-fseeko.c: Print line number on failure.
39477         * tests/test-fseek.c: Likewise.
39478         Reported by Nelson H. F. Beebe.
39479
39480         Improve strtod bug detection check.
39481         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
39482         required for Solaris 10.
39483         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
39484
39485 2008-04-04  Bruno Haible  <bruno@clisp.org>
39486
39487         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
39488         by m4/setenv.m4.
39489
39490 2008-04-03  Eric Blake  <ebb9@byu.net>
39491
39492         Ensure sane .version contents.
39493         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
39494         version string.
39495         * build-aux/git-version-gen: Improve documentation.
39496
39497         Make GNU make output nicer.
39498         * top/GNUmakefile [!_have-Makefile]: Add dependency on
39499         MAKECMDGOALS to enforce message for all command line targets.  Set
39500         srcdir for use in maint.mk.
39501
39502         Another maintainer tweak.
39503         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
39504         a target that regenerates version.
39505
39506 2008-04-03  Jim Meyering  <meyering@redhat.com>
39507
39508         vc-list-files: don't cause coreutils "make po-check" failure
39509         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
39510
39511 2008-04-03  Eric Blake  <ebb9@byu.net>
39512
39513         Allow VPATH usage of vc-list-files.
39514         * build-aux/vc-list-files (scriptversion): Add timestamp.
39515         (options): Add --help, --version, -C.
39516         (CVS): Support installed cvsu.
39517
39518 2008-04-02  Bruno Haible  <bruno@clisp.org>
39519
39520         Avoid some "statement with no effect" warnings from gcc.
39521         * tests/test-wctype.c (main): Explicitly ignore unused values.
39522         Reported by Jim Meyering.
39523
39524 2008-04-02  Jim Meyering  <meyering@redhat.com>
39525
39526         Avoid some warnings from "gcc -Wshadow".
39527         * tests/test-frexp.c (exp): Define to a different identifier.
39528         * tests/test-frexpl.c (exp): Likewise.
39529
39530 2008-04-03  Jim Meyering  <meyering@redhat.com>
39531
39532         bootstrap: remove dangling *.[ch] symlinks from lib
39533         * build-aux/bootstrap [dangling symlink removal]: Move find's
39534         -depth option to precede all others, to avoid a warning.
39535         Remove *.[ch] files too, and from "$source_base" (usually lib/).
39536
39537 2008-04-02  Bruno Haible  <bruno@clisp.org>
39538
39539         Avoid some warnings from "gcc -Wshadow".
39540         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
39541         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
39542         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
39543         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
39544         Reported by Jim Meyering.
39545
39546 2008-04-01  Bruno Haible  <bruno@clisp.org>
39547
39548         Fix test to work on IRIX 6.5 with cc.
39549         * tests/test-math.c (numeric_equal): New function.
39550         (main): Use it.
39551
39552 2008-04-01  Bruno Haible  <bruno@clisp.org>
39553
39554         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
39555
39556 2008-04-01  Bruno Haible  <bruno@clisp.org>
39557
39558         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
39559         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39560         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
39561         (Depends-on): Remove math.
39562
39563         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
39564         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39565         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
39566         (Depends-on): Remove math.
39567
39568         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
39569         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39570         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
39571         (Depends-on): Remove math.
39572         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
39573         (Depends-on): Remove math.
39574
39575         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
39576         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39577         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
39578         (Depends-on): Remove math.
39579         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
39580         (Depends-on): Remove math.
39581
39582         * tests/test-round1.c: Include nan.h.
39583         (main): Use NaNd instead of NAN.
39584         * modules/round-tests (Files): Add tests/nan.h.
39585
39586         * tests/test-trunc1.c: Include nan.h.
39587         (main): Use NaNd instead of NAN.
39588         * modules/trunc-tests (Files): Add tests/nan.h.
39589
39590         * tests/test-roundf1.c: Include nan.h.
39591         (main): Use NaNf instead of NAN.
39592         * modules/roundf-tests (Files): Add tests/nan.h.
39593
39594         * tests/test-truncf1.c: Include nan.h.
39595         (main): Use NaNf instead of NAN.
39596         * modules/truncf-tests (Files): Add tests/nan.h.
39597
39598         * tests/test-ceilf1.c: Include nan.h.
39599         (main): Use NaNf instead of NAN.
39600         * modules/ceilf-tests (Files): Add tests/nan.h.
39601
39602         * tests/test-floorf1.c: Include nan.h.
39603         (main): Use NaNf instead of NAN.
39604         * modules/floorf-tests (Files): Add tests/nan.h.
39605
39606         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
39607         (main): Use NaNf instead of NAN.
39608         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
39609
39610         * tests/test-isnand.c: Include nan.h instead of <math.h>.
39611         (main): Use NaNd instead of NAN.
39612         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
39613
39614         * tests/test-frexp.c: Include nan.h.
39615         (main): Use NaNd instead of NAN.
39616         * modules/frexp-tests (Files): Add tests/nan.h.
39617
39618         * lib/isnan.c: Don't include <math.h>.
39619         (FUNC): Don't use NAN macro.
39620         * modules/isnand-nolibm (Depends-on): Remove math.
39621         * modules/isnanf-nolibm (Depends-on): Remove math.
39622         * modules/isnanl (Depends-on): Remove math.
39623         * modules/isnanl-nolibm (Depends-on): Remove math.
39624
39625         * tests/nan.h: New file.
39626
39627 2008-04-01  Eric Blake  <ebb9@byu.net>
39628
39629         Fix typos.
39630         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
39631         values to be the right type.
39632
39633         For now, cater to gnulib strtod inaccuracies.
39634         * tests/test-strtod.c (main): Allow 1-ulp error on expected
39635         fractional results.  While not as nice from a QoI perspective, it
39636         is a quicker patch than correctly implementing decimal to binary
39637         rounding.
39638
39639 2008-03-31  Eric Blake  <ebb9@byu.net>
39640
39641         Guarantee a definition of NAN.
39642         * lib/math.in.h (NAN): Define if missing.
39643         * tests/test-math.c (main): Test it.
39644         * doc/posix-headers/math.texi (math.h): Document this.
39645         * lib/isnan.c (rpl_isnand): Use it.
39646         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
39647         * tests/test-floorf1.c (NaN): Likewise.
39648         * tests/test-frexp.c (NaN): Likewise.
39649         * tests/test-isnand.c (NaN): Likewise.
39650         * tests/test-isnanf.c (NaN): Likewise.
39651         * tests/test-round1.c (NaN): Likewise.
39652         * tests/test-roundf1.c (NaN): Likewise.
39653         * tests/test-snprintf-posix.h (NaN): Likewise.
39654         * tests/test-sprintf-posix.h (NaN): Likewise.
39655         * tests/test-trunc1.c (NaN): Likewise.
39656         * tests/test-truncf1.c (NaN): Likewise.
39657         * tests/test-vasnprintf-posix.c (NaN): Likewise.
39658         * tests/test-vasprintf-posix.c (NaN): Likewise.
39659         * modules/isnand-nolibm (Depends-on): Add math.
39660         * modules/isnanf-nolibm (Depends-on): Likewise.
39661         * modules/isnanl (Depends-on): Likewise.
39662         * modules/isnanl-nolibm (Depends-on): Likewise.
39663         * modules/snprintf-posix-tests (Depends-on): Likewise.
39664         * modules/sprintf-posix-tests (Depends-on): Likewise.
39665         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
39666         * modules/vsprintf-posix-tests (Depends-on): Likewise.
39667         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
39668         * modules/vasprintf-posix-tests (Depends-on): Likewise.
39669
39670 2008-03-31  Bruno Haible  <bruno@clisp.org>
39671
39672         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
39673         * doc/posix-functions/strtod.texi: Likewise.
39674
39675 2008-03-31  Bruno Haible  <bruno@clisp.org>
39676
39677         * tests/test-strtod.c (main): Don't use C99 syntax.
39678
39679 2008-03-31  Bruno Haible  <bruno@clisp.org>
39680
39681         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
39682         Reported by Eric Blake.
39683
39684 2008-03-31  Jim Meyering  <meyering@redhat.com>
39685
39686         Don't compare actual signbit return values.
39687         * tests/test-strtod.c (main): Rather, compare only their
39688         zero/non-zero nature.
39689
39690 2008-03-31  Eric Blake  <ebb9@byu.net>
39691
39692         More strtod documentation.
39693         * doc/posix-functions/strtod.texi (strtod): Interpret more test
39694         failures as distinct bugs.
39695
39696 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39697
39698         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
39699         Problem reported by Erik Benada in
39700         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
39701
39702 2008-03-30  Bruno Haible  <bruno@clisp.org>
39703
39704         * tests/test-strtod.c: Add comments about which assertion fails on which
39705         platform.
39706         * doc/posix-functions/strtod.texi: Add info about many more platforms.
39707
39708 2008-03-30  Eric Blake  <ebb9@byu.net>
39709
39710         Test signbit behavior on zeros.
39711         * tests/test-signbit.c (test_signbitf): Add tests for zero.
39712         (test_signbitd, test_signbitl): Likewise.
39713
39714         More strtod touchups.
39715         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
39716         sign of negative underflow, for now.  Use .5, not .1.
39717         * doc/posix-functions/strtod.texi (strtod): Mention these
39718         limitations.
39719         Reported by Jim Meyering.
39720
39721 2008-03-30  Bruno Haible  <bruno@clisp.org>
39722
39723         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
39724         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
39725
39726 2008-03-30  Bruno Haible  <bruno@clisp.org>
39727
39728         Avoid failure when attempting to return empty iconv results on some
39729         platforms.
39730         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
39731         allocation, don't report ENOMEM when the resulting string is empty.
39732
39733 2008-03-30  Bruno Haible  <bruno@clisp.org>
39734
39735         Fix buffer overrun.
39736         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
39737         Don't consider the width for tmp_length. Check count against tmp_length
39738         before doing the padding. Ensure enough allocation during padding.
39739
39740 2008-03-30  Eric Blake  <ebb9@byu.net>
39741
39742         strtod touchups.
39743         * lib/strtod.c (strtod): Avoid compiler warnings.
39744         Reported by Jim Meyering.
39745
39746 2008-03-30  Bruno Haible  <bruno@clisp.org>
39747
39748         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
39749         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
39750         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
39751         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
39752         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
39753         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
39754         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
39755         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
39756
39757         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
39758         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
39759         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
39760         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
39761         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
39762         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
39763         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
39764         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
39765
39766         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
39767         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
39768         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
39769         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
39770         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
39771         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
39772         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
39773         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
39774
39775         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
39776         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
39777
39778         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
39779         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
39780
39781         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
39782         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
39783
39784         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
39785         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
39786         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
39787
39788         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
39789         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
39790         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
39791
39792         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
39793         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
39794         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
39795
39796         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39797         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39798         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39799
39800         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39801         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39802         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39803         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39804         (Depends-on): Add EOVERFLOW.
39805         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39806         (Depends-on): Add EOVERFLOW.
39807         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39808         (Depends-on): Add EOVERFLOW.
39809         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39810         (Depends-on): Add EOVERFLOW.
39811         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39812         (Depends-on): Add EOVERFLOW.
39813         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39814         (Depends-on): Add EOVERFLOW.
39815         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39816         (Depends-on): Add EOVERFLOW.
39817         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39818         (Depends-on): Add EOVERFLOW.
39819
39820         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39821         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39822         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39823
39824         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39825         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39826         * modules/snprintf (Depends-on): Add EOVERFLOW.
39827
39828         * lib/poll.c (EOVERFLOW): Remove fallback.
39829         * modules/poll (Depends-on): Add EOVERFLOW.
39830
39831         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39832         * modules/getugroups (Depends-on): Add EOVERFLOW.
39833
39834         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39835         * modules/getdelim (Depends-on): Add EOVERFLOW.
39836
39837         * lib/ftell.c (EOVERFLOW): Remove fallback.
39838         * modules/ftell (Depends-on): Add EOVERFLOW.
39839
39840         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39841         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39842         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39843
39844         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39845
39846         * modules/EOVERFLOW-tests: New file.
39847         * tests/test-EOVERFLOW.c: New file.
39848
39849         * modules/EOVERFLOW: New file.
39850         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39851
39852 2008-03-30  Bruno Haible  <bruno@clisp.org>
39853
39854         Fix bug introduced on 2007-06-10.
39855         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39856         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39857
39858 2008-03-30  Bruno Haible  <bruno@clisp.org>
39859
39860         Improve freadseek's efficiency after ungetc.
39861         * lib/freadseek.c: Include freadahead.h.
39862         (freadptrinc): New function, extracted from freadseek.
39863         (freadseek): Use it in a loop. Use freadahead to determine the number
39864         of loop iterations.
39865         * modules/freadseek (Depends-on): Add freadahead.
39866         (configure.ac): Require AC_C_INLINE.
39867
39868 2008-03-30  Bruno Haible  <bruno@clisp.org>
39869
39870         * lib/freadseek.c (freadseek): Don't ignore the return value of
39871         freadptr.
39872
39873 2008-03-29  Eric Blake  <ebb9@byu.net>
39874
39875         Add hex float support.
39876         * modules/strtod (Depends-on): Add c-ctype.
39877         (Link): Mention POW_LIB.
39878         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39879         whitespace between 'e' and exponent.
39880         * tests/test-strtod.c (main): Enable hex float tests.
39881         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39882         now provides.
39883
39884         Document various strtod bugs, with some fixes.
39885         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39886         "-0x", "inf", "nan", and hex constants.
39887         * doc/posix-functions/atof.texi (atof): Likewise.
39888         * modules/stdlib (Makefile.am): Support strtod.
39889         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39890         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39891         detect additional strtod bugs.
39892         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39893         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39894         bool where appropriate.  Parse 'inf' and 'nan'.
39895         * tests/test-strtod.c: New file.
39896         * modules/strtod (Depends-on): Add stdbool, stdlib.
39897         (configure.ac): Turn on module indicator.
39898         * modules/strtod-tests: New module.
39899
39900 2008-03-29  Eric Blake  <ebb9@byu.net>
39901
39902         Fix ftell on mingw.
39903         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39904         * modules/ftell-tests (Depends-on): Add binary-io.
39905         * modules/ftello-tests (Depends-on): Likewise.
39906         * tests/test-ftell.c (main): Enhance test to cover behavior after
39907         ungetc.  Enforce binary mode.
39908         * tests/test-ftello.c (main): Likewise.
39909
39910         Pass test-freadseek on cygwin.
39911         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39912         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39913         ungetc buffer.
39914
39915         * tests/test-fflush2.c (main): Fix typo.
39916
39917 2008-03-29  Bruno Haible  <bruno@clisp.org>
39918
39919         * tests/test-fflush2.c (main): Temporarily disable the contents of
39920         this test.
39921         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39922         Reported by Eric Blake.
39923
39924 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39925
39926         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39927         (GC_SHA224_DIGEST_SIZE): Add.
39928
39929         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39930         (gc_hash_digest_length): Likewise.
39931         (gc_hash_buffer): Likewise.
39932
39933 2008-03-25  Bruno Haible  <bruno@clisp.org>
39934
39935         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39936         detail which gettext release to use.
39937         Reported by Simon Josefsson.
39938
39939 2008-03-26  Jim Meyering  <meyering@redhat.com>
39940
39941         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39942         * modules/gnumakefile (clean-GNUmakefile): Also, use
39943         test ... && ... || : syntax rather than if-then ... fi.
39944
39945         gnumakefile: Don't double-quote-expand $(VPATH) value.
39946         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39947
39948 2008-03-24  Eric Blake  <ebb9@byu.net>
39949
39950         Alter GNUmakefile to install into top directory.
39951         * modules/maintainer-makefile: Split, and add dependency...
39952         * modules/gnumakefile: to this new module.
39953         * build-aux/GNUmakefile: Move...
39954         * top/GNUmakefile: ...here.
39955         * build-aux/maint.mk: Move...
39956         * top/maint.mk: ...here.
39957         * MODULES.html.sh (Support for maintaining...): Document new
39958         module.
39959
39960 2008-03-23  Bruno Haible  <bruno@clisp.org>
39961
39962         * gnulib-tool: New options --vc-files, --no-vc-files.
39963         (func_usage): Document them.
39964         (vc_files): New variable.
39965         (func_import): Consider vc_files.
39966         (func_create_testdir): Set vc_files to empty.
39967         Suggested by Jim Meyering and Karl Berry.
39968
39969 2008-03-23  Bruno Haible  <bruno@clisp.org>
39970
39971         Fix regex compilation error on HP-UX 11.
39972         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39973         * modules/regex (Files): Add m4/mbstate_t.m4.
39974         Reported by Ton Voon <ton.voon@altinity.com>.
39975
39976 2008-03-23  Bruno Haible  <bruno@clisp.org>
39977
39978         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39979
39980 2008-03-23  Eric Blake  <ebb9@byu.net>
39981             Bruno Haible  <bruno@clisp.org>
39982
39983         Install files from top/ in the destination directory.
39984         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39985         augmentation also for the files from top/.
39986         (func_import, func_create_testdir): Rewrite file names:
39987         top/filename -> filename.
39988
39989 2008-03-23  Bruno Haible  <bruno@clisp.org>
39990
39991         Tweak "gnulib --version" output.
39992         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39993
39994 2008-03-23  Bruno Haible  <bruno@clisp.org>
39995
39996         Tweak "gnulib --version" output.
39997         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39998         rather than contents of ChangeLog, when possible.
39999
40000 2008-03-21  Eric Blake  <ebb9@byu.net>
40001
40002         More --version tweaks.
40003         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
40004         date of last ChangeLog entry.
40005
40006 2008-03-21  Jim Meyering  <meyering@redhat.com>
40007
40008         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
40009
40010 2008-03-20  Eric Blake  <ebb9@byu.net>
40011
40012         VPATH fix.
40013         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
40014
40015 2008-03-20  Simon Josefsson  <simon@josefsson.org>
40016
40017         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
40018         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
40019
40020 2008-03-20  Eric Blake  <ebb9@byu.net>
40021
40022         Sync GNUmakefile with coreutils.
40023         * build-aux/GNUmakefile (have-Makefile): Rename...
40024         (_have-Makefile): ...to this, for namespace consideration.
40025         (GNUmakefile.cfg): Include, if present.
40026         (_autoreconf): Define a default.
40027         (_is-dist-target): New rule for rebuilds to pick up intra-release
40028         version.
40029         (maint-cfg.mk): Rename...
40030         (cfg.mk): ...to this.
40031
40032 2008-03-18  Jim Meyering  <meyering@redhat.com>
40033
40034         New script and module: mktempd
40035         * MODULES.html.sh (maint+release support): Add mktempd.
40036         * build-aux/mktempd: New file.
40037         * modules/mktempd: New file.
40038
40039 2008-03-15  Jim Meyering  <meyering@redhat.com>
40040
40041         Undo last change.
40042         * lib/sha1.c, lib/md5.c: 63 != ~63.
40043         Reported by Andreas Schwab.
40044
40045         sha1.c, md5.c: Hoist a redundant expression.
40046         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
40047         "ctx->buflen" only once, before calling *_process_block.
40048         * lib/md5.c (md5_process_bytes): Likewise.
40049
40050 2008-03-14  Eric Blake  <ebb9@byu.net>
40051
40052         Bump copyright year in files generated by gnulib-tool.
40053         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
40054         gnulib-tool, rather than hard-coding it.
40055
40056         Fix 'gnulib-tool --version' output to work with git.
40057         * gnulib-tool (func_gnulib_dir): New function, extracted from...
40058         (startup): ...here.
40059         (func_version): Use it to invoke git-version-gen, rather than
40060         relying on CVS keyword expansion.  Modernize wording.
40061         (cvsdatestamp, last_checkin_date, version): Kill unused
40062         variables.
40063
40064 2008-03-12  Jim Meyering  <meyering@redhat.com>
40065
40066         Recognize optional cast of the argument to free.
40067         * build-aux/useless-if-before-free: Update regexps.
40068
40069         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
40070
40071 2008-03-11  Bruno Haible  <bruno@clisp.org>
40072
40073         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
40074         by a single package.
40075         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
40076         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
40077         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
40078         Reported by Sam Steingold <sds@gnu.org>.
40079
40080 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40081
40082         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
40083         repositories.
40084
40085 2008-03-11  Bruno Haible  <bruno@clisp.org>
40086
40087         Avoid conflicts between local macro definitions.
40088         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
40089         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
40090
40091 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
40092             Bruno Haible  <bruno@clisp.org>
40093
40094         Make va_copy work with some version of xlc on AIX 5.1.
40095         * lib/stdarg.in.h: New file.
40096         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
40097         On AIX, use a <stdarg.h> file substitute.
40098         * modules/stdarg (Files): Add lib/stdarg.in.h.
40099         (Depends-on): Add include_next.
40100         (Makefile.am): Build a stdarg.h substitute if requested.
40101         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
40102
40103 2008-03-10  Bruno Haible  <bruno@clisp.org>
40104
40105         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
40106         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40107         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40108
40109 2008-03-10  Bruno Haible  <bruno@clisp.org>
40110
40111         * modules/stdlib (Depends-on): Add include_next, remove
40112         absolute-header.
40113
40114 2008-03-09  Bruno Haible  <bruno@clisp.org>
40115
40116         * lib/freadahead.h (freadahead): Document more precisely.
40117         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
40118         the sum of both buffer sizes.
40119         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
40120         * NEWS: Document the change.
40121
40122 2008-03-09  Bruno Haible  <bruno@clisp.org>
40123
40124         Extend freadptr to return also the buffer size.
40125         * lib/freadptr.h (freadptr): Add sizep argument.
40126         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
40127         (freadptr): Add sizep argument. Determine buffer size like freadahead
40128         does.
40129         * tests/test-freadptr.c: Don't include freadahead.h.
40130         (main): Adapt for new calling convention of freadptr.
40131         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
40132         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
40133         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
40134         tests/test-freadptr2.sh.
40135         (Depends): Remove freadahead.
40136         (TESTS): Add test-freadptr2.sh.
40137         (check_PROGRAMS): Add test-freadptr2.
40138
40139 2008-03-09  Bruno Haible  <bruno@clisp.org>
40140
40141         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
40142         Report and solution by Simon Josefsson.
40143
40144 2008-03-06  Bruno Haible  <bruno@clisp.org>
40145
40146         Make fflush after ungetc work on BSD platforms.
40147         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
40148         * tests/test-fflush2.c: New file.
40149         * tests/test-fflush2.sh: New file.
40150         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
40151         tests/test-fflush2.c.
40152         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
40153         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
40154
40155 2008-03-06  Eric Blake  <ebb9@byu.net>
40156
40157         Likewise for ftello.
40158         * modules/ftello (Dependencies): Add extensions.
40159         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
40160
40161 2008-03-06  Bruno Haible  <bruno@clisp.org>
40162
40163         * modules/fseeko (Dependencies): Add extensions.
40164         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
40165         Needed on glibc systems.
40166
40167 2008-03-06  Bruno Haible  <bruno@clisp.org>
40168
40169         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
40170         email address.
40171         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40172
40173 2008-03-06  Bruno Haible  <bruno@clisp.org>
40174
40175         * users.txt: Add libgnupdf.
40176
40177 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40178
40179         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
40180         (Header File Substitutes, Function Substitutes,
40181         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
40182         (Build robot for gnulib): Fix typo.
40183
40184 2008-03-06  Bruno Haible  <bruno@clisp.org>
40185
40186         * doc/gnulib-tool.texi (VCS Issues): Small updates.
40187         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40188
40189 2008-03-06  Bruno Haible  <bruno@clisp.org>
40190
40191         * doc/func.texi: New file, extracted from doc/gnulib.texi.
40192         * doc/gnulib.texi: Include it.
40193
40194 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40195
40196         * modules/func (License): Change license to unlimited; there was
40197         no LGPL parts in the module anyway.
40198
40199 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40200
40201         * modules/__func__: Renamed to modules/func.
40202         * modules/__func__-tests: Renamed to modules/func-tests.
40203         * tests/test-__func__.c: Renamed to tests/test-func.c.
40204         * m4/__func__.m4: Renamed to m4/func.m4.
40205         * doc/gnulib.texi (__func__): Section renamed to func.
40206         Suggested by Eric Blake <ebb9@byu.net>.
40207
40208 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40209
40210         * doc/gnulib.texi (__func__): Use C99 terminology when talking
40211         about __func__.  Make example self-contained.  Suggested by Eric
40212         Blake <ebb9@byu.net>.
40213
40214         * tests/test-__func__.c (main): Avoid extraneous () around __func.
40215         Suggested by Eric Blake <ebb9@byu.net>.
40216
40217 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40218
40219         * modules/__func__: New file.
40220         * modules/__func__-tests: New file.
40221         * tests/test-__func__.c: New file.
40222         * m4/__func__.m4: New file.
40223         * doc/gnulib.texi (__func__): Document __func__ module.
40224
40225 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40226
40227         * modules/byteswap (License): Re-license as LGPLv2+.
40228
40229 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40230
40231         * doc/Makefile: Add pdf target.
40232
40233 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40234
40235         * modules/inline (License): Use 'unlimited', since there are only
40236         *.m4 files in this module.
40237
40238 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40239             Bruno Haible  <bruno@clisp.org>
40240
40241         Add support for HP C 7.1 on OpenVMS 8.3.
40242         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
40243
40244 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40245
40246         Update VMS specifics.
40247         * lib/getopt.c [VMS]: Remove include of unixlib.h.
40248
40249 2008-03-02  Jim Meyering  <meyering@redhat.com>
40250
40251         Remove the last dependency on the "free" module.
40252         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
40253         Reported by Bob Proulx.
40254
40255         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
40256
40257         Remove useless "if" tests before free.  Deprecate "free" module.
40258         * doc/posix-functions/free.texi: Mention that this
40259         module is no longer useful.
40260         * modules/free (Notice): Say this module is obsolete.
40261         * modules/readutmp (Depends-on): Remove free.
40262         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
40263         * lib/putenv.c (putenv): Likewise.
40264         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
40265         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
40266         * tests/test-c-strcasestr.c (main): Likewise.
40267         * tests/test-c-strstr.c (main): Likewise.
40268         * tests/test-mbscasestr1.c (main): Likewise.
40269         * tests/test-mbscasestr2.c (main): Likewise.
40270         * tests/test-mbsstr1.c (main): Likewise.
40271         * tests/test-mbsstr2.c (main): Likewise.
40272         * tests/test-memmem.c (main): Likewise.
40273         * tests/test-strcasestr.c (main): Likewise.
40274         * tests/test-striconv.c (main): Likewise.
40275         * tests/test-striconveh.c (main): Likewise.
40276         * tests/test-striconveha.c (main): Likewise.
40277         * tests/test-strstr.c (main): Likewise.
40278
40279         * build-aux/git-version-gen: Adjust a comment and the Usage string.
40280
40281         bootstrap: sync from coreutils again
40282         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
40283
40284 2008-03-01  Jim Meyering  <meyering@redhat.com>
40285
40286         bootstrap: sync from coreutils
40287         * build-aux/bootstrap (update_po_files): Copy a .po file into place
40288         also when the target doesn't exist.
40289
40290 2008-03-01  Eric Blake  <ebb9@byu.net>
40291
40292         Fix bugs in last patch.
40293         * lib/memchr2.c (memchr2): Fix typo.
40294         * tests/test-memchr2.c: Test previous bug, and don't use GNU
40295         extension.
40296         Reported by Bruce Korb.
40297
40298         New module 'memchr2'.
40299         * modules/memchr2: New file.
40300         * modules/memchr2-tests: Likewise.
40301         * lib/memchr2.h: Likewise.
40302         * lib/memchr2.c: Likewise, based on memchr.c.
40303         * tests/test-memchr2.c: New test.
40304         * MODULES.html.sh (String handling): Add memchr2.
40305
40306 2008-02-29  Bruno Haible  <bruno@clisp.org>
40307
40308         * modules/freadseek-tests: New file.
40309         * tests/test-freadseek.sh: New file.
40310         * tests/test-freadseek.c: New file.
40311
40312         New module 'freadseek'.
40313         * modules/freadseek: New file.
40314         * lib/freadseek.h: New file.
40315         * lib/freadseek.c: New file.
40316         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
40317
40318 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40319
40320         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
40321         wydawca.
40322
40323         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
40324         program_invocation_name and program_invocation_short_name are
40325         present.
40326
40327 2008-02-28  Bruno Haible  <bruno@clisp.org>
40328
40329         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
40330         * tests/test-freadptr.sh: Also test non-seekable stdin.
40331
40332 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
40333
40334         * build-aux/bootstrap (source_base, m4_base)
40335         (doc_base, tests_base): New variables.
40336         (gnulib_tool_options): Do not hardcode base directories, use
40337         the above variables instead.
40338
40339 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
40340
40341         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
40342
40343 2008-02-28  Bruno Haible  <bruno@clisp.org>
40344
40345         * modules/freadptr-tests: New file.
40346         * tests/test-freadptr.sh: New file.
40347         * tests/test-freadptr.c: New file.
40348
40349         New module 'freadptr'.
40350         * modules/freadptr: New file.
40351         * lib/freadptr.h: New file.
40352         * lib/freadptr.c: New file.
40353         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
40354
40355 2008-02-26  Karl Berry  <karl@freefriends.org>
40356
40357         Sync from Libtool:
40358         * libltdl/argz.c (argz_add, argz_count): New functions.
40359         * libltdl/argz.in.h: Declare them.
40360         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
40361
40362 2008-02-22  Bruno Haible  <bruno@clisp.org>
40363
40364         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
40365         is a pointer type.  Needed for HP-UX 10.
40366         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
40367         * doc/posix-functions/gmtime_r.texi: Likewise.
40368         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40369
40370 2008-02-24  Bruno Haible  <bruno@clisp.org>
40371
40372         * modules/environ-tests: New file.
40373         * tests/test-environ.c: New file.
40374
40375         New module 'environ'.
40376         * modules/environ: New file.
40377         * lib/unistd.in.h (environ): New declaration.
40378         * m4/environ.m4: New file.
40379         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
40380         after use.
40381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
40382         HAVE_DECL_ENVIRON.
40383         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
40384         HAVE_DECL_ENVIRON.
40385         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
40386         wrong claim that 'environ' is missing on some systems.
40387         * modules/execute (Depends-on): Add environ.
40388         * lib/execute.c (environ): Remove fallback declaration.
40389         * modules/pipe (Depends-on): Add environ.
40390         * lib/pipe.c (environ): Remove fallback declaration.
40391         * modules/setenv (Depends-on): Add environ.
40392         * lib/setenv.c (environ): Remove fallback declaration.
40393         * modules/unsetenv (Depends-on): Add environ.
40394         * lib/unsetenv.c (environ): Remove fallback declaration.
40395         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
40396         m4/environ.m4.
40397         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
40398         (gl_PREREQ_UNSETENV): Likewise.
40399
40400 2008-02-24  Bruno Haible  <bruno@clisp.org>
40401
40402         * doc/posix-functions/environ.texi: Document the MacOS X problem.
40403
40404 2008-02-20  Bob Proulx  <bob@proulx.com>
40405
40406         Enable use of older two part flavor 'git describe'.
40407         * build-aux/git-version-gen: If using the older two part flavor of
40408         git version then recreate the third part now present in the
40409         newer three part flavor of git describe.
40410
40411 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
40412
40413         * lib/fts.c (fts_build): Typo correction to comment.
40414
40415 2008-02-17  Bruno Haible  <bruno@clisp.org>
40416
40417         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
40418         generating no-op conflicts.
40419
40420 2008-02-17  Bruno Haible  <bruno@clisp.org>
40421
40422         Speed up by 10%.
40423         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
40424         result_entries, rather than an index-based loop.
40425
40426 2008-02-17  Bruno Haible  <bruno@clisp.org>
40427
40428         Speed up by 25%.
40429         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
40430         'hashcode_cached'.
40431         (entry_create): New function.
40432         (entry_hashcode): Use the cached hashcode if possible.
40433         (read_changelog_file, try_split_merged_entry): Use entry_create.
40434
40435 2008-02-17  Bruno Haible  <bruno@clisp.org>
40436
40437         Speed up from O(n^2) to O(n) for long ChangeLog files.
40438         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
40439         (read_changelog_file): Change implementation of entries_reversed list
40440         to rbtreehash.
40441         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
40442
40443 2008-02-17  Bruno Haible  <bruno@clisp.org>
40444
40445         New option --split-merged-entry.
40446         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
40447         (find_paragraph_end, try_split_merged_entry): New functions.
40448         (long_options): Add option --split-merged-entry.
40449         (usage): Document option --split-merged-entry.
40450         (main): Implement option --split-merged-entry.
40451         Reported by Eric Blake.
40452
40453 2008-02-17  Bruno Haible  <bruno@clisp.org>
40454
40455         * lib/git-merge-changelog.c: Include c-strstr.h.
40456         (main): Support the "git pull --rebase" situation.
40457         * modules/git-merge-changelog (Depends-on): Add c-strstr.
40458         Reported by Eric Blake.
40459
40460 2008-02-16  Eric Blake  <ebb9@byu.net>
40461
40462         Avoid doubling \ in common case of "c-maybe" quoting style.
40463         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
40464         eliding outer quotes.
40465         * lib/quotearg.h: Document this.
40466         * tests/test-quotearg.c (result_strings, inputs, results_g)
40467         (flag_results, locale_results): Test it by adding a new string to
40468         each test group.
40469         (compare_strings): Test new string.
40470
40471 2008-02-13  Eric Blake  <ebb9@byu.net>
40472
40473         Avoid trigraph quoting in default output.
40474         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
40475         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
40476         unless explicitly requested.
40477         * tests/test-quotearg.c (flag_results, main): Add additional tests.
40478
40479 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
40480
40481         Don't rely on signed integer overflowing to negative value.
40482         * lib/getugroups.c (getugroups): Include <limits.h>.
40483         Instead, compare against INT_MAX, and increment only if the test passes.
40484
40485 2008-02-13  Jim Meyering  <meyering@redhat.com>
40486         and Eric Blake  <ebb9@byu.net>
40487
40488         Avoid shadowing warning and compile errors on Linux.
40489         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
40490         forwarding macros on Linux.
40491         (dcgettext): Define a stub, for Linux.
40492         (results_g, main): Avoid warnings.
40493
40494 2008-02-12  Eric Blake  <ebb9@byu.net>
40495
40496         Silence warning in last patch.
40497         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
40498
40499         Quotearg part 4: add tests, fix c-maybe colon quoting.
40500         * lib/quotearg.h: Improve documentation.
40501         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
40502         escapes when adding outer quotes.  When quoting trigraphs, use
40503         valid C notation.  When quoting NUL, omit extra characters if next
40504         character is not digit.  Alter prototype.
40505         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
40506         callers.
40507         * modules/quotearg-tests: New module.
40508         * tests/test-quotearg.c: New test.
40509
40510 2008-02-07  Eric Blake  <ebb9@byu.net>
40511
40512         Quotearg part 3: add flag to control outer quote elision.
40513         * lib/quotearg.h (c_maybe_quoting_style): New style.
40514         (enum quoting_flags): Better documentation of flags.
40515         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
40516         c-maybe style.
40517         (quotearg_buffer_restyled): Handle new flag to elide outer
40518         quotes.
40519
40520         Quotearg part 2: add flag that can control NUL elision.
40521         * lib/quotearg.h (set_quoting_flags): New prototype.
40522         * lib/quotearg.c (struct quoting_options): Add flag field.
40523         (set_quoting_flags): New function.
40524         (quotearg_buffer_restyled): Add flags parameter.
40525         (quotearg_alloc_mem): Set the flag if length cannot be returned.
40526         (quotearg_n_options): Set the flag, since length cannot be
40527         returned.
40528         (quoting_options_from_style): Default flags correctly.
40529
40530         Quotearg part 1: more wrappers, restore quotearg_char state.
40531         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
40532         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
40533         (quotearg_colon_mem): New wrappers.
40534         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
40535         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
40536         functions.
40537         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
40538         (quotearg_colon_mem): New functions.
40539
40540 2008-02-11  Bruno Haible  <bruno@clisp.org>
40541
40542         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
40543         library in the current directory: it does not work with parallel make.
40544         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40545
40546 2008-02-11  Bruno Haible  <bruno@clisp.org>
40547
40548         * .gitattributes: New file.
40549
40550 2008-02-11  Jim Meyering  <meyering@redhat.com>
40551
40552         useless-if-before-free: Fix reversed exit values.
40553         * build-aux/useless-if-before-free: Use correct values
40554         for EXIT_MATCH and EXIT_NO_MATCH.
40555
40556         * build-aux/useless-if-before-free: Close stdout carefully.
40557
40558 2008-02-10  Bruno Haible  <bruno@clisp.org>
40559
40560         New module 'git-merge-changelog'.
40561         * modules/git-merge-changelog: New file.
40562         * lib/git-merge-changelog.c: New file.
40563
40564 2008-02-10  Jim Meyering  <meyering@redhat.com>
40565
40566         useless-if-before-free: New option: --list (-l).
40567
40568         useless-if-before-free: Don't exit immediately upon open failure.
40569         * build-aux/useless-if-before-free: Exit 2 for errors.
40570         Upon failure to open a file, don't exit immediately.
40571         Rather, just warn and continue with any remaining files.
40572
40573 2008-02-10  Bruno Haible  <bruno@clisp.org>
40574
40575         New abstract list operation 'node_set_value'.
40576         * lib/gl_list.h (gl_list_node_set_value): New function.
40577         (struct gl_list_implementation): New field node_set_value.
40578         * lib/gl_list.c (gl_list_node_set_value): New function.
40579         * lib/gl_array_list.c (gl_array_node_set_value): New function.
40580         (gl_array_list_implementation): Update.
40581         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
40582         (gl_carray_list_implementation): Update.
40583         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
40584         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40585         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40586         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
40587         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40588         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40589         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40590         Update.
40591         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40592         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
40593         (gl_sublist_list_implementation): Update.
40594
40595 2008-02-10  Bruno Haible  <bruno@clisp.org>
40596
40597         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
40598         Needed when ELEMENT is #defined to 'some_type *'.
40599
40600 2008-02-10  Jim Meyering  <meyering@redhat.com>
40601
40602         New script and module: useless-if-before-free
40603         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
40604         * build-aux/useless-if-before-free: New file.
40605         * modules/useless-if-before-free: New file.
40606
40607         * build-aux/gitlog-to-changelog: Use committer date, not author date.
40608
40609         xstrtol_error: Fix typo.
40610         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
40611         s/exit_failure/exit_status/.
40612
40613 2008-02-09  Jim Meyering  <meyering@redhat.com>
40614
40615         New script and module: gitlog-to-changelog
40616         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
40617         * modules/gitlog-to-changelog: New file.
40618         * build-aux/gitlog-to-changelog: New file.
40619
40620 2008-02-08  Jim Meyering  <meyering@redhat.com>
40621
40622         Avoid two "parameter unused" warnings.
40623         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
40624         Mark "st" as used.
40625
40626         Use "git COMMAND", not "git-COMMAND".
40627         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
40628         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
40629         * build-aux/git-version-gen: Use "git status", not "git-status".
40630
40631 2008-02-07  Bruno Haible  <bruno@clisp.org>
40632
40633         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
40634         Avoids a crash on Windows Vista.
40635         Reported by Adam Strzelecki <ono@java.pl> via
40636         Simon Josefsson <simon@josefsson.org>.
40637
40638 2008-02-06  Bruno Haible  <bruno@clisp.org>
40639
40640         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
40641         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
40642         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
40643         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
40644         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40645         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40646         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
40647         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
40648         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40649         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40650         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40651         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40652         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40653         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40654         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40655         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
40656         left-adjust flag.
40657         * tests/test-snprintf-posix.h (test_function): Likewise.
40658         * tests/test-sprintf-posix.h (test_function): Likewise.
40659         * tests/test-vasprintf-posix.c (test_function): Likewise.
40660         * doc/posix-functions/fprintf.texi: Update.
40661         * doc/posix-functions/printf.texi: Update.
40662         * doc/posix-functions/snprintf.texi: Update.
40663         * doc/posix-functions/sprintf.texi: Update.
40664         * doc/posix-functions/vfprintf.texi: Update.
40665         * doc/posix-functions/vprintf.texi: Update.
40666         * doc/posix-functions/vsnprintf.texi: Update.
40667         * doc/posix-functions/vsprintf.texi: Update.
40668         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40669
40670 2008-02-06  Bruno Haible  <bruno@clisp.org>
40671
40672         Fix bug introduced on 2008-01-26.
40673         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
40674
40675 2008-02-06  Bruno Haible  <bruno@clisp.org>
40676
40677         Fix bug introduced on 2007-06-10.
40678         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
40679         !NEED_PRINTF_FLAG_ZERO.
40680
40681 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
40682
40683         getloadavg: use libperfstat on AIX5
40684         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
40685
40686 2008-02-03  Bruno Haible  <bruno@clisp.org>
40687
40688         * lib/diffseq.h: Add comments about required #includes.
40689         Reported by Michael Biggs <gnulib@doubleplum.net>.
40690
40691 2008-02-01  Bruno Haible  <bruno@clisp.org>
40692
40693         * users.txt: Add gnuit.
40694
40695 2008-01-31  Bruno Haible  <bruno@clisp.org>
40696
40697         * lib/md4.c (set_uint32): Mark as inline.
40698         * lib/md5.c (set_uint32): Likewise.
40699         * lib/sha1.c (set_uint32): Likewise.
40700         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
40701         * m4/md5.m4 (gl_MD5): Likewise.
40702         * m4/sha1.m4 (gl_SHA1): Likewise.
40703
40704 2008-01-31  Jim Meyering  <meyering@redhat.com>
40705
40706         Use "sizeof VAR", rather than a literal "4".
40707         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
40708         * lib/md4.c (md4_read_ctx): Likewise.
40709         * lib/sha1.c (sha1_read_ctx): Likewise.
40710
40711 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40712
40713         * tests/test-sha1.c: New file, based on test-md5.c.
40714
40715         * modules/crypto/sha1-tests: New file.
40716
40717 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40718
40719         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
40720
40721 2008-01-31  Jim Meyering  <meyering@redhat.com>
40722
40723         Prefer "sizeof v" over the equivalent "4".
40724         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
40725         * lib/md5.c (set_uint32): Likewise.
40726         * lib/sha1.c (set_uint32): Likewise.
40727
40728 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40729
40730         * lib/sha1.c (set_uint32): Mark function as static.
40731
40732 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40733
40734         md2: clarify comments to say that alignment is not required.
40735         * lib/md2.h: Remove warning about alignment in comment.
40736         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
40737         never been required.
40738
40739 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40740
40741         md4: adapt alignment constraint fix from sha1.
40742         * lib/md4.c (set_uint32): New function, from sha1.c
40743         (md4_read_ctx): Use it.
40744         (md4_finish_ctx): Doc fix.
40745         * lib/md4.h: Doc fix.
40746
40747 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40748
40749         md5: adapt alignment constraint fix from sha1.
40750         * lib/md5.c (set_uint32): New function, from sha1.c
40751         (md5_read_ctx): Use it.
40752         (md5_finish_ctx): Doc fix.
40753         * lib/md5.h: Doc fix.
40754
40755 2008-01-30  Peter Palfrader  <weasel@debian.org>
40756
40757         sha1: remove the result buffer alignment constraint
40758         * lib/sha1.c (set_uint32): New function.
40759         (sha1_read_ctx): Rewrite to remove the result buffer alignment
40760         constraint.
40761         (sha1_finish_ctx): Remove comment warning about alignment constraint.
40762         * lib/sha1.h: Likewise.
40763
40764 2008-01-30  Andreas Schwab  <schwab@suse.de>
40765             Bruno Haible  <bruno@clisp.org>
40766
40767         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
40768         correct definition of LDBL_MIN_EXP.
40769
40770 2008-01-30  Karl Berry  <karl@gnu.org>
40771
40772         * config/srclist-update: try to preserve x bit on updates.
40773         * config/srclistvars.sh: update for karl.
40774
40775 2008-01-29  Jim Meyering  <meyering@redhat.com>
40776
40777         vasnprintf.c: Avoid warning about unused label
40778         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
40779         "overflow" label definition and associated code with the
40780         same cpp condition that guards the sole use of that label.
40781
40782 2008-01-26  Bruno Haible  <bruno@clisp.org>
40783
40784         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
40785         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
40786         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
40787         * lib/isnanl-nolibm.h (isnanl): Likewise.
40788         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40789
40790 2008-01-26  Bruno Haible  <bruno@clisp.org>
40791
40792         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
40793         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
40794
40795 2008-01-26  Bruno Haible  <bruno@clisp.org>
40796
40797         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40798         GCC >= 4.0 built-in.
40799         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40800
40801 2008-01-26  Bruno Haible  <bruno@clisp.org>
40802
40803         Rename isnan, applicable to 'double' only, to isnand.
40804         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40805         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40806         (configure.ac): Update.
40807         (Include): Replace "isnan.h" with "isnand.h".
40808         * m4/isnand.m4: Renamed from m4/isnan.m4.
40809         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40810         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40811         instead of isnan.c.
40812         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40813         instead of HAVE_ISNAN_IN_LIBC.
40814         (isnand): Renamed from isnan.
40815         * lib/isnand.c: New file.
40816         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40817         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40818         (Makefile.am): Update.
40819         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40820         Include isnand.h instead of isnan.h.
40821         (main): Test isnand instead of isnan.
40822         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40823         isnan-nolibm.
40824         * modules/frexp (Depends-on): Likewise.
40825         * modules/frexp-tests (Depends-on): Likewise.
40826         * modules/frexp-nolibm (Depends-on): Likewise.
40827         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40828         * modules/isfinite (Depends-on): Likewise.
40829         * modules/round-tests (Depends-on): Likewise.
40830         * modules/signbit (Depends-on): Likewise.
40831         * modules/signbit-tests (Depends-on): Likewise.
40832         * modules/snprintf-posix (Depends-on): Likewise.
40833         * modules/sprintf-posix (Depends-on): Likewise.
40834         * modules/trunc-tests (Depends-on): Likewise.
40835         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40836         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40837         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40838         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40839         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40840         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40841         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40842         * modules/vasnprintf-posix (Depends-on): Likewise.
40843         * modules/vasprintf-posix (Depends-on): Likewise.
40844         * modules/vfprintf-posix (Depends-on): Likewise.
40845         * modules/vsnprintf-posix (Depends-on): Likewise.
40846         * modules/vsprintf-posix (Depends-on): Likewise.
40847         * lib/frexp.c: Include isnand.h instead of isnan.h.
40848         (ISNAN): Set to isnand instead of isnan.
40849         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40850         (gl_isfinited): Use isnand instead of isnan.
40851         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40852         (gl_signbitd): Use isnand instead of isnan.
40853         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40854         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40855         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40856         (main): Use isnand instead of isnan.
40857         * tests/test-round1.c: Include isnand.h.
40858         (main): Use isnand instead of isnan.
40859         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40860         (ISNAN): Set to isnand instead of isnan.
40861         * tests/test-trunc1.c: Include isnand.h.
40862         (main): Use isnand instead of isnan.
40863         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40864         (equal): Use isnand instead of isnan.
40865         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40866         isnand-nolibm.
40867         * NEWS: Mention the change.
40868
40869 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40870             Bruno Haible  <bruno@clisp.org>
40871
40872         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40873         the GCC builtins for signbits are present and set
40874         REPLACE_SIGNBIT_USING_GCC if so.
40875         * lib/math.in.h (signbit): Define using GCC builtins if
40876         REPLACE_SIGNBIT_USING_GCC is set.
40877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40878         REPLACE_SIGNBIT_USING_GCC.
40879         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40880
40881 2008-01-25  Jim Meyering  <meyering@redhat.com>
40882
40883         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40884         * lib/poll.c: Include <config.h>, not "config.h".
40885         * tests/test-getaddrinfo.c: Likewise.
40886
40887 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40888
40889         * modules/sockets-tests: New file.
40890
40891 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40892
40893         * modules/sockets: New module, can be used to call WSA_Startup and
40894         WSA_Cleanup when needed.
40895
40896         * lib/sockets.h, lib/sockets.c: New files.
40897
40898         * m4/sockets.m4: New file.
40899
40900         * tests/test-sockets.c: New file.
40901
40902 2008-01-19  Bruno Haible  <bruno@clisp.org>
40903
40904         * doc/posix-headers: Renamed from doc/headers.
40905         * doc/posix-functions: Renamed from doc/functions.
40906         * doc/gnulib.texi: Update.
40907
40908 2008-01-19  Bruno Haible  <bruno@clisp.org>
40909
40910         * doc/glibc-functions/strcasestr.texi: Include contents of
40911         doc/functions/strcasestr.texi, fixing the list of platforms.
40912         * doc/functions/strcasestr.texi: Remove file.
40913
40914 2008-01-19  Bruno Haible  <bruno@clisp.org>
40915
40916         * doc/glibc-functions/memmem.texi: Include contents of
40917         doc/functions/memmem.texi.
40918         * doc/functions/memmem.texi: Remove file.
40919
40920 2008-01-18  Bruno Haible  <bruno@clisp.org>
40921
40922         * doc/glibc-functions/*.texi: New files.
40923         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40924         to use the new files.
40925
40926 2008-01-17  Bruno Haible  <bruno@clisp.org>
40927
40928         * tests/test-gethostname.c (main): Fix printf statement.
40929
40930 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40931
40932         * modules/gethostname-tests: New file.
40933
40934         * tests/test-gethostname.c: New file.
40935
40936 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40937
40938         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40939         used by the UNAME case.  Reported by Bruno Haible
40940         <bruno@clisp.org>.
40941
40942 2008-01-17  Eric Blake  <ebb9@byu.net>
40943
40944         Convert c-strcasestr to be more efficient.
40945         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40946         (Depends-on): Add c-strcase, remove malloca, strnlen.
40947         * tests/test-c-strcasestr.c (main): Enhance test.
40948         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40949
40950 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40951
40952         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40953         Use it in creating po/Makevars.
40954
40955 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40956
40957         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40958         Applications that requires it should initialize libgcrypt
40959         manually.
40960
40961 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40962
40963         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40964
40965 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40966
40967         Fix problem with getdate on mingw32 reported by Simon Josefsson
40968         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40969         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40970         tzname", when deciding whether to declare tzname.
40971         * lib/strftime.c (tzname): Likewise.
40972
40973 2008-01-15  Bruno Haible  <bruno@clisp.org>
40974
40975         Work around a MacOS X 10.5 bug in frexpl().
40976         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40977         * doc/functions/frexpl.texi: Document the bug.
40978         Reported by Elias Pipping <pipping@gentoo.org>.
40979
40980 2008-01-14  Eric Blake  <ebb9@byu.net>
40981
40982         Touch up previous patch.
40983         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40984         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40985
40986         Convert strcasestr module to use Two-Way algorithm.
40987         * modules/strcasestr-simple: New module, based on the old
40988         strcasestr, but with Two-Way rather than KMP.
40989         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40990         * lib/string.in.h (rpl_strcasestr): Declare.
40991         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40992         performance.
40993         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40994         * modules/string (Makefile.am): Support strcasestr.
40995         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40996         * modules/strcasestr-tests (Depends-on): Check for alarm.
40997         * tests/test-strcasestr.c: Augment test.
40998         * lib/str-two-way.h: Clean up stray macro.
40999         * NEWS: Document new module.
41000         * MODULES.html.sh (string handling): Likewise.
41001         * doc/functions/strcasestr.texi: New file.
41002         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
41003         here, since it is not a POSIX function.
41004
41005 2008-01-14  Colin Watson  <cjwatson@debian.org>
41006             Bruno Haible  <bruno@clisp.org>
41007
41008         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
41009         works fine; if not, set REPLACE_STRSIGNAL.
41010         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
41011         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41012         REPLACE_STRSIGNAL.
41013         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
41014         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
41015         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
41016
41017 2008-01-14  Bruno Haible  <bruno@clisp.org>
41018
41019         * modules/strsignal (Include): Change to <string.h>.
41020
41021 2008-01-14  Colin Watson  <cjwatson@debian.org>
41022
41023         * modules/argp (Notice): Add a notice recommending to change
41024         XGETTEXT_OPTIONS.
41025         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
41026
41027 2008-01-13  Colin Watson  <cjwatson@debian.org>
41028
41029         * modules/strsignal-tests: New file.
41030         * tests/test-strsignal.c: New file.
41031
41032         * lib/strsignal.c: New file, from glibc with modifications.
41033         * lib/siglist.h: New file, from glibc with modifications.
41034         * lib/string.in.h (strsignal): New declaration.
41035         * m4/strsignal.m4: New file.
41036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41037         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
41038         * modules/strsignal: New file.
41039         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
41040         HAVE_DECL_STRSIGNAL.
41041
41042 2008-01-13  Bruno Haible  <bruno@clisp.org>
41043
41044         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
41045         locale encoding is not ASCII. Needed for OpenBSD 4.0.
41046         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41047         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41048
41049 2008-01-13  Bruno Haible  <bruno@clisp.org>
41050
41051         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
41052         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
41053         * lib/argp.h (__attribute__): Likewise.
41054         * lib/c-stack.c (__attribute__): Likewise.
41055         * lib/error.h (__attribute__): Likewise.
41056         * lib/fts.c (__attribute__): Likewise.
41057         * lib/openat.h (__attribute__): Likewise.
41058         * lib/stdio.in.h (__attribute__): Likewise.
41059         * lib/string.in.h (__attribute__): Likewise.
41060         * lib/utimens.c (__attribute__): Likewise.
41061         * lib/vasnprintf.h (__attribute__): Likewise.
41062         * lib/xalloc.h (__attribute__): Likewise.
41063         * lib/xprintf.h (__attribute__): Likewise.
41064         * lib/xstrtol.h (__attribute__): Likewise.
41065         * lib/xvasprintf.h (__attribute__): Likewise.
41066
41067 2008-01-12  Bruno Haible  <bruno@clisp.org>
41068
41069         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
41070         * doc/glibc-headers/a.out.texi: New file.
41071         * doc/glibc-headers/aliases.texi: New file.
41072         * doc/glibc-headers/alloca.texi: New file.
41073         * doc/glibc-headers/ar.texi: New file.
41074         * doc/glibc-headers/argp.texi: New file.
41075         * doc/glibc-headers/argz.texi: New file.
41076         * doc/glibc-headers/byteswap.texi: New file.
41077         * doc/glibc-headers/crypt.texi: New file.
41078         * doc/glibc-headers/endian.texi: New file.
41079         * doc/glibc-headers/envz.texi: New file.
41080         * doc/glibc-headers/err.texi: New file.
41081         * doc/glibc-headers/error.texi: New file.
41082         * doc/glibc-headers/execinfo.texi: New file.
41083         * doc/glibc-headers/fpu_control.texi: New file.
41084         * doc/glibc-headers/fstab.texi: New file.
41085         * doc/glibc-headers/fts.texi: New file.
41086         * doc/glibc-headers/getopt.texi: New file.
41087         * doc/glibc-headers/ieee754.texi: New file.
41088         * doc/glibc-headers/ifaddrs.texi: New file.
41089         * doc/glibc-headers/libintl.texi: New file.
41090         * doc/glibc-headers/mcheck.texi: New file.
41091         * doc/glibc-headers/mntent.texi: New file.
41092         * doc/glibc-headers/obstack.texi: New file.
41093         * doc/glibc-headers/paths.texi: New file.
41094         * doc/glibc-headers/printf.texi: New file.
41095         * doc/glibc-headers/pty.texi: New file.
41096         * doc/glibc-headers/resolv.texi: New file.
41097         * doc/glibc-headers/shadow.texi: New file.
41098         * doc/glibc-headers/sysexits.texi: New file.
41099         * doc/glibc-headers/ttyent.texi: New file.
41100
41101 2008-01-12  Jim Meyering  <meyering@redhat.com>
41102
41103         announce-gen: emit Gnulib's git-based version string.
41104         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
41105         New option --gnulib-version=V, where V is expected to be
41106         the output of running git describe in the gnulib directory.
41107         (get_tool_versions): Request feedback on xdelta.  I suspect it's
41108         not useful, and plan to stop publishing an xdelta file with each
41109         coreutils release.
41110
41111         * build-aux/announce-gen: Also check for lzma-compressed files.
41112
41113 2008-01-11  Bruno Haible  <bruno@clisp.org>
41114
41115         * tests/test-memmem.c (main): Increase maximum allowed time.
41116         * tests/test-strstr.c (main): Likewise.
41117
41118 2008-01-11  Bruno Haible  <bruno@clisp.org>
41119
41120         * doc/functions/memmem.texi: Add more precisions about platforms.
41121         * doc/functions/strstr.texi: Likewise.
41122
41123 2008-01-10  Eric Blake  <ebb9@byu.net>
41124
41125         * m4/strstr.m4: Delete cruft from copy-n-paste.
41126         Reported by Bruno Haible.
41127
41128 2008-01-10  Bruno Haible  <bruno@clisp.org>
41129
41130         Make c-strstr rely on strstr.
41131         * lib/c-strstr.c: Don't include str-kmp.h.
41132         (c_strstr): Define in terms of strstr.
41133         * modules/c-strstr (Files): Remove lib/str-kmp.h.
41134         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
41135
41136 2008-01-10  Bruno Haible  <bruno@clisp.org>
41137
41138         * doc/gnulib.texi (String Functions in C Locale): New section.
41139         * doc/c-ctype.texi: New file.
41140         * doc/c-strcase.texi: New file.
41141         * doc/c-strcaseeq.texi: New file.
41142         * doc/c-strcasestr.texi: New file.
41143         * doc/c-strstr.texi: New file.
41144         * doc/c-strtod.texi: New file.
41145         * doc/c-strtold.texi: New file.
41146
41147 2008-01-10  Eric Blake  <ebb9@byu.net>
41148
41149         * lib/relocatable.h: Fix a comment.
41150
41151 2008-01-10  Eric Blake  <ebb9@byu.net>
41152
41153         Share two-way algorithm.
41154         * lib/str-two-way.h: New file, merged from...
41155         * lib/memmem.c: ...here...
41156         * lib/strstr.c: ...and here.
41157         * modules/memmem (Files): Use it.
41158         * modules/strstr (Files): Likewise.
41159
41160         Avoid quadratic strstr implementations.
41161         * lib/strstr.c: New file.
41162         * m4/strstr.m4: Likewise.
41163         * modules/strstr: Likewise.
41164         * modules/strstr-tests: Likewise.
41165         * tests/test-strstr.c: Likewise.
41166         * lib/string.in.h (rpl_strstr): Declare.
41167         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
41168         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
41169         * modules/string (Makefile.am): Likewise.
41170         * MODULES.html.sh (string handling): Mention new module.
41171         * doc/functions/strstr.texi (strstr): Document the bug.
41172
41173 2008-01-10  Bruno Haible  <bruno@clisp.org>
41174
41175         * lib/relocatable.h (relocate): State whether result is freshly
41176         allocated or not.
41177         * lib/relocatable.c (relocate): Return a freshly allocated string
41178         instead of a pointer to a privately held string.
41179         Reported by Sylvain Beucler <beuc@gnu.org>.
41180
41181 2008-01-10  Colin Watson  <cjwatson@debian.org>
41182
41183         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
41184         s/S_ISNLK/S_ISLNK/.
41185
41186 2008-01-09  Bruno Haible  <bruno@clisp.org>
41187
41188         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
41189         and other files.
41190         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
41191         if it's only a guess.
41192         * modules/memmem: Simplify by depending on memmem-simple.
41193
41194 2008-01-09  Bruno Haible  <bruno@clisp.org>
41195
41196         Work around OpenBSD 4.0 tdelete() bug.
41197         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
41198         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
41199         macros and don't redefine the enum values.
41200         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
41201         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
41202         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
41203
41204 2008-01-09  Bruno Haible  <bruno@clisp.org>
41205
41206         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
41207         (main): Don't perform the tests if setlocale did not install a UTF-8
41208         locale. Needed on OpenBSD 4.0.
41209         * modules/wcwidth-tests (Depends-on): Add localcharset.
41210
41211 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
41212
41213         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
41214         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
41215         * NEWS: announce this.
41216         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
41217
41218 2008-01-09  Simon Josefsson  <simon@josefsson.org>
41219         and Eric Blake  <ebb9@byu.net>
41220
41221         Add memmem-simple module.
41222         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
41223         (gl_FUNC_MEMMEM): Separate performance from presence checks.
41224         * modules/memmem-simple: New file.
41225         * modules/memmem (Description): Tweak.
41226         * MODULES.html.sh (string handling): Mention new module.
41227         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
41228         addressed by memmem-simple.
41229         * NEWS: Document the difference.
41230
41231 2008-01-09  Eric Blake  <ebb9@byu.net>
41232
41233         Give gcc some memmem optimization hints.
41234         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
41235         (strcasestr): Declare as pure.
41236         * modules/memmem (Maintainer): Claim my implementation.
41237
41238 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41239
41240         Support AIX 6.1 and higher.
41241         * build-aux/config.libpath: Likewise.
41242         * build-aux/config.rpath: Likewise.
41243
41244 2008-01-08  Jim Meyering  <meyering@redhat.com>
41245             Bruno Haible  <bruno@clisp.org>
41246
41247         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
41248         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
41249         Reported by Peter Fales in
41250         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
41251
41252 2008-01-08  Bruno Haible  <bruno@clisp.org>
41253
41254         * modules/unictype/category-of (Depends-on): Add
41255         unictype/category-none.
41256         * modules/unictype/category-and-tests (Depends-on): Add
41257         unictype/category-{L,N,Lu,Nd}.
41258         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
41259         * modules/unictype/category-or-tests (Depends-on): Add
41260         unictype/category-{L,N}.
41261         * modules/unictype/category-name-tests (Depends-on): Add
41262         unictype/category-{Z,Nl}.
41263         Reported by Simon Josefsson.
41264
41265 2008-01-08  Bruno Haible  <bruno@clisp.org>
41266
41267         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
41268         convention better.
41269         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
41270         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
41271         Reported by Peter Miller <millerp@canb.auug.org.au>.
41272
41273 2008-01-08  Eric Blake  <ebb9@byu.net>
41274
41275         Rewrite memmem to guarantee linear complexity without malloc.
41276         * lib/memmem.c (memmem): Use Two-Way rather than
41277         Knuth-Morris-Pratt, to allow O(1) space usage.
41278         (critical_factorization, two_way_short_needle)
41279         (two_way_long_needle): New functions.
41280         (knuth_morris_pratt): Delete.
41281         * modules/memmem (Depends-on): No longer need malloca or stdbool.
41282         Add stdint.
41283         * tests/test-memmem.c (main): Add tests for periodic needle and
41284         sublinear performance.
41285         * doc/functions/memmem.texi (memmem): Document other deficiencies
41286         in cygwin and older glibc.
41287
41288 2008-01-08  Bruno Haible  <bruno@clisp.org>
41289
41290         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
41291         augmentation.
41292
41293 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
41294
41295         Add a configure time option: --disable-acl.
41296         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
41297         AC_ARG_ENABLE(acl).
41298
41299 2008-01-06  Simon Josefsson  <simon@josefsson.org>
41300
41301         * tests/test-localename.c: Don't include obsolete "setenv.h".
41302
41303         * modules/localename-tests (Depends-on): Need unsetenv.
41304
41305 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41306
41307         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
41308
41309 2008-01-06  Colin Watson  <cjwatson@debian.org>
41310
41311         * users.txt: Add man-db.
41312
41313 2008-01-07  Bruno Haible  <bruno@clisp.org>
41314
41315         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
41316         previous section name.
41317
41318 2008-01-07  Bruno Haible  <bruno@clisp.org>
41319
41320         * lib/progname.c (set_program_name): Don't strip off a leading
41321         "lt-" prefix outside a .libs directory.
41322         Suggested by Paul Eggert.
41323
41324 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
41325             Bruno Haible  <bruno@clisp.org>
41326
41327         Improve memory cleanup in 'relocatable' module.
41328         * lib/relocatable.h (compute_curr_prefix): Change return type to
41329         'char *'.
41330         * lib/relocatable.c (compute_curr_prefix): Change return type to
41331         'char *'. Free curr_installdir after use.
41332         (relocate): Free curr_prefix_better after use.
41333         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
41334
41335 2008-01-01  Bruno Haible  <bruno@clisp.org>
41336
41337         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
41338         failure on older glibc systems.
41339         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41340
41341 2008-01-05  Eric Blake  <ebb9@byu.net>
41342
41343         Avoid quadratic system memmem.
41344         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
41345         Reported by Ralf Wildenhues.
41346
41347         Fix memmem test for mingw.
41348         * modules/memmem-tests (configure.ac): Check for alarm.
41349         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
41350         it.
41351         * doc/functions/memmem.texi: New file.
41352         * doc/gnulib.texi (Function Substitutes): Add memmem.
41353         Reported by Bruno Haible.
41354
41355 2008-01-04  Bruno Haible  <bruno@clisp.org>
41356
41357         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
41358         Require gl_HEADER_STRINGS_H_DEFAULTS, not
41359         gl_HEADER_STRING_H_DEFAULTS.
41360
41361 2008-01-04  Eric Blake  <ebb9@byu.net>
41362
41363         Shorten duration of memmem test.
41364         * tests/test-memmem.c (main): Use alarm to declare failure if test
41365         is taking too long.
41366         Reported by Ralf Wildenhues.
41367
41368 2007-12-21  Simon Josefsson  <simon@josefsson.org>
41369
41370         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
41371         string, needed by strerror.
41372
41373 2008-01-03  Colin Watson  <cjwatson@debian.org>
41374             Bruno Haible  <bruno@clisp.org>
41375
41376         * doc/gnulib-tool.texi (Localization): New section.
41377
41378 2008-01-02  Bruno Haible  <bruno@clisp.org>
41379
41380         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
41381         variables to 'unsigned char *' type.
41382         Reported by Paul Eggert.
41383
41384 2008-01-02  Jim Meyering  <jim@meyering.net>
41385
41386         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
41387
41388 2007-12-31  Jim Meyering  <jim@meyering.net>
41389
41390         Avoid use of private FTS type name.
41391         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
41392
41393 2007-12-30  Karl Berry  <karl@gnu.org>
41394
41395         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
41396         work around defect in Texinfo and/or the standalone Info browser.
41397
41398 2007-12-30  Bruno Haible  <bruno@clisp.org>
41399
41400         Unify 5 copies of the KMP code.
41401         * lib/str-kmp.h: New file.
41402         * lib/c-strcasestr.c: Include str-kmp.h.
41403         (knuth_morris_pratt): Remove function.
41404         (c_strcasestr): Update.
41405         * lib/c-strstr.c: Include str-kmp.h.
41406         (knuth_morris_pratt): Remove function.
41407         (c_strcasestr): Update.
41408         * lib/mbscasestr.c: Include str-kmp.h.
41409         (knuth_morris_pratt_unibyte): Remove function.
41410         * lib/mbsstr.c: Include str-kmp.h.
41411         (knuth_morris_pratt_unibyte): Remove function.
41412         * lib/strcasestr.c: Include str-kmp.h.
41413         (knuth_morris_pratt): Remove function.
41414         (strcasestr): Update.
41415         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
41416         * modules/c-strstr (Files): Likewise.
41417         * modules/mbscasestr (Files): Likewise.
41418         * modules/mbsstr (Files): Likewise.
41419         * modules/strcasestr (Files): Likewise.
41420         Suggested by Paul Eggert.
41421
41422 2007-12-30  Bruno Haible  <bruno@clisp.org>
41423
41424         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
41425         defined.
41426
41427 2007-12-30  Bruno Haible  <bruno@clisp.org>
41428
41429         * lib/xmalloca.h: Include xalloc.h.
41430         (xnmalloca): New macro.
41431
41432 2007-12-30  Bruno Haible  <bruno@clisp.org>
41433
41434         * lib/malloca.h (nmalloca): New macro.
41435         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
41436         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
41437         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
41438         knuth_morris_pratt_multibyte): Likewise.
41439         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
41440         knuth_morris_pratt_multibyte): Likewise.
41441         * lib/memmem.c (knuth_morris_pratt): Likewise.
41442         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
41443
41444 2007-12-25  Bruno Haible  <bruno@clisp.org>
41445
41446         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
41447         * lib/glob.c: Don't include openat.h.
41448         (link_exists2_p): Add back the code that deals with the
41449         !GLOB_ALTDIRFUNC case.
41450         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
41451         let it do the filename concatenation.
41452         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
41453         * modules/glob (Depends-on): Remove openat.
41454
41455 2007-12-31  Bruno Haible  <bruno@clisp.org>
41456
41457         * modules/dirfd (License): Change to LGPLv2+.
41458         Approved by Jim Meyering.
41459
41460 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41461
41462         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
41463         when multiplying M by sizeof (size_t).
41464
41465 2007-12-10  Martin Lambers  <marlam@marlam.de>
41466
41467         Override getpagesize on mingw.
41468         * lib/getpagesize.c: New file.
41469         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
41470         * modules/getpagesize (Files): Add lib/getpagesize.c.
41471         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
41472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41473         REPLACE_GETPAGESIZE.
41474         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
41475
41476 2007-12-25  Bruno Haible  <bruno@clisp.org>
41477
41478         * modules/localcharset (Notice): New field.
41479         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
41480         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
41481
41482 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41483             Bruno Haible  <bruno@clisp.org>
41484
41485         Avoid using the syntax symbol() in formatted documentation.
41486         * MODULES.html.sh (func_module): When replacing symbol() with a
41487         hyperlink, remove the parentheses. Show an error if some remain.
41488         Recognize and render the '...' syntax.
41489         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
41490         Rework. Add paragraph about GCC's inlining.
41491         * doc/alloca.texi: Likewise.
41492         * doc/error.texi: Remove parentheses from symbol reference.
41493         * doc/gnulib-intro.texi: Likewise.
41494         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
41495         * modules/fnmatch (Description): Reword to say "the ... function".
41496         * modules/full-read (Description): Likewise.
41497         * modules/full-write (Description): Likewise.
41498         * modules/safe-read (Description): Likewise.
41499         * modules/safe-write (Description): Likewise.
41500         * modules/strchrnul (Description): Likewise.
41501         * modules/trim (Description): Likewise.
41502         * modules/error (Description): Remove parentheses from symbol
41503         references.
41504         * modules/verror (Description): Likewise.
41505         Reported by Karl Berry.
41506
41507 2007-12-25  Bruno Haible  <bruno@clisp.org>
41508
41509         Fixup after 2007-10-16 commit.
41510         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
41511
41512 2007-12-24  Bruno Haible  <bruno@clisp.org>
41513
41514         Make --enable-relocatable work with DESTDIR.
41515         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
41516         to compute installdir from destprog.
41517         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
41518         also set the RELOC_DESTDIR variable.
41519         Reported by Левашев Иван <octagram@bluebottle.com>.
41520
41521 2007-12-24  Bruno Haible  <bruno@clisp.org>
41522
41523         Fix link error due to xalloc_die().
41524         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
41525         of xreadlink.
41526         * lib/relocwrapper.c: Update comments.
41527         * build-aux/install-reloc: Remove xreadlink.c from file list.
41528         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
41529         xreadlink.c.
41530         Reported by Левашев Иван <octagram@bluebottle.com>.
41531
41532 2007-12-24  Bruno Haible  <bruno@clisp.org>
41533
41534         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
41535         * lib/setenv.h: Remove file.
41536         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
41537         lib/setenv.h.
41538         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
41539         (Depends-on): Add stdlib.
41540         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
41541         gl_FUNC_UNSETENV.
41542         (Include): Replace setenv.h with <stdlib.h>.
41543         * modules/unsetenv: New file.
41544         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
41545         * lib/unsetenv.c: Include <stdlib.h> first.
41546         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
41547         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
41548         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
41549         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
41550         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
41551         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
41553         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41554         * doc/functions/unsetenv.texi: Update.
41555         * modules/xsetenv (Depends-on): Add unsetenv.
41556         * modules/getdate (Depends-on): Likewise.
41557         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
41558         * lib/xsetenv.c: Don't include setenv.h.
41559         * lib/getdate.y: Likewise.
41560         * lib/relocwrapper.c: Likewise.
41561         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
41562         (Depends-on): Add stdlib.
41563         * NEWS: Mention the changes.
41564         Reported by Левашев Иван <octagram@bluebottle.com>.
41565
41566 2007-12-23  Bruno Haible  <bruno@clisp.org>
41567
41568         * lib/memmem.c (memmem): Use lowercase variable names. Tab
41569         indentation.
41570
41571 2007-12-23  Bruno Haible  <bruno@clisp.org>
41572
41573         * lib/c-strcasestr.c: Add more comments.
41574         * lib/c-strstr.c: Likewise.
41575         * lib/mbscasestr.c: Likewise.
41576         * lib/mbsstr.c: Likewise.
41577         * lib/strcasestr.c: Likewise.
41578         * lib/memmem.c: Likewise.
41579
41580 2007-12-23  Bruno Haible  <bruno@clisp.org>
41581
41582         * tests/test-memmem.c: Include <string.h> first.
41583
41584 2007-12-22  Bruno Haible  <bruno@clisp.org>
41585
41586         * gnulib-tool (func_create_testdir): Change $auxdir while generating
41587         the contents of $testsbase.
41588         Reported by Ralf Wildenhues.
41589
41590 2007-12-22  Bruno Haible  <bruno@clisp.org>
41591
41592         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
41593         two variables local_ldadd_before, local_ldadd_last.
41594
41595 2007-12-20  Eric Blake  <ebb9@byu.net>
41596
41597         Work around circular library issue when cross-compiling.
41598         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
41599         that progname.o does not need to pull in rpl_memcmp.
41600
41601 2007-12-19  Eric Blake  <ebb9@byu.net>
41602
41603         Fix memmem to avoid O(n^2) worst-case complexity.
41604         * lib/memmem.c (knuth_morris_pratt): New function.
41605         (memmem): Use it if first few naive iterations fail.
41606         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
41607         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
41608         * modules/memchr (License): Likewise.
41609         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
41610         malloca.
41611         * tests/test-memmem.c: Rewrite, borrowing ideas from
41612         test-mbsstr1.c; the old version wouldn't even compile!
41613         * modules/memmem-tests: New file.
41614         * lib/string.in.h (rpl_memmem): Add declaration.
41615         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
41616         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
41617         REPLACE_MEMMEM.
41618
41619 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41620
41621         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
41622         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
41623         before any system include files, and undef after them all.  This
41624         should fix a problem on VMS reported by John E. Malmberg in
41625         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
41626
41627 2007-12-17  Eric Blake  <ebb9@byu.net>
41628
41629         Revert addition of verify, for BSD/OS.
41630         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
41631         can't handle large files, for the sake of obsolete platforms.
41632         * modules/fseeko (Depends-on): Remove verify.
41633         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
41634         * doc/functions/ftello.texi (ftello): Likewise.
41635         * doc/functions/fgetpos.texi (fgetpos): Likewise.
41636         Reported by Larry Jones.
41637
41638 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
41639
41640         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
41641         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
41642
41643 2007-12-17  Jim Meyering  <meyering@redhat.com>
41644
41645         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
41646         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
41647         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
41648         * modules/getcwd (Depends-on): Add openat.
41649         Reported by Petr Salinger.
41650
41651 2007-12-17  Bruno Haible  <bruno@clisp.org>
41652
41653         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
41654         avoid a segmentation fault of the configure test on x86_64 systems.
41655
41656 2007-12-15  Jim Meyering  <meyering@redhat.com>
41657
41658         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
41659
41660 2007-12-13  Eric Blake  <ebb9@byu.net>
41661
41662         Another fseek test.
41663         * tests/test-fseek.c (main): Also test ungetc handling.
41664         * tests/test-fseeko.c (main): Likewise.
41665         * modules/fseeko (Depends-on): Add verify.
41666         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
41667         large.
41668         Reported by Larry Jones.
41669
41670         Fix fseeko on mingw.
41671         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
41672         seek.
41673
41674         Beef up fseek tests.
41675         * tests/test-fseek.c (main): Also test eof handling.
41676         * tests/test-fseeko.c (main): Likewise.
41677         Reported by Larry Jones.
41678
41679 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
41680
41681         Fix fseeko on BSD-based platforms.
41682         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
41683         successful seek.
41684
41685 2007-12-12  Eric Blake  <ebb9@byu.net>
41686
41687         Allow circular dependency of separate libtests.a
41688         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
41689         when use_libtests.
41690
41691 2007-12-11  Eric Blake  <ebb9@byu.net>
41692
41693         Fix bug with -0.0L in previous patch.
41694         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
41695         * tests/test-isnan.c (main): Also test on zeroes.
41696         * tests/test-isnanf.c (main): Likewise.
41697         * tests/test-isnanl.h (main): Likewise.
41698
41699         Detect pseudo-denormals on x86 even when cross-compiling.
41700         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
41701         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
41702         invalid bit patterns that happen to satisfy ==.
41703
41704         Avoid link failures with separate libtests.a.
41705         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
41706         last, to satisfy circular dependencies.
41707
41708 2007-12-11  Eric Blake  <ebb9@byu.net>
41709         and Bruno Haible  <bruno@clisp.org>
41710
41711         Fix OpenBSD 4.0 <float.h> handling of long double.
41712         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
41713         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
41714         * doc/headers/float.texi (float.h): Document OpenBSD bug.
41715
41716 2007-12-11  Jim Meyering  <meyering@redhat.com>
41717
41718         * users.txt: Add libvirt.
41719
41720         Support versions of autoconf prior to 2.59c.
41721         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
41722         if it is not already defined.
41723
41724 2007-12-09  Bruno Haible  <bruno@clisp.org>
41725
41726         Let 'gnulib-tool --import' collect sources needed for the tests in
41727         tests/ rather than in lib/.
41728         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
41729         argument. If true, add rules to generate libtests.a, and put libtests.a
41730         into $(LDADD). Consider source files in subdirectories and set
41731         uses_subdirs.
41732         (func_emit_initmacro_start, func_emit_initmacro_end,
41733         func_emit_initmacro_done): Pass all arguments explicitly.
41734         (func_import): Determine two module lists main_modules,
41735         testsrelated_modules. Determine use_libtests. Determine two variables
41736         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
41737         instead of just sed_transform_lib_file. Determine two variables
41738         main_files and testsrelated_files. Compute 'files' as the union of
41739         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
41740         func_add_or_update. In the generated gnulib-comp.m4, collect the
41741         object files for tests/ in different variables than those for lib/.
41742         Substitute LIBTESTS_LIBDEPS.
41743         (func_create_testdir): Combine the uses_subdirs results from
41744         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
41745
41746 2007-12-09  Bruno Haible  <bruno@clisp.org>
41747
41748         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
41749         the build-aux directory.
41750
41751 2007-12-09  Bruno Haible  <bruno@clisp.org>
41752
41753         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
41754         introduced on 2006-09-09.
41755
41756 2007-12-07  Jim Meyering  <meyering@redhat.com>
41757
41758         Let these macros work also with autoconf-2.59.
41759         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
41760         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
41761         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41762
41763 2007-12-06  Jim Meyering  <meyering@redhat.com>
41764
41765         Avoid a configure-time syntax error in gl_FUNC_ACL.
41766         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
41767         function in each branch, before testing the cache variable.
41768
41769 2007-12-04  Eric Blake  <ebb9@byu.net>
41770
41771         Make scripts executable.
41772         * build-aux/config.guess: Add execute permissions.
41773         * build-aux/config.sub: Likewise.
41774         * build-aux/gendocs.sh: Likewise.
41775
41776         Fix frexp on mingw.
41777         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
41778         cross-compiling.
41779         * doc/functions/frexp.texi (frexp): Document the bug.
41780
41781         Make cygwin fseeko check more reliable.
41782         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
41783         version numbers, rather than unrelated feature check.
41784         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
41785         * doc/functions/ftello.texi (ftello): Likewise.
41786         Reported by Bruno Haible.
41787
41788         * m4/strerror.m4: Bump version number.
41789
41790 2007-12-03  Bruno Haible  <bruno@clisp.org>
41791
41792         * doc/functions/mprotect.texi: Mention the mingw problem.
41793
41794 2007-12-03  Eric Blake  <ebb9@byu.net>
41795
41796         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41797         REPLACE_STRERROR is initialized before this macro.
41798
41799 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41800
41801         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41802         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41803         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41804         put -lsec in even for programs other than 'ls'.  This fixes a problem
41805         for gettext reported by Bruno Haible in
41806         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41807         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41808         Add support for Solaris 10.  This isn't efficient, but should get the
41809         job done for now.
41810
41811 2007-12-03  James Youngman  <jay@gnu.org>
41812
41813         * doc/regexprops-generic.texi: change "an close-group" to "a
41814         close-group" and "illegal" to "not allowed".
41815
41816 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41817
41818         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41819         pr_byname.h. Needed for the rare case when the maintainer has done
41820         "make maintainer-clean" in the source directory and then attempts a
41821         build outside the source directory.
41822         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41823         scripts_byname.h.
41824
41825 2007-12-02  Martin Lambers <marlam@marlam.de>
41826             Bruno Haible  <bruno@clisp.org>
41827
41828         * lib/getpagesize.h: Remove file.
41829         * lib/unistd.in.h: Include declaration of getpagesize here.
41830         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41831         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41832         HAVE_SYS_PARAM_H.
41833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41834         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41835         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41836         (Depends-on): Add unistd.
41837         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41838         (Include): Use <unistd.h> instead of getpagesize.h.
41839         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41840         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41841         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41842         gl_GETPAGESIZE invocation, already handled by module dependency.
41843         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41844
41845 2007-12-02  Bruno Haible  <bruno@clisp.org>
41846
41847         * modules/strings-tests: New file.
41848         * tests/test-strings.c: New file.
41849
41850         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41851         * lib/strings.in.h: New file.
41852         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41853         * m4/strings_h.m4: New file.
41854         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41855         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41856         * modules/strings: New file.
41857         * modules/string (Makefile.am): Update.
41858         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41859         Reported by Karl Berry.
41860
41861 2007-12-01  Eric Blake  <ebb9@byu.net>
41862
41863         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41864         accomodate fix in cygwin 1.5.25.
41865
41866 2007-12-01  Jim Meyering  <meyering@redhat.com>
41867
41868         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41869         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41870         that would inhibit utf8-optimization of a regexp containing line-
41871         or buffer-anchors, e.g., `^', `$'.
41872
41873 2007-11-30  Bruno Haible  <bruno@clisp.org>
41874
41875         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41876         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41877         glthread_recursive_lock_init.
41878         * lib/lock.c (glthread_recursive_lock_init)
41879         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41880         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41881
41882 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41883
41884         New function qset_acl, like set_acl but with syscall semantics.
41885         * lib/acl.h (qset_acl): New decl.
41886         * lib/acl.c (qset_acl): New function.
41887         (set_acl): Use new function.  Use more-consistent diagnostics.
41888
41889 2007-11-28  Jim Meyering  <meyering@redhat.com>
41890
41891         * modules/physmem (License): Change from GPL to LGPLv2+.
41892
41893 2007-11-26  Bruno Haible  <bruno@clisp.org>
41894
41895         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41896         'long double' type has excess precision.
41897         Reported by Jim Meyering in
41898         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41899
41900 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41901
41902         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41903         Sync from <http://gnu.org/licenses>.
41904         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41905         with license text from same location.
41906         * doc/maintain.texi, doc/standards.texi:  Sync from
41907         <http://savannah.gnu.org/projects/gnustandards>.
41908
41909 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
41910         and Jim Meyering  <meyering@redhat.com>
41911
41912         Adjust getdate' grammar to accept a slightly more regular language.
41913         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41914         Before, the former was rejected.
41915         * lib/getdate.y (digits_to_date_time): New function, factored
41916         out of ...
41917         (number): ...here.  Just call digits_to_date_time.
41918         (hybrid): New non-terminal to handle an <unsigned number,
41919         signed relative offset> sequence consistently.
41920
41921 2007-11-18  Jim Meyering  <meyering@redhat.com>
41922
41923         Pull my changes from coreutils:
41924         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41925         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41926         use of $gnulib_tool_option_extras, so that it's separated from the
41927         preceding argument.
41928
41929         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41930         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41931         parent destination directories before copying a file into place.
41932
41933 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41934
41935         bootstrap: work also with 4-argument variant of AC_INIT
41936         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41937
41938 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41939
41940         Port test-getaddrinfo to Solaris.
41941         Problem reported by Bruno Haible in
41942         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41943         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41944         explanation of setting 'hints'.
41945         Don't reject an implementation merely because it returns EAI_SERVICE.
41946         (EAI_SERVICE): Define to 0 if not defined.
41947
41948 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41949
41950         The license of gnu-make and posix-shell is now "GPLed build tool".
41951         * modules/gnu-make (License): Likewise.
41952         * modules/posix-shell (License): Likewise.
41953
41954         New module posix-shell, for determining a POSIX shell
41955         or perhaps something that is close enough to a POSIX shell.
41956         * m4/posix-shell.m4: New file.
41957         * modules/posix-shell: New file.
41958
41959         * MODULES.html.sh: Mention new module.
41960
41961         New module gnu-make, for determining whether we're using GNU Make.
41962         * m4/gnu-make.m4: New file.
41963         * modules/gnu-make: New file.
41964         * MODULES.html.sh: Mention new module.
41965
41966 2007-11-14  Jim Meyering  <meyering@redhat.com>
41967
41968         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41969         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41970         use this macro to create a function _definition_.
41971         Remove useless "#undef ARGMATCH_DIE".
41972
41973 2007-11-14  Bruno Haible  <bruno@clisp.org>
41974
41975         * lib/config.charset: Update for OpenBSD 4.1.
41976         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41977
41978 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41979
41980         Document 64-bit #if problems in stdint.texi.
41981         * doc/headers/stdint.texi (stdint.h): Mention problems with
41982         64-bit-#if, and how to work around them.
41983
41984         Don't insist on 'long long int' support in the preprocessor.  It
41985         breaks too many things.  For example, PRIdMAX still uses a 'long
41986         long int' format with the latest Sun compiler, even though
41987         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41988         preprocessor problem.  This causes the latest coreutils to dump
41989         core on Solaris 10 sparc with the Sun C compiler.
41990         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41991         the troublesome expressions at configure-time, not at #if-time.
41992         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41993         preprocessor.
41994         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41995         compile-time C checks, done at 'configure'-time.
41996         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41997         * modules/inttypes (Makefile): Substitute the new symbols that
41998         gl_INTTYPES_H now generates.
41999         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
42000
42001 2007-11-12  Bruno Haible  <bruno@clisp.org>
42002
42003         Tests for Unicode character classification functions.
42004
42005         * modules/unictype/bidicategory-byname-tests: New file.
42006         * modules/unictype/bidicategory-name-tests: New file.
42007         * modules/unictype/bidicategory-of-tests: New file.
42008         * modules/unictype/bidicategory-test-tests: New file.
42009         * modules/unictype/block-list-tests: New file.
42010         * modules/unictype/block-of-tests: New file.
42011         * modules/unictype/block-test-tests: New file.
42012         * modules/unictype/category-C-tests: New file.
42013         * modules/unictype/category-Cc-tests: New file.
42014         * modules/unictype/category-Cf-tests: New file.
42015         * modules/unictype/category-Cn-tests: New file.
42016         * modules/unictype/category-Co-tests: New file.
42017         * modules/unictype/category-Cs-tests: New file.
42018         * modules/unictype/category-L-tests: New file.
42019         * modules/unictype/category-Ll-tests: New file.
42020         * modules/unictype/category-Lm-tests: New file.
42021         * modules/unictype/category-Lo-tests: New file.
42022         * modules/unictype/category-Lt-tests: New file.
42023         * modules/unictype/category-Lu-tests: New file.
42024         * modules/unictype/category-M-tests: New file.
42025         * modules/unictype/category-Mc-tests: New file.
42026         * modules/unictype/category-Me-tests: New file.
42027         * modules/unictype/category-Mn-tests: New file.
42028         * modules/unictype/category-N-tests: New file.
42029         * modules/unictype/category-Nd-tests: New file.
42030         * modules/unictype/category-Nl-tests: New file.
42031         * modules/unictype/category-No-tests: New file.
42032         * modules/unictype/category-P-tests: New file.
42033         * modules/unictype/category-Pc-tests: New file.
42034         * modules/unictype/category-Pd-tests: New file.
42035         * modules/unictype/category-Pe-tests: New file.
42036         * modules/unictype/category-Pf-tests: New file.
42037         * modules/unictype/category-Pi-tests: New file.
42038         * modules/unictype/category-Po-tests: New file.
42039         * modules/unictype/category-Ps-tests: New file.
42040         * modules/unictype/category-S-tests: New file.
42041         * modules/unictype/category-Sc-tests: New file.
42042         * modules/unictype/category-Sk-tests: New file.
42043         * modules/unictype/category-Sm-tests: New file.
42044         * modules/unictype/category-So-tests: New file.
42045         * modules/unictype/category-Z-tests: New file.
42046         * modules/unictype/category-Zl-tests: New file.
42047         * modules/unictype/category-Zp-tests: New file.
42048         * modules/unictype/category-Zs-tests: New file.
42049         * modules/unictype/category-and-not-tests: New file.
42050         * modules/unictype/category-and-tests: New file.
42051         * modules/unictype/category-byname-tests: New file.
42052         * modules/unictype/category-name-tests: New file.
42053         * modules/unictype/category-none-tests: New file.
42054         * modules/unictype/category-of-tests: New file.
42055         * modules/unictype/category-or-tests: New file.
42056         * modules/unictype/category-test-withtable-tests: New file.
42057         * modules/unictype/combining-class-tests: New file.
42058         * modules/unictype/ctype-alnum-tests: New file.
42059         * modules/unictype/ctype-alpha-tests: New file.
42060         * modules/unictype/ctype-blank-tests: New file.
42061         * modules/unictype/ctype-cntrl-tests: New file.
42062         * modules/unictype/ctype-digit-tests: New file.
42063         * modules/unictype/ctype-graph-tests: New file.
42064         * modules/unictype/ctype-lower-tests: New file.
42065         * modules/unictype/ctype-print-tests: New file.
42066         * modules/unictype/ctype-punct-tests: New file.
42067         * modules/unictype/ctype-space-tests: New file.
42068         * modules/unictype/ctype-upper-tests: New file.
42069         * modules/unictype/ctype-xdigit-tests: New file.
42070         * modules/unictype/decimal-digit-tests: New file.
42071         * modules/unictype/digit-tests: New file.
42072         * modules/unictype/mirror-tests: New file.
42073         * modules/unictype/numeric-tests: New file.
42074         * modules/unictype/property-alphabetic-tests: New file.
42075         * modules/unictype/property-ascii-hex-digit-tests: New file.
42076         * modules/unictype/property-bidi-arabic-digit-tests: New file.
42077         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
42078         * modules/unictype/property-bidi-block-separator-tests: New file.
42079         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
42080         * modules/unictype/property-bidi-common-separator-tests: New file.
42081         * modules/unictype/property-bidi-control-tests: New file.
42082         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
42083         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
42084         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
42085         * modules/unictype/property-bidi-european-digit-tests: New file.
42086         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
42087         * modules/unictype/property-bidi-left-to-right-tests: New file.
42088         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
42089         * modules/unictype/property-bidi-other-neutral-tests: New file.
42090         * modules/unictype/property-bidi-pdf-tests: New file.
42091         * modules/unictype/property-bidi-segment-separator-tests: New file.
42092         * modules/unictype/property-bidi-whitespace-tests: New file.
42093         * modules/unictype/property-byname-tests: New file.
42094         * modules/unictype/property-combining-tests: New file.
42095         * modules/unictype/property-composite-tests: New file.
42096         * modules/unictype/property-currency-symbol-tests: New file.
42097         * modules/unictype/property-dash-tests: New file.
42098         * modules/unictype/property-decimal-digit-tests: New file.
42099         * modules/unictype/property-default-ignorable-code-point-tests: New file.
42100         * modules/unictype/property-deprecated-tests: New file.
42101         * modules/unictype/property-diacritic-tests: New file.
42102         * modules/unictype/property-extender-tests: New file.
42103         * modules/unictype/property-format-control-tests: New file.
42104         * modules/unictype/property-grapheme-base-tests: New file.
42105         * modules/unictype/property-grapheme-extend-tests: New file.
42106         * modules/unictype/property-grapheme-link-tests: New file.
42107         * modules/unictype/property-hex-digit-tests: New file.
42108         * modules/unictype/property-hyphen-tests: New file.
42109         * modules/unictype/property-id-continue-tests: New file.
42110         * modules/unictype/property-id-start-tests: New file.
42111         * modules/unictype/property-ideographic-tests: New file.
42112         * modules/unictype/property-ids-binary-operator-tests: New file.
42113         * modules/unictype/property-ids-trinary-operator-tests: New file.
42114         * modules/unictype/property-ignorable-control-tests: New file.
42115         * modules/unictype/property-iso-control-tests: New file.
42116         * modules/unictype/property-join-control-tests: New file.
42117         * modules/unictype/property-left-of-pair-tests: New file.
42118         * modules/unictype/property-line-separator-tests: New file.
42119         * modules/unictype/property-logical-order-exception-tests: New file.
42120         * modules/unictype/property-lowercase-tests: New file.
42121         * modules/unictype/property-math-tests: New file.
42122         * modules/unictype/property-non-break-tests: New file.
42123         * modules/unictype/property-not-a-character-tests: New file.
42124         * modules/unictype/property-numeric-tests: New file.
42125         * modules/unictype/property-other-alphabetic-tests: New file.
42126         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
42127         * modules/unictype/property-other-grapheme-extend-tests: New file.
42128         * modules/unictype/property-other-id-continue-tests: New file.
42129         * modules/unictype/property-other-id-start-tests: New file.
42130         * modules/unictype/property-other-lowercase-tests: New file.
42131         * modules/unictype/property-other-math-tests: New file.
42132         * modules/unictype/property-other-uppercase-tests: New file.
42133         * modules/unictype/property-paired-punctuation-tests: New file.
42134         * modules/unictype/property-paragraph-separator-tests: New file.
42135         * modules/unictype/property-pattern-syntax-tests: New file.
42136         * modules/unictype/property-pattern-white-space-tests: New file.
42137         * modules/unictype/property-private-use-tests: New file.
42138         * modules/unictype/property-punctuation-tests: New file.
42139         * modules/unictype/property-quotation-mark-tests: New file.
42140         * modules/unictype/property-radical-tests: New file.
42141         * modules/unictype/property-sentence-terminal-tests: New file.
42142         * modules/unictype/property-soft-dotted-tests: New file.
42143         * modules/unictype/property-space-tests: New file.
42144         * modules/unictype/property-terminal-punctuation-tests: New file.
42145         * modules/unictype/property-test-tests: New file.
42146         * modules/unictype/property-titlecase-tests: New file.
42147         * modules/unictype/property-unassigned-code-value-tests: New file.
42148         * modules/unictype/property-unified-ideograph-tests: New file.
42149         * modules/unictype/property-uppercase-tests: New file.
42150         * modules/unictype/property-variation-selector-tests: New file.
42151         * modules/unictype/property-white-space-tests: New file.
42152         * modules/unictype/property-xid-continue-tests: New file.
42153         * modules/unictype/property-xid-start-tests: New file.
42154         * modules/unictype/property-zero-width-tests: New file.
42155         * modules/unictype/scripts-tests: New file.
42156         * modules/unictype/syntax-c-ident-tests: New file.
42157         * modules/unictype/syntax-c-whitespace-tests: New file.
42158         * modules/unictype/syntax-java-ident-tests: New file.
42159         * modules/unictype/syntax-java-whitespace-tests: New file.
42160         * tests/unictype/test-bidi_byname.c: New file.
42161         * tests/unictype/test-bidi_name.c: New file.
42162         * tests/unictype/test-bidi_of.c: New file.
42163         * tests/unictype/test-bidi_test.c: New file.
42164         * tests/unictype/test-block_list.c: New file.
42165         * tests/unictype/test-block_of.c: New file.
42166         * tests/unictype/test-block_test.c: New file.
42167         * tests/unictype/test-categ_and.c: New file.
42168         * tests/unictype/test-categ_and_not.c: New file.
42169         * tests/unictype/test-categ_byname.c: New file.
42170         * tests/unictype/test-categ_name.c: New file.
42171         * tests/unictype/test-categ_none.c: New file.
42172         * tests/unictype/test-categ_of.c: New file.
42173         * tests/unictype/test-categ_or.c: New file.
42174         * tests/unictype/test-categ_test_withtable.c: New file.
42175         * tests/unictype/test-combining.c: New file.
42176         * tests/unictype/test-decdigit.c: New file.
42177         * tests/unictype/test-digit.c: New file.
42178         * tests/unictype/test-mirror.c: New file.
42179         * tests/unictype/test-numeric.c: New file.
42180         * tests/unictype/test-pr_byname.c: New file.
42181         * tests/unictype/test-pr_test.c: New file.
42182         * tests/unictype/test-predicate-part1.h: New file.
42183         * tests/unictype/test-predicate-part2.h: New file.
42184         * tests/unictype/test-scripts.c: New file.
42185         * tests/unictype/test-sy_c_ident.c: New file.
42186         * tests/unictype/test-sy_java_ident.c: New file.
42187
42188         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
42189         for Unicode 5.0.0.
42190         * tests/unictype/test-categ_Cc.c: Likewise.
42191         * tests/unictype/test-categ_Cf.c: Likewise.
42192         * tests/unictype/test-categ_Cn.c: Likewise.
42193         * tests/unictype/test-categ_Co.c: Likewise.
42194         * tests/unictype/test-categ_Cs.c: Likewise.
42195         * tests/unictype/test-categ_L.c: Likewise.
42196         * tests/unictype/test-categ_Ll.c: Likewise.
42197         * tests/unictype/test-categ_Lm.c: Likewise.
42198         * tests/unictype/test-categ_Lo.c: Likewise.
42199         * tests/unictype/test-categ_Lt.c: Likewise.
42200         * tests/unictype/test-categ_Lu.c: Likewise.
42201         * tests/unictype/test-categ_M.c: Likewise.
42202         * tests/unictype/test-categ_Mc.c: Likewise.
42203         * tests/unictype/test-categ_Me.c: Likewise.
42204         * tests/unictype/test-categ_Mn.c: Likewise.
42205         * tests/unictype/test-categ_N.c: Likewise.
42206         * tests/unictype/test-categ_Nd.c: Likewise.
42207         * tests/unictype/test-categ_Nl.c: Likewise.
42208         * tests/unictype/test-categ_No.c: Likewise.
42209         * tests/unictype/test-categ_P.c: Likewise.
42210         * tests/unictype/test-categ_Pc.c: Likewise.
42211         * tests/unictype/test-categ_Pd.c: Likewise.
42212         * tests/unictype/test-categ_Pe.c: Likewise.
42213         * tests/unictype/test-categ_Pf.c: Likewise.
42214         * tests/unictype/test-categ_Pi.c: Likewise.
42215         * tests/unictype/test-categ_Po.c: Likewise.
42216         * tests/unictype/test-categ_Ps.c: Likewise.
42217         * tests/unictype/test-categ_S.c: Likewise.
42218         * tests/unictype/test-categ_Sc.c: Likewise.
42219         * tests/unictype/test-categ_Sk.c: Likewise.
42220         * tests/unictype/test-categ_Sm.c: Likewise.
42221         * tests/unictype/test-categ_So.c: Likewise.
42222         * tests/unictype/test-categ_Z.c: Likewise.
42223         * tests/unictype/test-categ_Zl.c: Likewise.
42224         * tests/unictype/test-categ_Zp.c: Likewise.
42225         * tests/unictype/test-categ_Zs.c: Likewise.
42226         * tests/unictype/test-ctype_alnum.c: Likewise.
42227         * tests/unictype/test-ctype_alpha.c: Likewise.
42228         * tests/unictype/test-ctype_blank.c: Likewise.
42229         * tests/unictype/test-ctype_cntrl.c: Likewise.
42230         * tests/unictype/test-ctype_digit.c: Likewise.
42231         * tests/unictype/test-ctype_graph.c: Likewise.
42232         * tests/unictype/test-ctype_lower.c: Likewise.
42233         * tests/unictype/test-ctype_print.c: Likewise.
42234         * tests/unictype/test-ctype_punct.c: Likewise.
42235         * tests/unictype/test-ctype_space.c: Likewise.
42236         * tests/unictype/test-ctype_upper.c: Likewise.
42237         * tests/unictype/test-ctype_xdigit.c: Likewise.
42238         * tests/unictype/test-decdigit.h: Likewise.
42239         * tests/unictype/test-digit.h: Likewise.
42240         * tests/unictype/test-numeric.h: Likewise.
42241         * tests/unictype/test-pr_alphabetic.c: Likewise.
42242         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
42243         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42244         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42245         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
42246         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42247         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
42248         * tests/unictype/test-pr_bidi_control.c: Likewise.
42249         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
42250         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
42251         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42252         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42253         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42254         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42255         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42256         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42257         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
42258         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
42259         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
42260         * tests/unictype/test-pr_combining.c: Likewise.
42261         * tests/unictype/test-pr_composite.c: Likewise.
42262         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42263         * tests/unictype/test-pr_dash.c: Likewise.
42264         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42265         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
42266         * tests/unictype/test-pr_deprecated.c: Likewise.
42267         * tests/unictype/test-pr_diacritic.c: Likewise.
42268         * tests/unictype/test-pr_extender.c: Likewise.
42269         * tests/unictype/test-pr_format_control.c: Likewise.
42270         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42271         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42272         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42273         * tests/unictype/test-pr_hex_digit.c: Likewise.
42274         * tests/unictype/test-pr_hyphen.c: Likewise.
42275         * tests/unictype/test-pr_id_continue.c: Likewise.
42276         * tests/unictype/test-pr_id_start.c: Likewise.
42277         * tests/unictype/test-pr_ideographic.c: Likewise.
42278         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
42279         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
42280         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42281         * tests/unictype/test-pr_iso_control.c: Likewise.
42282         * tests/unictype/test-pr_join_control.c: Likewise.
42283         * tests/unictype/test-pr_left_of_pair.c: Likewise.
42284         * tests/unictype/test-pr_line_separator.c: Likewise.
42285         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42286         * tests/unictype/test-pr_lowercase.c: Likewise.
42287         * tests/unictype/test-pr_math.c: Likewise.
42288         * tests/unictype/test-pr_non_break.c: Likewise.
42289         * tests/unictype/test-pr_not_a_character.c: Likewise.
42290         * tests/unictype/test-pr_numeric.c: Likewise.
42291         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42292         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
42293         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
42294         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42295         * tests/unictype/test-pr_other_id_start.c: Likewise.
42296         * tests/unictype/test-pr_other_lowercase.c: Likewise.
42297         * tests/unictype/test-pr_other_math.c: Likewise.
42298         * tests/unictype/test-pr_other_uppercase.c: Likewise.
42299         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
42300         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
42301         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
42302         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
42303         * tests/unictype/test-pr_private_use.c: Likewise.
42304         * tests/unictype/test-pr_punctuation.c: Likewise.
42305         * tests/unictype/test-pr_quotation_mark.c: Likewise.
42306         * tests/unictype/test-pr_radical.c: Likewise.
42307         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42308         * tests/unictype/test-pr_soft_dotted.c: Likewise.
42309         * tests/unictype/test-pr_space.c: Likewise.
42310         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42311         * tests/unictype/test-pr_titlecase.c: Likewise.
42312         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42313         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42314         * tests/unictype/test-pr_uppercase.c: Likewise.
42315         * tests/unictype/test-pr_variation_selector.c: Likewise.
42316         * tests/unictype/test-pr_white_space.c: Likewise.
42317         * tests/unictype/test-pr_xid_continue.c: Likewise.
42318         * tests/unictype/test-pr_xid_start.c: Likewise.
42319         * tests/unictype/test-pr_zero_width.c: Likewise.
42320         * tests/unictype/test-sy_c_whitespace.c: Likewise.
42321         * tests/unictype/test-sy_java_whitespace.c: Likewise.
42322
42323 2007-11-12  Bruno Haible  <bruno@clisp.org>
42324
42325         Unicode character classification functions.
42326         * lib/unictype.h: New file.
42327         * modules/unictype/base: New file.
42328         * modules/unictype/category-L: New file.
42329         * modules/unictype/category-Lu: New file.
42330         * modules/unictype/category-Ll: New file.
42331         * modules/unictype/category-Lt: New file.
42332         * modules/unictype/category-Lm: New file.
42333         * modules/unictype/category-Lo: New file.
42334         * modules/unictype/category-M: New file.
42335         * modules/unictype/category-Mn: New file.
42336         * modules/unictype/category-Mc: New file.
42337         * modules/unictype/category-Me: New file.
42338         * modules/unictype/category-N: New file.
42339         * modules/unictype/category-Nd: New file.
42340         * modules/unictype/category-Nl: New file.
42341         * modules/unictype/category-No: New file.
42342         * modules/unictype/category-P: New file.
42343         * modules/unictype/category-Pc: New file.
42344         * modules/unictype/category-Pd: New file.
42345         * modules/unictype/category-Ps: New file.
42346         * modules/unictype/category-Pe: New file.
42347         * modules/unictype/category-Pi: New file.
42348         * modules/unictype/category-Pf: New file.
42349         * modules/unictype/category-Po: New file.
42350         * modules/unictype/category-S: New file.
42351         * modules/unictype/category-Sm: New file.
42352         * modules/unictype/category-Sc: New file.
42353         * modules/unictype/category-Sk: New file.
42354         * modules/unictype/category-So: New file.
42355         * modules/unictype/category-Z: New file.
42356         * modules/unictype/category-Zs: New file.
42357         * modules/unictype/category-Zl: New file.
42358         * modules/unictype/category-Zp: New file.
42359         * modules/unictype/category-C: New file.
42360         * modules/unictype/category-Cc: New file.
42361         * modules/unictype/category-Cf: New file.
42362         * modules/unictype/category-Cs: New file.
42363         * modules/unictype/category-Co: New file.
42364         * modules/unictype/category-Cn: New file.
42365         * modules/unictype/category-or: New file.
42366         * modules/unictype/category-of: New file.
42367         * modules/unictype/category-test: New file.
42368         * modules/unictype/category-test-withtable: New file.
42369         * modules/unictype/category-byname: New file.
42370         * modules/unictype/category-none: New file.
42371         * modules/unictype/category-and: New file.
42372         * modules/unictype/category-and-not: New file.
42373         * modules/unictype/category-name: New file.
42374         * modules/unictype/combining-class: New file.
42375         * modules/unictype/category-all: New file.
42376         * modules/unictype/bidicategory-all: New file.
42377         * modules/unictype/bidicategory-byname: New file.
42378         * modules/unictype/bidicategory-name: New file.
42379         * modules/unictype/bidicategory-of: New file.
42380         * modules/unictype/bidicategory-test: New file.
42381         * modules/unictype/decimal-digit: New file.
42382         * modules/unictype/digit: New file.
42383         * modules/unictype/numeric: New file.
42384         * modules/unictype/mirror: New file.
42385         * modules/unictype/property-white-space: New file.
42386         * modules/unictype/property-alphabetic: New file.
42387         * modules/unictype/property-other-alphabetic: New file.
42388         * modules/unictype/property-not-a-character: New file.
42389         * modules/unictype/property-default-ignorable-code-point: New file.
42390         * modules/unictype/property-other-default-ignorable-code-point: New
42391         file.
42392         * modules/unictype/property-deprecated: New file.
42393         * modules/unictype/property-logical-order-exception: New file.
42394         * modules/unictype/property-variation-selector: New file.
42395         * modules/unictype/property-private-use: New file.
42396         * modules/unictype/property-unassigned-code-value: New file.
42397         * modules/unictype/property-uppercase: New file.
42398         * modules/unictype/property-other-uppercase: New file.
42399         * modules/unictype/property-lowercase: New file.
42400         * modules/unictype/property-other-lowercase: New file.
42401         * modules/unictype/property-titlecase: New file.
42402         * modules/unictype/property-soft-dotted: New file.
42403         * modules/unictype/property-id-start: New file.
42404         * modules/unictype/property-other-id-start: New file.
42405         * modules/unictype/property-id-continue: New file.
42406         * modules/unictype/property-other-id-continue: New file.
42407         * modules/unictype/property-xid-start: New file.
42408         * modules/unictype/property-xid-continue: New file.
42409         * modules/unictype/property-pattern-white-space: New file.
42410         * modules/unictype/property-pattern-syntax: New file.
42411         * modules/unictype/property-join-control: New file.
42412         * modules/unictype/property-grapheme-base: New file.
42413         * modules/unictype/property-grapheme-extend: New file.
42414         * modules/unictype/property-other-grapheme-extend: New file.
42415         * modules/unictype/property-grapheme-link: New file.
42416         * modules/unictype/property-bidi-control: New file.
42417         * modules/unictype/property-bidi-left-to-right: New file.
42418         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
42419         * modules/unictype/property-bidi-arabic-right-to-left: New file.
42420         * modules/unictype/property-bidi-european-digit: New file.
42421         * modules/unictype/property-bidi-eur-num-separator: New file.
42422         * modules/unictype/property-bidi-eur-num-terminator: New file.
42423         * modules/unictype/property-bidi-arabic-digit: New file.
42424         * modules/unictype/property-bidi-common-separator: New file.
42425         * modules/unictype/property-bidi-block-separator: New file.
42426         * modules/unictype/property-bidi-segment-separator: New file.
42427         * modules/unictype/property-bidi-whitespace: New file.
42428         * modules/unictype/property-bidi-non-spacing-mark: New file.
42429         * modules/unictype/property-bidi-boundary-neutral: New file.
42430         * modules/unictype/property-bidi-pdf: New file.
42431         * modules/unictype/property-bidi-embedding-or-override: New file.
42432         * modules/unictype/property-bidi-other-neutral: New file.
42433         * modules/unictype/property-hex-digit: New file.
42434         * modules/unictype/property-ascii-hex-digit: New file.
42435         * modules/unictype/property-ideographic: New file.
42436         * modules/unictype/property-unified-ideograph: New file.
42437         * modules/unictype/property-radical: New file.
42438         * modules/unictype/property-ids-binary-operator: New file.
42439         * modules/unictype/property-ids-trinary-operator: New file.
42440         * modules/unictype/property-zero-width: New file.
42441         * modules/unictype/property-space: New file.
42442         * modules/unictype/property-non-break: New file.
42443         * modules/unictype/property-iso-control: New file.
42444         * modules/unictype/property-format-control: New file.
42445         * modules/unictype/property-dash: New file.
42446         * modules/unictype/property-hyphen: New file.
42447         * modules/unictype/property-punctuation: New file.
42448         * modules/unictype/property-line-separator: New file.
42449         * modules/unictype/property-paragraph-separator: New file.
42450         * modules/unictype/property-quotation-mark: New file.
42451         * modules/unictype/property-sentence-terminal: New file.
42452         * modules/unictype/property-terminal-punctuation: New file.
42453         * modules/unictype/property-currency-symbol: New file.
42454         * modules/unictype/property-math: New file.
42455         * modules/unictype/property-other-math: New file.
42456         * modules/unictype/property-paired-punctuation: New file.
42457         * modules/unictype/property-left-of-pair: New file.
42458         * modules/unictype/property-combining: New file.
42459         * modules/unictype/property-composite: New file.
42460         * modules/unictype/property-decimal-digit: New file.
42461         * modules/unictype/property-numeric: New file.
42462         * modules/unictype/property-diacritic: New file.
42463         * modules/unictype/property-extender: New file.
42464         * modules/unictype/property-ignorable-control: New file.
42465         * modules/unictype/property-test: New file.
42466         * modules/unictype/property-byname: New file.
42467         * modules/unictype/property-all: New file.
42468         * modules/unictype/scripts: New file.
42469         * modules/unictype/scripts-all: New file.
42470         * modules/unictype/block-of: New file.
42471         * modules/unictype/block-test: New file.
42472         * modules/unictype/block-list: New file.
42473         * modules/unictype/block-all: New file.
42474         * modules/unictype/syntax-c-whitespace: New file.
42475         * modules/unictype/syntax-java-whitespace: New file.
42476         * modules/unictype/syntax-c-ident: New file.
42477         * modules/unictype/syntax-java-ident: New file.
42478         * modules/unictype/ctype-alnum: New file.
42479         * modules/unictype/ctype-alpha: New file.
42480         * modules/unictype/ctype-cntrl: New file.
42481         * modules/unictype/ctype-digit: New file.
42482         * modules/unictype/ctype-graph: New file.
42483         * modules/unictype/ctype-lower: New file.
42484         * modules/unictype/ctype-print: New file.
42485         * modules/unictype/ctype-punct: New file.
42486         * modules/unictype/ctype-space: New file.
42487         * modules/unictype/ctype-upper: New file.
42488         * modules/unictype/ctype-xdigit: New file.
42489         * modules/unictype/ctype-blank: New file.
42490         * lib/unictype/bidi_byname.c: New file.
42491         * lib/unictype/bidi_name.c: New file.
42492         * lib/unictype/bidi_of.c: New file.
42493         * lib/unictype/bidi_test.c: New file.
42494         * lib/unictype/bitmap.h: New file.
42495         * lib/unictype/block_test.c: New file.
42496         * lib/unictype/blocks.c: New file.
42497         * lib/unictype/categ_C.c: New file.
42498         * lib/unictype/categ_Cc.c: New file.
42499         * lib/unictype/categ_Cf.c: New file.
42500         * lib/unictype/categ_Cn.c: New file.
42501         * lib/unictype/categ_Co.c: New file.
42502         * lib/unictype/categ_Cs.c: New file.
42503         * lib/unictype/categ_L.c: New file.
42504         * lib/unictype/categ_Ll.c: New file.
42505         * lib/unictype/categ_Lm.c: New file.
42506         * lib/unictype/categ_Lo.c: New file.
42507         * lib/unictype/categ_Lt.c: New file.
42508         * lib/unictype/categ_Lu.c: New file.
42509         * lib/unictype/categ_M.c: New file.
42510         * lib/unictype/categ_Mc.c: New file.
42511         * lib/unictype/categ_Me.c: New file.
42512         * lib/unictype/categ_Mn.c: New file.
42513         * lib/unictype/categ_N.c: New file.
42514         * lib/unictype/categ_Nd.c: New file.
42515         * lib/unictype/categ_Nl.c: New file.
42516         * lib/unictype/categ_No.c: New file.
42517         * lib/unictype/categ_P.c: New file.
42518         * lib/unictype/categ_Pc.c: New file.
42519         * lib/unictype/categ_Pd.c: New file.
42520         * lib/unictype/categ_Pe.c: New file.
42521         * lib/unictype/categ_Pf.c: New file.
42522         * lib/unictype/categ_Pi.c: New file.
42523         * lib/unictype/categ_Po.c: New file.
42524         * lib/unictype/categ_Ps.c: New file.
42525         * lib/unictype/categ_S.c: New file.
42526         * lib/unictype/categ_Sc.c: New file.
42527         * lib/unictype/categ_Sk.c: New file.
42528         * lib/unictype/categ_Sm.c: New file.
42529         * lib/unictype/categ_So.c: New file.
42530         * lib/unictype/categ_Z.c: New file.
42531         * lib/unictype/categ_Zl.c: New file.
42532         * lib/unictype/categ_Zp.c: New file.
42533         * lib/unictype/categ_Zs.c: New file.
42534         * lib/unictype/categ_and.c: New file.
42535         * lib/unictype/categ_and_not.c: New file.
42536         * lib/unictype/categ_byname.c: New file.
42537         * lib/unictype/categ_name.c: New file.
42538         * lib/unictype/categ_none.c: New file.
42539         * lib/unictype/categ_of.c: New file.
42540         * lib/unictype/categ_or.c: New file.
42541         * lib/unictype/categ_test.c: New file.
42542         * lib/unictype/combining.c: New file.
42543         * lib/unictype/ctype_alnum.c: New file.
42544         * lib/unictype/ctype_alpha.c: New file.
42545         * lib/unictype/ctype_blank.c: New file.
42546         * lib/unictype/ctype_cntrl.c: New file.
42547         * lib/unictype/ctype_digit.c: New file.
42548         * lib/unictype/ctype_graph.c: New file.
42549         * lib/unictype/ctype_lower.c: New file.
42550         * lib/unictype/ctype_print.c: New file.
42551         * lib/unictype/ctype_punct.c: New file.
42552         * lib/unictype/ctype_space.c: New file.
42553         * lib/unictype/ctype_upper.c: New file.
42554         * lib/unictype/ctype_xdigit.c: New file.
42555         * lib/unictype/decdigit.c: New file.
42556         * lib/unictype/digit.c: New file.
42557         * lib/unictype/identsyntaxmap.h: New file.
42558         * lib/unictype/mirror.c: New file.
42559         * lib/unictype/numeric.c: New file.
42560         * lib/unictype/pr_alphabetic.c: New file.
42561         * lib/unictype/pr_ascii_hex_digit.c: New file.
42562         * lib/unictype/pr_bidi_arabic_digit.c: New file.
42563         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
42564         * lib/unictype/pr_bidi_block_separator.c: New file.
42565         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
42566         * lib/unictype/pr_bidi_common_separator.c: New file.
42567         * lib/unictype/pr_bidi_control.c: New file.
42568         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
42569         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
42570         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
42571         * lib/unictype/pr_bidi_european_digit.c: New file.
42572         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
42573         * lib/unictype/pr_bidi_left_to_right.c: New file.
42574         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
42575         * lib/unictype/pr_bidi_other_neutral.c: New file.
42576         * lib/unictype/pr_bidi_pdf.c: New file.
42577         * lib/unictype/pr_bidi_segment_separator.c: New file.
42578         * lib/unictype/pr_bidi_whitespace.c: New file.
42579         * lib/unictype/pr_byname.c: New file.
42580         * lib/unictype/pr_byname.gperf: New file.
42581         * lib/unictype/pr_combining.c: New file.
42582         * lib/unictype/pr_composite.c: New file.
42583         * lib/unictype/pr_currency_symbol.c: New file.
42584         * lib/unictype/pr_dash.c: New file.
42585         * lib/unictype/pr_decimal_digit.c: New file.
42586         * lib/unictype/pr_default_ignorable_code_point.c: New file.
42587         * lib/unictype/pr_deprecated.c: New file.
42588         * lib/unictype/pr_diacritic.c: New file.
42589         * lib/unictype/pr_extender.c: New file.
42590         * lib/unictype/pr_format_control.c: New file.
42591         * lib/unictype/pr_grapheme_base.c: New file.
42592         * lib/unictype/pr_grapheme_extend.c: New file.
42593         * lib/unictype/pr_grapheme_link.c: New file.
42594         * lib/unictype/pr_hex_digit.c: New file.
42595         * lib/unictype/pr_hyphen.c: New file.
42596         * lib/unictype/pr_id_continue.c: New file.
42597         * lib/unictype/pr_id_start.c: New file.
42598         * lib/unictype/pr_ideographic.c: New file.
42599         * lib/unictype/pr_ids_binary_operator.c: New file.
42600         * lib/unictype/pr_ids_trinary_operator.c: New file.
42601         * lib/unictype/pr_ignorable_control.c: New file.
42602         * lib/unictype/pr_iso_control.c: New file.
42603         * lib/unictype/pr_join_control.c: New file.
42604         * lib/unictype/pr_left_of_pair.c: New file.
42605         * lib/unictype/pr_line_separator.c: New file.
42606         * lib/unictype/pr_logical_order_exception.c: New file.
42607         * lib/unictype/pr_lowercase.c: New file.
42608         * lib/unictype/pr_math.c: New file.
42609         * lib/unictype/pr_non_break.c: New file.
42610         * lib/unictype/pr_not_a_character.c: New file.
42611         * lib/unictype/pr_numeric.c: New file.
42612         * lib/unictype/pr_other_alphabetic.c: New file.
42613         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
42614         * lib/unictype/pr_other_grapheme_extend.c: New file.
42615         * lib/unictype/pr_other_id_continue.c: New file.
42616         * lib/unictype/pr_other_id_start.c: New file.
42617         * lib/unictype/pr_other_lowercase.c: New file.
42618         * lib/unictype/pr_other_math.c: New file.
42619         * lib/unictype/pr_other_uppercase.c: New file.
42620         * lib/unictype/pr_paired_punctuation.c: New file.
42621         * lib/unictype/pr_paragraph_separator.c: New file.
42622         * lib/unictype/pr_pattern_syntax.c: New file.
42623         * lib/unictype/pr_pattern_white_space.c: New file.
42624         * lib/unictype/pr_private_use.c: New file.
42625         * lib/unictype/pr_punctuation.c: New file.
42626         * lib/unictype/pr_quotation_mark.c: New file.
42627         * lib/unictype/pr_radical.c: New file.
42628         * lib/unictype/pr_sentence_terminal.c: New file.
42629         * lib/unictype/pr_soft_dotted.c: New file.
42630         * lib/unictype/pr_space.c: New file.
42631         * lib/unictype/pr_terminal_punctuation.c: New file.
42632         * lib/unictype/pr_test.c: New file.
42633         * lib/unictype/pr_titlecase.c: New file.
42634         * lib/unictype/pr_unassigned_code_value.c: New file.
42635         * lib/unictype/pr_unified_ideograph.c: New file.
42636         * lib/unictype/pr_uppercase.c: New file.
42637         * lib/unictype/pr_variation_selector.c: New file.
42638         * lib/unictype/pr_white_space.c: New file.
42639         * lib/unictype/pr_xid_continue.c: New file.
42640         * lib/unictype/pr_xid_start.c: New file.
42641         * lib/unictype/pr_zero_width.c: New file.
42642         * lib/unictype/scripts.c: New file.
42643         * lib/unictype/sy_c_ident.c: New file.
42644         * lib/unictype/sy_c_whitespace.c: New file.
42645         * lib/unictype/sy_java_ident.c: New file.
42646         * lib/unictype/sy_java_whitespace.c: New file.
42647
42648         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
42649         Unicode 5.0.0.
42650         * lib/unictype/blocks.h: Likewise.
42651         * lib/unictype/categ_C.h: Likewise.
42652         * lib/unictype/categ_Cc.h: Likewise.
42653         * lib/unictype/categ_Cf.h: Likewise.
42654         * lib/unictype/categ_Cn.h: Likewise.
42655         * lib/unictype/categ_Co.h: Likewise.
42656         * lib/unictype/categ_Cs.h: Likewise.
42657         * lib/unictype/categ_L.h: Likewise.
42658         * lib/unictype/categ_Ll.h: Likewise.
42659         * lib/unictype/categ_Lm.h: Likewise.
42660         * lib/unictype/categ_Lo.h: Likewise.
42661         * lib/unictype/categ_Lt.h: Likewise.
42662         * lib/unictype/categ_Lu.h: Likewise.
42663         * lib/unictype/categ_M.h: Likewise.
42664         * lib/unictype/categ_Mc.h: Likewise.
42665         * lib/unictype/categ_Me.h: Likewise.
42666         * lib/unictype/categ_Mn.h: Likewise.
42667         * lib/unictype/categ_N.h: Likewise.
42668         * lib/unictype/categ_Nd.h: Likewise.
42669         * lib/unictype/categ_Nl.h: Likewise.
42670         * lib/unictype/categ_No.h: Likewise.
42671         * lib/unictype/categ_P.h: Likewise.
42672         * lib/unictype/categ_Pc.h: Likewise.
42673         * lib/unictype/categ_Pd.h: Likewise.
42674         * lib/unictype/categ_Pe.h: Likewise.
42675         * lib/unictype/categ_Pf.h: Likewise.
42676         * lib/unictype/categ_Pi.h: Likewise.
42677         * lib/unictype/categ_Po.h: Likewise.
42678         * lib/unictype/categ_Ps.h: Likewise.
42679         * lib/unictype/categ_S.h: Likewise.
42680         * lib/unictype/categ_Sc.h: Likewise.
42681         * lib/unictype/categ_Sk.h: Likewise.
42682         * lib/unictype/categ_Sm.h: Likewise.
42683         * lib/unictype/categ_So.h: Likewise.
42684         * lib/unictype/categ_Z.h: Likewise.
42685         * lib/unictype/categ_Zl.h: Likewise.
42686         * lib/unictype/categ_Zp.h: Likewise.
42687         * lib/unictype/categ_Zs.h: Likewise.
42688         * lib/unictype/categ_of.h: Likewise.
42689         * lib/unictype/combining.h: Likewise.
42690         * lib/unictype/ctype_alnum.h: Likewise.
42691         * lib/unictype/ctype_alpha.h: Likewise.
42692         * lib/unictype/ctype_blank.h: Likewise.
42693         * lib/unictype/ctype_cntrl.h: Likewise.
42694         * lib/unictype/ctype_digit.h: Likewise.
42695         * lib/unictype/ctype_graph.h: Likewise.
42696         * lib/unictype/ctype_lower.h: Likewise.
42697         * lib/unictype/ctype_print.h: Likewise.
42698         * lib/unictype/ctype_punct.h: Likewise.
42699         * lib/unictype/ctype_space.h: Likewise.
42700         * lib/unictype/ctype_upper.h: Likewise.
42701         * lib/unictype/ctype_xdigit.h: Likewise.
42702         * lib/unictype/decdigit.h: Likewise.
42703         * lib/unictype/digit.h: Likewise.
42704         * lib/unictype/mirror.h: Likewise.
42705         * lib/unictype/numeric.h: Likewise.
42706         * lib/unictype/pr_alphabetic.h: Likewise.
42707         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
42708         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
42709         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
42710         * lib/unictype/pr_bidi_block_separator.h: Likewise.
42711         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
42712         * lib/unictype/pr_bidi_common_separator.h: Likewise.
42713         * lib/unictype/pr_bidi_control.h: Likewise.
42714         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
42715         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
42716         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
42717         * lib/unictype/pr_bidi_european_digit.h: Likewise.
42718         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
42719         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
42720         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
42721         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
42722         * lib/unictype/pr_bidi_pdf.h: Likewise.
42723         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
42724         * lib/unictype/pr_bidi_whitespace.h: Likewise.
42725         * lib/unictype/pr_combining.h: Likewise.
42726         * lib/unictype/pr_composite.h: Likewise.
42727         * lib/unictype/pr_currency_symbol.h: Likewise.
42728         * lib/unictype/pr_dash.h: Likewise.
42729         * lib/unictype/pr_decimal_digit.h: Likewise.
42730         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
42731         * lib/unictype/pr_deprecated.h: Likewise.
42732         * lib/unictype/pr_diacritic.h: Likewise.
42733         * lib/unictype/pr_extender.h: Likewise.
42734         * lib/unictype/pr_format_control.h: Likewise.
42735         * lib/unictype/pr_grapheme_base.h: Likewise.
42736         * lib/unictype/pr_grapheme_extend.h: Likewise.
42737         * lib/unictype/pr_grapheme_link.h: Likewise.
42738         * lib/unictype/pr_hex_digit.h: Likewise.
42739         * lib/unictype/pr_hyphen.h: Likewise.
42740         * lib/unictype/pr_id_continue.h: Likewise.
42741         * lib/unictype/pr_id_start.h: Likewise.
42742         * lib/unictype/pr_ideographic.h: Likewise.
42743         * lib/unictype/pr_ids_binary_operator.h: Likewise.
42744         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
42745         * lib/unictype/pr_ignorable_control.h: Likewise.
42746         * lib/unictype/pr_iso_control.h: Likewise.
42747         * lib/unictype/pr_join_control.h: Likewise.
42748         * lib/unictype/pr_left_of_pair.h: Likewise.
42749         * lib/unictype/pr_line_separator.h: Likewise.
42750         * lib/unictype/pr_logical_order_exception.h: Likewise.
42751         * lib/unictype/pr_lowercase.h: Likewise.
42752         * lib/unictype/pr_math.h: Likewise.
42753         * lib/unictype/pr_non_break.h: Likewise.
42754         * lib/unictype/pr_not_a_character.h: Likewise.
42755         * lib/unictype/pr_numeric.h: Likewise.
42756         * lib/unictype/pr_other_alphabetic.h: Likewise.
42757         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
42758         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
42759         * lib/unictype/pr_other_id_continue.h: Likewise.
42760         * lib/unictype/pr_other_id_start.h: Likewise.
42761         * lib/unictype/pr_other_lowercase.h: Likewise.
42762         * lib/unictype/pr_other_math.h: Likewise.
42763         * lib/unictype/pr_other_uppercase.h: Likewise.
42764         * lib/unictype/pr_paired_punctuation.h: Likewise.
42765         * lib/unictype/pr_paragraph_separator.h: Likewise.
42766         * lib/unictype/pr_pattern_syntax.h: Likewise.
42767         * lib/unictype/pr_pattern_white_space.h: Likewise.
42768         * lib/unictype/pr_private_use.h: Likewise.
42769         * lib/unictype/pr_punctuation.h: Likewise.
42770         * lib/unictype/pr_quotation_mark.h: Likewise.
42771         * lib/unictype/pr_radical.h: Likewise.
42772         * lib/unictype/pr_sentence_terminal.h: Likewise.
42773         * lib/unictype/pr_soft_dotted.h: Likewise.
42774         * lib/unictype/pr_space.h: Likewise.
42775         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42776         * lib/unictype/pr_titlecase.h: Likewise.
42777         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42778         * lib/unictype/pr_unified_ideograph.h: Likewise.
42779         * lib/unictype/pr_uppercase.h: Likewise.
42780         * lib/unictype/pr_variation_selector.h: Likewise.
42781         * lib/unictype/pr_white_space.h: Likewise.
42782         * lib/unictype/pr_xid_continue.h: Likewise.
42783         * lib/unictype/pr_xid_start.h: Likewise.
42784         * lib/unictype/pr_zero_width.h: Likewise.
42785         * lib/unictype/scripts.h: Likewise.
42786         * lib/unictype/scripts_byname.gperf: Likewise.
42787         * lib/unictype/sy_c_ident.h: Likewise.
42788         * lib/unictype/sy_c_whitespace.h: Likewise.
42789         * lib/unictype/sy_java_ident.h: Likewise.
42790         * lib/unictype/sy_java_whitespace.h: Likewise.
42791
42792         * lib/unictype/Makefile: New file.
42793         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
42794         glibc.
42795         * lib/unictype/3level.h: New file, copied from glibc.
42796         * lib/unictype/3levelbit.h: New file.
42797
42798 2007-11-11  Bruno Haible  <bruno@clisp.org>
42799
42800         * modules/gperf: New file.
42801         * modules/iconv_open (Depends-on): Add it.
42802         (Makefile.am): Remove the GPERF definition.
42803
42804 2007-11-11  Bruno Haible  <bruno@clisp.org>
42805
42806         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42807         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42808
42809 2007-11-11  Bruno Haible  <bruno@clisp.org>
42810
42811         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42812         (usage): Remove function.
42813
42814 2007-11-11  Bruno Haible  <bruno@clisp.org>
42815
42816         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42817         gl_FUNC_CEILF_LIBS.
42818         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42819         gl_FUNC_CEIL_LIBS.
42820         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42821         gl_FUNC_CEILL_LIBS.
42822         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42823         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42824         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42825
42826 2007-11-11  Bruno Haible  <bruno@clisp.org>
42827
42828         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42829         roundf were declared but do not exist on functions.
42830         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42831         roundl were declared but do not exist on functions.
42832         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42833         HAVE_FLOORL_AND_CEILL, respectively.
42834         Needed for Sun C on Solaris 10.
42835
42836 2007-11-11  Bruno Haible  <bruno@clisp.org>
42837
42838         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42839         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42840         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42841         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42842         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42843         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42844         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42845         HAVE_DECL_ROUNDF.
42846         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42847         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42848         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42849         of HAVE_DECL_ROUND*.
42850         * modules/math (Makefile.am): Update.
42851
42852 2007-11-10  Bruno Haible  <bruno@clisp.org>
42853
42854         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42855         ptrdiff_t as m4/intl.m4.
42856
42857 2007-11-10  Jim Meyering  <meyering@redhat.com>
42858
42859         Avoid link failure for the argmatch test.
42860         * tests/test-argmatch.c (usage): Define function to avoid a link
42861         failure: argmatch_die requires a usage function.
42862
42863 2007-11-09  Bruno Haible  <bruno@clisp.org>
42864
42865         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42866         * doc/functions/vsnprintf.texi: Likewise.
42867         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42868         with a size argument < 2.
42869
42870 2007-11-09  Bruno Haible  <bruno@clisp.org>
42871
42872         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42873         buffer. Fixes an inefficiency introduced on 2007-11-03.
42874
42875 2007-11-09  Bruno Haible  <bruno@clisp.org>
42876
42877         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42878         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42879
42880 2007-11-08  Jim Meyering  <meyering@redhat.com>
42881
42882         Change cache variable name prefix "jm_" to "gl_" everywhere.
42883         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42884         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42885         * m4/uptime.m4: s/gl_/jm_/
42886
42887 2007-11-07  Bruno Haible  <bruno@clisp.org>
42888
42889         Update to GNU gettext 0.17.
42890         * m4/intl.m4: Update to GNU gettext 0.17.
42891         * m4/po.m4: Likewise.
42892         * modules/gettext (Files): Remove m4/ulonglong.m4.
42893         (configure.ac): Require gettext infrastructure from version 0.17.
42894
42895 2007-11-06  Bruno Haible  <bruno@clisp.org>
42896
42897         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42898         symbolic values are not defined in a public header.
42899         * lib/freadable.c (freadable) [QNX]: Likewise.
42900         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42901         * lib/freading.c (freading) [QNX]: Likewise.
42902         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42903         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42904         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42905         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42906         Reported by Alain Magloire.
42907
42908         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42909
42910 2007-11-05  Bruno Haible  <bruno@clisp.org>
42911
42912         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42913         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42914         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42915         Reported by Eric Blake.
42916
42917 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42918             Bruno Haible  <bruno@clisp.org>
42919
42920         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42921         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42922         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42923         (malloc): Undefine also before including <stdlib.h>.
42924         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42925         Needed on OSF/1 4.0.
42926
42927 2007-11-05  Jim Meyering  <meyering@redhat.com>
42928
42929         git-version-gen: sync from coreutils.
42930         * build-aux/git-version-gen: Add comments.
42931         Change the first '-' to '.' in the snapshot version string,
42932         e.g., 6.9-377-08144 -> 6.9.377-08144
42933         Remove first parameter.
42934         Don't declare a version "-dirty" merely because a time
42935         stamp has changed.
42936
42937 2007-11-04  Bruno Haible  <bruno@clisp.org>
42938
42939         * lib/lock.h: Protect all macro definitions containing an 'if'
42940         statement through a "do { ... } while (0)".
42941         * lib/tls.h: Likewise.
42942
42943 2007-11-04  Bruno Haible  <bruno@clisp.org>
42944
42945         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42946
42947 2007-11-04  Bruno Haible  <bruno@clisp.org>
42948
42949         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42950         * modules/fprintf-posix (Depends-on): Add nocrash.
42951         * modules/snprintf-posix (Depends-on): Likewise.
42952         * modules/sprintf-posix (Depends-on): Likewise.
42953         * modules/vasnprintf-posix (Depends-on): Likewise.
42954         * modules/vasprintf-posix (Depends-on): Likewise.
42955         * modules/vfprintf-posix (Depends-on): Likewise.
42956         * modules/vsnprintf-posix (Depends-on): Likewise.
42957         * modules/vsprintf-posix (Depends-on): Likewise.
42958         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42959         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42960         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42961         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42962         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42963         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42964         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42965
42966 2007-11-04  Bruno Haible  <bruno@clisp.org>
42967
42968         * modules/nocrash: New file.
42969         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42970         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42971
42972 2007-11-04  Bruno Haible  <bruno@clisp.org>
42973
42974         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42975         precision handling.
42976         * tests/test-vasprintf-posix.c (test_function): Likewise.
42977         * tests/test-snprintf-posix.h (test_function): Likewise.
42978         * tests/test-sprintf-posix.h (test_function): Likewise.
42979
42980         Fix *printf behaviour for large precisions on mingw and BeOS.
42981         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42982         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42983         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42984         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42985         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42986         gl_PRINTF_PRECISION and test its result. Invoke
42987         gl_PREREQ_VASNPRINTF_PRECISION.
42988         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42989         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42990         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42991         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42992         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42993         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42994         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42995         * doc/functions/fprintf.texi: Update.
42996         * doc/functions/printf.texi: Update.
42997         * doc/functions/snprintf.texi: Update.
42998         * doc/functions/sprintf.texi: Update.
42999         * doc/functions/vfprintf.texi: Update.
43000         * doc/functions/vprintf.texi: Update.
43001         * doc/functions/vsnprintf.texi: Update.
43002         * doc/functions/vsprintf.texi: Update.
43003
43004 2007-11-04  Bruno Haible  <bruno@clisp.org>
43005
43006         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
43007
43008 2007-11-04  Bruno Haible  <bruno@clisp.org>
43009
43010         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
43011         Reported by Sylvain Beucler <beuc@gnu.org>.
43012
43013 2007-11-03  Bruno Haible  <bruno@clisp.org>
43014
43015         * tests/test-fprintf-posix2.sh: New file.
43016         * tests/test-fprintf-posix2.c: New file.
43017         * modules/fprintf-posix-tests (Files): Add them.
43018         (TESTS): Add test-fprintf-posix2.sh.
43019         (configure.ac): Check for getrlimit and setrlimit.
43020         (check_PROGRAMS): Add test-fprintf-posix2.
43021
43022         * tests/test-printf-posix2.sh: New file.
43023         * tests/test-printf-posix2.c: New file.
43024         * modules/printf-posix-tests (Files): Add them.
43025         (TESTS): Add test-printf-posix2.sh.
43026         (configure.ac): Check for getrlimit and setrlimit.
43027         (check_PROGRAMS): Add test-printf-posix2.
43028
43029         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
43030         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
43031         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
43032         (decode_double): New function, copied from decode_long_double.
43033         (scale10_round_decimal_decoded): New function, extracted from
43034         scale10_round_decimal_long_double.
43035         (scale10_round_decimal_long_double): Use it.
43036         (scale10_round_decimal_double): New function.
43037         (floorlog10): New function.
43038         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
43039         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
43040         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43041         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43042         gl_PRINTF_ENOMEM and test its result. Invoke
43043         gl_PREREQ_VASNPRINTF_ENOMEM.
43044         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43045         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43046         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43047         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43048         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43049         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43050         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43051         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
43052         * modules/snprintf-posix (Depends-on): Likewise.
43053         * modules/sprintf-posix (Depends-on): Likewise.
43054         * modules/vasnprintf-posix (Depends-on): Likewise.
43055         * modules/vasprintf-posix (Depends-on): Likewise.
43056         * modules/vfprintf-posix (Depends-on): Likewise.
43057         * modules/vsnprintf-posix (Depends-on): Likewise.
43058         * modules/vsprintf-posix (Depends-on): Likewise.
43059         * doc/functions/fprintf.texi: Update.
43060         * doc/functions/printf.texi: Update.
43061         * doc/functions/snprintf.texi: Update.
43062         * doc/functions/sprintf.texi: Update.
43063         * doc/functions/vfprintf.texi: Update.
43064         * doc/functions/vprintf.texi: Update.
43065         * doc/functions/vsnprintf.texi: Update.
43066         * doc/functions/vsprintf.texi: Update.
43067
43068 2007-11-03  Bruno Haible  <bruno@clisp.org>
43069
43070         * modules/frexp-nolibm-tests: New file.
43071
43072         * modules/frexp-nolibm: New file.
43073         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
43074
43075 2007-11-03  Bruno Haible  <bruno@clisp.org>
43076
43077         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
43078         value is C99 compliant.
43079         Needed for OSF/1 5.1.
43080
43081 2007-11-03  Bruno Haible  <bruno@clisp.org>
43082
43083         Fix out-of-memory handling of vasnprintf.
43084         * lib/printf-parse.c: Include <errno.h>.
43085         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
43086         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
43087         is already set.
43088
43089 2007-11-02  Eric Blake  <ebb9@byu.net>
43090
43091         Fix tests on cygwin.
43092         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
43093
43094 2007-11-01  Bruno Haible  <bruno@clisp.org>
43095
43096         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
43097         warning.
43098         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
43099         needed for POSIX compatibility.
43100
43101 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
43102
43103         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
43104         for compatibility with GNU.
43105
43106 2007-11-01  Bruno Haible  <bruno@clisp.org>
43107
43108         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
43109         (putenv): Renamed from rpl_putenv. Change argument type from
43110         'const char *' to 'char *'.
43111         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
43112         of defining putenv in config.h, just set REPLACE_PUTENV.
43113         * modules/putenv (Depends-on): Add stdlib.
43114         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43115         (Include): Use <stdlib.h>.
43116         * lib/stdlib.in.h (putenv): New declaration.
43117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
43118         REPLACE_PUTENV.
43119         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
43120         REPLACE_PUTENV.
43121         Needed for MacOS X 10.5.0.
43122         Reported by Peter O'Gorman <peter@pogma.com>.
43123
43124 2007-11-01  Jim Meyering  <meyering@redhat.com>
43125
43126         Treat an empty date string exactly like "0".
43127         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
43128         if the remaining date string (to be parsed) is empty, use "0".
43129         Reported by Mischa Molhoek and discussed in this thread:
43130         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
43131
43132 2007-10-31  Bruno Haible  <bruno@clisp.org>
43133
43134         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
43135         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
43136         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
43137         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
43138         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
43139         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
43140
43141 2007-10-31  Bruno Haible  <bruno@clisp.org>
43142
43143         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
43144         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
43145         (AC_TYPE_LONG_LONG_INT): Use it.
43146         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
43147         it as well.
43148         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
43149         to m4/longlong.m4.
43150         * modules/stdint (Files): Remove m4/ulonglong.m4.
43151         * modules/strtoull (Files): Use m4/longlong.m4 instead of
43152         m4/ulonglong.m4.
43153         * modules/strtoumax (Files): Likewise.
43154
43155 2007-10-30  Bruno Haible  <bruno@clisp.org>
43156
43157         * modules/xvasprintf-posix: New file.
43158         Suggested by Eric Blake.
43159
43160 2007-10-30  Bruno Haible  <bruno@clisp.org>
43161
43162         * modules/xprintf-posix-tests: New file.
43163         * tests/test-xprintf-posix.sh: New file.
43164         * tests/test-xprintf-posix.c: New file.
43165         * tests/test-xfprintf-posix.c: New file.
43166
43167         * modules/xprintf-posix: New file.
43168
43169 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43170
43171         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
43172         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
43173         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
43174
43175 2007-10-29  Bruno Haible  <bruno@clisp.org>
43176
43177         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
43178         contain the special marker '_cv_'.
43179         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43180         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43181         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43182         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
43183         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43184         Reported by Ralf Wildenhues.
43185
43186 2007-10-29  Bruno Haible  <bruno@clisp.org>
43187
43188         * gnulib-tool (func_import): When --lgpl is not specified, set
43189         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
43190         GPLv3.
43191         Reported by Simon Josefsson.
43192
43193 2007-10-28  Bruno Haible  <bruno@clisp.org>
43194
43195         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
43196         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
43197         HAVE_DECL_ISFINITE.
43198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43199         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
43200         HAVE_DECL_ISFINITE.
43201
43202 2007-10-28  Bruno Haible  <bruno@clisp.org>
43203
43204         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
43205         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
43206
43207 2007-10-28  Bruno Haible  <bruno@clisp.org>
43208
43209         Fix link errors with Sun C 5.0 on Solaris 10.
43210         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
43211         function is declared but not present in the compiler's libm.
43212         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
43213         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
43214         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
43215         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
43216         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
43217         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
43218         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
43219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43220         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
43221         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
43222         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
43223         HAVE_DECL_FLOORL.
43224
43225 2007-10-28  Bruno Haible  <bruno@clisp.org>
43226
43227         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
43228         gl_FUNC_FLOORL. Cache the result.
43229         (gl_FUNC_FLOORL): Use it.
43230         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
43231         gl_FUNC_CEILL. Cache the result.
43232         (gl_FUNC_CEILL): Use it.
43233
43234         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
43235         gl_FUNC_FLOOR. Cache the result.
43236         (gl_FUNC_FLOOR): Use it.
43237         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
43238         gl_FUNC_CEIL. Cache the result.
43239         (gl_FUNC_CEIL): Use it.
43240
43241         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
43242         gl_FUNC_FLOORF. Cache the result.
43243         (gl_FUNC_FLOORF): Use it.
43244         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
43245         gl_FUNC_CEILF. Cache the result.
43246         (gl_FUNC_CEILF): Use it.
43247
43248 2007-10-28  Bruno Haible  <bruno@clisp.org>
43249
43250         * gnulib-tool: Allow specifying the LGPL version number through
43251         --lgpl=2 or --lgpl=3.
43252         (func_usage): Document --lgpl with argument.
43253         Handle --lgpl=... arguments.
43254         (func_import): Recognize also gl_LGPL calls with an argument. When
43255         --lgpl=2 is used and the module's license is just LGPL, report an
43256         error. Set sed_transform_lib_file according to the lgpl variable. In
43257         the generated files, use --lgpl or gl_LGPL invocations with argument,
43258         if necessary.
43259         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
43260         an LGPv2+ license.
43261         * doc/gnulib-tool.texi (Modified imports): Update explanation of
43262         gl_LGPL macro.
43263
43264 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43265             Bruno Haible  <bruno@clisp.org>
43266
43267         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
43268         (u16_uctomb_aux): Likewise.
43269         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
43270         !HAVE_INLINE.
43271         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
43272
43273 2007-10-28  Bruno Haible  <bruno@clisp.org>
43274
43275         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
43276         Invoke AM_GETTEXT_OPTION if it exists.
43277         * modules/vasprintf: Likewise.
43278         * modules/verror: Likewise.
43279         * modules/xprintf: Likewise.
43280         * modules/xvasprintf: Likewise.
43281
43282 2007-10-27  Ben Pfaff  <blp@gnu.org>
43283
43284         * lib/math.in.h: Define isfinite macro and prototypes for
43285         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
43286         implementations.
43287         * m4/math_h.m4: New substitutions for isfinite module.
43288         * lib/isfinite.c: New file.
43289         * m4/isfinite.m4: New file.
43290         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
43291         * modules/isfinite: New file.
43292         * modules/isfinite-tests: New file.
43293         * tests/tests-isfinite.c: New file.
43294         * doc/functions/isfinite.texi: Mention isfinite module.
43295         * MODULES.html.sh: Mention new module.
43296
43297 2007-10-27  Ben Pfaff  <blp@gnu.org>
43298
43299         Ralf Wildenhues reported that Tru64 4.0D declares the round
43300         functions but does not have definitions.
43301         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
43302         cannot be found in any library, set the output variable to
43303         "missing" instead of "".
43304         * m4/round.m4: Also use our substitute if we cannot find round in
43305         any library, even if it is declared.
43306         * m4/roundf.m4: Likewise for roundf.
43307         * m4/roundl.m4: Likewise for roundl.
43308         * lib/math.in.h: Undefine roundf, round, roundl before defining
43309         their replacements, to allow for hypothetical systems where these
43310         may be defined as macros but not available in libraries.
43311
43312 2007-10-27  Bruno Haible  <bruno@clisp.org>
43313
43314         * doc/gnulib.texi: Invoke @firstparagraphindent.
43315         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
43316         changes in gnulib.
43317         (Source changes): New section.
43318
43319 2007-10-26  Bruno Haible  <bruno@clisp.org>
43320
43321         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
43322         borrowed from autoconf.
43323
43324 2007-10-26  Bruno Haible  <bruno@clisp.org>
43325
43326         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
43327         strerror returned the empty string. Needed on HP-UX 11.00.
43328
43329 2007-10-24  Micah Cowan  <micah@cowan.name>
43330
43331         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
43332         * build-aux/bootstrap: Remove support for now-unnecessary option,
43333         --cvs-user, and envvars CVS_USER, CVS_RSH.
43334
43335 2007-10-24  Jim Meyering  <meyering@redhat.com>
43336
43337         Avoid diagnostics from sha1sum when there is no cached checksum.
43338         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
43339         if the po.s1 file hasn't been created yet.
43340
43341         * build-aux/bootstrap: Sync from coreutils:
43342         2007-10-24  Jim Meyering  <meyering@redhat.com>
43343         Get gnulib from the git repository, not from an obsolete cvs one.
43344         * build-aux/bootstrap: Suggestion from Micah Cowan.
43345         2007-10-04  Jim Meyering  <jim@meyering.net>
43346         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
43347         (update_po_files): Work also when there are no .po files in po/.
43348
43349 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43350
43351         * README: Append ".git" to git and cg examples.
43352         Problem reported by Benoit Sigoure.
43353
43354 2007-10-23  Micah Cowan  <micah@cowan.name>
43355
43356         * users.txt: Add wget.
43357
43358 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43359
43360         Fix linking of some unistdio tests on FreeBSD.
43361         * modules/unistdio/u16-vsnprintf-tests
43362         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
43363         * modules/unistdio/u16-vsprintf-tests
43364         (test_u16_vsnprintf1_LDADD): Likewise.
43365         * modules/unistdio/u32-vsnprintf-tests
43366         (test_u32_vsnprintf1_LDADD): Likewise.
43367         * modules/unistdio/u32-vsprintf-tests
43368         (test_u32_vsprintf1_LDADD): Likewise.
43369         * modules/unistdio/u8-vsnprintf-tests
43370         (test_u8_vsnprintf1_LDADD): Likewise.
43371         * modules/unistdio/u8-vsprintf-tests
43372         (test_u8_vsprintf1_LDADD): Likewise.
43373         * modules/unistdio/ulc-vsnprintf-tests
43374         (test_ulc_vsnprintf1_LDADD): Likewise.
43375         * modules/unistdio/ulc-vsprintf-tests
43376         (test_ulc_vsprintf1_LDADD): Likewise.
43377
43378         Fix linking of some uniconv tests on FreeBSD.
43379         * modules/uniconv/u16-conv-from-enc-tests
43380         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
43381         * modules/uniconv/u16-conv-to-enc-tests
43382         (test_u16_conv_to_enc_LDADD): Likewise.
43383         * modules/uniconv/u16-strconv-from-enc-tests
43384         (test_u16_strconv_from_enc_LDADD): Likewise.
43385         * modules/uniconv/u16-strconv-to-enc-tests
43386         (test_u16_strconv_to_enc_LDADD): Likewise.
43387         * modules/uniconv/u32-conv-from-enc-tests
43388         (test_u32_conv_from_enc_LDADD): Likewise.
43389         * modules/uniconv/u32-conv-to-enc-tests
43390         (test_u32_conv_to_enc_LDADD): Likewise.
43391         * modules/uniconv/u32-strconv-from-enc-tests
43392         (test_u32_strconv_from_enc_LDADD): Likewise.
43393         * modules/uniconv/u32-strconv-to-enc-tests
43394         (test_u32_strconv_to_enc_LDADD): Likewise.
43395         * modules/uniconv/u8-conv-from-enc-tests
43396         (test_u8_conv_from_enc_LDADD): Likewise.
43397         * modules/uniconv/u8-conv-to-enc-tests
43398         (test_u8_conv_to_enc_LDADD): Likewise.
43399         * modules/uniconv/u8-strconv-from-enc-tests
43400         (test_u8_strconv_from_enc_LDADD): Likewise.
43401         * modules/uniconv/u8-strconv-to-enc-tests
43402         (test_u8_strconv_to_enc_LDADD): Likewise.
43403
43404 2007-10-22  Bruno Haible  <bruno@clisp.org>
43405
43406         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
43407         size.
43408
43409 2007-10-22  Eric Blake  <ebb9@byu.net>
43410
43411         Tweak x*printf documentation.
43412         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
43413         variable name and comments.
43414         Suggested by Bruno Haible.
43415
43416 2007-10-22  Bruno Haible  <bruno@clisp.org>
43417
43418         * lib/acl.c (copy_acl): Fix file name in comment.
43419
43420 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43421
43422         Fix Tru64 problem with stdbool.h.
43423         * lib/stdbool.in.h (false, true):
43424         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
43425         Don't declare as an enum in this situation; it runs afoul of Tru64.
43426         Problem reported by Steven M. Schweda in
43427         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
43428
43429 2007-10-22  Eric Blake  <ebb9@byu.net>
43430
43431         Also wrap vf?printf.
43432         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
43433         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
43434         (xvprintf, xvfprintf): New functions.
43435
43436 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43437
43438         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
43439         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
43440
43441         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
43442         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
43443
43444 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43445
43446         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
43447         by Bruno Haible.
43448
43449 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43450
43451         * lib/getloadavg.c
43452         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
43453         Undef `sys' after including sys/table.h, for Tru64 4.0D.
43454
43455         * tests/test-i-ring.c: Work for C89.
43456
43457 2007-10-22  Bruno Haible  <bruno@clisp.org>
43458
43459         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
43460         -1u, in preprocessor expression, so that we don't test for the bug
43461         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
43462         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
43463
43464 2007-10-22  Eric Blake  <ebb9@byu.net>
43465
43466         * tests/test-yesno.sh: Silence stderr during test.
43467
43468 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43469
43470         * modules/crypto/gc-camellia: New file.
43471
43472         * m4/gc-camellia.m4: New file.
43473
43474         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
43475
43476         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
43477
43478 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43479
43480         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
43481         --help to stdout.  Reported by sms@antinode.org (Steven
43482         M. Schweda).
43483
43484 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43485
43486         * users.txt: Fix link to libksba.
43487
43488 2007-10-21  Ben Pfaff  <blp@gnu.org>
43489
43490         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
43491         round.c roundf implementation that depends on floorf and ceilf to
43492         be tested unconditionally.
43493
43494 2007-10-21  Ben Pfaff  <blp@gnu.org>
43495
43496         * m4/check-libm-func.m4: Removed.
43497         * m4/check-math-lib.m4: New file.
43498         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
43499         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
43500         definition and lack of AC_LIBOBJ([roundf]).
43501         * m4/roundl.m4: Ditto, and similarly for roundl.
43502         * modules/round: Reference new m4 file.
43503         * modules/roundf: Ditto.
43504         * modules/roundl: Ditto.
43505         * tests/test-round2.c (main): Use ROUND instead of round.
43506         Bug report from Bruno Haible.
43507
43508 2007-10-21  Bruno Haible  <bruno@clisp.org>
43509
43510         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
43511         context.
43512
43513 2007-10-21  Bruno Haible  <bruno@clisp.org>
43514
43515         * tests/test-wcwidth.c (main): Allow negative result for some control
43516         characters.
43517
43518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
43519         Needed on OSF/1 5.1.
43520
43521 2007-10-21  Bruno Haible  <bruno@clisp.org>
43522
43523         * tests/test-floorf1.c: Include isnanf.h.
43524         (main): Use isnanf() instead of isnan().
43525         * tests/test-ceilf1.c: Include isnanf.h.
43526         (main): Use isnanf() instead of isnan().
43527         * tests/test-truncf1.c: Include isnanf.h.
43528         (main): Use isnanf() instead of isnan().
43529         * tests/test-roundf1.c: Include isnanf.h.
43530         (main): Use isnanf() instead of isnan().
43531
43532 2007-10-21  Eric Blake  <ebb9@byu.net>
43533
43534         * users.txt: Update URL for m4.
43535
43536 2007-10-21  Bruno Haible  <bruno@clisp.org>
43537
43538         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
43539
43540 2007-10-21  Bruno Haible  <bruno@clisp.org>
43541
43542         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
43543         Git's management files if the CVS files are not present.
43544
43545 2007-10-20  Bruno Haible  <bruno@clisp.org>
43546
43547         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
43548         gcc-3.4.x.
43549
43550 2007-10-20  Ben Pfaff  <blp@gnu.org>
43551
43552         * lib/math.in.h: Declare round, roundf, roundl if we are providing
43553         implementations.
43554         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
43555         * lib/round.c: New file.
43556         * lib/roundf.c: New file.
43557         * lib/roundl.c: New file.
43558         * m4/round.m4: New file.
43559         * m4/roundf.m4: New file.
43560         * m4/roundl.m4: New file.
43561         * m4/check-libm-func-m4: New file.
43562         * modules/math: Replace round, roundf, roundl related @VARS@ in
43563         math.in.h.
43564         * modules/round: New file.
43565         * modules/round-tests: New file.
43566         * modules/roundf: New file.
43567         * modules/roundf-tests: New file.
43568         * modules/roundl: New file.
43569         * modules/roundl-tests: New file.
43570         * tests/test-round1.c: New file.
43571         * tests/test-round2.c: New file.
43572         * tests/test-roundf1.c: New file.
43573         * tests/test-roundf2.c: New file.
43574         * tests/test-roundl.c: New file.
43575         * doc/functions/round.texi: Mention round module.
43576         * doc/functions/roundf.texi: Mention roundf module.
43577         * doc/functions/roundl.texi: Mention roundl module.
43578         * MODULES.html.sh: Mention new modules.
43579         Thanks to Bruno Haible for suggestions.
43580
43581 2007-10-20  Jim Meyering  <meyering@redhat.com>
43582
43583         * lib/xprintf.c: Include <config.h> unconditionally.
43584
43585         Change xprintf's license to GPL.
43586         * modules/xprintf (License): s/LGPL/GPL/, since this module
43587         depends on modules (exit and exitfail) which are GPL.
43588         Suggestion from Bruno Haible.
43589
43590         xprintf fixes.
43591         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
43592         Use a clearer diagnostic.
43593         Patch from Bruno Haible.
43594
43595 2007-10-20  Bruno Haible  <bruno@clisp.org>
43596
43597         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
43598         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
43599         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43600
43601 2007-10-20  Bruno Haible  <bruno@clisp.org>
43602
43603         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
43604         precision in the comparison result > x - 1 or similar.
43605         * tests/test-ceilf2.c (correct_result_p): Likewise.
43606         * tests/test-truncf2.c (correct_result_p): Likewise.
43607         * tests/test-trunc2.c (correct_result_p): Likewise.
43608         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43609
43610 2007-10-20  Bruno Haible  <bruno@clisp.org>
43611
43612         * modules/ceil: New file.
43613         * m4/ceil.m4: New file.
43614         * doc/functions/ceil.texi: Mention the 'ceil' module.
43615
43616 2007-10-20  Bruno Haible  <bruno@clisp.org>
43617
43618         * modules/floor: New file.
43619         * m4/floor.m4: New file.
43620         * doc/functions/floor.texi: Mention the 'floor' module.
43621
43622 2007-10-20  Bruno Haible  <bruno@clisp.org>
43623
43624         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
43625         of %a.
43626         * modules/floorf-tests (Depends-on): Likewise.
43627         * modules/truncf-tests (Depends-on): Likewise.
43628         * modules/trunc-tests (Depends-on): Likewise.
43629         Reported by Ben Pfaff.
43630
43631 2007-10-19  Jim Meyering  <meyering@redhat.com>
43632
43633         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
43634         Don't bother testing specific errno values.  Just test ferror.
43635
43636         New module: xprintf
43637         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
43638
43639 2007-10-19  Bruno Haible  <bruno@clisp.org>
43640
43641         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
43642         syntax.
43643         * modules/javaexec (Makefile.am): Likewise.
43644         * modules/relocatable-prog (Makefile.am): Likewise.
43645         Suggested by Jim Meyering.
43646
43647 2007-10-18  Bruno Haible  <bruno@clisp.org>
43648
43649         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
43650         Reported by Jim Meyering.
43651
43652 2007-10-18  Eric Blake  <ebb9@byu.net>
43653
43654         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
43655
43656 2007-10-18  Bruno Haible  <bruno@clisp.org>
43657
43658         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
43659         the format string into writable memory. Needed in Fortify conditions.
43660
43661 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
43662             Bruno Haible  <bruno@clisp.org>
43663
43664         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
43665         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
43666         * modules/trim (Depends-on): Add mbchar.
43667         (configure.ac): Add gl_FUNC_MBRTOWC.
43668         (Makefile.am): Augment lib_SOURCES.
43669
43670 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43671
43672         Modify glob.c to use fstatat and dirfd, to simplify it.
43673         Suggested by Eric Blake.
43674         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
43675         Don't include <stdbool.h>; not used.
43676         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
43677         (link_exists_p): Simplify implementation, since we can now assume
43678         dirfd and fstatat.
43679         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
43680
43681 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43682
43683         * gnulib-tool (func_get_dependencies): Fix sed script to
43684         match only tests.
43685
43686 2007-10-17  Bruno Haible  <bruno@clisp.org>
43687
43688         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
43689         allow locale names without encoding suffix.
43690         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43691         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43692
43693 2007-10-16  Bruno Haible  <bruno@clisp.org>
43694
43695         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
43696         * lib/getgroups.c (getgroups): Likewise.
43697         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
43698
43699 2007-10-16  Bruno Haible  <bruno@clisp.org>
43700
43701         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
43702         * modules/malloc-posix (License): Likewise.
43703         * modules/realloc-posix (License): Likewise.
43704         * modules/calloc-posix (License): Likewise.
43705         * modules/intprops (License): Change from GPL to LGPL, with
43706         Paul Eggert's approval.
43707
43708 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43709
43710         Merge glibc changes into lib/glob.c.
43711
43712         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
43713         2007-10-15 04:59:03 UTC.  Here are the changes:
43714
43715         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
43716
43717         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
43718
43719         * lib/glob.c: Add some branch prediction throughout.
43720
43721         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
43722
43723         [BZ #5103]
43724         * lib/glob.c (glob): Recognize patterns starting \/.
43725
43726         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
43727
43728         [BZ #3996]
43729         * lib/glob.c (attribute_hidden): Define if not defined.
43730         (glob): Unescape dirname, filename or username when needed and not
43731         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
43732         is NULL.  Handle unescaped [ in pattern without closing ].
43733         Don't pass GLOB_CHECK down to recursive glob for directories.
43734         (__glob_pattern_type): New function.
43735         (__glob_pattern_p): Implement using __glob_pattern_type.
43736         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
43737         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
43738         Remove unreachable code.
43739
43740         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
43741
43742         * lib/glob.c (glob_in_dir): Add some comments and asserts to
43743         explain why there are no leaks.
43744
43745         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
43746
43747         [BZ #3253]
43748         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
43749         time, rather allocate increasingly bigger arrays of pointers, if
43750         possible with alloca, if too large with malloc.
43751
43752 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43753
43754         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
43755         Problem reported by H.Merijn Brand in
43756         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
43757         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
43758         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
43759
43760 2007-10-15  Bruno Haible  <bruno@clisp.org>
43761
43762         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
43763         with explicit rpl_ prefix.
43764         * lib/fopen.c (fopen): Likewise.
43765         * lib/freopen.c (freopen): Likewise.
43766         * lib/iconv.c (iconv): Likewise.
43767         * lib/iconv_close.c (iconv_close): Likewise.
43768
43769 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43770
43771         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
43772
43773 2007-10-15  Bruno Haible  <bruno@clisp.org>
43774
43775         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
43776         <stddef.h> instead of <stdlib.h> since we only need NULL.
43777         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43778
43779 2007-10-15  Bruno Haible  <bruno@clisp.org>
43780
43781         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
43782         Replace paragraph talking about LIBOBJS.
43783         Reported by Colin Watson <cjwatson@debian.org>.
43784
43785 2007-10-15  Bruno Haible  <bruno@clisp.org>
43786
43787         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
43788         <stdlib.h> before using NULL.
43789
43790 2007-10-15  Simon Josefsson  <simon@josefsson.org>
43791
43792         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
43793         Reported by Albert Chin <china@thewrittenword.com>.
43794
43795 2007-10-14  Bruno Haible  <bruno@clisp.org>
43796
43797         * modules/iconv_open-utf-tests: New file.
43798         * tests/test-iconv-utf.c: New file.
43799
43800         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43801         * modules/iconv_open-utf: New file.
43802         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43803         (iconv, iconv_close): New declarations.
43804         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43805         be defined.
43806         (iconv_open): Add special handling of conversion between UTF-8 and
43807         UTF-{16,32}{BE,LE}.
43808         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43809         * lib/iconv_close.c: New file.
43810         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43811         gl_FUNC_ICONV_OPEN.
43812         (gl_FUNC_ICONV_OPEN): Use it.
43813         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43814         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43815         and REPLACE_ICONV_UTF.
43816         * modules/iconv_open (Depends-on): Add c-strcase.
43817         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43818         ICONV_CONST.
43819         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43820
43821 2007-10-13  Albert Chin  <china@thewrittenword.com>
43822             Bruno Haible  <bruno@clisp.org>
43823
43824         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43825         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43826
43827 2007-10-13  Bruno Haible  <bruno@clisp.org>
43828
43829         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43830         defined, use the ISO C99 inline semantics.
43831         * lib/argp.h (ARGP_EI): Likewise.
43832
43833 2007-10-13  Bruno Haible  <bruno@clisp.org>
43834
43835         Handle 'inline' change in gcc 4.3.0.
43836         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43837         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43838         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43839         argp_fmtstream_point): Disable 'extern' declaration if the function
43840         definition is going to be provided inline.
43841         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43842         semantics, not the ISO C99 inline semantics.
43843         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43844         'extern' declaration if the function definition is going to be provided
43845         inline.
43846         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43847         the GNU C inline semantics, not the ISO C99 inline semantics. With
43848         GCC 4.2, avoid a warning.
43849
43850 2007-10-13  Bruno Haible  <bruno@clisp.org>
43851
43852         * lib/freading.h (freading): Enable the use of __freading for
43853         glibc >= 2.7.
43854         * lib/freading.c (freading): Likewise.
43855
43856 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43857
43858         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43859         "warning: C99 inline functions are not supported; using GNU89".
43860
43861 2007-10-12  Bruno Haible  <bruno@clisp.org>
43862
43863         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43864         of 2.
43865         * tests/test-ceilf2.c: New file.
43866         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43867
43868         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43869         * modules/ceilf-tests: Update.
43870
43871 2007-10-12  Bruno Haible  <bruno@clisp.org>
43872
43873         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43874         of 2.
43875         * tests/test-floorf2.c: New file.
43876         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43877
43878         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43879         * modules/floorf-tests: Update.
43880
43881 2007-10-12  Bruno Haible  <bruno@clisp.org>
43882
43883         * tests/test-trunc2.c: New file.
43884         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43885
43886         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43887         * modules/trunc-tests: Update.
43888
43889 2007-10-12  Bruno Haible  <bruno@clisp.org>
43890
43891         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43892         of 2.
43893         * tests/test-truncf2.c: New file.
43894         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43895
43896         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43897         * modules/truncf-tests: Update.
43898
43899 2007-10-11  Eric Blake  <ebb9@byu.net>
43900
43901         Don't claim strerror is broken on Interix.
43902         * doc/functions/strerror.texi (strerror): Known broken systems are
43903         now Solaris 8, and not Interix.
43904         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43905         Interix on cross-compile.
43906         Reported by Martin Koeppe in
43907         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43908
43909 2007-10-11  Bruno Haible  <bruno@clisp.org>
43910
43911         * modules/i-ring-tests: New file.
43912         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43913         instead of assert.
43914
43915 2007-10-11  Bruno Haible  <bruno@clisp.org>
43916
43917         * modules/filenamecat-tests: New file.
43918         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43919         * lib/filenamecat.c: Remove test code.
43920
43921 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43922
43923         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43924
43925         * lib/strerror.c: Include <string.h> always, to test interface,
43926         and to remove the need for the dummy.
43927         Include intprops.h to compute width instead of doing it ourselves
43928         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43929         (strerror): Define it to return NULL if there's no system strerror.
43930         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43931         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43932         ancient pre-strerror Unix systems well any more.  Saying "unknown
43933         system error" is enough.
43934         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43935         simpler strerror.c implementation.
43936         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43937         Simplify the tests to reflect the simpler strerror implementation.
43938         * modules/strerror (Depends-on): Add intprops.
43939
43940 2007-10-09  Eric Blake  <ebb9@byu.net>
43941
43942         Silence test-fpending.
43943         * modules/fpending-tests (Files): Add wrapper script.
43944         * tests/test-fpending.sh: New file.
43945
43946 2007-10-09  Bruno Haible  <bruno@clisp.org>
43947
43948         * MODULES.html.sh (func_module): Don't create a hyperlink for
43949         function names like 'printf_frexp'.
43950         (Misc): Add crc, memxor.
43951         (Characteristics of floating types): New section.
43952         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43953         isnanf-nolibm, signbit, trunc, truncf, truncl.
43954         (Enhancements for ISO C 99 functions): New subsection Input/output.
43955         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43956         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43957         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43958         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43959         (Enhancements for POSIX:2001 functions): Add chdir-long.
43960         (File system functions): Add areadlink, chdir-safer, read-file.
43961         Remove cycle-check.
43962         (File system as inode set): New section.
43963         (Date and time): Add gethrxtime.
43964         (Multithreading): Add openmp.
43965         (Internationalization functions): Add localename.
43966         (Unicode string functions): Add unistr/u*-mbsnlen.
43967         (Support for maintaining and releasing projects): Add git-version-gen.
43968         (Lone files): Remove directories.
43969
43970 2007-10-08  Ben Pfaff  <blp@gnu.org>
43971
43972         * lib/xmalloca.h: Fix typo in comment.
43973
43974 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43975
43976         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43977         when avoiding problems with integer overflow.  Use a portable test
43978         instead.
43979
43980 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43981
43982         * modules/dummy (License): Change to LGPLv2+.
43983         * modules/float (License): Likewise
43984         * modules/realloc (License): Likewise
43985         * modules/stdlib (License): Likewise
43986
43987 2007-10-07  Bruno Haible  <bruno@clisp.org>
43988
43989         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43990         * floor.c (TWO_MANT_DIG): Likewise.
43991         * ceil.c (TWO_MANT_DIG): Likewise.
43992         Reported by Ben Pfaff.
43993
43994 2007-10-07  Bruno Haible  <bruno@clisp.org>
43995
43996         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43997         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43998         * lib/frexp.c (FUNC): Likewise.
43999         * lib/printf-frexp.h (printf_frexp): Likewise.
44000         * lib/printf-frexpl.h (printf_frexpl): Likewise.
44001         * lib/printf-frexp.c (FUNC): Likewise.
44002         Suggested by Jim Meyering.
44003
44004 2007-10-07  Jim Meyering  <meyering@redhat.com>
44005
44006         Make xnanosleep's integer overflow test more robust.
44007         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
44008         so that gcc-4.3.0 doesn't optimize away this test for overflow.
44009
44010 2007-10-07  Bruno Haible  <bruno@clisp.org>
44011
44012         * NEWS: Mention the license change.
44013
44014         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
44015         abbreviations in the modules files.
44016
44017         Change copyright notice from GPLv2+ to GPLv3+.
44018         * README: Change copyright notice.
44019         * MODULES.html.sh: Likewise.
44020         * build-aux/bootstrap.conf: Likewise.
44021         * build-aux/config.libpath: Likewise.
44022         * build-aux/csharpcomp.sh.in: Likewise.
44023         * build-aux/csharpexec.sh.in: Likewise.
44024         * build-aux/install-reloc: Likewise.
44025         * build-aux/javacomp.sh.in: Likewise.
44026         * build-aux/javaexec.sh.in: Likewise.
44027         * build-aux/ldd.sh.in: Likewise.
44028         * build-aux/reloc-ldflags: Likewise.
44029         * build-aux/relocatable.sh.in: Likewise.
44030         * build-aux/x-to-1.in: Likewise.
44031         * check-module: Likewise.
44032         * config/srclistvars.sh: Likewise.
44033         * gnulib-tool: Likewise.
44034         * lib/acl-internal.h: Likewise.
44035         * lib/acl.c: Likewise.
44036         * lib/acl.h: Likewise.
44037         * lib/acl_entries.c: Likewise.
44038         * lib/areadlink-with-size.c: Likewise.
44039         * lib/areadlink.c: Likewise.
44040         * lib/areadlink.h: Likewise.
44041         * lib/argmatch.c: Likewise.
44042         * lib/argmatch.h: Likewise.
44043         * lib/argp-ba.c: Likewise.
44044         * lib/argp-eexst.c: Likewise.
44045         * lib/argp-fmtstream.c: Likewise.
44046         * lib/argp-fmtstream.h: Likewise.
44047         * lib/argp-fs-xinl.c: Likewise.
44048         * lib/argp-help.c: Likewise.
44049         * lib/argp-namefrob.h: Likewise.
44050         * lib/argp-parse.c: Likewise.
44051         * lib/argp-pin.c: Likewise.
44052         * lib/argp-pv.c: Likewise.
44053         * lib/argp-pvh.c: Likewise.
44054         * lib/argp-xinl.c: Likewise.
44055         * lib/argp.h: Likewise.
44056         * lib/at-func.c: Likewise.
44057         * lib/atanl.c: Likewise.
44058         * lib/backupfile.c: Likewise.
44059         * lib/backupfile.h: Likewise.
44060         * lib/basename.c: Likewise.
44061         * lib/binary-io.h: Likewise.
44062         * lib/byteswap.in.h: Likewise.
44063         * lib/c-stack.c: Likewise.
44064         * lib/c-stack.h: Likewise.
44065         * lib/c-strcasestr.c: Likewise.
44066         * lib/c-strcasestr.h: Likewise.
44067         * lib/c-strstr.c: Likewise.
44068         * lib/c-strstr.h: Likewise.
44069         * lib/c-strtod.c: Likewise.
44070         * lib/calloc.c: Likewise.
44071         * lib/canon-host.c: Likewise.
44072         * lib/canon-host.h: Likewise.
44073         * lib/canonicalize-lgpl.c: Likewise.
44074         * lib/canonicalize.c: Likewise.
44075         * lib/canonicalize.h: Likewise.
44076         * lib/ceil.c: Likewise.
44077         * lib/ceilf.c: Likewise.
44078         * lib/ceill.c: Likewise.
44079         * lib/chdir-long.c: Likewise.
44080         * lib/chdir-long.h: Likewise.
44081         * lib/chdir-safer.c: Likewise.
44082         * lib/chdir-safer.h: Likewise.
44083         * lib/chown.c: Likewise.
44084         * lib/classpath.c: Likewise.
44085         * lib/classpath.h: Likewise.
44086         * lib/clean-temp.c: Likewise.
44087         * lib/clean-temp.h: Likewise.
44088         * lib/cloexec.c: Likewise.
44089         * lib/close-stream.c: Likewise.
44090         * lib/closein.c: Likewise.
44091         * lib/closein.h: Likewise.
44092         * lib/closeout.c: Likewise.
44093         * lib/closeout.h: Likewise.
44094         * lib/concat-filename.c: Likewise.
44095         * lib/copy-file.c: Likewise.
44096         * lib/copy-file.h: Likewise.
44097         * lib/count-one-bits.h: Likewise.
44098         * lib/crc.c: Likewise.
44099         * lib/crc.h: Likewise.
44100         * lib/creat-safer.c: Likewise.
44101         * lib/csharpcomp.c: Likewise.
44102         * lib/csharpcomp.h: Likewise.
44103         * lib/csharpexec.c: Likewise.
44104         * lib/csharpexec.h: Likewise.
44105         * lib/cycle-check.c: Likewise.
44106         * lib/cycle-check.h: Likewise.
44107         * lib/diacrit.c: Likewise.
44108         * lib/diacrit.h: Likewise.
44109         * lib/diffseq.h: Likewise.
44110         * lib/dirchownmod.c: Likewise.
44111         * lib/dirent.in.h: Likewise.
44112         * lib/dirfd.c: Likewise.
44113         * lib/dirfd.h: Likewise.
44114         * lib/dirname.c: Likewise.
44115         * lib/dirname.h: Likewise.
44116         * lib/dummy.c: Likewise.
44117         * lib/dup-safer.c: Likewise.
44118         * lib/dup2.c: Likewise.
44119         * lib/eealloc.h: Likewise.
44120         * lib/error.c: Likewise.
44121         * lib/error.h: Likewise.
44122         * lib/euidaccess.c: Likewise.
44123         * lib/exclude.c: Likewise.
44124         * lib/exclude.h: Likewise.
44125         * lib/execute.c: Likewise.
44126         * lib/execute.h: Likewise.
44127         * lib/exitfail.c: Likewise.
44128         * lib/exitfail.h: Likewise.
44129         * lib/expl.c: Likewise.
44130         * lib/fatal-signal.c: Likewise.
44131         * lib/fatal-signal.h: Likewise.
44132         * lib/fbufmode.c: Likewise.
44133         * lib/fbufmode.h: Likewise.
44134         * lib/fchdir.c: Likewise.
44135         * lib/fchmodat.c: Likewise.
44136         * lib/fchownat.c: Likewise.
44137         * lib/fcntl--.h: Likewise.
44138         * lib/fcntl-safer.h: Likewise.
44139         * lib/fcntl.in.h: Likewise.
44140         * lib/fd-safer.c: Likewise.
44141         * lib/fflush.c: Likewise.
44142         * lib/file-has-acl.c: Likewise.
44143         * lib/file-set.c: Likewise.
44144         * lib/file-type.c: Likewise.
44145         * lib/file-type.h: Likewise.
44146         * lib/fileblocks.c: Likewise.
44147         * lib/filemode.c: Likewise.
44148         * lib/filemode.h: Likewise.
44149         * lib/filename.h: Likewise.
44150         * lib/filenamecat.c: Likewise.
44151         * lib/filenamecat.h: Likewise.
44152         * lib/findprog.c: Likewise.
44153         * lib/findprog.h: Likewise.
44154         * lib/float.in.h: Likewise.
44155         * lib/floor.c: Likewise.
44156         * lib/floorf.c: Likewise.
44157         * lib/floorl.c: Likewise.
44158         * lib/fopen-safer.c: Likewise.
44159         * lib/fopen.c: Likewise.
44160         * lib/fpending.c: Likewise.
44161         * lib/fpending.h: Likewise.
44162         * lib/fprintf.c: Likewise.
44163         * lib/fprintftime.h: Likewise.
44164         * lib/fpucw.h: Likewise.
44165         * lib/fpurge.c: Likewise.
44166         * lib/fpurge.h: Likewise.
44167         * lib/freadable.c: Likewise.
44168         * lib/freadable.h: Likewise.
44169         * lib/freadahead.c: Likewise.
44170         * lib/freadahead.h: Likewise.
44171         * lib/freading.c: Likewise.
44172         * lib/freading.h: Likewise.
44173         * lib/free.c: Likewise.
44174         * lib/freopen.c: Likewise.
44175         * lib/frexp.c: Likewise.
44176         * lib/frexpl.c: Likewise.
44177         * lib/fseek.c: Likewise.
44178         * lib/fseterr.c: Likewise.
44179         * lib/fseterr.h: Likewise.
44180         * lib/fstatat.c: Likewise.
44181         * lib/fstrcmp.c: Likewise.
44182         * lib/fstrcmp.h: Likewise.
44183         * lib/fsusage.c: Likewise.
44184         * lib/fsusage.h: Likewise.
44185         * lib/ftell.c: Likewise.
44186         * lib/ftello.c: Likewise.
44187         * lib/fts-cycle.c: Likewise.
44188         * lib/fts.c: Likewise.
44189         * lib/fts_.h: Likewise.
44190         * lib/full-read.c: Likewise.
44191         * lib/full-read.h: Likewise.
44192         * lib/full-write.c: Likewise.
44193         * lib/full-write.h: Likewise.
44194         * lib/fwritable.c: Likewise.
44195         * lib/fwritable.h: Likewise.
44196         * lib/fwriteerror.c: Likewise.
44197         * lib/fwriteerror.h: Likewise.
44198         * lib/fwriting.c: Likewise.
44199         * lib/fwriting.h: Likewise.
44200         * lib/gcd.c: Likewise.
44201         * lib/gcd.h: Likewise.
44202         * lib/getcwd.c: Likewise.
44203         * lib/getdate.h: Likewise.
44204         * lib/getdate.y: Likewise.
44205         * lib/getdomainname.c: Likewise.
44206         * lib/getdomainname.h: Likewise.
44207         * lib/getgroups.c: Likewise.
44208         * lib/gethostname.c: Likewise.
44209         * lib/gethrxtime.c: Likewise.
44210         * lib/gethrxtime.h: Likewise.
44211         * lib/getloadavg.c: Likewise.
44212         * lib/getndelim2.c: Likewise.
44213         * lib/getndelim2.h: Likewise.
44214         * lib/getnline.c: Likewise.
44215         * lib/getnline.h: Likewise.
44216         * lib/getopt.c: Likewise.
44217         * lib/getopt.in.h: Likewise.
44218         * lib/getopt1.c: Likewise.
44219         * lib/getopt_int.h: Likewise.
44220         * lib/getpagesize.h: Likewise.
44221         * lib/getsubopt.c: Likewise.
44222         * lib/gettime.c: Likewise.
44223         * lib/getugroups.c: Likewise.
44224         * lib/getugroups.h: Likewise.
44225         * lib/getusershell.c: Likewise.
44226         * lib/gl_anyavltree_list1.h: Likewise.
44227         * lib/gl_anyavltree_list2.h: Likewise.
44228         * lib/gl_anyhash_list1.h: Likewise.
44229         * lib/gl_anyhash_list2.h: Likewise.
44230         * lib/gl_anylinked_list1.h: Likewise.
44231         * lib/gl_anylinked_list2.h: Likewise.
44232         * lib/gl_anyrbtree_list1.h: Likewise.
44233         * lib/gl_anyrbtree_list2.h: Likewise.
44234         * lib/gl_anytree_list1.h: Likewise.
44235         * lib/gl_anytree_list2.h: Likewise.
44236         * lib/gl_anytree_oset.h: Likewise.
44237         * lib/gl_anytreehash_list1.h: Likewise.
44238         * lib/gl_anytreehash_list2.h: Likewise.
44239         * lib/gl_array_list.c: Likewise.
44240         * lib/gl_array_list.h: Likewise.
44241         * lib/gl_array_oset.c: Likewise.
44242         * lib/gl_array_oset.h: Likewise.
44243         * lib/gl_avltree_list.c: Likewise.
44244         * lib/gl_avltree_list.h: Likewise.
44245         * lib/gl_avltree_oset.c: Likewise.
44246         * lib/gl_avltree_oset.h: Likewise.
44247         * lib/gl_avltreehash_list.c: Likewise.
44248         * lib/gl_avltreehash_list.h: Likewise.
44249         * lib/gl_carray_list.c: Likewise.
44250         * lib/gl_carray_list.h: Likewise.
44251         * lib/gl_linked_list.c: Likewise.
44252         * lib/gl_linked_list.h: Likewise.
44253         * lib/gl_linkedhash_list.c: Likewise.
44254         * lib/gl_linkedhash_list.h: Likewise.
44255         * lib/gl_list.c: Likewise.
44256         * lib/gl_list.h: Likewise.
44257         * lib/gl_oset.c: Likewise.
44258         * lib/gl_oset.h: Likewise.
44259         * lib/gl_rbtree_list.c: Likewise.
44260         * lib/gl_rbtree_list.h: Likewise.
44261         * lib/gl_rbtree_oset.c: Likewise.
44262         * lib/gl_rbtree_oset.h: Likewise.
44263         * lib/gl_rbtreehash_list.c: Likewise.
44264         * lib/gl_rbtreehash_list.h: Likewise.
44265         * lib/gl_sublist.c: Likewise.
44266         * lib/gl_sublist.h: Likewise.
44267         * lib/group-member.c: Likewise.
44268         * lib/group-member.h: Likewise.
44269         * lib/hard-locale.c: Likewise.
44270         * lib/hard-locale.h: Likewise.
44271         * lib/hash-pjw.c: Likewise.
44272         * lib/hash-pjw.h: Likewise.
44273         * lib/hash-triple.c: Likewise.
44274         * lib/hash.c: Likewise.
44275         * lib/hash.h: Likewise.
44276         * lib/human.c: Likewise.
44277         * lib/human.h: Likewise.
44278         * lib/i-ring.c: Likewise.
44279         * lib/i-ring.h: Likewise.
44280         * lib/idcache.c: Likewise.
44281         * lib/imaxabs.c: Likewise.
44282         * lib/imaxdiv.c: Likewise.
44283         * lib/inet_pton.c: Likewise.
44284         * lib/inet_pton.h: Likewise.
44285         * lib/intprops.h: Likewise.
44286         * lib/inttostr.c: Likewise.
44287         * lib/inttostr.h: Likewise.
44288         * lib/inttypes.in.h: Likewise.
44289         * lib/isapipe.c: Likewise.
44290         * lib/isdir.c: Likewise.
44291         * lib/isnan.c: Likewise.
44292         * lib/isnan.h: Likewise.
44293         * lib/isnanf.c: Likewise.
44294         * lib/isnanf.h: Likewise.
44295         * lib/isnanl-nolibm.h: Likewise.
44296         * lib/isnanl.c: Likewise.
44297         * lib/isnanl.h: Likewise.
44298         * lib/javacomp.c: Likewise.
44299         * lib/javacomp.h: Likewise.
44300         * lib/javaexec.c: Likewise.
44301         * lib/javaexec.h: Likewise.
44302         * lib/javaversion.c: Likewise.
44303         * lib/javaversion.h: Likewise.
44304         * lib/javaversion.java: Likewise.
44305         * lib/lbrkprop.h: Likewise.
44306         * lib/lchmod.h: Likewise.
44307         * lib/lchown.c: Likewise.
44308         * lib/ldexpl.c: Likewise.
44309         * lib/linebreak.c: Likewise.
44310         * lib/linebreak.h: Likewise.
44311         * lib/linebuffer.c: Likewise.
44312         * lib/linebuffer.h: Likewise.
44313         * lib/locale.in.h: Likewise.
44314         * lib/logl.c: Likewise.
44315         * lib/long-options.c: Likewise.
44316         * lib/long-options.h: Likewise.
44317         * lib/lstat.c: Likewise.
44318         * lib/lstat.h: Likewise.
44319         * lib/math.in.h: Likewise.
44320         * lib/mbchar.c: Likewise.
44321         * lib/mbchar.h: Likewise.
44322         * lib/mbfile.h: Likewise.
44323         * lib/mbiter.h: Likewise.
44324         * lib/mbscasecmp.c: Likewise.
44325         * lib/mbscasestr.c: Likewise.
44326         * lib/mbschr.c: Likewise.
44327         * lib/mbscspn.c: Likewise.
44328         * lib/mbslen.c: Likewise.
44329         * lib/mbsncasecmp.c: Likewise.
44330         * lib/mbsnlen.c: Likewise.
44331         * lib/mbspbrk.c: Likewise.
44332         * lib/mbspcasecmp.c: Likewise.
44333         * lib/mbsrchr.c: Likewise.
44334         * lib/mbssep.c: Likewise.
44335         * lib/mbsspn.c: Likewise.
44336         * lib/mbsstr.c: Likewise.
44337         * lib/mbstok_r.c: Likewise.
44338         * lib/mbswidth.c: Likewise.
44339         * lib/mbswidth.h: Likewise.
44340         * lib/mbuiter.h: Likewise.
44341         * lib/memcasecmp.c: Likewise.
44342         * lib/memcasecmp.h: Likewise.
44343         * lib/memchr.c: Likewise.
44344         * lib/memcmp.c: Likewise.
44345         * lib/memcoll.c: Likewise.
44346         * lib/memcoll.h: Likewise.
44347         * lib/memcpy.c: Likewise.
44348         * lib/memrchr.c: Likewise.
44349         * lib/mkancesdirs.c: Likewise.
44350         * lib/mkdir-p.c: Likewise.
44351         * lib/mkdir-p.h: Likewise.
44352         * lib/mkdir.c: Likewise.
44353         * lib/mkdirat.c: Likewise.
44354         * lib/mkdtemp.c: Likewise.
44355         * lib/mkstemp-safer.c: Likewise.
44356         * lib/mkstemp.c: Likewise.
44357         * lib/modechange.c: Likewise.
44358         * lib/modechange.h: Likewise.
44359         * lib/mountlist.c: Likewise.
44360         * lib/mountlist.h: Likewise.
44361         * lib/mpsort.c: Likewise.
44362         * lib/nanosleep.c: Likewise.
44363         * lib/obstack.c: Likewise.
44364         * lib/obstack.h: Likewise.
44365         * lib/open-safer.c: Likewise.
44366         * lib/open.c: Likewise.
44367         * lib/openat-die.c: Likewise.
44368         * lib/openat-priv.h: Likewise.
44369         * lib/openat-proc.c: Likewise.
44370         * lib/openat.c: Likewise.
44371         * lib/openat.h: Likewise.
44372         * lib/pagealign_alloc.c: Likewise.
44373         * lib/pagealign_alloc.h: Likewise.
44374         * lib/physmem.c: Likewise.
44375         * lib/physmem.h: Likewise.
44376         * lib/pipe-safer.c: Likewise.
44377         * lib/pipe.c: Likewise.
44378         * lib/pipe.h: Likewise.
44379         * lib/posixtm.c: Likewise.
44380         * lib/posixtm.h: Likewise.
44381         * lib/posixver.c: Likewise.
44382         * lib/printf-frexp.c: Likewise.
44383         * lib/printf-frexp.h: Likewise.
44384         * lib/printf-frexpl.c: Likewise.
44385         * lib/printf-frexpl.h: Likewise.
44386         * lib/printf.c: Likewise.
44387         * lib/progname.c: Likewise.
44388         * lib/progname.h: Likewise.
44389         * lib/progreloc.c: Likewise.
44390         * lib/putenv.c: Likewise.
44391         * lib/quote.c: Likewise.
44392         * lib/quote.h: Likewise.
44393         * lib/quotearg.c: Likewise.
44394         * lib/quotearg.h: Likewise.
44395         * lib/raise.c: Likewise.
44396         * lib/readline.c: Likewise.
44397         * lib/readline.h: Likewise.
44398         * lib/readlink.c: Likewise.
44399         * lib/readtokens.c: Likewise.
44400         * lib/readtokens.h: Likewise.
44401         * lib/readtokens0.c: Likewise.
44402         * lib/readtokens0.h: Likewise.
44403         * lib/readutmp.c: Likewise.
44404         * lib/readutmp.h: Likewise.
44405         * lib/realloc.c: Likewise.
44406         * lib/relocwrapper.c: Likewise.
44407         * lib/rename-dest-slash.c: Likewise.
44408         * lib/rename.c: Likewise.
44409         * lib/rmdir.c: Likewise.
44410         * lib/rpmatch.c: Likewise.
44411         * lib/safe-read.c: Likewise.
44412         * lib/safe-read.h: Likewise.
44413         * lib/safe-write.c: Likewise.
44414         * lib/safe-write.h: Likewise.
44415         * lib/same-inode.h: Likewise.
44416         * lib/same.c: Likewise.
44417         * lib/same.h: Likewise.
44418         * lib/save-cwd.c: Likewise.
44419         * lib/save-cwd.h: Likewise.
44420         * lib/savedir.c: Likewise.
44421         * lib/savedir.h: Likewise.
44422         * lib/savewd.c: Likewise.
44423         * lib/savewd.h: Likewise.
44424         * lib/search.in.h: Likewise.
44425         * lib/setenv.c: Likewise.
44426         * lib/setenv.h: Likewise.
44427         * lib/settime.c: Likewise.
44428         * lib/sh-quote.c: Likewise.
44429         * lib/sh-quote.h: Likewise.
44430         * lib/sig2str.c: Likewise.
44431         * lib/sig2str.h: Likewise.
44432         * lib/signal.in.h: Likewise.
44433         * lib/signbitd.c: Likewise.
44434         * lib/signbitf.c: Likewise.
44435         * lib/signbitl.c: Likewise.
44436         * lib/sigprocmask.c: Likewise.
44437         * lib/sincosl.c: Likewise.
44438         * lib/sleep.c: Likewise.
44439         * lib/sprintf.c: Likewise.
44440         * lib/sqrtl.c: Likewise.
44441         * lib/stat-time.h: Likewise.
44442         * lib/stdio--.h: Likewise.
44443         * lib/stdio-safer.h: Likewise.
44444         * lib/stdlib--.h: Likewise.
44445         * lib/stdlib-safer.h: Likewise.
44446         * lib/stdlib.in.h: Likewise.
44447         * lib/stpcpy.c: Likewise.
44448         * lib/stpncpy.c: Likewise.
44449         * lib/strchrnul.c: Likewise.
44450         * lib/strcspn.c: Likewise.
44451         * lib/strerror.c: Likewise.
44452         * lib/strftime.c: Likewise.
44453         * lib/strftime.h: Likewise.
44454         * lib/striconveh.c: Likewise.
44455         * lib/striconveh.h: Likewise.
44456         * lib/striconveha.c: Likewise.
44457         * lib/striconveha.h: Likewise.
44458         * lib/stripslash.c: Likewise.
44459         * lib/strnlen1.c: Likewise.
44460         * lib/strnlen1.h: Likewise.
44461         * lib/strtod.c: Likewise.
44462         * lib/strtoimax.c: Likewise.
44463         * lib/strtok_r.c: Likewise.
44464         * lib/strtol.c: Likewise.
44465         * lib/strtoll.c: Likewise.
44466         * lib/strtoul.c: Likewise.
44467         * lib/strtoull.c: Likewise.
44468         * lib/sysexits.in.h: Likewise.
44469         * lib/tempname.c: Likewise.
44470         * lib/tempname.h: Likewise.
44471         * lib/timespec.h: Likewise.
44472         * lib/tls.c: Likewise.
44473         * lib/tls.h: Likewise.
44474         * lib/tmpdir.c: Likewise.
44475         * lib/tmpdir.h: Likewise.
44476         * lib/tmpfile-safer.c: Likewise.
44477         * lib/tmpfile.c: Likewise.
44478         * lib/trigl.c: Likewise.
44479         * lib/trigl.h: Likewise.
44480         * lib/trim.c: Likewise.
44481         * lib/trim.h: Likewise.
44482         * lib/trunc.c: Likewise.
44483         * lib/truncf.c: Likewise.
44484         * lib/truncl.c: Likewise.
44485         * lib/tsearch.c: Likewise.
44486         * lib/unicodeio.c: Likewise.
44487         * lib/unicodeio.h: Likewise.
44488         * lib/unistd--.h: Likewise.
44489         * lib/unistd-safer.h: Likewise.
44490         * lib/unistdio/ulc-fprintf.c: Likewise.
44491         * lib/unistdio/ulc-vfprintf.c: Likewise.
44492         * lib/unlinkdir.c: Likewise.
44493         * lib/unlinkdir.h: Likewise.
44494         * lib/unlocked-io.h: Likewise.
44495         * lib/unsetenv.c: Likewise.
44496         * lib/userspec.c: Likewise.
44497         * lib/utime.c: Likewise.
44498         * lib/utimecmp.c: Likewise.
44499         * lib/utimecmp.h: Likewise.
44500         * lib/utimens.c: Likewise.
44501         * lib/verify.h: Likewise.
44502         * lib/verror.c: Likewise.
44503         * lib/verror.h: Likewise.
44504         * lib/version-etc-fsf.c: Likewise.
44505         * lib/version-etc.c: Likewise.
44506         * lib/version-etc.h: Likewise.
44507         * lib/vfprintf.c: Likewise.
44508         * lib/vprintf.c: Likewise.
44509         * lib/vsprintf.c: Likewise.
44510         * lib/w32spawn.h: Likewise.
44511         * lib/wait-process.c: Likewise.
44512         * lib/wait-process.h: Likewise.
44513         * lib/wcwidth.c: Likewise.
44514         * lib/write-any-file.c: Likewise.
44515         * lib/xalloc-die.c: Likewise.
44516         * lib/xalloc.h: Likewise.
44517         * lib/xasprintf.c: Likewise.
44518         * lib/xgetcwd.c: Likewise.
44519         * lib/xgetcwd.h: Likewise.
44520         * lib/xgetdomainname.c: Likewise.
44521         * lib/xgetdomainname.h: Likewise.
44522         * lib/xgethostname.c: Likewise.
44523         * lib/xmalloc.c: Likewise.
44524         * lib/xmalloca.c: Likewise.
44525         * lib/xmalloca.h: Likewise.
44526         * lib/xmemcoll.c: Likewise.
44527         * lib/xnanosleep.c: Likewise.
44528         * lib/xreadlink.c: Likewise.
44529         * lib/xreadlink.h: Likewise.
44530         * lib/xsetenv.c: Likewise.
44531         * lib/xsetenv.h: Likewise.
44532         * lib/xstriconv.c: Likewise.
44533         * lib/xstriconv.h: Likewise.
44534         * lib/xstrndup.c: Likewise.
44535         * lib/xstrndup.h: Likewise.
44536         * lib/xstrtod.c: Likewise.
44537         * lib/xstrtod.h: Likewise.
44538         * lib/xstrtol-error.c: Likewise.
44539         * lib/xstrtol.c: Likewise.
44540         * lib/xstrtol.h: Likewise.
44541         * lib/xtime.h: Likewise.
44542         * lib/xvasprintf.c: Likewise.
44543         * lib/xvasprintf.h: Likewise.
44544         * lib/yesno.c: Likewise.
44545         * lib/yesno.h: Likewise.
44546         * posix-modules: Likewise.
44547         * tests/test-alloca-opt.c: Likewise.
44548         * tests/test-arcfour.c: Likewise.
44549         * tests/test-arctwo.c: Likewise.
44550         * tests/test-argmatch.c: Likewise.
44551         * tests/test-argp-2.sh: Likewise.
44552         * tests/test-argp.c: Likewise.
44553         * tests/test-arpa_inet.c: Likewise.
44554         * tests/test-array_list.c: Likewise.
44555         * tests/test-array_oset.c: Likewise.
44556         * tests/test-atexit.c: Likewise.
44557         * tests/test-avltree_list.c: Likewise.
44558         * tests/test-avltree_oset.c: Likewise.
44559         * tests/test-avltreehash_list.c: Likewise.
44560         * tests/test-base64.c: Likewise.
44561         * tests/test-binary-io.c: Likewise.
44562         * tests/test-byteswap.c: Likewise.
44563         * tests/test-c-ctype.c: Likewise.
44564         * tests/test-c-strcasecmp.c: Likewise.
44565         * tests/test-c-strcasestr.c: Likewise.
44566         * tests/test-c-strncasecmp.c: Likewise.
44567         * tests/test-c-strstr.c: Likewise.
44568         * tests/test-canonicalize-lgpl.c: Likewise.
44569         * tests/test-canonicalize.c: Likewise.
44570         * tests/test-carray_list.c: Likewise.
44571         * tests/test-ceilf.c: Likewise.
44572         * tests/test-ceill.c: Likewise.
44573         * tests/test-count-one-bits.c: Likewise.
44574         * tests/test-crc.c: Likewise.
44575         * tests/test-dirname.c: Likewise.
44576         * tests/test-fbufmode.c: Likewise.
44577         * tests/test-fcntl.c: Likewise.
44578         * tests/test-fflush.c: Likewise.
44579         * tests/test-floorf.c: Likewise.
44580         * tests/test-floorl.c: Likewise.
44581         * tests/test-fopen.c: Likewise.
44582         * tests/test-fprintf-posix.c: Likewise.
44583         * tests/test-fprintf-posix.h: Likewise.
44584         * tests/test-fpurge.c: Likewise.
44585         * tests/test-freadable.c: Likewise.
44586         * tests/test-freadahead.c: Likewise.
44587         * tests/test-freading.c: Likewise.
44588         * tests/test-freopen.c: Likewise.
44589         * tests/test-frexp.c: Likewise.
44590         * tests/test-frexpl.c: Likewise.
44591         * tests/test-fseek.c: Likewise.
44592         * tests/test-fseeko.c: Likewise.
44593         * tests/test-fseterr.c: Likewise.
44594         * tests/test-fstrcmp.c: Likewise.
44595         * tests/test-ftell.c: Likewise.
44596         * tests/test-ftello.c: Likewise.
44597         * tests/test-fwritable.c: Likewise.
44598         * tests/test-fwriting.c: Likewise.
44599         * tests/test-getaddrinfo.c: Likewise.
44600         * tests/test-getpass.c: Likewise.
44601         * tests/test-gettimeofday.c: Likewise.
44602         * tests/test-hmac-md5.c: Likewise.
44603         * tests/test-hmac-sha1.c: Likewise.
44604         * tests/test-iconv.c: Likewise.
44605         * tests/test-iconvme.c: Likewise.
44606         * tests/test-inttypes.c: Likewise.
44607         * tests/test-isnan.c: Likewise.
44608         * tests/test-isnanf.c: Likewise.
44609         * tests/test-isnanl-nolibm.c: Likewise.
44610         * tests/test-isnanl.c: Likewise.
44611         * tests/test-isnanl.h: Likewise.
44612         * tests/test-ldexpl.c: Likewise.
44613         * tests/test-linked_list.c: Likewise.
44614         * tests/test-linkedhash_list.c: Likewise.
44615         * tests/test-locale.c: Likewise.
44616         * tests/test-localename.c: Likewise.
44617         * tests/test-lock.c: Likewise.
44618         * tests/test-lseek.c: Likewise.
44619         * tests/test-malloca.c: Likewise.
44620         * tests/test-math.c: Likewise.
44621         * tests/test-mbscasecmp.c: Likewise.
44622         * tests/test-mbscasestr1.c: Likewise.
44623         * tests/test-mbscasestr2.c: Likewise.
44624         * tests/test-mbscasestr3.c: Likewise.
44625         * tests/test-mbscasestr4.c: Likewise.
44626         * tests/test-mbschr.c: Likewise.
44627         * tests/test-mbscspn.c: Likewise.
44628         * tests/test-mbsncasecmp.c: Likewise.
44629         * tests/test-mbspbrk.c: Likewise.
44630         * tests/test-mbspcasecmp.c: Likewise.
44631         * tests/test-mbsrchr.c: Likewise.
44632         * tests/test-mbsspn.c: Likewise.
44633         * tests/test-mbsstr1.c: Likewise.
44634         * tests/test-mbsstr2.c: Likewise.
44635         * tests/test-mbsstr3.c: Likewise.
44636         * tests/test-md5.c: Likewise.
44637         * tests/test-memmem.c: Likewise.
44638         * tests/test-netinet_in.c: Likewise.
44639         * tests/test-open.c: Likewise.
44640         * tests/test-printf-frexp.c: Likewise.
44641         * tests/test-printf-frexpl.c: Likewise.
44642         * tests/test-printf-posix.c: Likewise.
44643         * tests/test-printf-posix.h: Likewise.
44644         * tests/test-rbtree_list.c: Likewise.
44645         * tests/test-rbtree_oset.c: Likewise.
44646         * tests/test-rbtreehash_list.c: Likewise.
44647         * tests/test-read-file.c: Likewise.
44648         * tests/test-rijndael.c: Likewise.
44649         * tests/test-search.c: Likewise.
44650         * tests/test-signbit.c: Likewise.
44651         * tests/test-sleep.c: Likewise.
44652         * tests/test-snprintf-posix.c: Likewise.
44653         * tests/test-snprintf-posix.h: Likewise.
44654         * tests/test-snprintf.c: Likewise.
44655         * tests/test-sprintf-posix.c: Likewise.
44656         * tests/test-sprintf-posix.h: Likewise.
44657         * tests/test-stat-time.c: Likewise.
44658         * tests/test-stdbool.c: Likewise.
44659         * tests/test-stdint.c: Likewise.
44660         * tests/test-stdio.c: Likewise.
44661         * tests/test-stdlib.c: Likewise.
44662         * tests/test-stpncpy.c: Likewise.
44663         * tests/test-strcasestr.c: Likewise.
44664         * tests/test-striconv.c: Likewise.
44665         * tests/test-striconveh.c: Likewise.
44666         * tests/test-striconveha.c: Likewise.
44667         * tests/test-string.c: Likewise.
44668         * tests/test-sys_select.c: Likewise.
44669         * tests/test-sys_socket.c: Likewise.
44670         * tests/test-sys_stat.c: Likewise.
44671         * tests/test-sys_time.c: Likewise.
44672         * tests/test-sysexits.c: Likewise.
44673         * tests/test-time.c: Likewise.
44674         * tests/test-tls.c: Likewise.
44675         * tests/test-trunc.c: Likewise.
44676         * tests/test-truncf.c: Likewise.
44677         * tests/test-truncl.c: Likewise.
44678         * tests/test-unistd.c: Likewise.
44679         * tests/test-vasnprintf-posix.c: Likewise.
44680         * tests/test-vasnprintf-posix2.c: Likewise.
44681         * tests/test-vasnprintf.c: Likewise.
44682         * tests/test-vasprintf-posix.c: Likewise.
44683         * tests/test-vasprintf.c: Likewise.
44684         * tests/test-verify.c: Likewise.
44685         * tests/test-vfprintf-posix.c: Likewise.
44686         * tests/test-vprintf-posix.c: Likewise.
44687         * tests/test-vsnprintf-posix.c: Likewise.
44688         * tests/test-vsnprintf.c: Likewise.
44689         * tests/test-vsprintf-posix.c: Likewise.
44690         * tests/test-wchar.c: Likewise.
44691         * tests/test-wctype.c: Likewise.
44692         * tests/test-wcwidth.c: Likewise.
44693         * tests/test-xstrtol.c: Likewise.
44694         * tests/test-xvasprintf.c: Likewise.
44695         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
44696         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
44697         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
44698         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
44699         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
44700         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
44701         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
44702         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
44703         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
44704         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
44705         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
44706         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
44707         * tests/uniname/test-uninames.c: Likewise.
44708         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
44709         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
44710         * tests/unistdio/test-u16-printf1.h: Likewise.
44711         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
44712         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
44713         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
44714         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
44715         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
44716         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
44717         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
44718         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
44719         * tests/unistdio/test-u32-printf1.h: Likewise.
44720         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
44721         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
44722         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
44723         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
44724         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
44725         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
44726         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
44727         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
44728         * tests/unistdio/test-u8-printf1.h: Likewise.
44729         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
44730         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
44731         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
44732         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
44733         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
44734         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
44735         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
44736         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
44737         * tests/unistdio/test-ulc-printf1.h: Likewise.
44738         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
44739         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
44740         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
44741         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
44742         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
44743         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
44744         * tests/uniwidth/test-u16-strwidth.c: Likewise.
44745         * tests/uniwidth/test-u16-width.c: Likewise.
44746         * tests/uniwidth/test-u32-strwidth.c: Likewise.
44747         * tests/uniwidth/test-u32-width.c: Likewise.
44748         * tests/uniwidth/test-u8-strwidth.c: Likewise.
44749         * tests/uniwidth/test-u8-width.c: Likewise.
44750         * tests/uniwidth/test-uc_width.c: Likewise.
44751         * config/srclist-update: Likewise.
44752         (fixlicense): Update to GPLv3+.
44753
44754         Change copyright notice from LGPLv2.1+ to LGPLv3+.
44755         * tests/test-tsearch.c: Change copyright notice.
44756
44757         Change copyright notice from LGPLv2.0+ to LGPLv3+.
44758         * lib/c-strcaseeq.h: Change copyright notice.
44759         * lib/streq.h: Likewise.
44760         * lib/uniconv.h: Likewise.
44761         * lib/uniconv/u-conv-from-enc.h: Likewise.
44762         * lib/uniconv/u-conv-to-enc.h: Likewise.
44763         * lib/uniconv/u-strconv-from-enc.h: Likewise.
44764         * lib/uniconv/u-strconv-to-enc.h: Likewise.
44765         * lib/uniconv/u16-conv-from-enc.c: Likewise.
44766         * lib/uniconv/u16-conv-to-enc.c: Likewise.
44767         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
44768         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
44769         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
44770         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
44771         * lib/uniconv/u32-conv-from-enc.c: Likewise.
44772         * lib/uniconv/u32-conv-to-enc.c: Likewise.
44773         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
44774         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
44775         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
44776         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
44777         * lib/uniconv/u8-conv-from-enc.c: Likewise.
44778         * lib/uniconv/u8-conv-to-enc.c: Likewise.
44779         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
44780         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
44781         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
44782         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
44783         * lib/uniname.h: Likewise.
44784         * lib/uniname/uniname.c: Likewise.
44785         * lib/unistdio.h: Likewise.
44786         * lib/unistdio/u-asnprintf.h: Likewise.
44787         * lib/unistdio/u-asprintf.h: Likewise.
44788         * lib/unistdio/u-printf-args.c: Likewise.
44789         * lib/unistdio/u-printf-args.h: Likewise.
44790         * lib/unistdio/u-printf-parse.h: Likewise.
44791         * lib/unistdio/u-snprintf.h: Likewise.
44792         * lib/unistdio/u-sprintf.h: Likewise.
44793         * lib/unistdio/u-vasprintf.h: Likewise.
44794         * lib/unistdio/u-vsnprintf.h: Likewise.
44795         * lib/unistdio/u-vsprintf.h: Likewise.
44796         * lib/unistdio/u16-asnprintf.c: Likewise.
44797         * lib/unistdio/u16-asprintf.c: Likewise.
44798         * lib/unistdio/u16-printf-parse.c: Likewise.
44799         * lib/unistdio/u16-snprintf.c: Likewise.
44800         * lib/unistdio/u16-sprintf.c: Likewise.
44801         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44802         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44803         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44804         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44805         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44806         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44807         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44808         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44809         * lib/unistdio/u16-vasnprintf.c: Likewise.
44810         * lib/unistdio/u16-vasprintf.c: Likewise.
44811         * lib/unistdio/u16-vsnprintf.c: Likewise.
44812         * lib/unistdio/u16-vsprintf.c: Likewise.
44813         * lib/unistdio/u32-asnprintf.c: Likewise.
44814         * lib/unistdio/u32-asprintf.c: Likewise.
44815         * lib/unistdio/u32-printf-parse.c: Likewise.
44816         * lib/unistdio/u32-snprintf.c: Likewise.
44817         * lib/unistdio/u32-sprintf.c: Likewise.
44818         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44819         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44820         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44821         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44822         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44823         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44824         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44825         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44826         * lib/unistdio/u32-vasnprintf.c: Likewise.
44827         * lib/unistdio/u32-vasprintf.c: Likewise.
44828         * lib/unistdio/u32-vsnprintf.c: Likewise.
44829         * lib/unistdio/u32-vsprintf.c: Likewise.
44830         * lib/unistdio/u8-asnprintf.c: Likewise.
44831         * lib/unistdio/u8-asprintf.c: Likewise.
44832         * lib/unistdio/u8-printf-parse.c: Likewise.
44833         * lib/unistdio/u8-snprintf.c: Likewise.
44834         * lib/unistdio/u8-sprintf.c: Likewise.
44835         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44836         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44837         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44838         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44839         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44840         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44841         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44842         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44843         * lib/unistdio/u8-vasnprintf.c: Likewise.
44844         * lib/unistdio/u8-vasprintf.c: Likewise.
44845         * lib/unistdio/u8-vsnprintf.c: Likewise.
44846         * lib/unistdio/u8-vsprintf.c: Likewise.
44847         * lib/unistdio/ulc-asnprintf.c: Likewise.
44848         * lib/unistdio/ulc-asprintf.c: Likewise.
44849         * lib/unistdio/ulc-printf-parse.c: Likewise.
44850         * lib/unistdio/ulc-snprintf.c: Likewise.
44851         * lib/unistdio/ulc-sprintf.c: Likewise.
44852         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44853         * lib/unistdio/ulc-vasprintf.c: Likewise.
44854         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44855         * lib/unistdio/ulc-vsprintf.c: Likewise.
44856         * lib/unistr.h: Likewise.
44857         * lib/unistr/u-cpy-alloc.h: Likewise.
44858         * lib/unistr/u-cpy.h: Likewise.
44859         * lib/unistr/u-endswith.h: Likewise.
44860         * lib/unistr/u-move.h: Likewise.
44861         * lib/unistr/u-set.h: Likewise.
44862         * lib/unistr/u-startswith.h: Likewise.
44863         * lib/unistr/u-stpcpy.h: Likewise.
44864         * lib/unistr/u-stpncpy.h: Likewise.
44865         * lib/unistr/u-strcat.h: Likewise.
44866         * lib/unistr/u-strcpy.h: Likewise.
44867         * lib/unistr/u-strcspn.h: Likewise.
44868         * lib/unistr/u-strdup.h: Likewise.
44869         * lib/unistr/u-strlen.h: Likewise.
44870         * lib/unistr/u-strncat.h: Likewise.
44871         * lib/unistr/u-strncpy.h: Likewise.
44872         * lib/unistr/u-strnlen.h: Likewise.
44873         * lib/unistr/u-strpbrk.h: Likewise.
44874         * lib/unistr/u-strspn.h: Likewise.
44875         * lib/unistr/u-strstr.h: Likewise.
44876         * lib/unistr/u-strtok.h: Likewise.
44877         * lib/unistr/u16-check.c: Likewise.
44878         * lib/unistr/u16-chr.c: Likewise.
44879         * lib/unistr/u16-cmp.c: Likewise.
44880         * lib/unistr/u16-cpy-alloc.c: Likewise.
44881         * lib/unistr/u16-cpy.c: Likewise.
44882         * lib/unistr/u16-endswith.c: Likewise.
44883         * lib/unistr/u16-mblen.c: Likewise.
44884         * lib/unistr/u16-mbsnlen.c: Likewise.
44885         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44886         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44887         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44888         * lib/unistr/u16-mbtouc.c: Likewise.
44889         * lib/unistr/u16-mbtoucr.c: Likewise.
44890         * lib/unistr/u16-move.c: Likewise.
44891         * lib/unistr/u16-next.c: Likewise.
44892         * lib/unistr/u16-prev.c: Likewise.
44893         * lib/unistr/u16-set.c: Likewise.
44894         * lib/unistr/u16-startswith.c: Likewise.
44895         * lib/unistr/u16-stpcpy.c: Likewise.
44896         * lib/unistr/u16-stpncpy.c: Likewise.
44897         * lib/unistr/u16-strcat.c: Likewise.
44898         * lib/unistr/u16-strchr.c: Likewise.
44899         * lib/unistr/u16-strcmp.c: Likewise.
44900         * lib/unistr/u16-strcpy.c: Likewise.
44901         * lib/unistr/u16-strcspn.c: Likewise.
44902         * lib/unistr/u16-strdup.c: Likewise.
44903         * lib/unistr/u16-strlen.c: Likewise.
44904         * lib/unistr/u16-strmblen.c: Likewise.
44905         * lib/unistr/u16-strmbtouc.c: Likewise.
44906         * lib/unistr/u16-strncat.c: Likewise.
44907         * lib/unistr/u16-strncmp.c: Likewise.
44908         * lib/unistr/u16-strncpy.c: Likewise.
44909         * lib/unistr/u16-strnlen.c: Likewise.
44910         * lib/unistr/u16-strpbrk.c: Likewise.
44911         * lib/unistr/u16-strrchr.c: Likewise.
44912         * lib/unistr/u16-strspn.c: Likewise.
44913         * lib/unistr/u16-strstr.c: Likewise.
44914         * lib/unistr/u16-strtok.c: Likewise.
44915         * lib/unistr/u16-to-u32.c: Likewise.
44916         * lib/unistr/u16-to-u8.c: Likewise.
44917         * lib/unistr/u16-uctomb-aux.c: Likewise.
44918         * lib/unistr/u16-uctomb.c: Likewise.
44919         * lib/unistr/u32-check.c: Likewise.
44920         * lib/unistr/u32-chr.c: Likewise.
44921         * lib/unistr/u32-cmp.c: Likewise.
44922         * lib/unistr/u32-cpy-alloc.c: Likewise.
44923         * lib/unistr/u32-cpy.c: Likewise.
44924         * lib/unistr/u32-endswith.c: Likewise.
44925         * lib/unistr/u32-mblen.c: Likewise.
44926         * lib/unistr/u32-mbsnlen.c: Likewise.
44927         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44928         * lib/unistr/u32-mbtouc.c: Likewise.
44929         * lib/unistr/u32-mbtoucr.c: Likewise.
44930         * lib/unistr/u32-move.c: Likewise.
44931         * lib/unistr/u32-next.c: Likewise.
44932         * lib/unistr/u32-prev.c: Likewise.
44933         * lib/unistr/u32-set.c: Likewise.
44934         * lib/unistr/u32-startswith.c: Likewise.
44935         * lib/unistr/u32-stpcpy.c: Likewise.
44936         * lib/unistr/u32-stpncpy.c: Likewise.
44937         * lib/unistr/u32-strcat.c: Likewise.
44938         * lib/unistr/u32-strchr.c: Likewise.
44939         * lib/unistr/u32-strcmp.c: Likewise.
44940         * lib/unistr/u32-strcpy.c: Likewise.
44941         * lib/unistr/u32-strcspn.c: Likewise.
44942         * lib/unistr/u32-strdup.c: Likewise.
44943         * lib/unistr/u32-strlen.c: Likewise.
44944         * lib/unistr/u32-strmblen.c: Likewise.
44945         * lib/unistr/u32-strmbtouc.c: Likewise.
44946         * lib/unistr/u32-strncat.c: Likewise.
44947         * lib/unistr/u32-strncmp.c: Likewise.
44948         * lib/unistr/u32-strncpy.c: Likewise.
44949         * lib/unistr/u32-strnlen.c: Likewise.
44950         * lib/unistr/u32-strpbrk.c: Likewise.
44951         * lib/unistr/u32-strrchr.c: Likewise.
44952         * lib/unistr/u32-strspn.c: Likewise.
44953         * lib/unistr/u32-strstr.c: Likewise.
44954         * lib/unistr/u32-strtok.c: Likewise.
44955         * lib/unistr/u32-to-u16.c: Likewise.
44956         * lib/unistr/u32-to-u8.c: Likewise.
44957         * lib/unistr/u32-uctomb.c: Likewise.
44958         * lib/unistr/u8-check.c: Likewise.
44959         * lib/unistr/u8-chr.c: Likewise.
44960         * lib/unistr/u8-cmp.c: Likewise.
44961         * lib/unistr/u8-cpy-alloc.c: Likewise.
44962         * lib/unistr/u8-cpy.c: Likewise.
44963         * lib/unistr/u8-endswith.c: Likewise.
44964         * lib/unistr/u8-mblen.c: Likewise.
44965         * lib/unistr/u8-mbsnlen.c: Likewise.
44966         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44967         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44968         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44969         * lib/unistr/u8-mbtouc.c: Likewise.
44970         * lib/unistr/u8-mbtoucr.c: Likewise.
44971         * lib/unistr/u8-move.c: Likewise.
44972         * lib/unistr/u8-next.c: Likewise.
44973         * lib/unistr/u8-prev.c: Likewise.
44974         * lib/unistr/u8-set.c: Likewise.
44975         * lib/unistr/u8-startswith.c: Likewise.
44976         * lib/unistr/u8-stpcpy.c: Likewise.
44977         * lib/unistr/u8-stpncpy.c: Likewise.
44978         * lib/unistr/u8-strcat.c: Likewise.
44979         * lib/unistr/u8-strchr.c: Likewise.
44980         * lib/unistr/u8-strcmp.c: Likewise.
44981         * lib/unistr/u8-strcpy.c: Likewise.
44982         * lib/unistr/u8-strcspn.c: Likewise.
44983         * lib/unistr/u8-strdup.c: Likewise.
44984         * lib/unistr/u8-strlen.c: Likewise.
44985         * lib/unistr/u8-strmblen.c: Likewise.
44986         * lib/unistr/u8-strmbtouc.c: Likewise.
44987         * lib/unistr/u8-strncat.c: Likewise.
44988         * lib/unistr/u8-strncmp.c: Likewise.
44989         * lib/unistr/u8-strncpy.c: Likewise.
44990         * lib/unistr/u8-strnlen.c: Likewise.
44991         * lib/unistr/u8-strpbrk.c: Likewise.
44992         * lib/unistr/u8-strrchr.c: Likewise.
44993         * lib/unistr/u8-strspn.c: Likewise.
44994         * lib/unistr/u8-strstr.c: Likewise.
44995         * lib/unistr/u8-strtok.c: Likewise.
44996         * lib/unistr/u8-to-u16.c: Likewise.
44997         * lib/unistr/u8-to-u32.c: Likewise.
44998         * lib/unistr/u8-uctomb-aux.c: Likewise.
44999         * lib/unistr/u8-uctomb.c: Likewise.
45000         * lib/unitypes.h: Likewise.
45001         * lib/uniwidth.h: Likewise.
45002         * lib/uniwidth/cjk.h: Likewise.
45003         * lib/uniwidth/u16-strwidth.c: Likewise.
45004         * lib/uniwidth/u16-width.c: Likewise.
45005         * lib/uniwidth/u32-strwidth.c: Likewise.
45006         * lib/uniwidth/u32-width.c: Likewise.
45007         * lib/uniwidth/u8-strwidth.c: Likewise.
45008         * lib/uniwidth/u8-width.c: Likewise.
45009         * lib/uniwidth/width.c: Likewise.
45010
45011 2007-10-07  Bruno Haible  <bruno@clisp.org>
45012
45013         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
45014         The file is still under LGPL (see modules/inttypes).
45015
45016 2007-10-06  Bruno Haible  <bruno@clisp.org>
45017
45018         * modules/trunc (Dependencies): Add 'extensions'.
45019         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
45020         Reported by Ben Pfaff <blp@gnu.org>.
45021
45022 2007-10-06  Bruno Haible  <bruno@clisp.org>
45023
45024         * modules/freopen-tests: New file.
45025         * tests/test-freopen.c: New file.
45026
45027         * modules/fopen-tests: New file.
45028         * tests/test-fopen.c: New file.
45029
45030         * modules/fopen: New file.
45031         * lib/fopen.c: New file.
45032         * m4/fopen.m4: New file.
45033         * modules/freopen: New file.
45034         * lib/freopen.c: New file.
45035         * m4/freopen.m4: New file.
45036         * lib/stdio.in.h (fopen, freopen): New declarations.
45037         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
45038         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45039         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
45040         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45041         * doc/functions/fopen.texi: Mention the 'fopen' module.
45042         * doc/functions/freopen.texi: Mention the 'freopen' module.
45043
45044 2007-10-06  Bruno Haible  <bruno@clisp.org>
45045
45046         * modules/open-tests: New file.
45047         * tests/test-open.c: New file.
45048
45049         * modules/open: New file.
45050         * lib/open.c: New file.
45051         * m4/open.m4: New file.
45052         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
45053         lib/open.c does.
45054         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
45055         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
45056         macros.
45057         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
45058         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
45059         REPLACE_OPEN.
45060         * doc/functions/open.texi: Mention the 'open' module.
45061
45062 2007-10-04  Bruno Haible  <bruno@clisp.org>
45063
45064         * modules/ceill-tests: New file.
45065         * tests/test-ceill.c: New file.
45066
45067         * modules/ceill: New file.
45068         * lib/ceill.c: Replace entire file.
45069         * m4/ceill.m4: New file.
45070         * lib/math.in.h (ceill): Replace declaration.
45071         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
45072         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
45073         * doc/functions/ceill.texi: Mention the 'ceill' module.
45074         * modules/mathl (Files): Remove lib/ceill.c.
45075         (Depends-on): Add ceill.
45076
45077 2007-10-04  Bruno Haible  <bruno@clisp.org>
45078
45079         * modules/ceilf-tests: New file.
45080         * tests/test-ceilf.c: New file.
45081
45082         * modules/ceilf: New file.
45083         * lib/ceil.c: New file.
45084         * lib/ceilf.c: New file.
45085         * m4/ceilf.m4: New file.
45086         * lib/math.in.h (ceilf): New declaration.
45087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
45088         HAVE_DECL_CEILF.
45089         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
45090         HAVE_DECL_CEILF.
45091         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
45092
45093 2007-10-04  Bruno Haible  <bruno@clisp.org>
45094
45095         * modules/floorl-tests: New file.
45096         * tests/test-floorl.c: New file.
45097
45098         * modules/floorl: New file.
45099         * lib/floorl.c: Replace entire file.
45100         * m4/floorl.m4: New file.
45101         * lib/math.in.h (floorl): Replace declaration.
45102         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
45103         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
45104         * doc/functions/floorl.texi: Mention the 'floorl' module.
45105         * modules/mathl (Files): Remove lib/floorl.c.
45106         (Depends-on): Add floorl.
45107
45108 2007-10-04  Bruno Haible  <bruno@clisp.org>
45109
45110         * modules/floorf-tests: New file.
45111         * tests/test-floorf.c: New file.
45112
45113         * modules/floorf: New file.
45114         * lib/floor.c: New file.
45115         * lib/floorf.c: New file.
45116         * m4/floorf.m4: New file.
45117         * lib/math.in.h (floorf): New declaration.
45118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
45119         HAVE_DECL_FLOORF.
45120         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
45121         HAVE_DECL_FLOORF.
45122         * doc/functions/floorf.texi: Mention the 'floorf' module.
45123
45124 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
45125             Bruno Haible  <bruno@clisp.org>
45126
45127         Advertise for the Git server instead of the CVS server.
45128         * doc/gnulib-intro.texi (Steady Development): Mention the Git
45129         repository instead of the CVS one.
45130         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
45131         about all VCS systems generically.
45132         * doc/gnulib.texi (Introduction): Capitalize `Git'.
45133
45134 2007-10-04  Bruno Haible  <bruno@clisp.org>
45135
45136         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
45137         means.
45138         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
45139
45140 2007-10-04  Bruno Haible  <bruno@clisp.org>
45141
45142         * modules/truncl-tests: New file.
45143         * tests/test-truncl.c: New file.
45144
45145         * modules/truncl: New file.
45146         * lib/truncl.c: New file.
45147         * m4/truncl.m4: New file.
45148         * lib/math.in.h (truncl): New declaration.
45149         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
45150         HAVE_DECL_TRUNCL.
45151         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
45152         HAVE_DECL_TRUNCL.
45153         * doc/functions/truncl.texi: Mention the 'truncl' module.
45154
45155 2007-10-04  Bruno Haible  <bruno@clisp.org>
45156
45157         * modules/truncf-tests: New file.
45158         * tests/test-truncf.c: New file.
45159
45160         * modules/truncf: New file.
45161         * lib/trunc.c: Make paramerizable through USE_* macros.
45162         * lib/truncf.c: New file.
45163         * m4/truncf.m4: New file.
45164         * lib/math.in.h (truncf): New declaration.
45165         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
45166         HAVE_DECL_TRUNCF.
45167         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
45168         HAVE_DECL_TRUNCF.
45169         * doc/functions/truncf.texi: Mention the 'truncf' module.
45170
45171 2007-10-03  Bruno Haible  <bruno@clisp.org>
45172
45173         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45174         augmentation also for tests modules.
45175         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
45176         * modules/atexit-tests (Makefile.am): Likewise.
45177         * modules/binary-io-tests (Makefile.am): Likewise.
45178         * modules/c-strcase-tests (Makefile.am): Likewise.
45179         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
45180         * modules/canonicalize-tests (Makefile.am): Likewise.
45181         * modules/closein-tests (Makefile.am): Likewise.
45182         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45183         * modules/freadahead-tests (Makefile.am): Likewise.
45184         * modules/fseek-tests (Makefile.am): Likewise.
45185         * modules/fseeko-tests (Makefile.am): Likewise.
45186         * modules/ftell-tests (Makefile.am): Likewise.
45187         * modules/ftello-tests (Makefile.am): Likewise.
45188         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
45189         * modules/isnanl-tests (Makefile.am): Likewise.
45190         * modules/lseek-tests (Makefile.am): Likewise.
45191         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45192         * modules/mbscasestr-tests (Makefile.am): Likewise.
45193         * modules/mbschr-tests (Makefile.am): Likewise.
45194         * modules/mbscspn-tests (Makefile.am): Likewise.
45195         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45196         * modules/mbspbrk-tests (Makefile.am): Likewise.
45197         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45198         * modules/mbsrchr-tests (Makefile.am): Likewise.
45199         * modules/mbsspn-tests (Makefile.am): Likewise.
45200         * modules/mbsstr-tests (Makefile.am): Likewise.
45201         * modules/printf-posix-tests (Makefile.am): Likewise.
45202         * modules/snprintf-posix-tests (Makefile.am): Likewise.
45203         * modules/sprintf-posix-tests (Makefile.am): Likewise.
45204         * modules/tsearch-tests (Makefile.am): Likewise.
45205         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45206         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45207         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45208         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45209         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45210         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45211         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45212         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45213         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
45214         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
45215         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45216         * modules/xstrtol-tests (Makefile.am): Likewise.
45217         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45218         * modules/yesno-tests (Makefile.am): Likewise.
45219
45220 2007-10-03  Bruno Haible  <bruno@clisp.org>
45221
45222         * modules/trunc-tests: New file.
45223         * tests/test-trunc.c: New file.
45224
45225         * modules/trunc: New file.
45226         * lib/trunc.c: New file.
45227         * m4/trunc.m4: New file.
45228         * lib/math.in.h (trunc): New declaration.
45229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
45230         HAVE_DECL_TRUNC.
45231         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
45232         HAVE_DECL_TRUNC.
45233         * doc/functions/trunc.texi: Mention the 'trunc' module.
45234
45235 2007-10-03  Bruno Haible  <bruno@clisp.org>
45236
45237         * tests/test-fpending.c: New file, mostly copied
45238         from coreutils/lib/t-fpending.c.
45239         * modules/fpending-tests: New file.
45240
45241 2007-10-03  Bruno Haible  <bruno@clisp.org>
45242
45243         Port the stdio extensions to QNX (untested).
45244         * lib/fseterr.c (fseterr): Add support for QNX.
45245         * lib/fbufmode.c (fbufmode): Likewise.
45246         * lib/freadable.c (freadable): Likewise.
45247         * lib/fwritable.c (fwritable): Likewise.
45248         * lib/freading.c (freading): Likewise.
45249         * lib/fwriting.c (fwriting): Likewise.
45250         * lib/freadahead.c (freadahed): Likewise.
45251         * lib/fpurge.c (fpurge): Likewise.
45252         * lib/fseeko.c (rpl_fseeko): Likewise.
45253
45254 2007-10-03  Bruno Haible  <bruno@clisp.org>
45255             Jim Meyering  <jim@meyering.net>
45256             Eric Blake  <ebb9@byu.net>
45257
45258         * doc/relocatable.texi: Use @command instead of @program.
45259
45260 2007-10-02  Jim Meyering  <jim@meyering.net>
45261
45262         Perform one more "_.h" -> ".in.h" substitution.
45263         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
45264         instead of unistd_.h here, too.
45265
45266 2007-10-01  Bruno Haible  <bruno@clisp.org>
45267
45268         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
45269         Needed for the alloca-opt module.
45270
45271 2007-09-30  Bruno Haible  <bruno@clisp.org>
45272
45273         * lib/alloca.in.h: Renamed from lib/alloca_.h.
45274         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
45275         alloca_.h.
45276         * lib/argz.in.h: Renamed from lib/argz_.h.
45277         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
45278         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
45279         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
45280         byteswap_.h.
45281         * lib/dirent.in.h: Renamed from lib/dirent_.h.
45282         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
45283         dirent_.h.
45284         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
45285         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
45286         fcntl_.h.
45287         * lib/float.in.h: Renamed from lib/float_.h.
45288         * modules/float (Files, Makefile.am): Use float.in.h instead of
45289         float_.h.
45290         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
45291         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
45292         fnmatch_.h.
45293         * lib/getopt.in.h: Renamed from lib/getopt_.h.
45294         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
45295         getopt_.h.
45296         * lib/glob.in.h: Renamed from lib/glob_.h.
45297         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
45298         * lib/iconv.in.h: Renamed from lib/iconv_.h.
45299         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
45300         iconv_.h.
45301         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
45302         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
45303         inttypes_.h.
45304         * lib/locale.in.h: Renamed from lib/locale_.h.
45305         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
45306         locale_.h.
45307         * lib/math.in.h: Renamed from lib/math_.h.
45308         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
45309         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
45310         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
45311         of netinet_in_.h. Add dependency.
45312         * lib/poll.in.h: Renamed from lib/poll_.h.
45313         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
45314         * lib/search.in.h: Renamed from lib/search_.h.
45315         * modules/search (Files, Makefile.am): Use search.in.h instead of
45316         search_.h.
45317         * lib/signal.in.h: Renamed from lib/signal_.h.
45318         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
45319         _signal.h.
45320         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
45321         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
45322         stdbool_.h.
45323         * lib/stdint.in.h: Renamed from lib/stdint_.h.
45324         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
45325         stdint_.h.
45326         * lib/stdio.in.h: Renamed from lib/stdio_.h.
45327         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
45328         stdio_.h.
45329         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
45330         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
45331         stdlib_.h.
45332         * lib/string.in.h: Renamed from lib/string_.h.
45333         * modules/string (Files, Makefile.am): Use string.in.h instead of
45334         string_.h.
45335         * doc/gnulib-tool.texi (Initial import): Update.
45336         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
45337         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
45338         of sys_select_.h. Add dependency.
45339         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
45340         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
45341         of sys_socket_.h.
45342         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
45343         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
45344         sys_stat_.h.
45345         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
45346         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
45347         sys_time_.h.
45348         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
45349         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
45350         sysexits_.h.
45351         * lib/time.in.h: Renamed from lib/time_.h.
45352         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
45353         * lib/unistd.in.h: Renamed from lib/unistd_.h.
45354         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
45355         unistd_.h.
45356         * lib/wchar.in.h: Renamed from lib/wchar_.h.
45357         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
45358         wchar_.h.
45359         * lib/wctype.in.h: Renamed from lib/wctype_.h.
45360         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
45361         wctype_.h.
45362         * build-aux/bootstrap (slurp): Update.
45363         * lib/.cppi-disable: Update.
45364
45365 2007-09-30  Bruno Haible  <bruno@clisp.org>
45366
45367         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
45368         Needed on BeOS.
45369
45370 2007-09-30  Bruno Haible  <bruno@clisp.org>
45371
45372         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
45373
45374 2007-09-29  Bruno Haible  <bruno@clisp.org>
45375
45376         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
45377
45378 2007-09-29  Bruno Haible  <bruno@clisp.org>
45379
45380         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
45381         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
45382         * build-aux/install-reloc: Compile also areadlink.c.
45383         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
45384
45385 2007-09-29  Bruno Haible  <bruno@clisp.org>
45386
45387         * gnulib-tool (func_emit_initmacro_done): Indentation.
45388
45389 2007-09-29  Bruno Haible  <bruno@clisp.org>
45390
45391         * README: Add CVS checkout update instructions.
45392         Info from Bob Proulx <bob@proulx.com>.
45393
45394 2007-09-28  Eric Blake  <ebb9@byu.net>
45395
45396         Provide move-if-change.
45397         * build-aux/move-if-change: New file, based on best practice
45398         rather than any canonical upstream location.
45399
45400 2007-09-28  Jim Meyering  <jim@meyering.net>
45401
45402         Fix canonicalize loop-detection corner case.
45403         Do not attempt to stat the symlink values stored via seen_triple.
45404         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
45405         on linux-2.6.18, (but not 2.6.22).
45406         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
45407         triple_compare.  The former compares dev,ino,filename, while the latter
45408         would actually stat dirname(filename) when dev and ino were equal.
45409         * lib/hash-triple.c: Install <string.h>.
45410         (STREQ): Define.
45411         (triple_compare_ino_str): New function.
45412         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
45413
45414 2007-09-28  Eric Blake  <ebb9@byu.net>
45415
45416         Enforce that AC_REPLACE_FUNCS files exist.
45417         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
45418         override check for typos.
45419
45420         Fix test-closein on Solaris 10.
45421         * tests/test-closein.c (main): Don't assume stdin can be inherited
45422         closed on all systems.
45423         * tests/test-closein.sh: Likewise.
45424         Reported by Piotr Tarnowski.
45425
45426 2007-09-28  Jim Meyering  <jim@meyering.net>
45427
45428         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
45429
45430 2007-09-27  Jim Meyering  <jim@meyering.net>
45431
45432         canonicalize: Avoid a false-positive cycle failure.
45433         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
45434         Sort.  Remove cycle-check.
45435         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
45436         not cycle-check.h.
45437         (seen_triple): New function.
45438         (canonicalize_filename_mode): Use it instead of cycle-check.
45439         * tests/test-canonicalize.c: Add a test for this bug.
45440         * tests/test-canonicalize.sh: Set up and run the test.
45441
45442         New module, file-set, from coreutils.
45443         * modules/file-set: Define it.
45444         * lib/file-set.c, lib/file-set.h: Implement.
45445
45446         New module, hash-triple, from coreutils.
45447         * modules/hash-triple: Define it.
45448         * lib/hash-triple.c, lib/hash-triple.h: Implement.
45449
45450 2007-09-25  Eric Blake  <ebb9@byu.net>
45451
45452         Fix strerror on Interix.
45453         * lib/string_.h (strerror): Declare replacement.
45454         * doc/functions/strerror.texi (strerror): Document the Interix
45455         shortcoming.
45456         * modules/string (Makefile.am): Support new hooks.
45457         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
45458         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
45459         gl_FUNC_STRERROR_SEPARATE.
45460         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
45461         * lib/strerror.c (rpl_strerror): Provide replacement.
45462         * modules/strerror (Depends-on): Add string.
45463         (configure.ac): Detect use of module.
45464         * tests/test-strerror.c: New file.
45465         * modules/strerror-tests: New test module.
45466         * modules/argp (Depends-on): Add strerror.
45467         * modules/error (Depends-on): Likewise.
45468         Reported by Martin Koeppe.
45469
45470 2007-09-24  Bruno Haible  <bruno@clisp.org>
45471
45472         * README: Update git instructions.
45473
45474 2007-09-24  Eric Blake  <ebb9@byu.net>
45475
45476         Revert fpending breakage from 2007-09-08.
45477         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
45478         __fpending.c.
45479
45480 2007-09-24  Jim Meyering  <jim@meyering.net>
45481
45482         filenamecat.c: Add a test.
45483         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
45484         showing how the function works when DIR is the empty string.
45485
45486 2007-09-21  Simon Josefsson  <simon@josefsson.org>
45487
45488         * tests/test-canonicalize.sh: Turn on executable bit.
45489
45490 2007-09-19  Eric Blake  <ebb9@byu.net>
45491
45492         * README: Update CVS instructions.
45493
45494 2007-09-18  Bruno Haible  <bruno@clisp.org>
45495
45496         * modules/areadlink: New file.
45497         * lib/areadlink.h (areadlink): New declaration.
45498         * lib/areadlink.c: New file, based on lib/xreadlink.c.
45499
45500 2007-09-17  Jim Meyering  <jim@meyering.net>
45501
45502         * lib/savewd.c (ESTALE) [!defined]: Define.
45503         Reported to be required on Interix by Martin Koeppe.
45504
45505 2007-09-17  Bruno Haible  <bruno@clisp.org>
45506
45507         * gnulib-tool (func_version): Use $version.
45508
45509 2007-09-16  Bruno Haible  <bruno@clisp.org>
45510
45511         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
45512         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
45513         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
45514         Reported by Greg Schafer <gschafer@zip.com.au>.
45515
45516 2007-09-15  Bruno Haible  <bruno@clisp.org>
45517
45518         * gnulib-tool (sed): Try a little harder to make bash understand the
45519         alias.
45520         Reported by Bruce Korb <bruce.korb@gmail.com>.
45521
45522 2007-09-13  Eric Blake  <ebb9@byu.net>
45523
45524         * ChangeLog: Remove conflict markers.
45525
45526 2007-09-13  Simon Josefsson  <simon@josefsson.org>
45527
45528         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
45529         Reported by Bruno Haible <bruno@clisp.org>.
45530
45531 2007-09-12  Bruno Haible  <bruno@clisp.org>
45532
45533         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
45534         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
45535         is not defined.
45536
45537 2007-09-12  Eric Blake  <ebb9@byu.net>
45538
45539         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
45540         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
45541         Autoconf definition.
45542         * modules/euidaccess (Depends-on): Add extensions, for
45543         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
45544         * modules/fnmatch (Depends-on): Likewise.
45545         * modules/getaddrinfo (Depends-on): Likewise.
45546         * modules/getdelim (Depends-on): Likewise.
45547         * modules/getline (Depends-on): Likewise.
45548         * modules/getsubopt (Depends-on): Likewise.
45549         * modules/gettext (Depends-on): Likewise.
45550         * modules/group-member (Depends-on): Likewise.
45551         * modules/mbchar (Depends-on): Likewise.
45552         * modules/memmem (Depends-on): Likewise.
45553         * modules/mempcpy (Depends-on): Likewise.
45554         * modules/memrchr (Depends-on): Likewise.
45555         * modules/pagealign_alloc (Depends-on): Likewise.
45556         * modules/readutmp (Depends-on): Likewise.
45557         * modules/stpcpy (Depends-on): Likewise.
45558         * modules/stpncpy (Depends-on): Likewise.
45559         * modules/strchrnul (Depends-on): Likewise.
45560         * modules/strndup (Depends-on): Likewise.
45561         * modules/strsep (Depends-on): Likewise.
45562         * modules/strverscmp (Depends-on): Likewise.
45563         * modules/vasprintf (Depends-on): Likewise.
45564         * modules/wcwidth (Depends-on): Likewise.
45565         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
45566         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
45567         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
45568         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
45569         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45570         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45571         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
45572         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45573         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
45574         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
45575         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45576         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45577         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45578         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
45579         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
45580         * m4/readutmp.m4 (gl_READUTMP): Likewise.
45581         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
45582         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45583         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45584         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45585         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45586         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45587         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45588         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
45589         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
45590         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45591         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
45592         so that lock.m4 can be used in gettext without extensions module.
45593
45594 2007-09-11  Bruno Haible  <bruno@clisp.org>
45595
45596         * m4/isc-posix.m4: Remove file.
45597         Suggested by Eric Blake.
45598
45599 2007-09-11  Eric Blake  <ebb9@byu.net>
45600
45601         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
45602
45603 2007-09-10  Bruno Haible  <bruno@clisp.org>
45604
45605         * posix-modules: Fix typo in error message.
45606         Reported by Matt <mkraai@beckman.com>.
45607
45608 2007-09-09  Bruno Haible  <bruno@clisp.org>
45609
45610         * doc/functions/getdelim.texi: Update list of platforms lacking the
45611         function.
45612         * doc/functions/getline.texi: Likewise.
45613
45614 2007-09-09  Jim Meyering  <jim@meyering.net>
45615
45616         * lib/hash.c (hash_initialize): Detect calloc failure.
45617         Reported by Bruno Haible.
45618
45619 2007-09-09  Bruno Haible  <bruno@clisp.org>
45620
45621         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
45622         malloc or realloc fails.
45623
45624 2007-09-09  Bruno Haible  <bruno@clisp.org>
45625
45626         * modules/getcwd (Depends-on): Add malloc-posix.
45627         * modules/glob (Depends-on): Likewise.
45628         * modules/putenv (Depends-on): Likewise.
45629         * modules/strdup (Depends-on): Likewise.
45630         * modules/getdelim (Depends-on): Add realloc-posix.
45631         * modules/read-file (Depends-on): Likewise.
45632
45633 2007-09-09  Bruno Haible  <bruno@clisp.org>
45634
45635         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
45636         (gl_FUNC_MALLOC_POSIX): Require it.
45637         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
45638         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
45639         * modules/realloc (Files): Add m4/malloc.m4.
45640         * modules/calloc (Files): Likewise.
45641
45642 2007-09-09  Bruno Haible  <bruno@clisp.org>
45643
45644         * modules/malloc-posix: New file.
45645         * modules/malloc (Depends-on): Add malloc-posix.
45646         * lib/malloc.c: Include errno.h.
45647         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
45648         and a POSIX-compatible malloc into a single function. Set ENOMEM
45649         when returning NULL.
45650         * m4/malloc.m4: New file.
45651         * doc/functions/malloc.texi: Mention the malloc-posix module.
45652         * lib/stdlib_.h (malloc): New declaration.
45653         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45654         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
45655         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
45656         and HAVE_MALLOC_POSIX.
45657
45658 2007-09-09  Bruno Haible  <bruno@clisp.org>
45659
45660         * modules/realloc-posix: New file.
45661         * modules/realloc (Depends-on): Add realloc-posix.
45662         * lib/realloc.c: Include errno.h.
45663         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
45664         and a POSIX-compatible realloc into a single function. Set ENOMEM
45665         when returning NULL.
45666         * m4/realloc.m4: New file.
45667         * doc/functions/realloc.texi: Mention the realloc-posix module.
45668         * lib/stdlib_.h (realloc): New declaration.
45669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45670         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
45671         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
45672         and HAVE_REALLOC_POSIX.
45673
45674 2007-09-09  Bruno Haible  <bruno@clisp.org>
45675
45676         * modules/calloc-posix: New file.
45677         * modules/calloc (Depends-on): Add calloc-posix.
45678         * lib/calloc.c: Include errno.h.
45679         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
45680         and a POSIX-compatible calloc into a single function. Set ENOMEM
45681         when returning NULL.
45682         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
45683         * doc/functions/calloc.texi: Mention the calloc-posix module.
45684         * lib/stdlib_.h (calloc): New declaration.
45685         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45686         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
45687         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
45688         and HAVE_CALLOC_POSIX.
45689
45690 2007-09-09  Bruno Haible  <bruno@clisp.org>
45691
45692         Allow for modules to show an arbitrary notice.
45693         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
45694         * gnulib-tool: New option --extract-notice.
45695         (func_usage): Document it.
45696         (sed_extract_prog): Update.
45697         (func_get_notice): New function.
45698         (func_modules_notice): New function.
45699         (func_import, func_create_testdir): Invoke it.
45700         Suggested by Jim Meyering.
45701
45702 2007-09-09  Bruno Haible  <bruno@clisp.org>
45703
45704         * gnulib-tool: New options --verbose, --quiet.
45705         (func_usage): Document them.
45706         (verbose): New variable.
45707         (func_execute_command): New function.
45708         (func_import): Don't show the module list and the file list if
45709         $verbose < 0.
45710         (func_create_testdir): Likewise. Use func_execute_command.
45711         (func_create_megatestdir): Use func_execute_command.
45712
45713 2007-09-08  Bruno Haible  <bruno@clisp.org>
45714
45715         * gnulib-tool (func_import): Prefer rsync over wget when available,
45716         for fetching the PO files.
45717
45718 2007-09-08  Bruno Haible  <bruno@clisp.org>
45719
45720         * posix-modules: New file. Portions copied from gnulib-tool.
45721         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
45722
45723 2007-09-08  Jim Meyering  <jim@meyering.net>
45724
45725         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
45726         * lib/fpending.h: Rename from __fpending.h.
45727         * lib/fpending.c: Rename from __fpending.c.
45728         Include "fpending.h", not "__fpending.h".
45729         * lib/__fpending.h, lib/__fpending.c: Remove files.
45730         * modules/fpending (Files): Reflect new file names.
45731         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
45732
45733 2007-09-08  Bruno Haible  <bruno@clisp.org>
45734
45735         * m4/inttypes-h.m4: Remove stub file.
45736
45737 2007-09-07  Simon Josefsson  <simon@josefsson.org>
45738
45739         * doc/headers/stdint.texi: Discuss #include_next issue.
45740
45741 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45742
45743         * build-aux/bootstrap: Remove obsolete comment about wget --help.
45744
45745 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45746
45747         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
45748         in variable name.
45749
45750 2007-09-03  Jim Meyering  <jim@meyering.net>
45751
45752         New module: git-version-gen.
45753         * modules/git-version-gen: New file.
45754
45755         Import changes from coreutils for bootstrap script.
45756
45757         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
45758
45759         bootstrap: uses rsync to download the .po files
45760         * build-aux/bootstrap (po_download_command_format): New global.
45761         (download_po_files): Use rsync.
45762         (update_po_files): Don't remove .po files after download,
45763         so future rsync runs can take advantage of the copies.
45764
45765         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
45766
45767         Solve the unnecessary-.po-file-regeneration problem once and for all.
45768         * build-aux/bootstrap (download_po_files): New function, renamed from
45769         get_translations.  Now, downloads, but doesn't update LINGUAS.
45770         (update_po_files): New function.
45771
45772         bootstrap: Ignore more.
45773         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
45774         uniwidth to e.g., lib/.gitignore.
45775         (slurp): Handle the sys_stat_.h -> sys mapping, too.
45776
45777         * build-aux/bootstrap: New setting: vc_ignore.
45778         (insert_sorted_if_absent): Create $file if absent.
45779         Adapt to new, possibly empty, list: $vc_ignore.
45780
45781         bootstrap: generate more ignorable names
45782         * build-aux/bootstrap (slurp): When generating ignorable names,
45783         also map .sin to .sed, .gperf to .c, and .y to .c.
45784
45785 2007-09-03  Jim Meyering  <jim@meyering.net>
45786
45787         * build-aux/git-version-gen: New file, from coreutils.  For details, see
45788         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
45789
45790 2007-09-02  Bruno Haible  <bruno@clisp.org>
45791
45792         Fix mis-recognition of 'mcs' on QNX 6.
45793         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
45794         output contains the string "Mono".
45795         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
45796         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45797
45798 2007-09-01  Bruno Haible  <bruno@clisp.org>
45799
45800         Fix collision between uniwidth/* and linebreak modules.
45801         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45802         u32_width): Remove declarations.
45803         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45804         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45805         streq3, streq2, streq1, streq0): Remove functions.
45806         (STREQ): Remove macro.
45807         (is_cjk_encoding): Remove function.
45808         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45809         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45810         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45811         * NEWS: Document the change.
45812
45813 2007-09-01  Bruno Haible  <bruno@clisp.org>
45814
45815         * lib/streq.h: Add double-inclusion guard.
45816
45817 2007-09-01  Karl Berry  <karl@gnu.org>
45818
45819         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45820
45821 2007-08-28  Jim Meyering  <jim@meyering.net>
45822
45823         Rename mreadlink_with_size to areadlink_with_size.
45824         * NEWS: Document the change.
45825         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45826         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45827         * lib/mreadlink.h: Rename this to...
45828         * lib/areadlink.h: ...this.
45829         * modules/mreadlink-with-size: Rename this to...
45830         * modules/areadlink-with-size: ...this.
45831         * lib/canonicalize.c: Reflect the renaming.
45832         * modules/canonicalize: Likewise.
45833
45834 2007-08-26  Bruno Haible  <bruno@clisp.org>
45835
45836         * gnulib-tool (func_import): When deciding which files to remove,
45837         consider also dangling symbolic links.
45838         Reported by Eric Blake.
45839
45840 2007-08-26  Bruno Haible  <bruno@clisp.org>
45841
45842         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45843
45844 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45845
45846         * lib/readline.c: Don't include getline.h, the prototype is now
45847         found in stdio.h.
45848
45849 2007-08-23  Jim Meyering  <jim@meyering.net>
45850
45851         Getdelim touchup.
45852         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45853         around the funlockfile call, since funlockfile never sets errno.
45854         Don't set errno upon failed realloc.
45855
45856 2007-08-22  Eric Blake  <ebb9@byu.net>
45857
45858         Getline touchups.
45859         * lib/getdelim.c (getdelim): Revert regression that required *n to
45860         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45861         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45862         getdelim, rather than whether implementation is missing.
45863         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45864         * lib/stdio_.h (getline): Also declare if replacement is
45865         required.
45866         * doc/functions/getdelim.texi: New file.
45867         * doc/functions/getline.texi: Likewise.
45868         * doc/gnulib.texi (Function Substitutes): Add new files.
45869         Reported by Bruno Haible.
45870
45871 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45872
45873         * users.txt: Add Guile.
45874
45875 2007-08-22  Eric Blake  <ebb9@byu.net>
45876
45877         * tests/test-getdelim.c (main): Use remove, not unlink.
45878         * tests/test-getline.c (main): Likewise.
45879
45880         Move getline and getdelim into stdio.h, per POSIX 200x.
45881         * modules/getline (Files): Remove getline.h.
45882         (Depends-on): Add stdio.
45883         (configure.ac): Add module indicator.
45884         * modules/getdelim (Files): Remove getdelim.h.
45885         (Depends-on): Add stdio.
45886         (configure.ac): Add module indicator.
45887         * modules/stdio (Makefile.am): Work with new indicators.
45888         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45889         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45890         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45891         * lib/getdelim.h: Delete.
45892         * lib/getline.h: Delete.
45893         * lib/stdio_.h (getdelim, getline): Declare.
45894         * modules/getdelim-tests: New module.
45895         * modules/getline-tests: Likewise.
45896         * tests/test-getdelim.c: New file.
45897         * tests/test-getline.c: Likewise.
45898         * NEWS: Document the change.
45899         * lib/getline.c: Update choice of header.
45900         * lib/csharpcomp.c: Likewise.
45901         * lib/getpass.c: Likewise.
45902         * lib/javacomp.c: Likewise.
45903         * lib/javaversion.c: Likewise.
45904         * lib/yesno.c: Likewise.
45905         * lib/getdelim.c: Likewise.
45906         (getdelim): Set errno on failure, and avoid memory leak.
45907
45908 2007-08-19  Bruno Haible  <bruno@clisp.org>
45909
45910         * modules/closein (Depends-on): Add freadahead.
45911         * lib/closein.c: Include freadahead.h.
45912         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45913         is zero.
45914
45915 2007-08-19  Bruno Haible  <bruno@clisp.org>
45916
45917         * modules/freadahead-tests: New file.
45918         * tests/test-freadahead.sh: New file.
45919         * tests/test-freadahead.c: New file.
45920
45921         * modules/freadahead: New file.
45922         * lib/freadahead.h: New file.
45923         * lib/freadahead.c: New file.
45924         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45925         fbufmode, fpurge, freadable, fwritable.
45926
45927 2007-08-19  Eric Blake  <ebb9@byu.net>
45928
45929         Test yesno in combination with closein.
45930         * lib/yesno.c (yesno): Document use of stdin.
45931         * modules/yesno-tests (Files): New module.
45932         * tests/test-yesno.c (main): New file.
45933         * tests/test-yesno.sh: Likewise.
45934
45935 2007-08-19  Bruno Haible  <bruno@clisp.org>
45936
45937         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45938         * lib/fseeko.c (rpl_fseeko): Likewise.
45939         * lib/fseterr.c (fseterr): Likewise.
45940
45941 2007-08-19  Bruno Haible  <bruno@clisp.org>
45942
45943         * tests/test-lseek.c (main): Disable a test for BeOS.
45944         * doc/functions/lseek.texi: Document the BeOS bug.
45945
45946 2007-08-19  Bruno Haible  <bruno@clisp.org>
45947             Eric Blake  <ebb9@byu.net>
45948
45949         * lib/lseek.c: Include <sys/stat.h>.
45950         (rpl_lseek): Add workaround code also for Unix platforms.
45951         Needed for BeOS.
45952         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45953         * doc/functions/lseek.texi: Document BeOS definiency.
45954
45955 2007-08-18  Bruno Haible  <bruno@clisp.org>
45956
45957         * modules/fstrcmp-tests: New file.
45958         * tests/test-fstrcmp.c: New file.
45959
45960 2007-08-18  Bruno Haible  <bruno@clisp.org>
45961
45962         * modules/fstrcmp: New file, from GNU gettext with modifications.
45963         * lib/fstrcmp.h: New file, from GNU gettext.
45964         * lib/fstrcmp.c: New file, from GNU gettext.
45965         * MODULES.html.sh (String handling): Add fstrcmp.
45966
45967 2007-08-18  Bruno Haible  <bruno@clisp.org>
45968
45969         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45970         'bool'.
45971         (diag, compareseq): Remove const from the ctxt argument.
45972         (USE_HEURISTIC): Undefine at the end.
45973
45974 2007-08-18  Jim Meyering  <jim@meyering.net>
45975
45976         New file: lib/idcache.h
45977         * NEWS: Mention the addition.
45978         * modules/idcache (Files): Add lib/idcache.h
45979         * lib/idcache.c: Include "idcache.h".
45980         Don't include <sys/types.h>.
45981         Add a FIXME comment.
45982         Move file-scoped "static" declarations to the top.
45983         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45984
45985 2007-08-17  Bruno Haible  <bruno@clisp.org>
45986         and Paul Eggert  <eggert@cs.ucla.edu>
45987
45988         * MODULES.html.sh: Add diffseq.
45989         * modules/diffseq: New file.
45990         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45991         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45992
45993 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45994
45995         Import changes from coreutils for bootstrap script.
45996
45997         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45998
45999         * build-aux/bootstrap (slurp): Work even in environments where
46000         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
46001         current code does not slurp files whose names start with ".", and
46002         this looks like it might be a troublesome area.
46003
46004         2007-07-11  Jim Meyering  <jim@meyering.net>
46005
46006         If there's a GPL vN copyright comment, require that N == 3.
46007
46008         2007-07-08  Jim Meyering  <jim@meyering.net>
46009
46010         Run the coreutils-specific code only if tests/Makefile.am.in exists.
46011         * build-aux/bootstrap (mam_template): Move definition out of loop.
46012
46013         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
46014
46015         * build-aux/bootstrap (symlink_to_dir): Rename function from
46016         symlink_to_gnulib.  Add a directory parameter.  Update all
46017         callers.
46018         (cp_mark_as_generated): Also check for -- and link to -- files in
46019         gl/.
46020
46021         2007-07-08  Jim Meyering  <jim@meyering.net>
46022
46023         Adapt to deeper hierarchy in gnulib.
46024         * build-aux/bootstrap (symlink_to_dir): If the destination
46025         directory doesn't exist, create it. This is required at least for
46026         "lib/uniwidth/cjk.h".
46027
46028         2007-05-15  Jim Meyering  <jim@meyering.net>
46029
46030         * build-aux/bootstrap: Now that generated Makefile.am files
46031         are no longer under version control, they must be created at
46032         bootstrap time.
46033
46034 2007-08-14  Ben Pfaff  <blp@gnu.org>
46035
46036         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
46037
46038 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46039
46040         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
46041         given the changes below.
46042         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
46043         even on hosts that have padding bits beyond the supported 64.
46044
46045 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46046
46047         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
46048         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
46049         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
46050         depends on it.
46051         (xstrtol_error): Remove.
46052         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
46053         but with a different signature.
46054         (ATTRIBUTE_NORETURN, __attribute__): New macros.
46055         * lib/xstrtol-error.c: Include exitfail.h.
46056         (xstrtol_fatal): New function, with a different signature from the
46057         old xstrtol_error, so that the caller need not worry about passing
46058         in an exit status, or about storage management of the option argument.
46059         (xstrtol_error): Now a static function.  Redo signature to
46060         implement xstrtol_fatal.  Output the correct number of hyphens in
46061         front of the option so that the caller need not worry about
46062         storage management.
46063         (N_): New macro.
46064         (_): Remove; not used now.
46065         * modules/xstrtol: Depend on getopt.
46066         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
46067         of old STRTOL_FATAL_ERROR macro.
46068         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
46069         of test program.
46070         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
46071         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
46072
46073 2007-08-08  Eric Blake  <ebb9@byu.net>
46074
46075         * lib/xstrtol-error.c: Add missing include.
46076
46077         Move xstrtol messages into gnulib domain, when --pobase is used.
46078         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
46079         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
46080         * modules/xstrtol (Files): Distribute new file.
46081         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
46082         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
46083         * tests/test-xstrtol.c: ...into new file.
46084         * tests/test-xstrtoul.c: Also test xstrtoul.
46085         * tests/test-xstrtoimax.c: Also test xstrtoimax.
46086         * tests/test-xstrtoumax.c: Also test xstrtoumax.
46087         * tests/test-xstrtol.sh: Drive the tests.
46088         * tests/test-xstrtoimax.sh: Likewise.
46089         * tests/test-xstrtoumax.sh: Likewise.
46090         * modules/xstrtol-tests: New module.
46091         * modules/xstrtoimax-tests: Likewise.
46092         * modules/xstrtoumax-tests: Likewise.
46093
46094 2007-08-08  Jim Meyering  <jim@meyering.net>
46095
46096         New function: mfile_name_concat.
46097         * lib/filenamecat.c (mfile_name_concat): New function, just like
46098         file_name_concat, but return NULL upon failure rather than exiting
46099         with a diagnostic.
46100         * lib/filenamecat.h: Declare it.
46101
46102 2007-08-07  Bruno Haible  <bruno@clisp.org>
46103
46104         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
46105         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
46106         warning from gcc.
46107         Reported by Eric Blake.
46108
46109 2007-08-07  Simon Josefsson  <simon@josefsson.org>
46110
46111         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
46112         * modules/crypto/arcfour (License): Likewise.
46113         * modules/crypto/des-tests (License): Likewise.
46114         * modules/crypto/gc-arctwo-tests (License): Likewise.
46115         * modules/crypto/gc-des-tests (License): Likewise.
46116         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
46117         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
46118         * modules/crypto/gc-md2-tests (License): Likewise.
46119         * modules/crypto/gc-md4-tests (License): Likewise.
46120         * modules/crypto/gc-md5-tests (License): Likewise.
46121         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
46122         * modules/crypto/gc-rijndael-tests (License): Likewise.
46123         * modules/crypto/gc-sha1-tests (License): Likewise.
46124         * modules/crypto/gc-tests (License): Likewise.
46125         * modules/crypto/hmac-md5 (License): Likewise.
46126         * modules/crypto/hmac-sha1 (License): Likewise.
46127         * modules/crypto/md2-tests (License): Likewise.
46128         * modules/crypto/md4-tests (License): Likewise.
46129         * modules/crypto/md5 (License): Likewise.
46130         * modules/crypto/rijndael (License): Likewise.
46131         * modules/crypto/sha1 (License): Likewise.
46132         * modules/memxor (License): Likewise.
46133
46134 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46135         and Bruno Haible  <bruno@clisp.org>
46136
46137         * NEWS: Describe interface changes to human, xstrtol.
46138         * lib/human.h: Include <xstrtol.h>.
46139         (human_options): Return enum strtol_error, not int.  Remove
46140         bool arg; take int * instead.
46141         * lib/human.c: Don't include "gettext.h".
46142         (_): Remove; no longer used.
46143         Don't include <xstrtol.h>, since human.h does it.
46144         (human_options): Adjust to abovementioned interface changes.
46145         Do not report error to stderr; that's now the caller's
46146         responsibility.
46147         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
46148         interface change.
46149         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
46150         Str, Argument_type_string.  All uses changed.  Put " argument"
46151         in diagnostics to make them clearer.  Change wording of suffix
46152         message for clarity.
46153         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
46154         Argument_type_string.
46155         (STRTOL_FATAL_WARN): Remove; no longer used.
46156         * modules/human (Depends-on): Remove gettext-h.
46157
46158 2007-08-06  Simon Josefsson  <simon@josefsson.org>
46159
46160         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
46161
46162 2007-07-31  Bruno Haible  <bruno@clisp.org>
46163
46164         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
46165         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
46166         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
46167
46168 2007-07-31  Bruno Haible  <bruno@clisp.org>
46169
46170         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
46171         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
46172
46173 2007-07-30  Bruno Haible  <bruno@clisp.org>
46174
46175         * modules/base64 (License): Use the synonymous term "LGPLv2+".
46176         * modules/c-ctype (License): Likewise.
46177         * modules/c-strcase (License): Likewise.
46178         * modules/check-version (License): Likewise.
46179         * modules/iconv (License): Likewise.
46180         * modules/iconv_open (License): Likewise.
46181         * modules/read-file (License): Likewise.
46182         * modules/striconv (License): Likewise.
46183         * modules/strverscmp (License): Likewise.
46184         * modules/vasprintf (License): Likewise.
46185         * modules/crypto/des (License): Likewise.
46186         * modules/crypto/gc (License): Likewise.
46187         * modules/crypto/gc-arcfour (License): Likewise.
46188         * modules/crypto/gc-arctwo (License): Likewise.
46189         * modules/crypto/gc-des (License): Likewise.
46190         * modules/crypto/gc-hmac-md5 (License): Likewise.
46191         * modules/crypto/gc-hmac-sha1 (License): Likewise.
46192         * modules/crypto/gc-md2 (License): Likewise.
46193         * modules/crypto/gc-md4 (License): Likewise.
46194         * modules/crypto/gc-md5 (License): Likewise.
46195         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
46196         * modules/crypto/gc-random (License): Likewise.
46197         * modules/crypto/gc-rijndael (License): Likewise.
46198         * modules/crypto/gc-sha1 (License): Likewise.
46199         * modules/crypto/md2 (License): Likewise.
46200         * modules/crypto/md4 (License): Likewise.
46201
46202 2007-07-30  Jim Meyering  <jim@meyering.net>
46203
46204         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
46205         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
46206         it has valid stat data.  This bug would cause du not to count the
46207         sizes of inaccessible directories.
46208         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
46209         in <http://bugzilla.redhat.com/250077>.
46210
46211 2007-07-25  Peter O'Gorman  <peter@pogma.com>
46212             Bruno Haible  <bruno@clisp.org>
46213
46214         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
46215         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
46216         #include_next, gives a diagnostic about it, but reports no error in
46217         the exit code.
46218         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46219
46220 2007-07-24  Ben Pfaff  <blp@gnu.org>
46221
46222         Improve name: "count-one-bits" is better than "popcount".
46223         * MODULES.html.sh: Update name.
46224         * lib/popcount.h: Renamed lib/count-one-bits.h.
46225         (popcount): Renamed count_one_bits.
46226         (popcountl): Renamed count_one_bits_l.
46227         (popcountll): Renamed count_one_bits_ll.
46228         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
46229         * modules/popcount: Renamed module/count-one-bits.
46230         * modules/popcount-tests: Renamed module/count-one-bits-tests.
46231         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
46232
46233 2007-07-23  Ben Pfaff  <blp@gnu.org>
46234
46235         * lib/popcount.h (popcount32): Reduce size of constants, to allow
46236         better code generation, and add U to large constants to avoid
46237         warnings, in non-GCC case.
46238         Suggested by Bruno Haible.
46239
46240 2007-07-23  Ben Pfaff  <blp@gnu.org>
46241
46242         * lib/popcount.h: Use verify_true instead of if...abort.
46243         * modules/popcount: Depend on verify module.
46244         Suggested by Jim Meyering.
46245
46246 2007-07-23  Bruno Haible  <bruno@clisp.org>
46247
46248         * gnulib-tool (func_import): Create a .cvsignore file also when the
46249         directory is not yet in CVS but the toplevel directory is. When
46250         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
46251         Reported by Karl Berry.
46252
46253 2007-07-22  Ben Pfaff  <blp@gnu.org>
46254
46255         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
46256         case.
46257         Suggested by Eric Blake.
46258
46259 2007-07-22  Ben Pfaff  <blp@gnu.org>
46260
46261         New module: popcount.
46262         * MODULES.html.sh: Add popcount.
46263         * modules/popcount: New file.
46264         * modules/popcount-tests: New file.
46265         * tests/test-popcount.c: New file.
46266         * lib/popcount.h: New file.
46267         * m4/popcount.m4: New file.
46268
46269 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46270
46271         * build-aux/announce-gen: Update to GPLv3.
46272
46273         * build-aux/config.guess: Update from config.
46274
46275 2007-07-21  Bruno Haible  <bruno@clisp.org>
46276
46277         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
46278         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
46279
46280 2007-07-20  Jim Meyering  <jim@meyering.net>
46281
46282         * check-module: Diagnose a self-dependency.
46283
46284 2007-07-19  Bruno Haible  <bruno@clisp.org>
46285
46286         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
46287         empty.
46288         Reported by Eric Blake.
46289
46290 2007-07-18  Bruno Haible  <bruno@clisp.org>
46291
46292         * gnulib-tool: New options --po-base, --po-domain.
46293         (func_usage): Document them.
46294         (pobase, po_domain): New variables.
46295         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
46296         DEFAULT_TEXT_DOMAIN.
46297         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
46298         (func_import): Consider pobase and po_domain. Create a po/ directory.
46299         (func_create_testdir): Set pobase and po_domain to empty.
46300         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
46301         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
46302
46303 2007-07-18  Bruno Haible  <bruno@clisp.org>
46304
46305         * gnulib-tool (func_get_automake_snippet): Synthesize also an
46306         EXTRA_DIST augmentation for files in build-aux/.
46307
46308 2007-07-16  Bruno Haible  <bruno@clisp.org>
46309
46310         * modules/lseek (License): Use the synonymous term "LGPLv2+".
46311         * modules/getdelim (License): Likewise.
46312
46313 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46314
46315         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
46316         * modules/d-type (License): Likewise.
46317         * modules/extensions (License): Likewise.
46318         * modules/fnmatch (License): Likewise.
46319         * modules/fseeko (License): Likewise.
46320         * modules/getaddrinfo (License): Likewise.
46321         * modules/getline (License): Likewise.
46322         * modules/getlogin_r (License): Likewise.
46323         * modules/getpass (License): Likewise.
46324         * modules/gettimeofday (License): Likewise.
46325         * modules/glob (License): Likewise.
46326         * modules/inet_ntop (License): Likewise.
46327         * modules/malloc (License): Likewise.
46328         * modules/malloca (License): Likewise.
46329         * modules/memmem (License): Likewise.
46330         * modules/mempcpy (License): Likewise.
46331         * modules/memset (License): Likewise.
46332         * modules/minmax (License): Likewise.
46333         * modules/mktime (License): Likewise.
46334         * modules/netinet_in (License): Likewise.
46335         * modules/pathmax (License): Likewise.
46336         * modules/poll (License): Likewise.
46337         * modules/regex (License): Likewise.
46338         * modules/snprintf (License): Likewise.
46339         * modules/stdbool (License): Likewise.
46340         * modules/stdint (License): Likewise.
46341         * modules/stdio (License): Likewise.
46342         * modules/strcase (License): Likewise.
46343         * modules/strcasestr (License): Likewise.
46344         * modules/strdup (License): Likewise.
46345         * modules/string (License): Likewise.
46346         * modules/strndup (License): Likewise.
46347         * modules/strnlen (License): Likewise.
46348         * modules/strpbrk (License): Likewise.
46349         * modules/strptime (License): Likewise.
46350         * modules/strsep (License): Likewise.
46351         * modules/sys_select (License): Likewise.
46352         * modules/sys_socket (License): Likewise.
46353         * modules/sys_stat (License): Likewise.
46354         * modules/sys_time (License): Likewise.
46355         * modules/time (License): Likewise.
46356         * modules/time_r (License): Likewise.
46357         * modules/timegm (License): Likewise.
46358         * modules/unistd (License): Likewise.
46359         * modules/vsnprintf (License): Likewise.
46360         * modules/wctype (License): Likewise.
46361
46362 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46363
46364         * modules/argz (License): LGPLv2+.
46365
46366 2007-07-15  Karl Berry  <karl@gnu.org>
46367
46368         * doc/gnulib.texi: revise node structure per new fdl.texi.
46369
46370 2007-07-14  Bruno Haible  <bruno@clisp.org>
46371
46372         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
46373         the output file.
46374         * lib/uniname/uninames.h: Regenerated.
46375
46376 2007-07-14  Karl Berry  <karl@gnu.org>
46377
46378         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
46379         omitting sectioning and index commands.
46380
46381 2007-07-13  Bruno Haible  <bruno@clisp.org>
46382
46383         New gnulib-tool option --more-symlinks.
46384         * gnulib-tool (func_usage): Document --more-symlinks.
46385         (do_copyrights): New variable.
46386         Recognize option --more-symlinks.
46387         (func_import): Don't add a copyright notice transform to
46388         sed_transform_lib_file if do_copyrights is empty.
46389
46390 2007-07-13  Bruno Haible  <bruno@clisp.org>
46391
46392         * lib/vasnprintf.c (decimal_point_char): Define also if
46393         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
46394         && !NEED_PRINTF_DIRECTIVE_A.
46395         Reported by Clemens Koller <clemens.koller@anagramm.de> via
46396         Gary V. Vaughan <gary@gnu.org>.
46397
46398 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46399
46400         * lib/inttypes_.h: Undo previous change, since it was fixed
46401         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
46402
46403 2007-07-13  Bruno Haible  <bruno@clisp.org>
46404
46405         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
46406         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
46407
46408 2007-07-13  Jim Meyering  <jim@meyering.net>
46409
46410         df: Don't fail for Tru64's "file-on-file mount".
46411         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
46412         so we fall through and use statfs instead.  Details here:
46413         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
46414         Reported by Albert Chin.
46415
46416 2007-07-13  Bruno Haible  <bruno@clisp.org>
46417
46418         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
46419         * modules/configmake (License): Likewise.
46420         * modules/gettext (License): Likewise.
46421         * modules/gettext-h (License): Likewise.
46422         * modules/include_next (License): Likewise.
46423         * modules/link-warning (License): Likewise.
46424         * modules/localcharset (License): Likewise.
46425         * modules/localename (License): Likewise.
46426         * modules/lock (License): Likewise.
46427         * modules/relocatable-lib-lgpl (License): Likewise.
46428         * modules/size_max (License): Likewise.
46429         * modules/vasnprintf (License): Likewise.
46430         * modules/wchar (License): Likewise.
46431         * modules/xsize (License): Likewise.
46432
46433 2007-07-13  Bruno Haible  <bruno@clisp.org>
46434
46435         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
46436         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
46437
46438 2007-07-12  Bruno Haible  <bruno@clisp.org>
46439
46440         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
46441         in the modules files.
46442
46443 2007-07-11  Karl Berry  <karl@gnu.org>
46444
46445         * MODULES.html.sh (func_module): use
46446          sed -e '\|^'"${includefile}"'$|d'
46447          instead of /.../d, to avoid errors on $includefile's containing /.
46448
46449 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46450
46451         * gnulib-tool (func_import): Avoid duplication of --avoid
46452         statements
46453         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
46454         names to `_' in variable names.
46455
46456 2007-07-10  Eric Blake  <ebb9@byu.net>
46457
46458         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
46459         * NEWS: Document this change.
46460
46461 2007-07-08  Bruno Haible  <bruno@clisp.org>
46462
46463         Update to Unicode 5.0.
46464         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
46465         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
46466         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
46467         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
46468         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
46469         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
46470         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
46471         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
46472         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
46473         U+10A3F, U+1D242..U+1D244.
46474         (nonspacing_table_ind): Update.
46475         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
46476         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
46477
46478 2007-07-08  Bruno Haible  <bruno@clisp.org>
46479
46480         Update to Unicode 5.0.
46481         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
46482         code transform. Extend the name index field of unicode_name_to_code and
46483         unicode_code_to_name from 16 to 24 bits.
46484         * lib/uniname/uniname.c (unicode_character_name,
46485         unicode_name_character): Add the range 0x12xxx to the code transform.
46486         * lib/uniname/uninames.h: Regenerated.
46487         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
46488
46489 2007-07-07  Bruno Haible  <bruno@clisp.org>
46490
46491         * modules/wcwidth-tests: New file.
46492         * tests/test-wcwidth.c: New file.
46493
46494         Work around MacOS X wcwidth() bug.
46495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
46496         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
46497         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
46498         original wcwidth in non-UTF-8 locales.
46499         * modules/wcwidth (Depends-on): Add localcharset, streq,
46500         uniwidth/width.
46501         * doc/functions/wcwidth.texi: Update.
46502
46503 2007-07-07  Bruno Haible  <bruno@clisp.org>
46504
46505         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
46506         (wcwidth): New declaration.
46507         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
46508         macros.
46509         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
46510         here. Prepare for creating <wchar.h> unconditionally.
46511         * modules/wchar (Depends-on): Add link-warning.
46512         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
46513         REPLACE_WCWIDTH, and GL_LINK_WARNING.
46514         * lib/wcwidth.h: Remove file.
46515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
46516         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
46517         * modules/wcwidth (Files): Remove lib/wcwidth.h.
46518         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
46519         (Include): Replace wcwidth.h with <wchar.h>.
46520         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
46521         * lib/mbchar.h: Don't include wcwidth.h.
46522         * lib/mbswidth.c: Likewise.
46523         * NEWS: Mention the change.
46524
46525 2007-07-07  Bruno Haible  <bruno@clisp.org>
46526
46527         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
46528         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
46529         definition with an external declaration.
46530         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
46531         defined as a function. Remove AC_C_INLINE requirement.
46532         * modules/wcwidth (Files): Add lib/wcwidth.c.
46533         (Makefile.am): Remove redundant statement.
46534
46535 2007-07-07  Bruno Haible  <bruno@clisp.org>
46536
46537         * MODULES.html.sh (Unicode string functions): Add the new modules.
46538
46539         * tests/uniwidth/test-u32-strwidth.c: New file.
46540         * modules/uniwidth/u32-strwidth-tests: New file.
46541
46542         * lib/uniwidth/u32-strwidth.c: New file.
46543         * modules/uniwidth/u32-strwidth: New file.
46544
46545         * tests/uniwidth/test-u16-strwidth.c: New file.
46546         * modules/uniwidth/u16-strwidth-tests: New file.
46547
46548         * lib/uniwidth/u16-strwidth.c: New file.
46549         * modules/uniwidth/u16-strwidth: New file.
46550
46551         * tests/uniwidth/test-u8-strwidth.c: New file.
46552         * modules/uniwidth/u8-strwidth-tests: New file.
46553
46554         * lib/uniwidth/u8-strwidth.c: New file.
46555         * modules/uniwidth/u8-strwidth: New file.
46556
46557         * tests/uniwidth/test-u32-width.c: New file.
46558         * modules/uniwidth/u32-width-tests: New file.
46559
46560         * lib/uniwidth/u32-width.c: New file.
46561         * modules/uniwidth/u32-width: New file.
46562
46563         * tests/uniwidth/test-u16-width.c: New file.
46564         * modules/uniwidth/u16-width-tests: New file.
46565
46566         * lib/uniwidth/u16-width.c: New file.
46567         * modules/uniwidth/u16-width: New file.
46568
46569         * tests/uniwidth/test-u8-width.c: New file.
46570         * modules/uniwidth/u8-width-tests: New file.
46571
46572         * lib/uniwidth/u8-width.c: New file.
46573         * modules/uniwidth/u8-width: New file.
46574
46575         * tests/uniwidth/test-uc_width.c: New file.
46576         * modules/uniwidth/width-tests: New file.
46577
46578         * lib/uniwidth/width.c: New file, from GNU libiconv.
46579         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
46580         * modules/uniwidth/width: New file.
46581
46582         * lib/uniwidth.h: New file, from GNU libiconv.
46583         * modules/uniwidth/base: New file.
46584
46585 2007-07-07  Bruno Haible  <bruno@clisp.org>
46586
46587         * lib/uniname.h: New file, from GNU gettext.
46588         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
46589         * lib/uniname/uninames.h: New file, from GNU gettext.
46590         * lib/uniname/uniname.c: New file, from GNU gettext.
46591         * tests/uniname/test-uninames.sh: New file.
46592         * tests/uniname/test-uninames.c: New file, from GNU gettext.
46593         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
46594         * modules/uniname/base: New file.
46595         * modules/uniname/uniname: New file.
46596         * modules/uniname/uniname-tests: New file.
46597         * MODULES.html.sh (Unicode string functions): Add the new modules.
46598
46599 2007-07-06  Bruno Haible  <bruno@clisp.org>
46600
46601         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
46602
46603 2007-07-06  Bruno Haible  <bruno@clisp.org>
46604
46605         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
46606         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
46607         includes <cygwin/sys_time.h> which includes <sys/select.h> which
46608         include <sys/time.h>.
46609         Reported by Eric Blake.
46610
46611 2007-07-06  Eric Blake  <ebb9@byu.net>
46612
46613         Fix testing canonicalize on cygwin.
46614         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46615         Revert patch from 2007-06-19.
46616         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
46617         canonicalize module is also in use.
46618         * tests/test-canonicalize.c: New file.
46619         * tests/test-canonicalize.sh: Likewise.
46620         * modules/canonicalize-tests: Likewise.
46621
46622 2007-07-06  Jim Meyering  <jim@meyering.net>
46623
46624         * lib/getugroups.c (getugroups): Detect getgrent failure.
46625         Adjust comment to reflect reality: this function may return -1.
46626
46627 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
46628
46629         * build-aux/bootstrap (TP_URL,get_translations): Update to use
46630         the new TP address.
46631         (usage): Fix typo
46632         (gnulib_mk): New variable.
46633
46634 2007-07-05  Jim Meyering  <jim@meyering.net>
46635
46636         Don't let endgrent clobber errno, no matter how improbable.
46637         * lib/getugroups.c (getugroups): Save and restore errno around
46638         endgrent call.
46639
46640         Close the group DB even when failing with 2^31 or more members.
46641         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
46642
46643 2007-07-04  Jim Meyering  <jim@meyering.net>
46644
46645         * lib/getugroups.h: New file.
46646         * lib/getugroups.c: Include "getugroups.h".
46647         Remove uses of "register" keyword.
46648         Move local variable, "cp", down into scope where used.
46649         Give "username" parameter the "const" attribute.
46650         * modules/getugroups (Files): Add lib/getugroups.h
46651
46652 2007-07-04  Karl Berry  <karl@gnu.org>
46653
46654         * MODULES.html.sh (func_all_modules): Complete rename of
46655         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
46656
46657 2007-07-02  Bruno Haible  <bruno@clisp.org>
46658
46659         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
46660         mode, when inttypes.h comes from gnulib.
46661         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
46662
46663 2007-07-02  Simon Josefsson  <simon@josefsson.org>
46664
46665         * NEWS: Mention lgpl module name change.
46666
46667         * modules/lgpl-2.1: Renamed from lgpl.
46668
46669         * NEWS: Mention gpl module name change.
46670
46671         * modules/gpl-3.0: New file, based on gpl-2.0.
46672
46673         * modules/gpl-2.0: Renamed from gpl.
46674
46675         * modules/gpl: Fix filename, doc/gpl.texi is now found at
46676         doc/gpl-2.0.texi.
46677
46678 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46679
46680         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
46681         #define __STDC_LIMIT_MACROS temporarily while including
46682         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
46683         Problem reported by Joel E. Denny in
46684         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
46685
46686 2007-07-01  Bruno Haible  <bruno@clisp.org>
46687
46688         * lib/unistdio.h: New file.
46689         * lib/unistdio/u-asnprintf.h: New file.
46690         * lib/unistdio/u-asprintf.h: New file.
46691         * lib/unistdio/u-printf-args.c: New file.
46692         * lib/unistdio/u-printf-args.h: New file.
46693         * lib/unistdio/u-printf-parse.h: New file.
46694         * lib/unistdio/u-snprintf.h: New file.
46695         * lib/unistdio/u-sprintf.h: New file.
46696         * lib/unistdio/u-vasprintf.h: New file.
46697         * lib/unistdio/u-vsnprintf.h: New file.
46698         * lib/unistdio/u-vsprintf.h: New file.
46699         * lib/unistdio/ulc-asnprintf.c: New file.
46700         * lib/unistdio/ulc-asprintf.c: New file.
46701         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
46702         * lib/unistdio/ulc-printf-parse.c: New file.
46703         * lib/unistdio/ulc-snprintf.c: New file.
46704         * lib/unistdio/ulc-sprintf.c: New file.
46705         * lib/unistdio/ulc-vasnprintf.c: New file.
46706         * lib/unistdio/ulc-vasprintf.c: New file.
46707         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
46708         * lib/unistdio/ulc-vsnprintf.c: New file.
46709         * lib/unistdio/ulc-vsprintf.c: New file.
46710         * lib/unistdio/u8-asnprintf.c: New file.
46711         * lib/unistdio/u8-asprintf.c: New file.
46712         * lib/unistdio/u8-printf-parse.c: New file.
46713         * lib/unistdio/u8-snprintf.c: New file.
46714         * lib/unistdio/u8-sprintf.c: New file.
46715         * lib/unistdio/u8-vasnprintf.c: New file.
46716         * lib/unistdio/u8-vasprintf.c: New file.
46717         * lib/unistdio/u8-vsnprintf.c: New file.
46718         * lib/unistdio/u8-vsprintf.c: New file.
46719         * lib/unistdio/u8-u8-asnprintf.c: New file.
46720         * lib/unistdio/u8-u8-asprintf.c: New file.
46721         * lib/unistdio/u8-u8-snprintf.c: New file.
46722         * lib/unistdio/u8-u8-sprintf.c: New file.
46723         * lib/unistdio/u8-u8-vasnprintf.c: New file.
46724         * lib/unistdio/u8-u8-vasprintf.c: New file.
46725         * lib/unistdio/u8-u8-vsnprintf.c: New file.
46726         * lib/unistdio/u8-u8-vsprintf.c: New file.
46727         * lib/unistdio/u16-asnprintf.c: New file.
46728         * lib/unistdio/u16-asprintf.c: New file.
46729         * lib/unistdio/u16-printf-parse.c: New file.
46730         * lib/unistdio/u16-snprintf.c: New file.
46731         * lib/unistdio/u16-sprintf.c: New file.
46732         * lib/unistdio/u16-vasnprintf.c: New file.
46733         * lib/unistdio/u16-vasprintf.c: New file.
46734         * lib/unistdio/u16-vsnprintf.c: New file.
46735         * lib/unistdio/u16-vsprintf.c: New file.
46736         * lib/unistdio/u16-u16-asnprintf.c: New file.
46737         * lib/unistdio/u16-u16-asprintf.c: New file.
46738         * lib/unistdio/u16-u16-snprintf.c: New file.
46739         * lib/unistdio/u16-u16-sprintf.c: New file.
46740         * lib/unistdio/u16-u16-vasnprintf.c: New file.
46741         * lib/unistdio/u16-u16-vasprintf.c: New file.
46742         * lib/unistdio/u16-u16-vsnprintf.c: New file.
46743         * lib/unistdio/u16-u16-vsprintf.c: New file.
46744         * lib/unistdio/u32-asnprintf.c: New file.
46745         * lib/unistdio/u32-asprintf.c: New file.
46746         * lib/unistdio/u32-printf-parse.c: New file.
46747         * lib/unistdio/u32-snprintf.c: New file.
46748         * lib/unistdio/u32-sprintf.c: New file.
46749         * lib/unistdio/u32-vasnprintf.c: New file.
46750         * lib/unistdio/u32-vasprintf.c: New file.
46751         * lib/unistdio/u32-vsnprintf.c: New file.
46752         * lib/unistdio/u32-vsprintf.c: New file.
46753         * lib/unistdio/u32-u32-asnprintf.c: New file.
46754         * lib/unistdio/u32-u32-asprintf.c: New file.
46755         * lib/unistdio/u32-u32-snprintf.c: New file.
46756         * lib/unistdio/u32-u32-sprintf.c: New file.
46757         * lib/unistdio/u32-u32-vasnprintf.c: New file.
46758         * lib/unistdio/u32-u32-vasprintf.c: New file.
46759         * lib/unistdio/u32-u32-vsnprintf.c: New file.
46760         * lib/unistdio/u32-u32-vsprintf.c: New file.
46761         * tests/unistdio/test-ulc-asnprintf1.c: New file.
46762         * tests/unistdio/test-ulc-asnprintf1.h: New file.
46763         * tests/unistdio/test-ulc-printf1.h: New file.
46764         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
46765         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
46766         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
46767         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
46768         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
46769         * tests/unistdio/test-ulc-vasprintf1.c: New file.
46770         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
46771         * tests/unistdio/test-ulc-vsprintf1.c: New file.
46772         * tests/unistdio/test-u8-asnprintf1.c: New file.
46773         * tests/unistdio/test-u8-asnprintf1.h: New file.
46774         * tests/unistdio/test-u8-printf1.h: New file.
46775         * tests/unistdio/test-u8-vasnprintf1.c: New file.
46776         * tests/unistdio/test-u8-vasnprintf2.c: New file.
46777         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
46778         * tests/unistdio/test-u8-vasnprintf3.c: New file.
46779         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
46780         * tests/unistdio/test-u8-vasprintf1.c: New file.
46781         * tests/unistdio/test-u8-vsnprintf1.c: New file.
46782         * tests/unistdio/test-u8-vsprintf1.c: New file.
46783         * tests/unistdio/test-u16-asnprintf1.c: New file.
46784         * tests/unistdio/test-u16-asnprintf1.h: New file.
46785         * tests/unistdio/test-u16-printf1.h: New file.
46786         * tests/unistdio/test-u16-vasnprintf1.c: New file.
46787         * tests/unistdio/test-u16-vasnprintf2.c: New file.
46788         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
46789         * tests/unistdio/test-u16-vasnprintf3.c: New file.
46790         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
46791         * tests/unistdio/test-u16-vasprintf1.c: New file.
46792         * tests/unistdio/test-u16-vsnprintf1.c: New file.
46793         * tests/unistdio/test-u16-vsprintf1.c: New file.
46794         * tests/unistdio/test-u32-asnprintf1.c: New file.
46795         * tests/unistdio/test-u32-asnprintf1.h: New file.
46796         * tests/unistdio/test-u32-printf1.h: New file.
46797         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46798         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46799         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46800         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46801         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46802         * tests/unistdio/test-u32-vasprintf1.c: New file.
46803         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46804         * tests/unistdio/test-u32-vsprintf1.c: New file.
46805         * modules/unistdio/base: New file.
46806         * modules/unistdio/u-printf-args: New file.
46807         * modules/unistdio/ulc-asnprintf: New file.
46808         * modules/unistdio/ulc-asprintf: New file.
46809         * modules/unistdio/ulc-fprintf: New file.
46810         * modules/unistdio/ulc-printf-parse: New file.
46811         * modules/unistdio/ulc-snprintf: New file.
46812         * modules/unistdio/ulc-sprintf: New file.
46813         * modules/unistdio/ulc-vasnprintf: New file.
46814         * modules/unistdio/ulc-vasprintf: New file.
46815         * modules/unistdio/ulc-vfprintf: New file.
46816         * modules/unistdio/ulc-vsnprintf: New file.
46817         * modules/unistdio/ulc-vsprintf: New file.
46818         * modules/unistdio/u8-asnprintf: New file.
46819         * modules/unistdio/u8-asprintf: New file.
46820         * modules/unistdio/u8-printf-parse: New file.
46821         * modules/unistdio/u8-snprintf: New file.
46822         * modules/unistdio/u8-sprintf: New file.
46823         * modules/unistdio/u8-vasnprintf: New file.
46824         * modules/unistdio/u8-vasprintf: New file.
46825         * modules/unistdio/u8-vsnprintf: New file.
46826         * modules/unistdio/u8-vsprintf: New file.
46827         * modules/unistdio/u8-u8-asnprintf: New file.
46828         * modules/unistdio/u8-u8-asprintf: New file.
46829         * modules/unistdio/u8-u8-snprintf: New file.
46830         * modules/unistdio/u8-u8-sprintf: New file.
46831         * modules/unistdio/u8-u8-vasnprintf: New file.
46832         * modules/unistdio/u8-u8-vasprintf: New file.
46833         * modules/unistdio/u8-u8-vsnprintf: New file.
46834         * modules/unistdio/u8-u8-vsprintf: New file.
46835         * modules/unistdio/u16-asnprintf: New file.
46836         * modules/unistdio/u16-asprintf: New file.
46837         * modules/unistdio/u16-printf-parse: New file.
46838         * modules/unistdio/u16-snprintf: New file.
46839         * modules/unistdio/u16-sprintf: New file.
46840         * modules/unistdio/u16-vasnprintf: New file.
46841         * modules/unistdio/u16-vasprintf: New file.
46842         * modules/unistdio/u16-vsnprintf: New file.
46843         * modules/unistdio/u16-vsprintf: New file.
46844         * modules/unistdio/u16-u16-asnprintf: New file.
46845         * modules/unistdio/u16-u16-asprintf: New file.
46846         * modules/unistdio/u16-u16-snprintf: New file.
46847         * modules/unistdio/u16-u16-sprintf: New file.
46848         * modules/unistdio/u16-u16-vasnprintf: New file.
46849         * modules/unistdio/u16-u16-vasprintf: New file.
46850         * modules/unistdio/u16-u16-vsnprintf: New file.
46851         * modules/unistdio/u16-u16-vsprintf: New file.
46852         * modules/unistdio/u32-asnprintf: New file.
46853         * modules/unistdio/u32-asprintf: New file.
46854         * modules/unistdio/u32-printf-parse: New file.
46855         * modules/unistdio/u32-snprintf: New file.
46856         * modules/unistdio/u32-sprintf: New file.
46857         * modules/unistdio/u32-vasnprintf: New file.
46858         * modules/unistdio/u32-vasprintf: New file.
46859         * modules/unistdio/u32-vsnprintf: New file.
46860         * modules/unistdio/u32-vsprintf: New file.
46861         * modules/unistdio/u32-u32-asnprintf: New file.
46862         * modules/unistdio/u32-u32-asprintf: New file.
46863         * modules/unistdio/u32-u32-snprintf: New file.
46864         * modules/unistdio/u32-u32-sprintf: New file.
46865         * modules/unistdio/u32-u32-vasnprintf: New file.
46866         * modules/unistdio/u32-u32-vasprintf: New file.
46867         * modules/unistdio/u32-u32-vsnprintf: New file.
46868         * modules/unistdio/u32-u32-vsprintf: New file.
46869         * modules/unistdio/ulc-asnprintf-tests: New file.
46870         * modules/unistdio/ulc-vasnprintf-tests: New file.
46871         * modules/unistdio/ulc-vasprintf-tests: New file.
46872         * modules/unistdio/ulc-vsnprintf-tests: New file.
46873         * modules/unistdio/ulc-vsprintf-tests: New file.
46874         * modules/unistdio/u8-asnprintf-tests: New file.
46875         * modules/unistdio/u8-vasnprintf-tests: New file.
46876         * modules/unistdio/u8-vasprintf-tests: New file.
46877         * modules/unistdio/u8-vsnprintf-tests: New file.
46878         * modules/unistdio/u8-vsprintf-tests: New file.
46879         * modules/unistdio/u16-asnprintf-tests: New file.
46880         * modules/unistdio/u16-vasnprintf-tests: New file.
46881         * modules/unistdio/u16-vasprintf-tests: New file.
46882         * modules/unistdio/u16-vsnprintf-tests: New file.
46883         * modules/unistdio/u16-vsprintf-tests: New file.
46884         * modules/unistdio/u32-asnprintf-tests: New file.
46885         * modules/unistdio/u32-vasnprintf-tests: New file.
46886         * modules/unistdio/u32-vasprintf-tests: New file.
46887         * modules/unistdio/u32-vsnprintf-tests: New file.
46888         * modules/unistdio/u32-vsprintf-tests: New file.
46889         * MODULES.html.sh (Unicode string functions): Add the new modules.
46890
46891 2007-07-01  Bruno Haible  <bruno@clisp.org>
46892
46893         * lib/sprintf.c (sprintf): Limit the available length estimation,
46894         to avoid address wraparound.
46895         * lib/vsprintf.c (vsprintf): Likewise.
46896         * modules/sprintf-posix (Dependencies): Add stdint.
46897         * modules/vsprintf-posix (Dependencies): Likewise.
46898
46899 2007-07-01  Bruno Haible  <bruno@clisp.org>
46900
46901         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46902         Windows PATH as well. Conservative double-quoting. Comments.
46903
46904 2007-07-01  Bruno Haible  <bruno@clisp.org>
46905             Eric Blake  <ebb9@byu.net>
46906             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46907
46908         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46909         empty components in $PATH, denoting '.'.
46910
46911 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46912
46913         * gnulib-tool: Fix indentation.
46914         (func_create_megatestdir): Likewise.
46915         Report by Bruno Haible.
46916
46917 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46918
46919         Sync from Automake.
46920         * build-aux/gnupload: Fix shell portability issues with for loops.
46921         Report by Karl Berry.
46922
46923 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46924
46925         * build-aux/maint.mk (POURL): Use translationproject.org.
46926
46927 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46928             Bruno Haible  <bruno@clisp.org>
46929
46930         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46931         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46932         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46933         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46934         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46935
46936 2007-06-27  Bruno Haible  <bruno@clisp.org>
46937
46938         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46939         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46940
46941 2007-06-26  Karl Berry  <karl@gnu.org>
46942
46943         * MODULES.html.sh: remove xreadlink-with-size.
46944
46945 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46946
46947         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46948         method that I hope also handles the double-include problem noted
46949         by Bruno Haible in
46950         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46951
46952 2007-06-23  Bruno Haible  <bruno@clisp.org>
46953
46954         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46955         Don't let the 'mostlyclean' target fail if the last subdirectory could
46956         not be removed.
46957         Reported by Karl Berry.
46958
46959 2007-06-23  Bruno Haible  <bruno@clisp.org>
46960
46961         * gnulib-tool (echo): Add a speedier workaround for ksh.
46962         * tests/test-echo.sh: Likewise.
46963
46964 2007-06-23  Bruno Haible  <bruno@clisp.org>
46965
46966         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46967         * tests/test-echo.sh: Likewise.
46968
46969 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46970
46971         * gnulib-tool (IFS): Initialize early, so we don't set it to
46972         empty later.
46973         (self_abspathname): Rewrite algorithm to set it, reindent.
46974         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46975         (func_create_megatestdir): Merge some sed scripts.
46976
46977 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46978
46979         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46980         exposed by Sun Studio 11 cc on Solaris 8.
46981
46982 2007-06-22  Bruno Haible  <bruno@clisp.org>
46983
46984         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46985         backslashes.
46986         * tests/test-echo.sh: New file.
46987
46988 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46989
46990         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46991         simplify `sed_replace_build_aux' scripts, they are portable but
46992         echoing them with `echo' is not.
46993         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46994
46995 2007-06-21  Karl Berry  <karl@gnu.org>
46996
46997         * config/srclist.txt: guess we can't handle the licenses via
46998         srclist at the moment.
46999
47000 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47001
47002         * MODULES.html.sh: Add include_next.
47003         * modules/include_next: New file.
47004
47005 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47006
47007         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
47008         INCLUDE_NEXT.
47009         (gl_CHECK_NEXT_HEADERS): New macro.
47010         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
47011         the obsolescent gl_ABSOLUTE_HEADER.
47012         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
47013         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
47014         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
47015         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
47016         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
47017         * m4/math_h.m4 (gl_MATH_H): Likewise.
47018         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
47019         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
47020         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
47021         * m4/stdint.m4 (gl_STDINT_H): Likewise.
47022         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
47023         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
47024         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
47025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47026         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
47027         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
47028         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
47029         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
47030         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
47031         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
47032         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47033         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
47034         * m4/inttypes.m4 (gl_INTTYPES_H): Define
47035         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
47036         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
47037         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
47038         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
47039         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
47040         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
47041         * lib/float_.h: Likewise.
47042         * lib/inttypes_.h: Likewise.
47043         * lib/math_.h: Likewise.
47044         * lib/search_.h: Likewise.
47045         * lib/signal_.h: Likewise.
47046         * lib/stdint_.h: Likewise.
47047         * lib/stdio_.h: Likewise.
47048         * lib/stdlib_.h: Likewise.
47049         * lib/string_.h: Likewise.
47050         * lib/sys_stat_.h: Likewise.
47051         * lib/sys_time_.h: Likewise.
47052         * lib/time_.h: Likewise.
47053         * lib/unistd_.h: Likewise.
47054         * lib/wchar_.h: Likewise.
47055         * lib/wctype_.h: Likewise.
47056         * lib/dirent_.h: Likewise.
47057         * lib/iconv_.h: Likewise.
47058         * lib/locale_.h: Likewise.
47059         * lib/netinet_in_.h: Likewise.
47060         * lib/sys_select_.h: Likewise.
47061         * lib/sys_socket_.h: Likewise.
47062         * lib/sysexits_.h: Likewise.
47063         * modules/fcntl (Depends-on): Depend on include_next, not
47064         absolute_header.
47065         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
47066         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
47067         * modules/fchdir: Likewise.
47068         * modules/float: Likewise.
47069         * modules/iconv_open: Likewise.
47070         * modules/inttypes: Likewise.
47071         * modules/locale: Likewise.
47072         * modules/math: Likewise.
47073         * modules/netinet_in: Likewise.
47074         * modules/search: Likewise.
47075         * modules/signal: Likewise.
47076         * modules/stdint: Likewise.
47077         * modules/stdio: Likewise.
47078         * modules/stdlib: Likewise.
47079         * modules/string: Likewise.
47080         * modules/sys_select: Likewise.
47081         * modules/sys_socket: Likewise.
47082         * modules/sys_stat: Likewise.
47083         * modules/sys_time: Likewise.
47084         * modules/sysexits: Likewise.
47085         * modules/time: Likewise.
47086         * modules/unistd: Likewise.
47087         * modules/wchar: Likewise.
47088         * modules/wctype: Likewise.
47089         * modules/sys_stat: Change maintainer to "all".
47090         * modules/unistd: Likewise.
47091
47092 2007-06-20  Karl Berry  <karl@gnu.org>
47093
47094         * config/srclist.txt: track www changes in license files.
47095
47096 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
47097
47098         * build-aux/bootstrap: Remove stray dot.
47099         Make sure build_aux settings are honored when linking
47100         gnulib_extra_files.
47101
47102 2007-06-19  Eric Blake  <ebb9@byu.net>
47103
47104         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47105         Allow compilation on cygwin.
47106
47107 2007-06-19  Jim Meyering  <jim@meyering.net>
47108
47109         xreadlink-with-size: Remove module.  No longer used.
47110         Ex-callers now use xreadlink or mreadlink-with-size.
47111         * modules/xreadlink-with-size: Remove module.
47112         * lib/xreadlink-with-size.c: Remove file.
47113         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
47114         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
47115         just before the function definition *is* accurate.
47116
47117         Eliminate one way canonicalize_filename_mode could exit.
47118         * lib/canonicalize.c (canonicalize_filename_mode):
47119         Use mreadlink_with_size, not xreadlink_with_size.
47120
47121 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
47122
47123         Detect porting problems to FreeBSD/arm, which has time_t wider than
47124         long int.  Original problem reported for GNU diff by Xin Li in
47125         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
47126         * modules/getdate (Depends-on): Add intprops, verify.
47127         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
47128         is an integer type no wider than long int.
47129
47130 2007-06-18  Jim Meyering  <jim@meyering.net>
47131
47132         New module: mreadlink-with-size.
47133         * MODULES.html.sh: Add mreadlink-with-size.
47134         * modules/mreadlink-with-size: New module
47135         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
47136         not xreadlink-with-size.
47137         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
47138
47139 2007-06-16  Bruno Haible  <bruno@clisp.org>
47140
47141         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
47142         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
47143         Reported by Gary V. Vaughan <gary@gnu.org>.
47144
47145 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
47146
47147         Revamp lchown so that it lives in unistd.h where it belongs.
47148         * lib/lchown.h: Remove.
47149         * lib/dirchownmod.c: Don't include lib/lchown.h.
47150         * lib/fchownat.c: Likewise.
47151         * lib/openat.c: Likewise.
47152         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
47153         does not follow symlinks.
47154         (EOPNOTSUPP): Define if not defined.
47155         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
47156         is defined to 0.
47157         (lchown): New decl.
47158         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
47159         Do not check for lchown decl.
47160         Set REPLACE_LCHOWN.
47161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
47162         REPLACE_LCHOWN.
47163         * modules/chown: Make it clear it follows symlinks.
47164         * modules/lchown: Make it clear it doesn't follow symlinks.
47165         (Files): Remove lib/lchown.h
47166         (Depends-on): Add unistd.
47167         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
47168         (Include): Include <unistd.h>, not "lchown.h".
47169         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
47170         REPLACE_LCHOWN.
47171
47172 2007-06-15  Jim Meyering  <jim@meyering.net>
47173
47174         Change license (GPL to LGPL) of fsusage and dependents.
47175         * modules/fsusage (License): Change to LGPL.
47176         * modules/full-read (License): Likewise.
47177         * modules/full-write (License): Likewise.
47178         * modules/safe-read (License): Likewise.
47179         * modules/safe-write (License): Likewise.
47180
47181 2007-06-14  Ben Pfaff  <blp@gnu.org>
47182
47183         Missing part of allocsa -> malloca transition.
47184         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
47185         gl_MALLOCA.
47186
47187 2007-06-12  Bruno Haible  <bruno@clisp.org>
47188
47189         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
47190         to ia64, x86_64, i386.
47191         Reported by Eric Blake.
47192
47193 2007-06-12  Bruno Haible  <bruno@clisp.org>
47194
47195         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
47196         cross-compiling to x86_64.
47197
47198 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
47199
47200         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
47201         glitch reported by Ralf Wildenhues in
47202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
47203
47204         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
47205         Vin Shelton.
47206
47207 2007-06-11  Bruno Haible  <bruno@clisp.org>
47208
47209         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
47210         replacement string.
47211         Reported by Eric Blake.
47212
47213 2007-06-10  Bruno Haible  <bruno@clisp.org>
47214
47215         Prepare vasnprintf code for use with Unicode strings.
47216         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
47217         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
47218         TYPE_U32_STRING.
47219         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
47220         a_u32_string variants.
47221         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47222         * lib/printf-args.c: Don't include config.h and the specification
47223         header if PRINTF_FETCHARGS is already defined.
47224         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47225         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
47226         TYPE_U16_STRING, TYPE_U32_STRING.
47227         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
47228         u16_directive, u16_directives, u32_directive, u32_directives): New
47229         types.
47230         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
47231         New declarations.
47232         * lib/printf-parse.c: Don't include config.h and the specification
47233         header if PRINTF_PARSE is already defined. Eliminate the set of
47234         parameters for WIDE_CHAR_VERSION; the user of this file must provide
47235         them now. Include c-ctype.h.
47236         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
47237         directive and CHAR_T_ONLY_ASCII.
47238         * lib/vasnprintf.c: Don't include config.h and the specification header
47239         if VASNPRINTF is already defined.
47240         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
47241         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
47242         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
47243         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
47244         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
47245         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
47246         code accordingly.
47247         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
47248         pad_ourselves also in this case, with the 'c' and 's' directives, and
47249         with a different notion of "width".
47250         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
47251
47252 2007-06-10  Bruno Haible  <bruno@clisp.org>
47253
47254         * modules/unistr/u32-mbsnlen: New file.
47255         * lib/unistr/u32-mbsnlen.c: New file.
47256
47257         * modules/unistr/u16-mbsnlen: New file.
47258         * lib/unistr/u16-mbsnlen.c: New file.
47259
47260         * modules/unistr/u8-mbsnlen: New file.
47261         * lib/unistr/u8-mbsnlen.c: New file.
47262
47263         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
47264         declarations.
47265
47266 2007-06-10  Bruno Haible  <bruno@clisp.org>
47267
47268         * lib/string_.h (mbsnlen): New declaration.
47269         * lib/mbsnlen.c: New file.
47270         * m4/mbsnlen.m4: New file.
47271         * modules/mbsnlen: New file.
47272         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
47273         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
47274         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
47275
47276 2007-06-10  Bruno Haible  <bruno@clisp.org>
47277
47278         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
47279
47280 2007-06-10  Bruno Haible  <bruno@clisp.org>
47281
47282         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
47283         * lib/mbuiter.h: Likewise.
47284
47285 2007-06-10  Bruno Haible  <bruno@clisp.org>
47286
47287         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
47288         declaration.
47289
47290 2007-06-10  Karl Berry  <karl@gnu.org>
47291
47292         * config/srclist.txt: remove gettext entries, Bruno prefers
47293         to update individually.
47294
47295 2007-06-10  Bruno Haible  <bruno@clisp.org>
47296
47297         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
47298         'maxlen'. Ensure only length + width bytes are allocated, not
47299         length + 1 + width.
47300
47301 2007-06-09  Bruno Haible  <bruno@clisp.org>
47302
47303         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
47304         (CHAR_T): Remove macro.
47305         (VASNPRINTF): Update.
47306
47307 2007-06-09  Bruno Haible  <bruno@clisp.org>
47308
47309         * MODULES.html.sh (Unicode string functions): Add the new modules.
47310
47311         * modules/uniconv/u32-conv-to-enc: New file.
47312         * lib/uniconv/u32-conv-to-enc.c: New file.
47313         * modules/uniconv/u32-conv-to-enc-tests: New file.
47314         * tests/uniconv/test-u32-conv-to-enc.c: New file.
47315
47316         * modules/uniconv/u16-conv-to-enc: New file.
47317         * lib/uniconv/u16-conv-to-enc.c: New file.
47318         * lib/uniconv/u-conv-to-enc.h: New file.
47319         * modules/uniconv/u16-conv-to-enc-tests: New file.
47320         * tests/uniconv/test-u16-conv-to-enc.c: New file.
47321
47322         * modules/uniconv/u8-conv-to-enc: New file.
47323         * lib/uniconv/u8-conv-to-enc.c: New file.
47324         * modules/uniconv/u8-conv-to-enc-tests: New file.
47325         * tests/uniconv/test-u8-conv-to-enc.c: New file.
47326
47327         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47328         u32_conv_to_encoding): New declarations.
47329
47330 2007-06-09  Bruno Haible  <bruno@clisp.org>
47331
47332         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
47333
47334 2007-06-09  Bruno Haible  <bruno@clisp.org>
47335
47336         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
47337         * modules/malloca: Renamed from modules/allocsa, updated.
47338         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
47339         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
47340         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
47341         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
47342         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
47343         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
47344         * modules/xmalloca: Renamed from modules/xallocsa, updated.
47345         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
47346         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
47347         * modules/c-strcasestr (Depends-on): Update.
47348         * lib/c-strcasestr.c: Update.
47349         * modules/c-strstr (Depends-on): Update.
47350         * lib/c-strstr.c: Update.
47351         * modules/canonicalize-lgpl (Depends-on): Update.
47352         * lib/canonicalize-lgpl.c: Update.
47353         * modules/clean-temp (Depends-on): Update.
47354         * lib/clean-temp.c: Update.
47355         * modules/csharpcomp (Depends-on): Update.
47356         * lib/csharpcomp.c: Update.
47357         * modules/csharpexec (Depends-on): Update.
47358         * lib/csharpexec.c: Update.
47359         * modules/javacomp (Depends-on): Update.
47360         * lib/javacomp.c: Update.
47361         * modules/javaexec (Depends-on): Update.
47362         * lib/javaexec.c: Update.
47363         * modules/mbscasestr (Depends-on): Update.
47364         * lib/mbscasestr.c: Update.
47365         * modules/mbsstr (Depends-on): Update.
47366         * lib/mbsstr.c: Update.
47367         * modules/setenv (Depends-on): Update.
47368         * lib/setenv.c: Update.
47369         * modules/strcasestr (Depends-on): Update.
47370         * lib/strcasestr.c: Update.
47371         * modules/striconveha (Depends-on): Update.
47372         * lib/striconveha.c: Update.
47373         * modules/relocatable-prog-wrapper (Files): Update.
47374         * lib/relocwrapper.c: Update.
47375         * build-aux/install-reloc: Update.
47376         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
47377
47378 2007-06-08  Bruno Haible  <bruno@clisp.org>
47379
47380         Port to uClibc.
47381         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
47382         * lib/fpurge.c (fpurge): Likewise.
47383         * lib/freading.c (freading): Likewise.
47384         * lib/fseeko.c (rpl_fseeko): Likewise.
47385         * lib/fseterr.c (fseterr): Likewise.
47386         * lib/fwriting.c (fwriting): Likewise.
47387         * tests/test-fflush.c (main): Avoid a failure on uClibc.
47388
47389 2007-06-08  Bruno Haible  <bruno@clisp.org>
47390
47391         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
47392         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
47393         * modules/gettext (Files): Add m4/intlmacosx.m4.
47394
47395 2007-06-07  Bruno Haible  <bruno@clisp.org>
47396
47397         * modules/localename-tests: New file.
47398         * tests/test-localename.c: New file.
47399
47400         New module 'localename'.
47401         * lib/localename.h: New file.
47402         * lib/localename.c: New file, from GNU gettext.
47403         * m4/localename.m4: New file.
47404         * modules/localename: New file.
47405
47406 2007-06-07  Bruno Haible  <bruno@clisp.org>
47407
47408         Work around the lack of <wchar.h> on some builds of uClibc.
47409         * doc/headers/wchar.texi: Update.
47410         * lib/wchar_.h: Include <wchar.h> only if it exists.
47411         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
47412         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
47413         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
47414         doesn't exist.
47415         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
47416         * modules/mbfile (Depends-on): Add wchar.
47417         * modules/mbiter (Depends-on): Likewise.
47418         * modules/mbuiter (Depends-on): Likewise.
47419         Reported by Simon Josefsson.
47420
47421 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47422
47423         Work around problem reported by Steven M. Schweda in
47424         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
47425         Tru64 5.1B with the Compaq compiler environment installed declares
47426         an 'isblank' function but does not define it in the C library.
47427         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
47428         * lib/regex_internal.h (isblank): Likewise.
47429         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
47430         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47431
47432 2007-06-05  Bruno Haible  <bruno@clisp.org>
47433
47434         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
47435         ia64.
47436         * modules/printf-safe: New file.
47437         * modules/fprintf-posix (Depends-on): Add printf-safe.
47438         * modules/printf-posix (Depends-on): Likewise.
47439         * modules/snprintf-posix (Depends-on): Likewise.
47440         * modules/sprintf-posix (Depends-on): Likewise.
47441         * modules/vasnprintf-posix (Depends-on): Likewise.
47442         * modules/vasprintf-posix (Depends-on): Likewise.
47443         * modules/vfprintf-posix (Depends-on): Likewise.
47444         * modules/vprintf-posix (Depends-on): Likewise.
47445         * modules/vsnprintf-posix (Depends-on): Likewise.
47446         * modules/vsprintf-posix (Depends-on): Likewise.
47447         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47448         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
47449         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
47450         "no" on i386, x86_64, ia64.
47451         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
47452         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47453         on i386, x86_64, ia64.
47454         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
47455         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47456         on i386, x86_64, ia64.
47457         * tests/test-vasnprintf-posix.c: Include float.h.
47458         (LDBL80_WORDS): New macro.
47459         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47460         on i386, x86_64, ia64.
47461         * tests/test-vasprintf-posix.c: Include float.h.
47462         (LDBL80_WORDS): New macro.
47463         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47464         on i386, x86_64, ia64.
47465         * tests/test-snprintf-posix.c: Include float.h.
47466         * tests/test-sprintf-posix.c: Likewise.
47467         * tests/test-vsnprintf-posix.c: Likewise.
47468         * tests/test-vsprintf-posix.c: Likewise.
47469
47470 2007-06-05  Bruno Haible  <bruno@clisp.org>
47471
47472         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
47473         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
47474         non-IEEE numbers on i386, x86_64, ia64.
47475         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
47476         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
47477         * tests/test-isnanl.h: Include float.h.
47478         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
47479
47480 2007-06-05  Bruno Haible  <bruno@clisp.org>
47481
47482         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
47483         also the %a / %A. Handle the %a / %A code before this extra handling.
47484
47485 2007-06-05  Bruno Haible  <bruno@clisp.org>
47486
47487         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
47488         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
47489
47490 2007-06-05  Bruno Haible  <bruno@clisp.org>
47491
47492         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
47493         typo in variable name.
47494
47495 2007-06-05  Eric Blake  <ebb9@byu.net>
47496
47497         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
47498         Reported by Simon Josefsson.
47499
47500 2007-06-04  Bruno Haible  <bruno@clisp.org>
47501
47502         Avoid test failures on some PowerPC platforms.
47503         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
47504         Define differently for PowerPC.
47505         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
47506         Reported by Gary V. Vaughan <gary@gnu.org>.
47507
47508 2007-06-02  Bruno Haible  <bruno@clisp.org>
47509
47510         Fix test-stdint failure on FreeBSD/ia64.
47511         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
47512         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
47513         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
47514         * doc/headers/stdint.texi: Update.
47515
47516 2007-06-01  Bruno Haible  <bruno@clisp.org>
47517
47518         * tests/test-binary-io.c (main): Pass a third argument to open().
47519         Reported by Gary V. Vaughan <gary@gnu.org>.
47520
47521 2007-06-01  Bruno Haible  <bruno@clisp.org>
47522
47523         * doc/functions/frexpl.texi: Update for mingw.
47524
47525 2007-06-01  Bruno Haible  <bruno@clisp.org>
47526
47527         * tests/test-lseek.c (main): Disable test of errno for invalid third
47528         argument.
47529         * doc/functions/lseek.texi: Update.
47530         Reported by Gary V. Vaughan <gary@gnu.org>.
47531
47532 2007-05-28  Bruno Haible  <bruno@clisp.org>
47533
47534         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
47535
47536 2007-05-31  Eric Blake  <ebb9@byu.net>
47537
47538         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
47539         cross compiling.
47540
47541 2007-05-30  Eric Blake  <ebb9@byu.net>
47542         and Bruno Haible  <bruno@clisp.org>
47543
47544         Work around mingw test failures exposed by m4-1.4.9b.
47545         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
47546         * tests/test-unistd.c: Disable uid_t and git_t tests for the
47547         moment.
47548
47549 2007-05-30  Bruno Haible  <bruno@clisp.org>
47550
47551         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
47552         assuming that they are closed. Needed on HP-UX 11.
47553
47554 2007-05-29  Bruno Haible  <bruno@clisp.org>
47555
47556         Fix a problem with #include_next.
47557         * lib/dirent_.h: Split the double-inclusion guard.
47558         * lib/fcntl_.h: Likewise.
47559         * lib/float_.h: Likewise.
47560         * lib/iconv_.h: Likewise.
47561         * lib/inttypes_.h: Likewise.
47562         * lib/locale_.h: Likewise.
47563         * lib/math_.h: Likewise.
47564         * lib/netinet_in_.h: Likewise.
47565         * lib/search_.h: Likewise.
47566         * lib/signal_.h: Likewise.
47567         * lib/stdint_.h: Likewise.
47568         * lib/stdio_.h: Likewise.
47569         * lib/stdlib_.h: Likewise.
47570         * lib/string_.h: Likewise.
47571         * lib/sys_select_.h: Likewise.
47572         * lib/sys_socket_.h: Likewise.
47573         * lib/sys_stat_.h: Likewise.
47574         * lib/sys_time_.h: Likewise.
47575         * lib/sysexits_.h: Likewise.
47576         * lib/time_.h: Likewise.
47577         * lib/unistd_.h: Likewise.
47578         * lib/wchar_.h: Likewise.
47579         * lib/wctype_.h: Likewise.
47580
47581 2007-05-29  Bruno Haible  <bruno@clisp.org>
47582
47583         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
47584         for the moment.
47585
47586 2007-05-29  Bruno Haible  <bruno@clisp.org>
47587
47588         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
47589         invocation.
47590         Reported by Eric Blake.
47591
47592 2007-05-29  Bruno Haible  <bruno@clisp.org>
47593
47594         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
47595         compiling case.
47596
47597 2007-05-29  Eric Blake  <ebb9@byu.net>
47598             Bruno Haible  <bruno@clisp.org>
47599
47600         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
47601         cross compiles.
47602
47603 2007-05-28  Eric Blake  <ebb9@byu.net>
47604
47605         * modules/closein-tests (test_closein_LDADD): Support test on
47606         cygwin with libtool.
47607
47608 2007-05-28  Bruno Haible  <bruno@clisp.org>
47609
47610         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
47611         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47612         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47613         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47614         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47615         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47616         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47617         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47618         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47619
47620 2007-05-28  Eric Blake  <ebb9@byu.net>
47621
47622         Unconditionally include <config.h> in unit tests.
47623         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
47624         * tests/test-allocsa.c, tests/test-arcfour.c,
47625         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
47626         tests/test-array_list.c, tests/test-array_oset.c,
47627         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
47628         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
47629         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
47630         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
47631         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
47632         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
47633         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
47634         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
47635         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
47636         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
47637         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
47638         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
47639         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
47640         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
47641         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
47642         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
47643         test-md5.c, test-memmem.c, test-printf-posix.c,
47644         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
47645         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
47646         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
47647         test-strcasestr.c, test-striconv.c, test-striconveh.c,
47648         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
47649         test-vasnprintf-posix2.c, test-vasnprintf.c,
47650         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
47651         test-vfprintf-posix.c, test-vprintf-posix.c,
47652         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
47653         test-xvasprintf.c: Likewise.
47654
47655 2007-05-28  Bruno Haible  <bruno@clisp.org>
47656
47657         * gnulib-tool (func_import): Remember the --with-tests command-line
47658         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
47659         Reported by Eric Blake.
47660
47661 2007-05-28  Bruno Haible  <bruno@clisp.org>
47662
47663         * modules/ftell-tests: New file.
47664         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
47665         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
47666
47667         * lib/ftell.c: New file.
47668         * modules/ftell: New file.
47669         * m4/ftell.m4: New file.
47670         * doc/functions/ftell.texi: Update.
47671         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
47672         REPLACE_FTELL.
47673         * lib/stdio_.h (rpl_ftell): New declaration.
47674         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
47675         REPLACE_FTELL.
47676
47677 2007-05-28  Eric Blake  <ebb9@byu.net>
47678
47679         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
47680
47681 2007-05-28  Bruno Haible  <bruno@clisp.org>
47682
47683         * modules/fseek-tests: New file.
47684         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
47685         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
47686
47687         * lib/fseek.c: New file.
47688         * modules/fseek: New file.
47689         * m4/fseek.m4: New file.
47690         * doc/functions/fseek.texi: Update.
47691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
47692         REPLACE_FSEEK.
47693         * lib/stdio_.h (rpl_fseek): New declaration.
47694         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
47695         REPLACE_FSEEK.
47696
47697 2007-05-28  Bruno Haible  <bruno@clisp.org>
47698
47699         * lib/stdio_.h (fflush): More comments.
47700
47701 2007-05-28  Bruno Haible  <bruno@clisp.org>
47702
47703         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
47704         runtime test.
47705
47706 2007-05-28  Eric Blake  <ebb9@byu.net>
47707
47708         Improve lseek module.
47709         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
47710         * lib/unistd_.h (lseek): Scale back link warning message.
47711         * tests/test-lseek.c: Beef up test.
47712         * tests/test-lseek.sh: Exercise more facets of lseek.
47713         Reported by Bruno Haible.
47714
47715 2007-05-28  Bruno Haible  <bruno@clisp.org>
47716
47717         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
47718         to define.
47719
47720 2007-05-27  Bruno Haible  <bruno@clisp.org>
47721
47722         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
47723
47724 2007-05-27  Bruno Haible  <bruno@clisp.org>
47725
47726         * modules/openmp: New file.
47727         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
47728         Noah Misch.
47729
47730 2007-05-26  Bruno Haible  <bruno@clisp.org>
47731
47732         * modules/chdir-long (Depends-on): Add fchdir.
47733         * modules/chdir-safer (Depends-on): Likewise.
47734         * modules/fts (Depends-on): Likewise.
47735         * modules/fts-lgpl (Depends-on): Likewise.
47736         * modules/openat (Depends-on): Likewise.
47737         * modules/savewd (Depends-on): Likewise.
47738
47739 2007-05-24  Eric Blake  <ebb9@byu.net>
47740
47741         Fix lseek on mingw.
47742         * modules/lseek: New module.
47743         * m4/lseek.m4: New file.
47744         * lib/lseek.c: New file.
47745         * modules/lseek-tests: New file.
47746         * tests/test-lseek.c: New file.
47747         * tests/test-lseek.sh: New file.
47748         * MODULES.html.sh: Document lseek module.
47749         * modules/fflush (Depends-on): Add lseek, fseeko.
47750         * modules/fseeko (Depends-on): Likewise.
47751         * modules/ftello (Depends-on): Likewise.
47752         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
47753         broken.
47754         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
47755         broken.
47756         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
47757         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
47758         * lib/ftello.c (rpl_ftello): Likewise.
47759         * tests/test-fseeko.c (main): Test this.
47760         * tests/test-fseeko.sh: Likewise.
47761         * tests/test-ftello.c (main): Likewise.
47762         * tests/test-ftello.sh: Likewise.
47763         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
47764         implies replacing fseek.
47765         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
47766         HAVE_FTELLO.
47767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
47768         * modules/unistd (Makefile.am): Likewise.
47769         * lib/unistd_.h (lseek): Declare a replacement.
47770         * doc/functions/lseek.texi (lseek): Document this fix.
47771         * doc/functions/fseek.texi (fseek): Likewise.
47772         * doc/functions/ftell.texi (ftell): Likewise.
47773
47774 2007-05-24  Bruno Haible  <bruno@clisp.org>
47775
47776         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
47777         in the printed representation of a NaN.
47778         * tests/test-vasprintf-posix.c (test_function): Likewise.
47779         * tests/test-snprintf-posix.h (test_function): Likewise.
47780         * tests/test-sprintf-posix.h (test_function): Likewise.
47781         Reported by Eric Blake.
47782
47783 2007-05-23  Eric Blake  <ebb9@byu.net>
47784
47785         Fix fseeko/ftello on cygwin 1.5.24.
47786         * doc/functions/fseeko.texi (fseeko): Document the fix.
47787         * doc/functions/ftello.texi (ftello): Document the fix.
47788         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
47789         * doc/functions/stdout.text (stdout): New file.
47790         * doc/functions/stderr.text (stderr): New file.
47791         * doc/gnulib.texi (Function Substitutes): Use new files.
47792         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
47793         prior to 1.7.0.
47794         * tests/test-ftello.c (main): Likewise for ftello.
47795         * tests/test-fseeko.sh: New file.
47796         * tests/test-ftello.sh: New file.
47797         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47798         with seekable stdin.
47799         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47800         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47801         (gl_REPLACE_FSEEKO): New macro.
47802         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47803         * modules/fseeko (Files): Distribute fseeko.c.
47804         * modules/ftello (Files): Distribute ftello.c.
47805         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47806         mode.
47807         * lib/ftello.c (rpl_ftello): New file.
47808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47809         fseeko, ftello.
47810         (gl_STDIN_LARGE_OFFSET): New macro.
47811         * modules/stdio (Makefile.am): Perform the replacement.
47812         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47813
47814 2007-05-23  Bruno Haible  <bruno@clisp.org>
47815
47816         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47817         GNULIB_POSIXCHECK is defined.
47818
47819 2007-05-21  Bruno Haible  <bruno@clisp.org>
47820
47821         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47822         Check also the output for NaN arguments. When cross-compiling, guess
47823         no on IRIX.
47824         * lib/vasnprintf.c: Update comments.
47825         * tests/test-vasnprintf-posix.c (strisnan): New function.
47826         (test_function): Use it.
47827         * tests/test-vasprintf-posix.c (strisnan): New function.
47828         (test_function): Use it.
47829         * tests/test-snprintf-posix.h (strisnan): New function.
47830         (test_function): Use it.
47831         * tests/test-sprintf-posix.h (strisnan): New function.
47832         (test_function): Use it.
47833         Reported by Eric Blake.
47834
47835 2007-05-20  Bruno Haible  <bruno@clisp.org>
47836
47837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47838         numbers that fails on BeOS.
47839         * doc/functions/frexpl.texi: Update.
47840
47841 2007-05-20  Jim Meyering  <jim@meyering.net>
47842
47843         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47844         forced upon us by glibc-2.6.
47845
47846 2007-05-20  Bruno Haible  <bruno@clisp.org>
47847
47848         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47849         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47850         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47851         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47852         NEED_PRINTF_INFINITE.
47853         (is_infinitel): New function.
47854         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47855         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47856         gl_PREREQ_VASNPRINTF_INFINITE.
47857         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47858         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47859         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47860         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47861         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47862         gl_PREREQ_VASNPRINTF_INFINITE.
47863         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47864         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47865         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47866         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47867         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47868         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47869         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47870         * doc/functions/fprintf.texi: Update.
47871         * doc/functions/printf.texi: Update.
47872         * doc/functions/snprintf.texi: Update.
47873         * doc/functions/sprintf.texi: Update.
47874         * doc/functions/vfprintf.texi: Update.
47875         * doc/functions/vprintf.texi: Update.
47876         * doc/functions/vsnprintf.texi: Update.
47877         * doc/functions/vsprintf.texi: Update.
47878
47879 2007-05-20  Bruno Haible  <bruno@clisp.org>
47880
47881         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47882         was not found in libc.
47883         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47884
47885 2007-05-20  Bruno Haible  <bruno@clisp.org>
47886
47887         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47888         printed as "-nan" instead of "nan".
47889         * tests/test-vasprintf-posix.c (test_function): Likewise.
47890         * tests/test-snprintf-posix.h (test_function): Likewise.
47891         * tests/test-sprintf-posix.h (test_function): Likewise.
47892         Needed for HP-UX 11.
47893
47894 2007-05-20  Jim Meyering  <jim@meyering.net>
47895
47896         Fix buggy test for the fchownat-deref bug.
47897         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47898         symlink required for the run-test.  Without it, this test would
47899         always declare that fchownat doesn't work, and client code would
47900         unnecessarily use the replacement function with fixed libc.
47901         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47902         Reported by Greg Schafer.
47903
47904 2007-05-19  Bruno Haible  <bruno@clisp.org>
47905
47906         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47907         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47908         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47909         Needed for IRIX 6.5 and Solaris 2.5.1.
47910
47911 2007-05-19  Bruno Haible  <bruno@clisp.org>
47912
47913         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47914         (test_function): Skip tests involving -0.0 on platforms where
47915         -0.0 = 0.0.
47916         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47917         (test_function): Skip tests involving -0.0 on platforms where
47918         -0.0 = 0.0.
47919         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47920         (test_function): Skip tests involving -0.0 on platforms where
47921         -0.0 = 0.0.
47922         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47923         (test_function): Skip tests involving -0.0 on platforms where
47924         -0.0 = 0.0.
47925         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47926         tests.
47927         * tests/test-printf-posix.h (test_function): Likewise.
47928         * tests/test-printf-posix.output: Remove all -0.0 related results.
47929         Needed for IRIX 6.5.
47930
47931 2007-05-19  Bruno Haible  <bruno@clisp.org>
47932
47933         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47934         printed as "nan0x7fffffff" instead of "nan".
47935         * tests/test-vasprintf-posix.c (test_function): Likewise.
47936         * tests/test-snprintf-posix.h (test_function): Likewise.
47937         * tests/test-sprintf-posix.h (test_function): Likewise.
47938         * tests/test-fprintf-posix.h (NaN): Remove macro.
47939         (test_function): Remove all NaN related tests.
47940         * tests/test-printf-posix.h (NaN): Remove macro.
47941         (test_function): Remove all NaN related tests.
47942         * tests/test-printf-posix.output: Remove all NaN related results.
47943         Needed for IRIX 6.5.
47944
47945 2007-05-19  Bruno Haible  <bruno@clisp.org>
47946
47947         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47948         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47949
47950 2007-05-19  Bruno Haible  <bruno@clisp.org>
47951
47952         * lib/float_.h: New file.
47953         * m4/float_h.m4: New file.
47954         * modules/float: New file.
47955         * modules/isnanl (Dependencies): Add float.
47956         * modules/isnanl-nolibm (Dependencies): Likewise.
47957         * modules/mathl (Dependencies): Likewise.
47958         * modules/printf-frexpl (Dependencies): Likewise.
47959         * modules/signbit (Dependencies): Likewise.
47960         * modules/vasnprintf (Dependencies): Likewise.
47961         * doc/headers/float.texi: Update.
47962
47963 2007-05-19  Jim Meyering  <jim@meyering.net>
47964
47965         * lib/utimens.c (gl_futimens): Rename from futimens,
47966         now that glibc-2.6 declares futimens.
47967         * lib/utimens.h: Likewise.
47968
47969 2007-05-19  Bruno Haible  <bruno@clisp.org>
47970
47971         Avoid test failures on mingw.
47972         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47973         * tests/test-printf-posix.sh: Likewise.
47974         * tests/test-vfprintf-posix.sh: Likewise.
47975         * tests/test-vprintf-posix.sh: Likewise.
47976
47977 2007-05-19  Bruno Haible  <bruno@clisp.org>
47978
47979         Fix *printf result for NaN, Inf, -0.0 on mingw.
47980         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47981         * lib/vasnprintf.c: Include math.h and isnan.h.
47982         (is_infinite_or_zero): New function.
47983         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47984         values in the %f, %F, %e, %E, %g, %G directives.
47985         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47986         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47987         gl_PRINTF_INFINITE and test its result. Invoke
47988         gl_PREREQ_VASNPRINTF_INFINITE.
47989         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47990         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47991         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47992         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47993         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47994         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47995         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47996         * doc/functions/fprintf.texi: Update.
47997         * doc/functions/printf.texi: Update.
47998         * doc/functions/snprintf.texi: Update.
47999         * doc/functions/sprintf.texi: Update.
48000         * doc/functions/vfprintf.texi: Update.
48001         * doc/functions/vprintf.texi: Update.
48002         * doc/functions/vsnprintf.texi: Update.
48003         * doc/functions/vsprintf.texi: Update.
48004
48005 2007-05-19  Bruno Haible  <bruno@clisp.org>
48006
48007         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
48008         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
48009         Instead of multiplying with 10^k, set extra_zeroes to k.
48010         (scale10_round_long_double): Remove function.
48011
48012 2007-05-18  Bruno Haible  <bruno@clisp.org>
48013
48014         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
48015         introduced on 2007-05-06.
48016
48017 2007-05-18  Bruno Haible  <bruno@clisp.org>
48018
48019         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
48020         %g directives.
48021         * tests/test-vasprintf-posix.c (test_function): Likewise.
48022         * tests/test-snprintf-posix.h (test_function): Likewise.
48023         * tests/test-sprintf-posix.h (test_function): Likewise.
48024
48025 2007-05-18  Bruno Haible  <bruno@clisp.org>
48026
48027         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
48028         (strmatch): New function.
48029         (test_function): Test the %f directive on numbers of various exponents.
48030         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
48031         (strmatch): New function.
48032         (test_function): Test the %f directive on numbers of various exponents.
48033         * tests/test-snprintf-posix.h (strmatch): New function.
48034         (test_function): Test the %f directive on numbers of various exponents.
48035         * tests/test-sprintf-posix.h (strmatch): New function.
48036         (test_function): Test the %f directive on numbers of various exponents.
48037         * tests/test-snprintf-posix.c (SIZEOF): New macro.
48038         * tests/test-sprintf-posix.c (SIZEOF): New macro.
48039         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
48040         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
48041
48042 2007-05-18  Bruno Haible  <bruno@clisp.org>
48043
48044         Add support for 'long double' number output.
48045         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
48046         * lib/vasnprintf.c: Include math.h and float+.h.
48047         (mp_limb_t): New type.
48048         (GMP_LIMB_BITS): New macro.
48049         (mp_twolimb_t): New type.
48050         (GMP_TWOLIMB_BITS): New macro.
48051         (mpn_t): New type.
48052         (multiply, divide, convert_to_decimal, decode_long_double,
48053         scale10_round_long_double, scale10_round_decimal_long_double,
48054         floorlog10l): New functions.
48055         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
48056         for the %f, %F, %e, %E, %g, %G directives.
48057         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
48058         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48059         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
48060         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
48061         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48062         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48063         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48064         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48065         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48066         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48067         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48068         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
48069         * modules/snprintf-posix (Depends-on): Likewise.
48070         * modules/sprintf-posix (Depends-on): Likewise.
48071         * modules/vasnprintf-posix (Depends-on): Likewise.
48072         * modules/vasprintf-posix (Depends-on): Likewise.
48073         * modules/vfprintf-posix (Depends-on): Likewise.
48074         * modules/vsnprintf-posix (Depends-on): Likewise.
48075         * modules/vsprintf-posix (Depends-on): Likewise.
48076         * modules/vasnprintf (Files): Add lib/float+.h.
48077         * doc/functions/fprintf.texi: Update.
48078         * doc/functions/printf.texi: Update.
48079         * doc/functions/snprintf.texi: Update.
48080         * doc/functions/sprintf.texi: Update.
48081         * doc/functions/vfprintf.texi: Update.
48082         * doc/functions/vprintf.texi: Update.
48083         * doc/functions/vsnprintf.texi: Update.
48084         * doc/functions/vsprintf.texi: Update.
48085
48086 2007-05-18  Bruno Haible  <bruno@clisp.org>
48087
48088         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
48089
48090 2007-05-18  Bruno Haible  <bruno@clisp.org>
48091
48092         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
48093         for printing 64-bit integers. Needed for mingw.
48094
48095 2007-05-18  Bruno Haible  <bruno@clisp.org>
48096
48097         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48098         gl_FUNC_FREXPL_WORKS.
48099         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
48100
48101 2007-05-18  Bruno Haible  <bruno@clisp.org>
48102
48103         * modules/frexpl-nolibm-tests: New file.
48104
48105         * modules/frexpl-nolibm: New file.
48106         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
48107
48108 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
48109
48110         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
48111         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48112         GCC 4.2, which otherwise issues a lot of warnings.
48113         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
48114         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
48115         Likewise.
48116         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
48117         * modules/iconv_open (iconv.h): Likewise.
48118         * modules/locale (locale.h): Likewise.
48119         * modules/netinet_in (netinet/in.h): Likewise.
48120         * modules/sys_select (sys_select.h): Likewise.
48121         * modules/sys_socket (sys/socket.h): Likewise.
48122         * modules/sys_stat (sys/stat.h): Likewise.
48123         * modules/sysexits (sysexits.h): Likewise.
48124         * modules/unistd (unistd.h): Likewise.
48125
48126 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48127
48128         * modules/closein-tests (Makefile.am): Distribute
48129         `test-closein.sh'.
48130
48131 2007-05-17  Bruno Haible  <bruno@clisp.org>
48132
48133         * tests/test-printf-posix.output: Renamed from
48134         tests/test-fprintf-posix.out.
48135         * modules/fprintf-posix-tests: Update.
48136         * modules/printf-posix-tests: Update.
48137         * modules/vfprintf-posix-tests: Update.
48138         * modules/vprintf-posix-tests: Update.
48139         * tests/test-fprintf-posix.sh: Update.
48140         * tests/test-printf-posix.sh: Update.
48141         * tests/test-vfprintf-posix.sh: Update.
48142         * tests/test-vprintf-posix.sh: Update.
48143         Reported by Ralf Wildenhues.
48144
48145 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
48146
48147         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
48148         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48149         GCC 4.2, which otherwise issues a lot of warnings.
48150         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
48151         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
48152         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
48153         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
48154         it should no longer be needed.
48155         * lib/string_.h: Likewise.
48156         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
48157         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
48158         * modules/inttypes (inttypes.h): Likewise.
48159         * modules/math (math.h): Likewise.
48160         * modules/search (search.h): Likewise.
48161         * modules/signal (signal.h): Likewise.
48162         * modules/stdint (stdint.h): Likewise.
48163         * modules/stdio (stdio.h): Likewise.
48164         * modules/stdlib (stdlib.h): Likewise.
48165         * modules/string (string.h): Likewise.
48166         * modules/sys_time (sys/time.h): Likewise.
48167         * modules/time (time.h): Likewise.
48168         * modules/wchar (wchar.h): Likewise.
48169         * modules/wctype (wtype.h): Likewise.
48170
48171 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48172
48173         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
48174
48175 2007-05-13  Bruno Haible  <bruno@clisp.org>
48176
48177         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
48178         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48179         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
48180         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48181         (gl_PREREQ_STRTOK_R): Don't require it here.
48182
48183 2007-05-13  Bruno Haible  <bruno@clisp.org>
48184
48185         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
48186         when used in C++ mode.
48187
48188 2007-05-12  Bruno Haible  <bruno@clisp.org>
48189
48190         * lib/linebuffer.h: Tweak doc.
48191         * lib/linebuffer.c: Likewise.
48192
48193 2007-05-12  James Youngman  <jay@gnu.org>
48194
48195         * lib/linebuffer.c (readlinebuffer_delim): New function,
48196         like readlinebuffer, but use a caller-specified delimiter.
48197         (readlinebuffer): Just call readlinebuffer_delim with '\n'
48198         as the delimiter.
48199         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
48200
48201 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48202
48203         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
48204         * modules/openat (Files): Remove openat-die.c.
48205         (Depends-on): Add openat-die.
48206         * modules/openat-die: New module.
48207
48208 2007-05-06  Bruno Haible  <bruno@clisp.org>
48209
48210         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
48211         Update with info about Cygwin.
48212         * doc/functions/fprintf.texi: Update.
48213         * doc/functions/printf.texi: Update.
48214         * doc/functions/snprintf.texi: Update.
48215         * doc/functions/sprintf.texi: Update.
48216         * doc/functions/vfprintf.texi: Update.
48217         * doc/functions/vprintf.texi: Update.
48218         * doc/functions/vsnprintf.texi: Update.
48219         * doc/functions/vsprintf.texi: Update.
48220         Reported by Eric Blake.
48221
48222 2007-05-06  Bruno Haible  <bruno@clisp.org>
48223
48224         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
48225         padding ourselves for the floating-point directives.
48226         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
48227         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
48228         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48229         gl_PRINTF_FLAG_ZERO and test its result. Invoke
48230         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
48231         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48232         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48233         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48234         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48235         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48236         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48237         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48238         * tests/test-snprintf-posix.h (test_function): Also check the width
48239         and some flags in the %f directive.
48240         * tests/test-sprintf-posix.h (test_function): Likewise.
48241         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48242         * tests/test-vasprintf-posix.c (test_function): Likewise.
48243         * doc/functions/fprintf.texi: Update.
48244         * doc/functions/printf.texi: Update.
48245         * doc/functions/snprintf.texi: Update.
48246         * doc/functions/sprintf.texi: Update.
48247         * doc/functions/vfprintf.texi: Update.
48248         * doc/functions/vprintf.texi: Update.
48249         * doc/functions/vsnprintf.texi: Update.
48250         * doc/functions/vsprintf.texi: Update.
48251
48252 2007-05-06  Bruno Haible  <bruno@clisp.org>
48253
48254         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
48255         pass the ' flag character to sprintf or snprintf.
48256         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
48257         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
48258         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48259         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
48260         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
48261         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48262         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48263         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48264         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48265         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48266         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48267         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48268         * tests/test-snprintf-posix.h (test_function): Also check the grouping
48269         flag.
48270         * tests/test-sprintf-posix.h (test_function): Likewise.
48271         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48272         * tests/test-vasprintf-posix.c (test_function): Likewise.
48273         * doc/functions/fprintf.texi: Update.
48274         * doc/functions/printf.texi: Update.
48275         * doc/functions/snprintf.texi: Update.
48276         * doc/functions/sprintf.texi: Update.
48277         * doc/functions/vfprintf.texi: Update.
48278         * doc/functions/vprintf.texi: Update.
48279         * doc/functions/vsnprintf.texi: Update.
48280         * doc/functions/vsprintf.texi: Update.
48281
48282 2007-05-01  Bruno Haible  <bruno@clisp.org>
48283
48284         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
48285
48286 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
48287
48288         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
48289         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
48290
48291 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48292
48293         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
48294         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
48295         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
48296
48297 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
48298
48299         * lib/argp-help.c (struct hol_entry): New member `ord'.
48300         (HOL_ENTRY_PTRCMP): Use ord for comparison
48301         (hol_sort): Initialize ord.
48302
48303 2007-05-01  Bruno Haible  <bruno@clisp.org>
48304
48305         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
48306         Reported by Eric Blake.
48307         * doc/gnulib.texi (Function Substitutes): Update.
48308
48309 2007-05-01  Bruno Haible  <bruno@clisp.org>
48310
48311         * doc/functions.texi: Remove file, now redundant through
48312         doc/functions/*.texi.
48313
48314 2007-05-01  Bruno Haible  <bruno@clisp.org>
48315
48316         * modules/argp (Depends-on): Add sleep.
48317
48318 2007-05-01  Bruno Haible  <bruno@clisp.org>
48319
48320         * modules/sleep-tests: New file.
48321         * tests/test-sleep.c: New file.
48322
48323         * modules/sleep: New file.
48324         * lib/sleep.c: New file.
48325         * m4/sleep.m4: New file.
48326         * lib/unistd_.h (sleep): New declaration.
48327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
48328         HAVE_SLEEP.
48329         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
48330         * doc/functions/sleep.texi: Document the sleep module.
48331
48332 2007-05-01  Bruno Haible  <bruno@clisp.org>
48333
48334         * lib/sigprocmask.h: Remove file.
48335         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
48336         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
48337         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
48338         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
48339         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
48340         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
48341         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
48342         HAVE_SIGSET_T as a shell variable.
48343         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
48344         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
48345         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
48346         (Depends-on): Add signal. Remove verify.
48347         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
48348         (Include): Mention <signal.h> instead of sigprocmask.h.
48349         * NEWS: Mention the change.
48350         * lib/fatal-signal.c: Don't include sigprocmask.h.
48351
48352 2007-05-01  Bruno Haible  <bruno@clisp.org>
48353
48354         * modules/signal: New file.
48355         * lib/signal_.h: New file.
48356         * m4/signal_h.m4: New file.
48357
48358 2007-05-01  Bruno Haible  <bruno@clisp.org>
48359
48360         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
48361         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
48362         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
48363         HAVE_WCTYPE_CTMP_BUG into wctype.h.
48364
48365 2007-05-01  Bruno Haible  <bruno@clisp.org>
48366
48367         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
48368         configure time.
48369         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
48370         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
48371         * modules/sys_stat (Makefile.am): Substitute their values into
48372         sys/stat.h.
48373
48374 2007-05-01  Bruno Haible  <bruno@clisp.org>
48375
48376         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
48377         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
48378         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
48379
48380 2007-05-01  Bruno Haible  <bruno@clisp.org>
48381
48382         * doc/header/assert.texi: Undo last change: don't mention the gnulib
48383         'assert' module here.
48384
48385 2007-05-01  Bruno Haible  <bruno@clisp.org>
48386
48387         * doc/functions/*.texi: New files.
48388         * doc/functions/google-ranking.txt: New file.
48389         * doc/gnulib.texi (Function Substitutes): New chapter.
48390         (ctime, inet_ntoa): Remove sections.
48391         * doc/ctime.texi: Remove file.
48392         * doc/inet_ntoa.texi: Remove file.
48393         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
48394         dependencies.
48395         (%.info): New rule, specifying a --reference-limit.
48396
48397 2007-05-01  Bruno Haible  <bruno@clisp.org>
48398
48399         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
48400
48401 2007-05-01  Bruno Haible  <bruno@clisp.org>
48402
48403         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
48404         the portability of 'mkdir' to mingw systems.
48405
48406 2007-05-01  Bruno Haible  <bruno@clisp.org>
48407
48408         * doc/headers/google-ranking.txt: New file.
48409
48410 2007-04-30  Eric Blake  <ebb9@byu.net>
48411
48412         Prefer fseeko to fseek.
48413         * modules/getpass (Depends-on): Add fseeko.
48414         * lib/getpass.c (getpass): Use fseeko, not fseek.
48415
48416 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
48417
48418         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
48419         assumes the sorting is stable, while most qsort implementations
48420         are not.  Use argument addresses to ensure they never compare as
48421         equal.
48422
48423         * tests/test-argp-2.sh (usage-indent test): Fix output
48424         (func_compare): Restore diff options
48425         * tests/test-argp.c: Restore #include "progname.h"
48426
48427 2007-04-29  Bruno Haible  <bruno@clisp.org>
48428
48429         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
48430         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48431         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
48432         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48433         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
48434         (configure.ac): Define CHECK_SNPRINTF_POSIX.
48435         (TESTS, check_PROGRAMS): Add test-snprintf.
48436         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
48437         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
48438         (TESTS, check_PROGRAMS): Add test-vsnprintf.
48439         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
48440         assertions that fail on HP-UX, OSF/1, or IRIX.
48441         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
48442
48443 2007-04-29  Bruno Haible  <bruno@clisp.org>
48444
48445         * MODULES.html.sh (posix_functions): Remove 'contents'.
48446
48447 2007-04-29  Karl Berry  <karl@gnu.org>
48448
48449         * config/srclist.txt (gendocs_template_min): new entry.
48450
48451 2007-04-29  Bruno Haible  <bruno@clisp.org>
48452
48453         Work around fpurge bug on BSD systems.
48454         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
48455         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
48456         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
48457         fpurge to rpl_fpurge if the system already has this function.
48458         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
48459         the case where the system already has this function. Correct invariants
48460         on BSD systems.
48461         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
48462         BSD systems.
48463
48464 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
48465
48466         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
48467         proposed by Sven Verdoolaege.
48468
48469         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
48470         options.
48471         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
48472         (usage and help tests): Update
48473
48474 2007-04-29  Bruno Haible  <bruno@clisp.org>
48475
48476         * tests/test-fflush.c (main): Use a file of size 17, not 10.
48477         Print more information in case of failure. Disable a test on BeOS.
48478
48479 2007-04-29  Bruno Haible  <bruno@clisp.org>
48480
48481         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
48482         This helps debugging on systems on which no gdb is available.
48483
48484 2007-04-29  Bruno Haible  <bruno@clisp.org>
48485
48486         * lib/freading.h: Improve comments.
48487         * lib/fwriting.h: Likewise.
48488         * tests/test-freading.c (main): Don't check freading immediately after
48489         repositioning. Needed for glibc.
48490
48491 2007-04-29  Bruno Haible  <bruno@clisp.org>
48492
48493         * lib/freading.c (freading): Trivial simplification.
48494
48495 2007-04-28  Bruno Haible  <bruno@clisp.org>
48496
48497         * tests/test-fwriting.c (main): Also test the interaction between
48498         fflush and fwriting.
48499         * modules/fwriting-tests (Depends-on): Add fflush.
48500
48501         * tests/test-freading.c (main): Also test the interaction between
48502         fflush and freading.
48503         * modules/freading-tests (Depends-on): Add fflush.
48504
48505 2007-04-28  Bruno Haible  <bruno@clisp.org>
48506
48507         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
48508         fseeko and ftello.
48509         Suggested by Eric Blake.
48510
48511 2007-04-28  Jim Meyering  <jim@meyering.net>
48512
48513         Avoid false-negative in gl_STDINT_H's C99 conformance test.
48514         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
48515         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
48516
48517 2007-04-27  Eric Blake  <ebb9@byu.net>
48518
48519         * doc/headers/assert.texi (assert.h): Document assert module use.
48520
48521 2007-04-27  Bruno Haible  <bruno@clisp.org>
48522
48523         * doc/headers/*.texi: New files.
48524         * doc/gnulib.texi (Header File Substitutes): New chapter.
48525         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
48526         dependencies.
48527         (standards.info ,standards.html, standards.dvi): Update dependencies.
48528         (mostlyclean, clean): New targets.
48529
48530 2007-04-27  Bruno Haible  <bruno@clisp.org>
48531
48532         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
48533         * modules/sysexits (Files, Makefile.am): Update.
48534
48535         * lib/sys_socket_.h: Renamed from lib/socket_.h.
48536         * modules/sys_socket (Files, Makefile.am): Update.
48537
48538         * lib/sys_stat_.h: Renamed from lib/stat_.h.
48539         * modules/sys_stat (Files, Makefile.am): Update.
48540
48541 2007-04-27  Eric Blake  <ebb9@byu.net>
48542
48543         * lib/freading.h: Improve comments.
48544         * lib/fwriting.h: Likewise.
48545         * lib/fflush.c: Likewise.
48546
48547         Fix closein for mingw.
48548         * modules/closein-tests: Add tests for closein.
48549         * tests/test-closein.c: New file.
48550         * tests/test-closein.sh: Likewise.
48551         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
48552         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
48553
48554 2007-04-27  Bruno Haible  <bruno@clisp.org>
48555
48556         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
48557         version is < 6.
48558         * lib/math_.h [__DECC]: Likewise.
48559         * lib/stdio_.h [__DECC]: Likewise.
48560         * lib/stdlib_.h [__DECC]: Likewise.
48561         * lib/string_.h [__DECC]: Likewise.
48562         * lib/time_.h [__DECC]: Likewise.
48563         * lib/wchar_.h [__DECC]: Likewise.
48564         * lib/wctype_.h [__DECC]: Likewise.
48565
48566 2007-04-27  Bruno Haible  <bruno@clisp.org>
48567
48568         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
48569
48570 2007-04-27  Bruno Haible  <bruno@clisp.org>
48571
48572         * lib/fflush.c: Add comments.
48573         * modules/fpurge-tests (Depends-on): Add fflush.
48574         * modules/freadable-tests (Depends-on): Likewise.
48575         * modules/fwritable-tests (Depends-on): Likewise.
48576
48577 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
48578
48579         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
48580         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
48581         Report by Bruno Haible <bruno@clisp.org>.
48582
48583 2007-04-26  Eric Blake  <ebb9@byu.net>
48584
48585         Fix fflush on mingw.
48586         * modules/fflush (Depends-on): Add freading.
48587         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
48588         but unread data.
48589
48590 2007-04-26  Eric Blake  <ebb9@byu.net>
48591         and Bruno Haible  <bruno@clisp.org>
48592
48593         Implement freading and fwriting.
48594         * lib/freading.c: New file.
48595         * lib/freading.h: Likewise.
48596         * m4/freading.m4: Likewise.
48597         * modules/freading: Likewise.
48598         * modules/freading-tests: Likewise.
48599         * tests/test-freading.c: Likewise.
48600         * lib/fwriting.c: New file.
48601         * lib/fwriting.h: Likewise.
48602         * m4/fwriting.m4: Likewise.
48603         * modules/fwriting: Likewise.
48604         * modules/fwriting-tests: Likewise.
48605         * tests/test-fwriting.c: Likewise.
48606         * MODULES.html.sh (File stream based Input/Output): Mention them.
48607
48608 2007-04-26  Bruno Haible  <bruno@clisp.org>
48609
48610         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
48611         'long' when we assume it.
48612         Suggested by Eric Blake.
48613
48614 2007-04-26  Bruno Haible  <bruno@clisp.org>
48615
48616         Ensure fseeko, ftello are declared on glibc systems.
48617         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
48618         * modules/fseeko (configure.ac-early): Likewise.
48619         * modules/ftello (configure.ac-early): Likewise.
48620         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
48621         AC_FUNC_FSEEKO for this.
48622         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
48623         (gl_CHECK_FSEEKO): Remove macro.
48624
48625 2007-04-26  Bruno Haible  <bruno@clisp.org>
48626
48627         * tests/test-fflush.c (main): Also check the ftell result after
48628         fflush and fseek/fseeko.
48629         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
48630         file descriptor position cache in the stream.
48631         * lib/fseeko.c (rpl_fseeko): Likewise.
48632
48633 2007-04-26  Bruno Haible  <bruno@clisp.org>
48634
48635         * modules/fflush-tests (Depends-on): Add fseeko.
48636
48637 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
48638             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48639
48640         * lib/argz_.h: ensure error_t definition is obtained in same
48641         mechanism system argz.h would have.
48642         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
48643         argz facilities are known bad.  Err on the side of caution if
48644         cross-compiling.
48645
48646 2007-04-25  Eric Blake  <ebb9@byu.net>
48647
48648         * lib/fpurge.c (includes): Use stdlib.h for free.
48649         * tests/test-fflush.c (main): Also test fflush-fseeko.
48650
48651 2007-04-25  Bruno Haible  <bruno@clisp.org>
48652
48653         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
48654         * lib/fseeko.c: New file.
48655         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
48656         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
48657         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
48658         gl_FUNC_FSEEKO.
48659         (gl_FUNC_FSEEKO): Invoke it.
48660         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
48661         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
48662         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
48663
48664 2007-04-25  Bruno Haible  <bruno@clisp.org>
48665
48666         * modules/fflush (Depends-on): Add ftello.
48667
48668 2007-04-25  Bruno Haible  <bruno@clisp.org>
48669
48670         * modules/ftello-tests: New file.
48671         * tests/test-ftello.c: New file.
48672
48673         * modules/ftello: New file.
48674         * m4/ftello.m4: New file.
48675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
48676         HAVE_FTELLO.
48677         * lib/stdio_.h (ftello): New declaration.
48678         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
48679         HAVE_FTELLO.
48680
48681 2007-04-25  Bruno Haible  <bruno@clisp.org>
48682
48683         * modules/fseeko-tests: New file.
48684         * tests/test-fseeko.c: New file.
48685
48686         * modules/fseeko: New file.
48687         * m4/fseeko.m4: New file.
48688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
48689         HAVE_FSEEKO.
48690         * lib/stdio_.h (fseeko): New declaration.
48691         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
48692         HAVE_FSEEKO.
48693
48694 2007-04-25  Bruno Haible  <bruno@clisp.org>
48695
48696         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
48697
48698 2007-04-25  Bruno Haible  <bruno@clisp.org>
48699
48700         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
48701         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
48702         * tests/test-unistd.c: Likewise.
48703         * tests/test-fcntl.c: Likewise.
48704
48705 2007-04-23  Eric Blake  <ebb9@byu.net>
48706
48707         * lib/fflush.c: Fix missing include.
48708         Reported by Bruno Haible.
48709
48710 2007-04-23  Bruno Haible  <bruno@clisp.org>
48711
48712         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
48713         Reported by Eric Blake.
48714
48715 2007-04-23  Bruno Haible  <bruno@clisp.org>
48716
48717         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
48718
48719 2007-04-23  Bruno Haible  <bruno@clisp.org>
48720
48721         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
48722
48723 2007-04-23  Bruno Haible  <bruno@clisp.org>
48724
48725         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
48726         Needed on HP-UX 11.
48727
48728 2007-04-16  Eric Blake  <ebb9@byu.net>
48729
48730         Make fflush rely on fpurge.
48731         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
48732         open coding all variants.
48733         * modules/fflush (Depends-on): Add fpurge and unistd.
48734         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
48735         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
48736
48737         Fix --with-tests compilation on cygwin.
48738         * modules/argmatch-tests (Makefile.am): List gnulib library first
48739         in LDADD.
48740         * modules/argp-tests (Makefile.am): Likewise.
48741         * modules/array-list-tests (Makefile.am): Likewise.
48742         * modules/array-oset-tests (Makefile.am): Likewise.
48743         * modules/avltree-list-tests (Makefile.am): Likewise.
48744         * modules/avltree-oset-tests (Makefile.am): Likewise.
48745         * modules/avltreehash-list-tests (Makefile.am): Likewise.
48746         * modules/carray-list-tests (Makefile.am): Likewise.
48747         * modules/dirname-tests (Makefile.am): Likewise.
48748         * modules/frexp-tests (Makefile.am): Likewise.
48749         * modules/isnanl-tests (Makefile.am): Likewise.
48750         * modules/linked-list-tests (Makefile.am): Likewise.
48751         * modules/linkedhash-list-tests (Makefile.am): Likewise.
48752         * modules/lock-tests (Makefile.am): Likewise.
48753         * modules/rbtree-list-tests (Makefile.am): Likewise.
48754         * modules/rbtree-oset-tests (Makefile.am): Likewise.
48755         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
48756         * modules/tls-tests (Makefile.am): Likewise.
48757         * modules/tsearch-tests (Makefile.am): Likewise.
48758         * modules/xvasprintf-tests (Makefile.am): Likewise.
48759
48760         Fix fpurge for cygwin.
48761         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
48762         value.
48763         * modules/fpurge-tests (Depends-on): Clean up trash.
48764
48765 2007-04-16  Simon Josefsson  <simon@josefsson.org>
48766
48767         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
48768
48769         * m4/autobuild.m4: Re-indent.
48770
48771 2007-04-13  Bruno Haible  <bruno@clisp.org>
48772
48773         * modules/fpurge-tests: New file.
48774         * tests/test-fpurge.c: New file.
48775
48776         * modules/fpurge: New file.
48777         * lib/fpurge.h: New file.
48778         * lib/fpurge.c: New file.
48779         * m4/fpurge.m4: New file.
48780
48781 2007-04-13  Bruno Haible  <bruno@clisp.org>
48782
48783         * modules/fbufmode-tests: New file.
48784         * tests/test-fbufmode.c: New file.
48785
48786         * modules/fbufmode: New file.
48787         * lib/fbufmode.h: New file.
48788         * lib/fbufmode.c: New file.
48789         * m4/fbufmode.m4: New file.
48790
48791 2007-04-13  Bruno Haible  <bruno@clisp.org>
48792
48793         * modules/fwritable-tests: New file.
48794         * tests/test-fwritable.c: New file.
48795
48796         * modules/fwritable: New file.
48797         * lib/fwritable.h: New file.
48798         * lib/fwritable.c: New file.
48799         * m4/fwritable.m4: New file.
48800
48801 2007-04-13  Bruno Haible  <bruno@clisp.org>
48802
48803         * modules/freadable-tests: New file.
48804         * tests/test-freadable.c: New file.
48805
48806         * modules/freadable: New file.
48807         * lib/freadable.h: New file.
48808         * lib/freadable.c: New file.
48809         * m4/freadable.m4: New file.
48810
48811 2007-04-13  Bruno Haible  <bruno@clisp.org>
48812
48813         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48814         MOSTLYCLEANFILES.
48815
48816 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48817
48818         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48819         gzip bootstrap.conf to avoid dragging in i18n machinery.
48820         (gnulib_tool_option): Use it.
48821
48822 2007-04-13  Bruno Haible  <bruno@clisp.org>
48823
48824         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48825         %F directives.
48826         * tests/test-vasprintf-posix.c (test_function): Likewise.
48827         * tests/test-snprintf-posix.h (test_function): Likewise.
48828         * tests/test-sprintf-posix.h (test_function): Likewise.
48829         * tests/test-fprintf-posix.h (test_function): Likewise.
48830         * tests/test-printf-posix.h (test_function): Likewise.
48831         * tests/test-fprintf-posix.out: Likewise.
48832
48833 2007-04-13  Bruno Haible  <bruno@clisp.org>
48834
48835         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48836         * modules/tls-tests (configure.ac): Likewise.
48837         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48838
48839 2007-04-13  Bruno Haible  <bruno@clisp.org>
48840
48841         * lib/tls.c (glthread_tls_get): Fix return type.
48842         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48843
48844 2007-04-12  Eric Blake  <ebb9@byu.net>
48845
48846         * modules/gettime (Depends-on): Remove gettime.
48847         Reported by Dmitry V. Levin.
48848
48849 2007-04-12  Bruno Haible  <bruno@clisp.org>
48850
48851         * modules/fflush (Include): Mention <stdio.h>.
48852         * modules/strtoimax (Include): Mention <inttypes.h>.
48853         * modules/strtoumax (Include): Likewise.
48854
48855 2007-04-12  Eric Blake  <ebb9@byu.net>
48856
48857         * .cvsignore: New file.
48858         * .gitignore: Likewise.
48859
48860 2007-04-12  Bruno Haible  <bruno@clisp.org>
48861
48862         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48863         not before, since $(LDADD) often contains libgnu.a.
48864         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48865         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48866         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48867         Needed on Cygwin.
48868
48869 2007-04-12  Eric Blake  <ebb9@byu.net>
48870
48871         Work around glibc's failure to flush stdin on fclose.
48872         * lib/closein.c (close_stdin): Flush stdin before closing.
48873
48874         Work around glibc's failure to reset seekable stdin on exit.
48875         * modules/closein: New module.
48876         * lib/closein.c: New file.
48877         * lib/closein.h: Likewise.
48878         * m4/closein.m4: Likewise.
48879         * MODULES.html.sh (File stream based Input/Output): Document it.
48880
48881 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48882
48883         * gnulib-tool: Rename generated 'autobuild' script to
48884         'do-autobuild' in --create-megatestdir output.
48885
48886         * doc/gnulib.texi (Build robot for gnulib): Fix.
48887
48888 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48889
48890         * modules/sysexits (Depends-on): Add absolute-header.
48891
48892 2007-04-12  Eric Blake  <ebb9@byu.net>
48893
48894         No need to preserve errno on success.
48895         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48896         Reported by Bruno Haible.
48897
48898 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48899
48900         * MODULES.html.sh (Support for maintaining and releasing
48901         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48902
48903 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48904
48905         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48906
48907 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48908
48909         * modules/autobuild: New module.
48910
48911         * m4/autobuild.m4: New file.
48912
48913 2007-04-11  Bruno Haible  <bruno@clisp.org>
48914
48915         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48916         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48917         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48918         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48919         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48920         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48921         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48922         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48923         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48924         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48925         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48926         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48927         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48928         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48929         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48930         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48931         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48932         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48933         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48934         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48935         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48936         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48937         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48938         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48939         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48940         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48941         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48942         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48943         Reported by Eric Blake.
48944
48945 2007-04-11  Bruno Haible  <bruno@clisp.org>
48946
48947         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48948
48949 2007-04-10  Bruno Haible  <bruno@clisp.org>
48950
48951         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48952         for NaN and Infinity. Needed on FreeBSD 6.1.
48953         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48954         regarding results for "%010a" of Infinity and NaN.
48955         * tests/test-vasprintf-posix.c (test_function): Likewise.
48956         * tests/test-snprintf-posix.h (test_function): Likewise.
48957         * tests/test-sprintf-posix.h (test_function): Likewise.
48958         * tests/test-fprintf-posix.h (test_function): Likewise.
48959         * tests/test-printf-posix.h (test_function): Likewise.
48960         * tests/test-fprintf-posix.out: Likewise.
48961
48962 2007-04-10  Bruno Haible  <bruno@clisp.org>
48963
48964         * modules/locale-tests: New file.
48965         * tests/test-locale.c: New file.
48966
48967         * modules/locale: New file.
48968         * lib/locale_.h: New file.
48969         * m4/locale_h.m4: New file.
48970
48971 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48972             Bruno Haible  <bruno@clisp.org>
48973
48974         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48975         be determined, test for availability of the copysignf, copysign,
48976         copysignl functions.
48977         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48978         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48979         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48980
48981 2007-04-09  Eric Blake  <ebb9@byu.net>
48982
48983         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48984         * modules/stdio (Makefile.am): Support fflush.
48985         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48986         * modules/fflush: New file.
48987         * lib/fflush.c: Likewise.
48988         * m4/fflush.m4: Likewise.
48989         * modules/fflush-tests: New test.
48990         * tests/test-fflush.c: Likewise.
48991         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48992
48993 2007-04-06  Bruno Haible  <bruno@clisp.org>
48994
48995         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48996         (VASNPRINTF): Use signbit for faster determination whether to print a
48997         minus sign.
48998         * modules/vasnprintf (Files): Remove lib/float+.h.
48999         * modules/fprintf-posix (Depends-on): Add signbit.
49000         * modules/snprintf-posix (Depends-on): Likewise.
49001         * modules/sprintf-posix (Depends-on): Likewise.
49002         * modules/vasnprintf-posix (Depends-on): Likewise.
49003         * modules/vasprintf-posix (Depends-on): Likewise.
49004         * modules/vfprintf-posix (Depends-on): Likewise.
49005         * modules/vsnprintf-posix (Depends-on): Likewise.
49006         * modules/vsprintf-posix (Depends-on): Likewise.
49007
49008 2007-04-06  Bruno Haible  <bruno@clisp.org>
49009
49010         * tests/test-frexp.c (main): Test also the sign bit of zero results.
49011         * tests/test-frexpl.c (main): Likewise.
49012         * tests/test-ldexpl.c (main): Likewise.
49013         * modules/frexp-tests (Depends-on): Add signbit.
49014         * modules/frexpl-tests (Depdends-on): Likewise.
49015         * modules/ldexpl-tests (Depdends-on): Likewise.
49016
49017 2007-04-06  Bruno Haible  <bruno@clisp.org>
49018
49019         * modules/signbit-tests: New file.
49020         * tests/test-signbit.c: New file.
49021
49022         * modules/signbit: New file.
49023         * lib/signbitf.c: New file.
49024         * lib/signbitd.c: New file.
49025         * lib/signbitl.c: New file.
49026         * m4/signbit.m4: New file.
49027         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
49028         (signbit): New macro.
49029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
49030         REPLACE_SIGNBIT.
49031         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
49032         REPLACE_FREXPL into math.h.
49033
49034 2007-04-06  Bruno Haible  <bruno@clisp.org>
49035
49036         * modules/isnanf-nolibm-tests: New file.
49037         * tests/test-isnanf.c: New file.
49038
49039         * modules/isnanf-nolibm: New file.
49040         * lib/isnanf.h: New file.
49041         * lib/isnanf.c: New file.
49042         * lib/isnan.c: Consider the USE_FLOAT macro.
49043         * m4/isnanf.m4: New file.
49044
49045 2007-04-06  Bruno Haible  <bruno@clisp.org>
49046
49047         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
49048         (Link): New section.
49049
49050         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
49051
49052 2007-04-06  Bruno Haible  <bruno@clisp.org>
49053
49054         Assume the 'long double' type.
49055         * m4/longdouble.m4: Remove file.
49056         * config/srclist.txt: Don't mention longdouble.m4.
49057         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
49058         * lib/float+.h: Likewise.
49059         * lib/frexp.c: Likewise.
49060         * lib/printf-args.h: Likewise.
49061         * lib/printf-args.c: Likewise.
49062         * lib/printf-frexp.c: Likewise.
49063         * lib/printf-parse.c: Likewise.
49064         * lib/vasnprintf.c: Likewise.
49065         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
49066         * m4/intl.m4: Likewise.
49067         * m4/isnanl.m4: Likewise.
49068         * m4/printf.m4: Likewise.
49069         * m4/printf-frexpl.m4: Likewise.
49070         * m4/vasnprintf.m4: Likewise.
49071         * modules/allocsa (Files): Remove m4/longdouble.m4.
49072         * modules/gettext (Files): Likewise.
49073         * modules/relocatable-prog-wrapper (Files): Likewise.
49074         * modules/vasnprintf (Files): Likewise.
49075         * modules/isnanl (Files): Likewise.
49076         (Include): Simplify.
49077         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
49078         (Include): Simplify.
49079         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
49080         (Include): Simplify.
49081         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
49082         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49083         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
49084         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49085         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49086         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49087         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
49088         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49089         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49090         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49091         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
49092         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49093         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
49094         * tests/test-isnanl.c: Likewise.
49095         * tests/test-snprintf-posix.h: Likewise.
49096         * tests/test-sprintf-posix.h: Likewise.
49097         * tests/test-vasnprintf-posix.c: Likewise.
49098         * tests/test-vasnprintf-posix2.c: Likewise.
49099         * tests/test-vasprintf-posix.c: Likewise.
49100
49101 2007-04-06  Bruno Haible  <bruno@clisp.org>
49102
49103         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
49104         * lib/math_.h [__DECC]: Include the overridden include file through
49105         #include_next, outside the double-inclusion guard.
49106         * lib/stdio_.h [__DECC]: Likewise.
49107         * lib/stdlib_.h [__DECC]: Likewise.
49108         * lib/string_.h [__DECC]: Likewise.
49109         * lib/time_.h [__DECC]: Likewise.
49110         * lib/wchar_.h [__DECC]: Likewise.
49111         * lib/wctype_.h [__DECC]: Likewise.
49112         * lib/inttypes_.h [__DECC]: Likewise.
49113         Reported by Albert Chin <china@thewrittenword.com> in
49114         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
49115
49116 2007-04-04  Eric Blake  <ebb9@byu.net>
49117
49118         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
49119         1.5.x.
49120
49121 2007-04-04  Bruno Haible  <bruno@clisp.org>
49122
49123         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
49124         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
49125
49126 2007-04-04  Bruno Haible  <bruno@clisp.org>
49127
49128         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
49129         results for "%010a" of Infinity and NaN.
49130         * tests/test-vasprintf-posix.c (test_function): Likewise.
49131         * tests/test-snprintf-posix.h (test_function): Likewise.
49132         * tests/test-sprintf-posix.h (test_function): Likewise.
49133         * tests/test-fprintf-posix.h (test_function): Remove these tests.
49134         * tests/test-printf-posix.h (test_function): Likewise.
49135         * tests/test-fprintf-posix.out: Update.
49136         Needed for FreeBSD 6.1.
49137
49138 2007-04-04  Bruno Haible  <bruno@clisp.org>
49139
49140         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
49141         directly used by the gnulib modules nor by gnulib-tool.
49142
49143 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49144
49145         * DEPENDENCIES: Give overall description of version dependency
49146         desirability.  Use more-typical names for apps.
49147         Add shell, coreutils, diffutils, grep, tar, gzip.
49148
49149 2007-04-04  Simon Josefsson  <simon@josefsson.org>
49150
49151         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
49152
49153 2007-04-04  Karl Berry  <karl@gnu.org>
49154
49155         * MODULES.html.sh (func_module): missing '.
49156
49157 2007-04-03  Bruno Haible  <bruno@clisp.org>
49158
49159         * modules/argmatch-tests (Makefile.am): New variable
49160         test_argmatch_LDADD.
49161         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
49162         * modules/array-list-tests (Makefile.am): New variable
49163         test_array_list_LDADD.
49164         * modules/array-oset-tests (Makefile.am): New variable
49165         test_array_oset_LDADD.
49166         * modules/avltree-list-tests (Makefile.am): New variable
49167         test_avltree_list_LDADD.
49168         * modules/avltree-oset-tests (Makefile.am): New variable
49169         test_avltree_oset_LDADD.
49170         * modules/avltreehash-list-tests (Makefile.am): New variable
49171         test_avltreehash_list_LDADD.
49172         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
49173         test_canonicalize_lgpl_LDADD.
49174         * modules/carray-list-tests (Makefile.am): New variable
49175         test_carray_list_LDADD.
49176         * modules/dirname-tests (Makefile.am): New variable
49177         test_dirname_LDADD.
49178         * modules/linked-list-tests (Makefile.am): New variable
49179         test_linked_list_LDADD.
49180         * modules/linkedhash-list-tests (Makefile.am): New variable
49181         test_linkedhash_list_LDADD.
49182         * modules/rbtree-list-tests (Makefile.am): New variable
49183         test_rbtree_list_LDADD.
49184         * modules/rbtree-oset-tests (Makefile.am): New variable
49185         test_rbtree_oset_LDADD.
49186         * modules/rbtreehash-list-tests (Makefile.am): New variable
49187         test_rbtreehash_list_LDADD.
49188         * modules/xvasprintf-tests (Makefile.am): New variable
49189         test_xvasprintf_LDADD.
49190         Reported by Eric Blake.
49191
49192 2007-04-03  Eric Blake  <ebb9@byu.net>
49193
49194         * DEPENDENCIES: Weaken m4 requirements.
49195
49196 2007-04-03  Bruno Haible  <bruno@clisp.org>
49197
49198         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
49199         * modules/isnanl-tests (configure.ac): Likewise.
49200
49201 2007-04-03  Ben Pfaff  <blp@gnu.org>
49202
49203         * modules/iconv_open: Add $(srcdir)/ to source directory
49204         references in Makefile fragments that call gperf, to fix VPATH
49205         builds.
49206
49207 2007-04-03  Bruno Haible  <bruno@clisp.org>
49208
49209         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
49210         * lib/ldexpl.c: Undo last change.
49211
49212 2007-04-03  Bruno Haible  <bruno@clisp.org>
49213
49214         * modules/printf-frexpl (Depends-on): Undo last change.
49215         (Files): Add m4/ldexpl.m4.
49216
49217 2007-04-03  Bruno Haible  <bruno@clisp.org>
49218
49219         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
49220         * modules/isnanl (Link): New section.
49221
49222         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
49223         * modules/frexp (Link): New section.
49224
49225         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
49226         * modules/frexpl (Link): New section.
49227
49228         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
49229         * modules/ldexpl (Link): New section.
49230
49231 2007-04-03  Bruno Haible  <bruno@clisp.org>
49232
49233         * modules/TEMPLATE-EXTENDED: New file.
49234         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
49235
49236 2007-04-03  Bruno Haible  <bruno@clisp.org>
49237
49238         * DEPENDENCIES: New file.
49239         Suggested by Simon Josefsson.
49240
49241 2007-04-03  Bruno Haible  <bruno@clisp.org>
49242
49243         * doc/gnulib.texi: Escape @.
49244
49245 2007-04-03  James Youngman  <jay@gnu.org>
49246         and Paul Eggert  <eggert@cs.ucla.edu>
49247
49248         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
49249         birthtime on all systems that have birthtime, not just those which
49250         use st_birthtimensec rather than st_birthtim.  Putting zero in
49251         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
49252         that the birth time is not available for files on an NFS mount.
49253
49254 2007-04-03  Simon Josefsson  <simon@josefsson.org>
49255
49256         * modules/memxor: Move back from crypto/, suggested by Bruno.
49257         * modules/crypto/hmac-sha1: Fix memxor dependency.
49258
49259         * modules/crypto/gc: Moved from ../.
49260
49261 2007-04-02  Eric Blake  <ebb9@byu.net>
49262
49263         * lib/ldexpl.c (includes): Avoid libm.
49264
49265         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
49266
49267 2007-04-02  Bruno Haible  <bruno@clisp.org>
49268
49269         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
49270         on IRIX.
49271
49272 2007-04-02  Bruno Haible  <bruno@clisp.org>
49273
49274         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
49275         x86 or x86_64 platforms running MacOS X.
49276         Reported by Ryan Schmidt <@ryandesign.com>.
49277
49278 2007-04-02  Bruno Haible  <bruno@clisp.org>
49279
49280         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
49281         i386.
49282
49283 2007-04-01  Simon Josefsson  <simon@josefsson.org>
49284
49285         * modules/crypto/arcfour: Moved from ../.
49286         * modules/crypto/arcfour-tests: Moved from ../.
49287         * modules/crypto/arctwo: Moved from ../.
49288         * modules/crypto/arctwo-tests: Moved from ../.
49289         * modules/crypto/des: Moved from ../.
49290         * modules/crypto/des-tests: Moved from ../.
49291         * modules/crypto/gc-arcfour: Moved from ../.
49292         * modules/crypto/gc-arcfour-tests: Moved from ../.
49293         * modules/crypto/gc-arctwo: Moved from ../.
49294         * modules/crypto/gc-arctwo-tests: Moved from ../.
49295         * modules/crypto/gc-des: Moved from ../.
49296         * modules/crypto/gc-des-tests: Moved from ../.
49297         * modules/crypto/gc-hmac-md5: Moved from ../.
49298         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
49299         * modules/crypto/gc-hmac-sha1: Moved from ../.
49300         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
49301         * modules/crypto/gc-md2: Moved from ../.
49302         * modules/crypto/gc-md2-tests: Moved from ../.
49303         * modules/crypto/gc-md4: Moved from ../.
49304         * modules/crypto/gc-md4-tests: Moved from ../.
49305         * modules/crypto/gc-md5: Moved from ../.
49306         * modules/crypto/gc-md5-tests: Moved from ../.
49307         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
49308         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
49309         * modules/crypto/gc-random: Moved from ../.
49310         * modules/crypto/gc-rijndael: Moved from ../.
49311         * modules/crypto/gc-rijndael-tests: Moved from ../.
49312         * modules/crypto/gc-sha1: Moved from ../.
49313         * modules/crypto/gc-sha1-tests: Moved from ../.
49314         * modules/crypto/gc-tests: Moved from ../.
49315         * modules/crypto/hmac-md5: Moved from ../.
49316         * modules/crypto/hmac-md5-tests: Moved from ../.
49317         * modules/crypto/hmac-sha1: Moved from ../.
49318         * modules/crypto/hmac-sha1-tests: Moved from ../.
49319         * modules/crypto/md2: Moved from ../.
49320         * modules/crypto/md2-tests: Moved from ../.
49321         * modules/crypto/md4: Moved from ../.
49322         * modules/crypto/md4-tests: Moved from ../.
49323         * modules/crypto/md5: Moved from ../.
49324         * modules/crypto/md5-tests: Moved from ../.
49325         * modules/crypto/memxor: Moved from ../.
49326         * modules/crypto/rijndael: Moved from ../.
49327         * modules/crypto/rijndael-tests: Moved from ../.
49328         * modules/crypto/sha1: Moved from ../.
49329
49330 2007-03-30  James Youngman  <jay@gnu.org>
49331
49332         * tests/test-stat-time.c (prepare_test): use chmod() rather than
49333         rename() to change the ctime of a file (because ctime is unaffected
49334         by rename on jfs2 on AIX 5.1).
49335         (main): Start by doing cleanup, in case a previous run failed leaving
49336         test files behind.
49337
49338 2007-03-31  Bruno Haible  <bruno@clisp.org>
49339
49340         Support old proprietary implementations of iconv.
49341         * modules/iconv_open: New file.
49342         * lib/iconv_.h: New file.
49343         * m4/iconv_h.m4: New file.
49344         * lib/iconv_open.c: New file.
49345         * lib/iconv_open-aix.gperf: New file.
49346         * lib/iconv_open-hpux.gperf: New file.
49347         * lib/iconv_open-irix.gperf: New file.
49348         * lib/iconv_open-osf.gperf: New file.
49349         * m4/iconv_open.m4: New file.
49350         * modules/linebreak (Depends-on): Add iconv_open.
49351         * modules/striconv (Depends-on): Likewise.
49352         * modules/striconveh (Depends-on): Likewise.
49353         * modules/unicodeio (Depends-on): Likewise.
49354         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
49355         (iconv_t)(-1).
49356         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
49357         conversion if cd is (iconv_t)(-1).
49358         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
49359         is not possible.
49360
49361 2007-03-31  Bruno Haible  <bruno@clisp.org>
49362
49363         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49364         work on Solaris either. Protect also second use of "autodetect_jp".
49365
49366 2007-03-31  Bruno Haible  <bruno@clisp.org>
49367
49368         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
49369         the function is not present.
49370
49371 2007-03-31  Bruno Haible  <bruno@clisp.org>
49372
49373         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
49374         the function is not present.
49375
49376 2007-03-31  Bruno Haible  <bruno@clisp.org>
49377
49378         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
49379         a bug in HP-UX iconv_open().
49380
49381 2007-03-31  Bruno Haible  <bruno@clisp.org>
49382
49383         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
49384         (Mathematics <math.h>): New section, add fpieee.
49385         (Input/output <stdio.h>): Add fseterr.
49386         (Mathematics <math.h>): New section, add printf-frexp.
49387         (Container data structures): Add sublist.
49388         (Core language properties): Add fpucw, inline.
49389         (Functions for greatest-width integer types <inttypes.h>): Add
49390         imaxabs, imaxdiv, inttypes.
49391         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
49392         isnanl-nolibm, ldexp.
49393         (Mathematics <math.h>): New section, add printf-frexpl.
49394         (Support for systems lacking POSIX:2001): Add fprintf-posix,
49395         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
49396         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
49397         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
49398         (Unicode string functions): Add unistr/u*-mbtoucr.
49399         (Java): Add javacomp-script, javaexec-script.
49400         (C#): Add csharpcomp-script, csharpexec-script.
49401         (Support for building libraries and executables): Add havelib,
49402         relocatable-*.
49403         (Support for maintaining and releasing projects): Renamed from
49404         'Support for maintaining and release projects'. Add announce-gen.
49405
49406 2007-03-31  Bruno Haible  <bruno@clisp.org>
49407
49408         * README: Talk primarily about git.
49409         (git and CVS): Renamed from CVS.
49410         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
49411         gnulib is available through git.
49412         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
49413
49414 2007-03-30  Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
49417         * lib/poll_.h: Likewise.
49418         * lib/stat_.h: Likewise.
49419         * lib/sys_time_.h: Likewise.
49420         * lib/sysexit_.h: Likewise.
49421         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
49422         * lib/stdbool_.h: Likewise.
49423         * lib/byteswap_.h: Add double-inclusion guard.
49424
49425 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
49426
49427         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
49428
49429 2007-03-30  Karl Berry  <karl@gnu.org>
49430
49431         * config/srclist-update: double space after USA in the license
49432         substitution, since that's how it's usually (?) written.
49433
49434 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
49435
49436         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
49437         reported by Bruno Haible.
49438
49439 2007-03-29  Bruno Haible  <bruno@clisp.org>
49440
49441         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
49442         a bug in AIX iconv().
49443
49444 2007-03-29  Bruno Haible  <bruno@clisp.org>
49445
49446         * modules/ldexpl-tests: New file.
49447         * tests/test-ldexpl.c: New file.
49448
49449 2007-03-29  Bruno Haible  <bruno@clisp.org>
49450
49451         * lib/ldexpl.c: Include fpucw.h.
49452         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
49453         multiplication.
49454         * modules/ldexpl (Depends-on): Add fpucw.
49455
49456 2007-03-29  Bruno Haible  <bruno@clisp.org>
49457
49458         * modules/ldexpl: New file.
49459         * m4/ldexpl.m4: New file.
49460         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
49461         set.
49462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
49463         REPLACE_LDEXPL.
49464         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
49465         REPLACE_LDEXPL.
49466         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49467         gl_FUNC_LDEXPL_WORKS.
49468         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
49469         * modules/mathl (Files): Remove lib/ldexpl.c.
49470         (Depends-on): Add ldexpl.
49471
49472 2007-03-29  Bruno Haible  <bruno@clisp.org>
49473
49474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
49475
49476 2007-03-29  Bruno Haible  <bruno@clisp.org>
49477
49478         * tests/test-striconveh.c (main): Don't assume that a direct conversion
49479         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
49480         and possibly also HP-UX.
49481         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49482         work on AIX, IRIX, HP-UX, OSF/1.
49483         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
49484         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
49485         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
49486         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
49487         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
49488         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
49489
49490 2007-03-29  Bruno Haible  <bruno@clisp.org>
49491
49492         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
49493
49494 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49495
49496         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
49497         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
49498
49499 2007-03-29  Eric Blake  <ebb9@byu.net>
49500
49501         * lib/acl-internal.h: Remove redundant include.
49502         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
49503         Cygwin when a file is locked.
49504
49505 2007-03-29  Bruno Haible  <bruno@clisp.org>
49506
49507         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
49508         file.
49509         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
49510
49511 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49512
49513         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
49514         try to remove a parent directory if the child couldn't be removed
49515         (except for the first rmdir, which could fail because the child
49516         doesn't exist).  Problem reported by Jeff Blaine in
49517         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
49518
49519 2007-03-28  Bruno Haible  <bruno@clisp.org>
49520
49521         * lib/striconveh.c (utf8conv_carefully): New function.
49522         (mem_cd_iconveh_internal): Invoke it.
49523
49524 2007-03-28  Bruno Haible  <bruno@clisp.org>
49525
49526         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
49527         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
49528         input.
49529         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
49530         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
49531         unistr/u8-uctomb.
49532
49533 2007-03-28  Bruno Haible  <bruno@clisp.org>
49534
49535         * modules/unistr/u8-mbtoucr: New file.
49536         * lib/unistr/u8-mbtoucr.c: New file.
49537         * modules/unistr/u16-mbtoucr: New file.
49538         * lib/unistr/u16-mbtoucr.c: New file.
49539         * modules/unistr/u16-mbtoucr: New file.
49540         * lib/unistr/u16-mbtoucr.c: New file.
49541         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
49542
49543 2007-03-27  Simon Josefsson  <simon@josefsson.org>
49544             Bruno Haible  <bruno@clisp.org>
49545
49546         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
49547         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
49548         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
49549
49550         * m4/stdio_h.m4: Add stubs for vasprintf too.
49551
49552         * modules/stdio: Support vasprintf in sed command.
49553
49554         * modules/vasprintf: Depend on stdio for prototypes.  Remove
49555         vasprintf.h.  Add stdio module indicator.
49556
49557         * lib/stdio_.h: Declare asprintf and vasprintf, based on
49558         vasprintf.h.
49559
49560         * lib/vasprintf.h: File removed.
49561
49562         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
49563         * lib/vasprintf.c: Ditto.
49564         * lib/xvasprintf.c: Ditto.
49565         * tests/test-vasprintf-posix.c: Ditto.
49566         * tests/test-vasprintf.c: Ditto.
49567
49568 2007-03-27  Bruno Haible  <bruno@clisp.org>
49569
49570         Make vasnprintf multithread-safe.
49571         * lib/vasnprintf.c (decimal_point_char): New function.
49572         (VASNPRINTF): Use it.
49573         Suggested by Simon Josefsson.
49574
49575 2007-03-27  Eric Blake  <ebb9@byu.net>
49576
49577         Support sub-second birthtime on cygwin.
49578         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
49579         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
49580         (get_stat_birthtime): Also work with st_birthtim.
49581
49582 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
49583
49584         * lib/stat-time.h (USE_BIRTHTIME): Remove.
49585         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
49586         (get_stat_birthtime_ns): Do not try to use "spare" fields.
49587         (get_stat_birthtime_ns): Simplify compile-time tests.
49588         (get_stat_birthtime): Change the API to look like
49589         get_stat_mtime etc., except return a negative tv_nsec on error.
49590         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
49591         Don't check for "spare" fields.
49592         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
49593         or for struct stat.st_birthtime, as these tests aren't used.
49594         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
49595
49596 2007-03-27  Bruno Haible  <bruno@clisp.org>
49597
49598         * lib/stat-time.h: Include <sys/stat.h>.
49599
49600 2007-03-27  James Youngman  <jay@gnu.org>
49601
49602         * lib/stat-time.h (get_stat_birthtime): New function for
49603           retrieving st_birthtime as provided by UFS2 (hence *BSD).
49604         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
49605           and its variants.
49606         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
49607         * modules/stat-time-test: New file.
49608         * tests/test-stat-time.c: New test, devised by Bruno Haible.
49609
49610 2007-03-26  Bruno Haible  <bruno@clisp.org>
49611
49612         Better support of signalling NaNs.
49613         * lib/atanl.c: Include isnanl.h.
49614         (atanl): Perform test for NaN at the beginning of the function and
49615         through a call to isnanl.
49616         * lib/cosl.c: Include isnanl.h.
49617         (cosl): Perform test for NaN at the beginning of the function and
49618         through a call to isnanl.
49619         * lib/ldexpl.c: Include isnanl.h.
49620         (ldexpl): Perform test for NaN through a call to isnanl.
49621         * lib/logl.c: Include isnanl.h.
49622         (logl): Perform test for NaN at the beginning of the function and
49623         through a call to isnanl.
49624         * lib/sinl.c: Include isnanl.h.
49625         (sinl): Perform test for NaN at the beginning of the function and
49626         through a call to isnanl.
49627         * lib/sqrtl.c: Include isnanl.h.
49628         (sqrtl): Perform test for NaN at the beginning of the function and
49629         through a call to isnanl.
49630         * lib/tanl.c: Include isnanl.h.
49631         (tanl): Perform test for NaN at the beginning of the function and
49632         through a call to isnanl.
49633         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
49634         * modules/mathl (Depends-on): Add isnanl.
49635
49636 2007-03-26  Eric Blake  <ebb9@byu.net>
49637
49638         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
49639         regression in logic sense of previous patch.
49640
49641 2007-03-26  Bruno Haible  <bruno@clisp.org>
49642
49643         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
49644         unportable shell command "if ! ...".
49645         Reported by Ralf Wildenhues.
49646
49647 2007-03-25  Bruno Haible  <bruno@clisp.org>
49648
49649         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
49650         <sysexits.h> file, and only add EX_CONFIG.
49651         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
49652         absolute file name and whether it is sufficient. Substitute also
49653         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
49654         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
49655         ABSOLUTE_SYSEXITS_H into sysexits.h.
49656
49657 2007-03-25  Bruno Haible  <bruno@clisp.org>
49658
49659         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
49660         hints is NULL.
49661
49662 2007-03-25  Bruno Haible  <bruno@clisp.org>
49663
49664         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
49665         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
49666
49667 2007-03-25  Bruno Haible  <bruno@clisp.org>
49668
49669         * lib/vasnprintf.c: Include langinfo.h.
49670         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
49671         multithread-safe.
49672         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
49673         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
49674         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49675         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49676         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49678         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
49680         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49681         Reported by Simon Josefsson.
49682
49683 2007-03-25  Bruno Haible  <bruno@clisp.org>
49684
49685         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
49686         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
49687         * modules/vasnprintf (Depends-on): Add stdint.
49688
49689 2007-03-25  Bruno Haible  <bruno@clisp.org>
49690
49691         * modules/fpieee: New file.
49692         * m4/fpieee.m4: New file.
49693         * modules/isnan-nolibm (Depends-on): Add fpieee.
49694         * modules/isnanl-nolibm (Depends-on): Add fpieee.
49695         * modules/isnanl (Depends-on): Add fpieee.
49696
49697 2007-03-25  Bruno Haible  <bruno@clisp.org>
49698
49699         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
49700
49701 2007-03-25  Bruno Haible  <bruno@clisp.org>
49702
49703         Avoid test failures on IRIX 6.5.
49704         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
49705         (main): Use it.
49706         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
49707         macros.
49708         (main): Use them.
49709
49710 2007-03-25  Bruno Haible  <bruno@clisp.org>
49711
49712         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
49713         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
49714         exists but doesn't work.
49715         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
49716         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
49717         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
49718         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
49719
49720 2007-03-25  Bruno Haible  <bruno@clisp.org>
49721
49722         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
49723         returns inf. Needed on IRIX 6.5.
49724
49725 2007-03-25  Bruno Haible  <bruno@clisp.org>
49726
49727         * tests/test-frexpl.c: Include isnanl-nolibm.h.
49728         (main): Use isnanl instead of x != x idiom.
49729         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
49730
49731         * tests/test-frexp.c: Include isnan.h.
49732         (main): Use isnan instead of x != x idiom.
49733         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
49734
49735 2007-03-25  Bruno Haible  <bruno@clisp.org>
49736
49737         * tests/test-frexp.c (NaN): New function/macro.
49738         (main): Use it instead of 0.0 / 0.0.
49739         * tests/test-isnan.c (NaN): New function/macro.
49740         (main): Use it instead of 0.0 / 0.0.
49741         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
49742         (test_function): Use it instead of 0.0 / 0.0.
49743         * tests/test-vasprintf-posix.c (NaN): New function/macro.
49744         (test_function): Use it instead of 0.0 / 0.0.
49745         * tests/test-snprintf-posix.h (NaN): New function/macro.
49746         (test_function): Use it instead of 0.0 / 0.0.
49747         * tests/test-sprintf-posix.h (NaN): New function/macro.
49748         (test_function): Use it instead of 0.0 / 0.0.
49749         * tests/test-fprintf-posix.h (NaN): New function/macro.
49750         (test_function): Use it instead of 0.0 / 0.0.
49751         * tests/test-printf-posix.h (NaN): New function/macro.
49752         (test_function): Use it instead of 0.0 / 0.0.
49753
49754         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
49755
49756 2007-03-25  Bruno Haible  <bruno@clisp.org>
49757
49758         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
49759
49760 2007-03-25  Bruno Haible  <bruno@clisp.org>
49761
49762         * lib/regexec.c (merge_state_with_log): Make static.
49763
49764 2007-03-25  Bruno Haible  <bruno@clisp.org>
49765
49766         * lib/trigl.c (kernel_rem_pio2): Make static.
49767
49768 2007-03-25  Bruno Haible  <bruno@clisp.org>
49769
49770         * lib/sincosl.c (sincosl_table): Make static.
49771
49772 2007-03-25  Bruno Haible  <bruno@clisp.org>
49773
49774         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
49775         if the compiler does not support C99.
49776
49777 2007-03-25  Bruno Haible  <bruno@clisp.org>
49778
49779         * modules/time (Makefile.am): Ensure all rule action lines start with a
49780         tab.
49781
49782 2007-03-24  Bruno Haible  <bruno@clisp.org>
49783
49784         * modules/tsearch-tests: New file.
49785         * tests/test-tsearch.sh: New file.
49786         * tests/test-tsearch.c: New file, mostly copied from glibc.
49787
49788         * modules/search-tests: New file.
49789         * tests/test-search.c: New file.
49790
49791         * modules/search: New file.
49792         * lib/search_.h: New file, incorporating lib/tsearch.h.
49793         * m4/search_h.m4: New file.
49794         * lib/tsearch.h: Remove file.
49795         * lib/tsearch.c: Include search.h instead of tsearch.h.
49796         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49797         HAVE_TSEARCH.
49798         * modules/tsearch (Files): Remove lib/tsearch.h.
49799         (Depends-on): Add search.
49800         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49801         (Include): Change tsearch.h into search.h.
49802
49803 2007-03-24  Bruno Haible  <bruno@clisp.org>
49804
49805         * modules/fpucw: New file.
49806         * lib/fpucw.h: New file.
49807         * lib/frexp.c: Include fpucw.h.
49808         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49809         (FUNC): Use them.
49810         * lib/printf-frexp.c: Include fpucw.h.
49811         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49812         (FUNC): Use them.
49813         * lib/vasnprintf.c: Include fpucw.h.
49814         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49815         'long double' calculations.
49816         * tests/test-frexpl.c: Include fpucw.h.
49817         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49818         * tests/test-printf-frexpl.c: Include fpucw.h.
49819         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49820         * modules/frexpl (Depends-on): Add fpucw.
49821         * modules/printf-frexpl (Depends-on): Likewise.
49822         * modules/fprintf-posix (Depends-on): Likewise.
49823         * modules/snprintf-posix (Depends-on): Likewise.
49824         * modules/sprintf-posix (Depends-on): Likewise.
49825         * modules/vasnprintf-posix (Depends-on): Likewise.
49826         * modules/vasprintf-posix (Depends-on): Likewise.
49827         * modules/vfprintf-posix (Depends-on): Likewise.
49828         * modules/vsnprintf-posix (Depends-on): Likewise.
49829         * modules/vsprintf-posix (Depends-on): Likewise.
49830         * modules/frexpl-tests (Depends-on): Likewise.
49831         * modules/printf-frexpl-tests (Depends-on): Likewise.
49832
49833 2007-03-24  Bruno Haible  <bruno@clisp.org>
49834
49835         * lib/float+.h: New file.
49836         * lib/isnan.c: Include float+.h.
49837         (SIZE): New macro.
49838         (FUNC): Compare only SIZE bytes of the value.
49839         * lib/vasnprintf.c: Include float+.h.
49840         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49841         SIZEOF_LDBL or SIZEOF_DBL bytes.
49842         * modules/isnan-nolibm (Files): Add lib/float+.h.
49843         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49844         * modules/isnanl (Files): Add lib/float+.h.
49845         * modules/vasnprintf (Files): Add lib/float+.h.
49846
49847 2007-03-24  Bruno Haible  <bruno@clisp.org>
49848
49849         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49850         include isnanl-nolibm.h.
49851
49852 2007-03-24  Bruno Haible  <bruno@clisp.org>
49853
49854         * tests/test-read-file.c (main): Don't produce spurious output for
49855         expected situations. Make the test fail if it encountered unexpected
49856         results.
49857
49858 2007-03-24  Bruno Haible  <bruno@clisp.org>
49859
49860         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49861         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49862
49863 2007-03-24  Bruno Haible  <bruno@clisp.org>
49864
49865         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49866
49867 2007-03-24  Bruno Haible  <bruno@clisp.org>
49868
49869         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49870         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49871
49872         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49873         * modules/utf8-ucs4: Turn into a symbolic link to module
49874         unistr/u8-mbtouc.
49875
49876         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49877         utf8-ucs4-unsafe.
49878         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49879         unistr/u8-mbtouc-unsafe.
49880
49881         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49882         * modules/utf16-ucs4: Turn into a symbolic link to module
49883         unistr/u16-mbtouc.
49884
49885         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49886         utf16-ucs4-unsafe.
49887         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49888         unistr/u16-mbtouc-unsafe.
49889
49890         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49891         * modules/ucs4-utf8: Turn into a symbolic link to module
49892         unistr/u8-ubtomb.
49893
49894         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49895         * modules/ucs4-utf16: Turn into a symbolic link to module
49896         unistr/u16-ubtomb.
49897
49898 2007-03-24  Bruno Haible  <bruno@clisp.org>
49899
49900         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49901         Enable the function only if HAVE_INLINE.
49902         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49903         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49904         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49905         Enable the function only if HAVE_INLINE.
49906         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49907         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49908         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49909         Enable the function only if HAVE_INLINE.
49910         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49911         Enable the function only if HAVE_INLINE.
49912         * modules/utf8-ucs4: Update.
49913         * modules/utf8-ucs4-unsafe: Update.
49914         * modules/utf16-ucs4: Update.
49915         * modules/utf16-ucs4-unsafe: Update.
49916         * modules/ucs4-utf8: Update.
49917         * modules/ucs4-utf16: Update.
49918
49919 2007-03-24  Bruno Haible  <bruno@clisp.org>
49920
49921         * lib/utf8-ucs4.h: Remove file.
49922         * lib/utf8-ucs4-unsafe.h: Remove file.
49923         * lib/utf16-ucs4.h: Remove file.
49924         * lib/utf16-ucs4-unsafe.h: Remove file.
49925         * lib/ucs4-utf8.h: Remove file.
49926         * lib/ucs4-utf16.h: Remove file.
49927         * lib/unistr.h: Include their previous contents.
49928         * m4/utf-ucs4.m4: Remove file.
49929         * m4/ucs4-utf.m4: Remove file.
49930         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49931         (Depends-on): Add unistr/base.
49932         (configure.ac): Remove gl_UTF_UCS4.
49933         (Makefile.am): Update.
49934         (Include): Change to unistr.h.
49935         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
49936         (Depends-on): Add unistr/base.
49937         (configure.ac): Remove gl_UTF_UCS4.
49938         (Makefile.am): Update.
49939         (Include): Change to unistr.h.
49940         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
49941         (Depends-on): Add unistr/base.
49942         (configure.ac): Remove gl_UTF_UCS4.
49943         (Makefile.am): Update.
49944         (Include): Change to unistr.h.
49945         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49946         (Depends-on): Add unistr/base.
49947         (configure.ac): Remove gl_UTF_UCS4.
49948         (Makefile.am): Update.
49949         (Include): Change to unistr.h.
49950         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49951         (Depends-on): Add unistr/base.
49952         (configure.ac): Remove gl_UCS4_UTF.
49953         (Makefile.am): Update.
49954         (Include): Change to unistr.h.
49955         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49956         (Depends-on): Add unistr/base.
49957         (configure.ac): Remove gl_UCS4_UTF.
49958         (Makefile.am): Update.
49959         (Include): Change to unistr.h.
49960         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49961         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49962         utf8-ucs4-unsafe.h.
49963         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49964         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49965         utf16-ucs4-unsafe.h.
49966         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49967         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49968         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49969         * lib/unistr/u8-strchr.c: Likewise.
49970         * lib/unistr/u8-strrchr.c: Likewise.
49971         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49972         * lib/unistr/u16-strchr.c: Likewise.
49973         * lib/unistr/u16-strrchr.c: Likewise.
49974         * lib/striconveh.c: Update.
49975         * lib/linebreak.c: Update.
49976
49977 2007-03-24  Bruno Haible  <bruno@clisp.org>
49978
49979         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49980         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49981
49982 2007-03-22  Bruno Haible  <bruno@clisp.org>
49983
49984         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49985
49986 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49987
49988         * MODULES.html.sh (File system functions): New module write-any-file.
49989         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49990         * m4/write-any-file.m4: New files.
49991
49992 2007-03-23  Eric Blake  <ebb9@byu.net>
49993
49994         * gnulib-tool: Rearrange space-tab sequences, since some editors
49995         like to eat them.
49996
49997 2007-03-23  Eric Blake  <ebb9@byu.net>
49998
49999         * lib/version-etc.c (version_etc_va): Update license wording to
50000         be more concise.  Recommended by Richard Stallman.
50001
50002 2007-03-22  Bruno Haible  <bruno@clisp.org>
50003
50004         * lib/poll.c (MSG_PEEK): New fallback definition.
50005
50006 2007-03-22  Bruno Haible  <bruno@clisp.org>
50007
50008         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
50009         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
50010         (main): Update.
50011         Fixes a compilation error on BeOS.
50012
50013 2007-03-22  Bruno Haible  <bruno@clisp.org>
50014
50015         * modules/frexpl-tests: New file.
50016         * tests/test-frexpl.c: New file.
50017
50018         * modules/frexpl: New file.
50019         * m4/frexpl.m4: New file.
50020         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
50021         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
50022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
50023         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
50024         (Depends-on): Add frexpl. Remove isnanl-nolibm.
50025         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
50026
50027 2007-03-22  Bruno Haible  <bruno@clisp.org>
50028
50029         * lib/frexpl.c: Share code with lib/frexp.c.
50030         * modules/mathl (Files): Add lib/frexp.c.
50031         (Depends-on): Add isnanl-nolibm.
50032
50033 2007-03-22  Bruno Haible  <bruno@clisp.org>
50034
50035         * modules/printf-frexp (Files): Add m4/frexp.m4.
50036         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
50037         only if the found frexp function actually works.
50038
50039 2007-03-22  Bruno Haible  <bruno@clisp.org>
50040
50041         * lib/frexp.c: Remove older implementation that uses divisions.
50042
50043 2007-03-21  Bruno Haible  <bruno@clisp.org>
50044
50045         * modules/frexp-tests: New file.
50046         * tests/test-frexp.c: New file.
50047
50048         * modules/frexp: New file.
50049         * lib/frexp.c: New file.
50050         * m4/frexp.m4: New file.
50051         * lib/math_.h (frexp): New declaration.
50052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
50053         REPLACE_FREXP.
50054         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
50055
50056 2007-03-21  Bruno Haible  <bruno@clisp.org>
50057
50058         * modules/isnanl-tests: New file.
50059         * tests/test-isnanl.c: New file.
50060
50061         * modules/isnanl: New file.
50062         * lib/isnanl.h: New file.
50063         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
50064         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
50065         gl_FUNC_ISNANL_WORKS.
50066         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
50067         New macros.
50068
50069 2007-03-21  Bruno Haible  <bruno@clisp.org>
50070
50071         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
50072         lib/isnanl.h.
50073         (Include): Update.
50074         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
50075         * lib/vasnprintf.c: Update.
50076         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
50077         tests/test-isnanl.h, remove tests/test-isnanl.c.
50078         (Makefile.am): Update.
50079         * tests/test-isnanl-nolibm.c: New file.
50080         * tests/test-isnanl.h: New file.
50081         * tests/test-isnanl.c: Remove file.
50082
50083 2007-03-21  Jim Meyering  <jim@meyering.net>
50084
50085         When trying to open ".", treat ESTALE like EACCES.
50086         * lib/savewd.c (savewd_save): Resort to forking not just upon
50087         failure with EACCES, but also when errno is ESTALE.
50088
50089 2007-03-20  Bruno Haible  <bruno@clisp.org>
50090
50091         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
50092         Needed on AIX 5.1. Reported by Matthew Woehlke.
50093
50094 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50095
50096         Suggestions by Bruno Haible:
50097         * lib/acl-internal.h: Include "gettext.h" rather than rolling
50098         our own.
50099         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
50100         * modules/acl (Depends-on): Add gettext.
50101
50102 2007-03-19  Bruno Haible  <bruno@clisp.org>
50103
50104         * modules/iconvme: Remove file.
50105         * lib/iconvme.h: Remove file.
50106         * lib/iconvme.c: Remove file.
50107         * m4/iconvme.m4: Remove file.
50108
50109 2007-03-19  Bruno Haible  <bruno@clisp.org>
50110
50111         * doc/relocatable-maint.texi: Break long shell script line.
50112         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50113
50114 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50115
50116         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
50117         handle file_has_acl.
50118         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
50119         * lib/acl.c: Move header inclusions and related macro defns into
50120         lib/acl-internal.h.
50121         (S_ISLNK): Remove defn, since that's now done for us.
50122         (file_has_acl): Move to lib/file-has-acl.c.
50123         Call acl_trivial if available.  This is the crucial part of the fix.
50124         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
50125         shared within the library.  Rewrite a bit, partly to make it compatible
50126         with the GNU coding style.
50127         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
50128         Remove unnecessary double-quotes.
50129         Don't test for acl_to_text; the build will catch that.
50130         Replace acl_entries if it doesn't exist and it is needed.
50131         Check for -lsec and acl_trivial (as used on Solaris 10).
50132         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
50133         lib/file-has-acl.c.
50134         (Depends-on): Add sys_stat, for S_ISLNK.
50135
50136 2007-03-19  Ben Pfaff  <blp@gnu.org>
50137
50138         * doc/gnulib.texi: Fix typos.
50139         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50140
50141 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50142
50143         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
50144         If size is zero here, buf must be zero.
50145
50146 2007-03-19  Simon Josefsson  <simon@josefsson.org>
50147
50148         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
50149         <bruno@clisp.org>.
50150
50151 2007-03-18  Bruno Haible  <bruno@clisp.org>
50152
50153         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
50154         Suggested by Eric Blake.
50155
50156 2007-03-18  Ben Pfaff  <blp@gnu.org>
50157
50158         * doc/relocatable.texi: Recommend using as prefix a directory
50159         that does not exist and will never be created.  Based on
50160         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
50161         and others.
50162
50163 2007-03-17  Bruno Haible  <bruno@clisp.org>
50164
50165         * lib/fchownat.c: Include lchown.h.
50166
50167 2007-03-17  Bruno Haible  <bruno@clisp.org>
50168
50169         Fix endless loop when the given allocated size was > INT_MAX.
50170         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
50171         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
50172         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
50173         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
50174         * lib/sprintf.c (sprintf): Likewise.
50175
50176 2007-03-17  Bruno Haible  <bruno@clisp.org>
50177
50178         * tests/test-argp-2.sh (func_compare): Output a context diff.
50179
50180 2007-03-17  Bruno Haible  <bruno@clisp.org>
50181
50182         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
50183         locale's decimal-point character.
50184
50185 2007-03-17  Bruno Haible  <bruno@clisp.org>
50186
50187         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
50188         before comparing it. Needed because on some platforms (e.g. x86) a
50189         'long double' occupies less bytes than sizeof (long double).
50190
50191 2007-03-17  Bruno Haible  <bruno@clisp.org>
50192
50193         * tests/test-crc.c (main): Make printf statements 64-bit clean.
50194         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
50195         * tests/test-getaddrinfo.c (simple): Likewise.
50196         * tests/test-read-file.c (main): Likewise.
50197
50198 2007-03-17  Bruno Haible  <bruno@clisp.org>
50199
50200         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
50201
50202 2007-03-17  Bruno Haible  <bruno@clisp.org>
50203
50204         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
50205         unused variable.
50206
50207 2007-03-17  Bruno Haible  <bruno@clisp.org>
50208
50209         * tests/test-c-strcasecmp.c: Include c-strcase.h.
50210         * tests/test-c-strncasecmp.c: Likewise.
50211
50212 2007-03-17  Bruno Haible  <bruno@clisp.org>
50213
50214         * modules/stdlib (Depends-on): Add unistd.
50215         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
50216         Needed for MacOS X 10.3.
50217
50218 2007-03-17  Bruno Haible  <bruno@clisp.org>
50219
50220         * lib/unistr/u-strdup.h: Include <stdlib.h>.
50221
50222 2007-03-17  Bruno Haible  <bruno@clisp.org>
50223
50224         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
50225
50226 2007-03-17  Bruno Haible  <bruno@clisp.org>
50227
50228         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
50229         to reflect files copied from gnulib (with or without modifications).
50230         Suggested by Jim Meyering.
50231
50232 2007-03-17  Eric Blake  <ebb9@byu.net>
50233
50234         * NEWS: Document stdlib change from 2007-02-18.
50235
50236 2007-03-17  Jim Meyering  <jim@meyering.net>
50237
50238         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
50239         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
50240         someone uses a name containing shell meta-characters.
50241         Reported by Alfred M. Szmidt.
50242
50243         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
50244
50245 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50246
50247         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
50248         and copy gettext configuration files only if configure.ac contains
50249         a use of AM_GNU_GETTEXT_VERSION.
50250
50251 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50252
50253         * build-aux/bootstrap (gnulib_name): New variable.
50254         (gnulib_tool_options): Use it.
50255
50256 2007-03-13  Simon Josefsson  <simon@josefsson.org>
50257
50258         * tests/test-des.c: Use new namespace.
50259
50260 2007-03-15  Bruno Haible  <bruno@clisp.org>
50261
50262         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
50263         Reported by James Youngman <jay@gnu.org>.
50264
50265 2007-03-15  Bruno Haible  <bruno@clisp.org>
50266
50267         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
50268         declared prototype. Needed with cc on OSF/1 5.1.
50269
50270 2007-03-15  Bruno Haible  <bruno@clisp.org>
50271
50272         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
50273         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
50274         (struct gl_list_implementation): Add dispose_fn argument to the
50275         'create_empty', 'create' methods.
50276         (struct gl_list_impl_base): Add field 'dispose_fn'.
50277         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
50278         argument.
50279         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
50280         dispose_fn argument.
50281         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
50282         dispose_fn on the dropped values.
50283         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
50284         dispose_fn argument.
50285         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
50286         dropped values.
50287         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
50288         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50289         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
50290         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50291         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
50292         argument.
50293         (gl_tree_list_free): Call dispose_fn on the dropped values.
50294         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
50295         the dropped values.
50296         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50297         Add dispose_fn argument.
50298         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
50299         Call dispose_fn on the dropped values.
50300         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
50301         Add dispose_fn argument.
50302         (gl_sublist_create): Initialize the 'dispose_fn' field.
50303         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
50304         * tests/test-array_list.c (main): Update.
50305         * tests/test-carray_list.c (main): Update.
50306         * tests/test-avltree_list.c (main): Update.
50307         * tests/test-rbtree_list.c (main): Update.
50308         * tests/test-avltreehash_list.c (main): Update.
50309         * tests/test-rbtreehash_list.c (main): Update.
50310         * tests/test-linked_list.c (main): Update.
50311         * tests/test-linkedhash_list.c (main): Update.
50312         * tests/test-array_oset.c (main): Update.
50313
50314 2007-03-15  Bruno Haible  <bruno@clisp.org>
50315
50316         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
50317         (gl_oset_create_empty): Add dispose_fn argument.
50318         (struct gl_oset_implementation): Add dispose_fn argument to
50319         'create_empty' method.
50320         (struct gl_oset_impl_base): Add dispose_fn field.
50321         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
50322         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
50323         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
50324         values.
50325         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
50326         (gl_tree_oset_free): Call dispose_fn on the dropped values.
50327         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50328         dropped value.
50329         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50330         dropped value.
50331         * tests/test-array_oset.c (main): Update.
50332         * tests/test-avltree_oset.c (main): Update.
50333         * tests/test-rbtree_oset.c (main): Update.
50334         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
50335
50336 2007-03-13  Bruno Haible  <bruno@clisp.org>
50337
50338         * tests/test-stdbool.c (i): Update after last patch.
50339
50340 2007-03-12  Bruno Haible  <bruno@clisp.org>
50341
50342         * lib/quotearg.c: Include <wctype.h> early, before the definition of
50343         the iswprint macro. Needed on Solaris 2.5.1.
50344
50345 2007-03-12  Bruno Haible  <bruno@clisp.org>
50346
50347         * tests/test-printf-frexp.c (main): Declare x as volatile.
50348
50349 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50350
50351         * doc/gnulib.texi (Build robot for gnulib): New section.
50352
50353 2007-03-12  Jim Meyering  <jim@meyering.net>
50354
50355         * build-aux/bootstrap: New file.
50356         * build-aux/bootstrap.conf: New file, from coreutils.
50357
50358 2007-03-11  Bruno Haible  <bruno@clisp.org>
50359
50360         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
50361
50362 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50363
50364         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
50365         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
50366         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
50367
50368 2007-03-11  Bruno Haible  <bruno@clisp.org>
50369
50370         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
50371         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
50372
50373 2007-03-11  Bruno Haible  <bruno@clisp.org>
50374
50375         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
50376         formula. Needed for SunPRO C 5.0.
50377
50378 2007-03-11  Bruno Haible  <bruno@clisp.org>
50379
50380         * modules/long-options (Depends-on): Add getopt.
50381
50382 2007-03-11  Bruno Haible  <bruno@clisp.org>
50383
50384         * modules/modechange (Depends-on): Add stdbool.
50385
50386 2007-03-11  Bruno Haible  <bruno@clisp.org>
50387
50388         * modules/i-ring (Depends-on): Add stdbool.
50389
50390 2007-03-11  Bruno Haible  <bruno@clisp.org>
50391
50392         * modules/gc-des (Depends-on): Add stdbool.
50393
50394 2007-03-11  Bruno Haible  <bruno@clisp.org>
50395
50396         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
50397
50398 2007-03-11  Bruno Haible  <bruno@clisp.org>
50399
50400         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
50401
50402 2007-03-11  Bruno Haible  <bruno@clisp.org>
50403
50404         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
50405
50406 2007-03-11  Bruno Haible  <bruno@clisp.org>
50407
50408         * lib/vasnprintf.c (sprintf): Undefine.
50409
50410 2007-03-11  Bruno Haible  <bruno@clisp.org>
50411
50412         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
50413         initializers in SunPRO C and Compaq C compilers.
50414
50415 2007-03-11  Bruno Haible  <bruno@clisp.org>
50416
50417         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
50418         decrementing code ANSI C compliant.
50419
50420 2007-03-11  Bruno Haible  <bruno@clisp.org>
50421
50422         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
50423         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
50424
50425 2007-03-11  Bruno Haible  <bruno@clisp.org>
50426
50427         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
50428         <stdbool.h> substitute doesn't pass.
50429
50430 2007-03-11  Bruno Haible  <bruno@clisp.org>
50431
50432         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
50433
50434 2007-03-11  Bruno Haible  <bruno@clisp.org>
50435
50436         * gnulib-tool (func_create_megatestdir): Create also an autobuild
50437         script, for submission to autobuild.josefsson.org.
50438
50439 2007-03-10  Bruno Haible  <bruno@clisp.org>
50440
50441         * modules/canonicalize-lgpl-tests: New file.
50442         * tests/test-canonicalize-lgpl.sh: New file.
50443         * tests/test-canonicalize-lgpl.c: New file.
50444
50445         * modules/c-strcase-tests: New file.
50446         * tests/test-c-strcase.sh: New file.
50447         * tests/test-c-strcasecmp.c: New file.
50448         * tests/test-c-strncasecmp.c: New file.
50449
50450         * modules/atexit-tests: New file.
50451         * tests/test-atexit.sh: New file.
50452         * tests/test-atexit.c: New file.
50453
50454 2007-03-10  Bruno Haible  <bruno@clisp.org>
50455
50456         * tests/test-binary-io.sh: Use temporary filenames that are not so
50457         likely to clash with those of other tests (in a parallel make).
50458         * tests/test-binary-io.c: Likewise.
50459
50460 2007-03-10  Bruno Haible  <bruno@clisp.org>
50461
50462         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
50463         fallback; use #error instead.
50464         Suggested by Simon Josefsson.
50465
50466 2007-03-10  Bruno Haible  <bruno@clisp.org>
50467
50468         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
50469         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
50470         first and the last.
50471
50472 2007-03-10  Bruno Haible  <bruno@clisp.org>
50473
50474         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
50475
50476 2007-03-10  Bruno Haible  <bruno@clisp.org>
50477
50478         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
50479         "make distcheck".
50480         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
50481         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
50482         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
50483
50484 2007-03-10  Bruno Haible  <bruno@clisp.org>
50485
50486         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
50487         variable.
50488         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
50489         variable.
50490
50491 2007-03-09  Eric Blake  <ebb9@byu.net>
50492         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
50493
50494         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
50495         types are not being provided by gnulib.
50496         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
50497         types are supported.
50498
50499 2007-03-10  Bruno Haible  <bruno@clisp.org>
50500
50501         * lib/stdio_.h (__attribute__): New macro.
50502         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
50503         vsprintf): Specify __attribute__ __format__ for GCC.
50504         Suggested by Eric Blake.
50505
50506 2007-03-09  Bruno Haible  <bruno@clisp.org>
50507
50508         * modules/printf-posix-tests: New file.
50509         * tests/test-printf-posix.sh: New file.
50510         * tests/test-printf-posix.c: New file.
50511
50512         * modules/printf-posix: New file.
50513         * lib/printf.c: New file.
50514         * m4/printf-posix-rpl.m4: New file.
50515         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
50516         REPLACE_PRINTF.
50517         * lib/stdio_.h (printf): New declaration.
50518         (format, __format__, ____printf____, ____scanf____, ____strftime____,
50519         ____strfmon____): New macros.
50520         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
50521         REPLACE_PRINTF.
50522
50523 2007-03-09  Bruno Haible  <bruno@clisp.org>
50524
50525         * tests/test-vasnprintf-posix2.sh: New file.
50526         * tests/test-vasnprintf-posix2.c: New file.
50527         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
50528         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50529         (Makefile.am): Activate test-vasnprintf-posix2.sh.
50530
50531         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
50532         a locale dependent decimal point, rather than always '.'.
50533
50534 2007-03-09  Eric Blake  <ebb9@byu.net>
50535
50536         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
50537         spite of platforms like Tandem/NSK that define it to -1.
50538
50539 2007-03-08  Bruno Haible  <bruno@clisp.org>
50540
50541         * modules/vprintf-posix-tests: New file.
50542         * tests/test-vprintf-posix.sh: New file.
50543         * tests/test-vprintf-posix.c: New file.
50544         * tests/test-printf-posix.h: New file.
50545
50546         * modules/vprintf-posix: New file.
50547         * lib/vprintf.c: New file.
50548         * m4/vprintf-posix.m4: New file.
50549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
50550         REPLACE_VPRINTF.
50551         * lib/stdio_.h (vprintf): New declaration.
50552         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
50553         REPLACE_VPRINTF.
50554
50555 2007-03-08  Bruno Haible  <bruno@clisp.org>
50556
50557         * modules/fprintf-posix-tests: New file.
50558         * tests/test-fprintf-posix.sh: New file.
50559         * tests/test-fprintf-posix.c: New file.
50560
50561         * modules/fprintf-posix: New file.
50562         * lib/fprintf.c: New file.
50563         * m4/fprintf-posix.m4: New file.
50564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
50565         REPLACE_FPRINTF.
50566         * lib/stdio_.h (fprintf): New declaration.
50567         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
50568         REPLACE_FPRINTF.
50569
50570 2007-03-08  Bruno Haible  <bruno@clisp.org>
50571
50572         * modules/vfprintf-posix-tests: New file.
50573         * tests/test-vfprintf-posix.sh: New file.
50574         * tests/test-vfprintf-posix.c: New file.
50575         * tests/test-fprintf-posix.h: New file.
50576         * tests/test-fprintf-posix.out: New file.
50577
50578         * modules/vfprintf-posix: New file.
50579         * lib/vfprintf.c: New file.
50580         * m4/vfprintf-posix.m4: New file.
50581         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
50582         REPLACE_VFPRINTF.
50583         * lib/stdio_.h (vfprintf): New declaration.
50584         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
50585         REPLACE_VFPRINTF.
50586
50587 2007-03-08  Bruno Haible  <bruno@clisp.org>
50588
50589         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
50590
50591 2007-03-08  Bruno Haible  <bruno@clisp.org>
50592
50593         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
50594         instead of 'expr' invocations.
50595         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50596         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50597         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50598         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50599         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50600         Suggested by Paul Eggert.
50601
50602 2007-03-08  Bruno Haible  <bruno@clisp.org>
50603
50604         * modules/fseterr-tests: New file.
50605         * tests/test-fseterr.c: New file.
50606
50607         * modules/fseterr: New file.
50608         * lib/fseterr.h: New file.
50609         * lib/fseterr.c: New file.
50610
50611 2007-03-08  Bruno Haible  <bruno@clisp.org>
50612
50613         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
50614         * lib/getopt_.h: Likewise.
50615         * lib/mbswidth.h: Likewise.
50616         * lib/setenv.h: Likewise.
50617         * lib/vasnprintf.h: Likewise.
50618         * lib/vasprintf.h: Likewise.
50619         * lib/verror.h: Likewise.
50620         * lib/xsetenv.h: Likewise.
50621         * lib/xvasprintf.h: Likewise.
50622
50623 2007-03-08  Jim Meyering  <jim@meyering.net>
50624
50625         * users.txt: Add parted.
50626
50627         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
50628
50629 2007-03-07  Bruno Haible  <bruno@clisp.org>
50630
50631         * m4/printf.m4: Make the shell script snippets copy&pastable.
50632
50633 2007-03-02  Bruno Haible  <bruno@clisp.org>
50634
50635         * lib/netinet_in_.h: New file.
50636         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
50637         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
50638         * modules/netinet_in (Files): Add lib/netinet_in_.h.
50639         (Depends-on): Add absolute-header.
50640         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
50641         into netinet/in.h.
50642
50643 2007-03-03  Bruno Haible  <bruno@clisp.org>
50644
50645         * lib/sys_select_.h: New file.
50646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
50647         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
50648         * modules/sys_select (Files): Add lib/sys_select_.h.
50649         (Depends-on): Add absolute-header.
50650         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
50651         into sys/select.h.
50652
50653 2007-03-02  Bruno Haible  <bruno@clisp.org>
50654
50655         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
50656         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
50657         values.
50658         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
50659         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
50660         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
50661         * modules/sys_socket (Depends-on): Add absolute-header.
50662         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
50663         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
50664         (Include): Remove requirement of inclusion of <sys/types.h>.
50665
50666 2007-03-02  Bruno Haible  <bruno@clisp.org>
50667
50668         * lib/byteswap_.h (bswap_32): Fix formula.
50669
50670 2007-03-06  Bruno Haible  <bruno@clisp.org>
50671
50672         * modules/sprintf-posix-tests: New file.
50673         * tests/test-sprintf-posix.c: New file.
50674
50675         * modules/sprintf-posix: New file.
50676         * lib/sprintf.c: New file.
50677         * m4/sprintf-posix.m4: New file.
50678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
50679         REPLACE_SPRINTF.
50680         * lib/stdio_.h (sprintf): New declaration.
50681         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
50682         REPLACE_SPRINTF.
50683
50684 2007-03-06  Bruno Haible  <bruno@clisp.org>
50685
50686         * modules/vsprintf-posix-tests: New file.
50687         * tests/test-vsprintf-posix.c: New file.
50688         * tests/test-sprintf-posix.h: New file.
50689
50690         * modules/vsprintf-posix: New file.
50691         * lib/vsprintf.c: New file.
50692         * m4/vsprintf-posix.m4: New file.
50693         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
50694         REPLACE_VSPRINTF.
50695         * lib/stdio_.h (vsprintf): New declaration.
50696         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
50697         REPLACE_VSPRINTF.
50698
50699 2007-03-06  Bruno Haible  <bruno@clisp.org>
50700
50701         * modules/vsnprintf (Depend-on): Remove minmax.
50702
50703 2007-03-06  Bruno Haible  <bruno@clisp.org>
50704
50705         * modules/snprintf-posix-tests: New file.
50706         * tests/test-snprintf-posix.c: New file.
50707
50708         * modules/snprintf-posix: New file.
50709         * m4/snprintf-posix.m4: New file.
50710         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
50711         gl_FUNC_SNPRINTF.
50712         (gl_FUNC_SNPRINTF): Invoke it.
50713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
50714         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
50715         is set.
50716         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
50717
50718 2007-03-06  Bruno Haible  <bruno@clisp.org>
50719
50720         * modules/vsnprintf-posix-tests: New file.
50721         * tests/test-vsnprintf-posix.c: New file.
50722         * tests/test-snprintf-posix.h: New file.
50723
50724         * modules/vsnprintf-posix: New file.
50725         * m4/vsnprintf-posix.m4: New file.
50726         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
50727         gl_FUNC_VSNPRINTF.
50728         (gl_FUNC_VSNPRINTF): Invoke it.
50729         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
50730         * lib/stdio_.h (vsnprintf): Define as a replacement if
50731         REPLACE_VSNPRINTF is set.
50732         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
50733
50734 2007-03-06  Bruno Haible  <bruno@clisp.org>
50735
50736         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
50737         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
50738
50739 2007-03-06  Bruno Haible  <bruno@clisp.org>
50740
50741         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
50742         (asinl): Declare also if HAVE_DECL_ASINL is set.
50743         (atanl): Declare also if HAVE_DECL_ATANL is set.
50744         (ceill): Declare also if HAVE_DECL_CEILL is set.
50745         (cosl): Declare also if HAVE_DECL_COSL is set.
50746         (expl): Declare also if HAVE_DECL_EXPL is set.
50747         (floorl): Declare also if HAVE_DECL_FLOORL is set.
50748         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
50749         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
50750         (logl): Declare also if HAVE_DECL_LOGL is set.
50751         (sinl): Declare also if HAVE_DECL_SINL is set.
50752         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
50753         (tanl): Declare also if HAVE_DECL_TANL is set.
50754         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
50755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
50756         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
50757         declaration of frexpl, ldexpl.
50758         * modules/printf-frexpl (Depends-on): Add math.
50759         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
50760
50761 2007-03-05  Bruno Haible  <bruno@clisp.org>
50762
50763         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
50764         frexpl and ldexpl are declared.
50765         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
50766
50767 2007-03-05  Bruno Haible  <bruno@clisp.org>
50768
50769         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
50770         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
50771
50772 2007-03-05  Bruno Haible  <bruno@clisp.org>
50773
50774         * lib/stdio_.h: Include <stddef.h>.
50775
50776 2007-03-05  Bruno Haible  <bruno@clisp.org>
50777
50778         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
50779
50780 2007-03-05  Bruno Haible  <bruno@clisp.org>
50781
50782         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
50783         NetBSD 4, from Ralf Wildenhues.
50784
50785 2007-03-04  Bruno Haible  <bruno@clisp.org>
50786
50787         * lib/vasprintf.h: Update #if logic for the case when the functions
50788         exist but are overridden.
50789
50790 2007-03-04  Bruno Haible  <bruno@clisp.org>
50791
50792         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
50793         implementations: glibc-2.4 and MacOS X 10.3.
50794         * tests/test-vasnprintf-posix.c (test_function): Test also the case
50795         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
50796         * tests/test-vasprintf-posix.c (test_function): Likewise.
50797
50798 2007-03-04  Bruno Haible  <bruno@clisp.org>
50799
50800         * modules/vasprintf-posix-tests: New file.
50801         * tests/test-vasprintf-posix.c: New file.
50802
50803         * modules/vasprintf-posix: New file.
50804         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50805         defined.
50806         * m4/vasprintf-posix.m4: New file.
50807         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50808         gl_FUNC_VASPRINTF.
50809         (gl_FUNC_VASPRINTF): Invoke it.
50810         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50811         here.
50812         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50813
50814 2007-03-04  Bruno Haible  <bruno@clisp.org>
50815
50816         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50817         REPLACE_GETTIMEOFDAY.
50818         * modules/sys_time (Makefile.am): Likewise.
50819         * m4/sys_time_h.m4: Likewise.
50820         * m4/gettimeofday.m4: Likewise.
50821
50822 2007-03-04  Bruno Haible  <bruno@clisp.org>
50823
50824         * modules/vasnprintf-posix-tests: New file.
50825         * tests/test-vasnprintf-posix.c: New file.
50826
50827         * modules/vasnprintf-posix: New file.
50828         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50829         printf-frexpl.h.
50830         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50831         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50832         REPLACE_VASNPRINTF is defined.
50833         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50834         gl_FUNC_VASNPRINTF.
50835         (gl_FUNC_VASNPRINTF): Invoke it.
50836         * m4/vasnprintf-posix.m4: New file.
50837         * m4/printf.m4: New file.
50838
50839 2007-03-04  Bruno Haible  <bruno@clisp.org>
50840
50841         Compile progreloc.c only if --enable-relocatable is specified.
50842         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50843         if --enable-relocatable was specified.
50844         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50845         lib_SOURCES.
50846
50847 2007-03-04  Jim Meyering  <jim@meyering.net>
50848
50849         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50850         Use it consistently, rather than enumerating errno constants.
50851
50852 2007-03-04  Bruno Haible  <bruno@clisp.org>
50853
50854         * modules/xvasprintf-tests: New file.
50855         * tests/test-xvasprintf.c: New file.
50856
50857         * modules/vasprintf-tests: New file.
50858         * tests/test-vasprintf.c: New file.
50859
50860         * modules/vasnprintf-tests: New file.
50861         * tests/test-vasnprintf.c: New file.
50862
50863         * modules/vsnprintf-tests: New file.
50864         * tests/test-vsnprintf.c: New file.
50865
50866         * modules/snprintf-tests: New file.
50867         * tests/test-snprintf.c: New file.
50868
50869 2007-03-04  Bruno Haible  <bruno@clisp.org>
50870
50871         Compile relocatable.c only if --enable-relocatable is specified.
50872         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50873         gl_RELOCATABLE_LIBRARY.
50874         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50875         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50876         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50877         gl_RELOCATABLE_LIBRARY.
50878         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50879         (Makefile.am): Remove lib_SOURCES.
50880         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50881         gl_RELOCATABLE_LIBRARY.
50882         (Makefile.am): Remove lib_SOURCES.
50883         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50884         always.
50885         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50886         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50887
50888 2007-03-04  Bruno Haible  <bruno@clisp.org>
50889
50890         * modules/argmatch-tests: New file.
50891         * tests/test-argmatch.c: New file.
50892
50893         * tests/test-allocsa.c (main): Halve the number of loop runs.
50894
50895         * modules/alloca-opt-tests: New file.
50896         * tests/test-alloca-opt.c: New file.
50897
50898 2007-03-04  Jim Meyering  <jim@meyering.net>
50899
50900         Work around difference between Linux ACLs and Solaris 10 ZFS.
50901         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50902         for EINVAL.
50903
50904 2007-03-03  Bruno Haible  <bruno@clisp.org>
50905
50906         * modules/relocatable-prog (Depends-on): Add back progreloc's
50907         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50908
50909 2007-03-03  Bruno Haible  <bruno@clisp.org>
50910
50911         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50912         * modules/relocatable-lib: New file.
50913
50914 2007-03-03  Bruno Haible  <bruno@clisp.org>
50915
50916         * modules/relocatable-prog: Renamed from modules/relocatable.
50917         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50918
50919 2007-03-03  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50922         m4/relocatable-lib.m4.
50923         (Depends-on): Remove 'relocatable'.
50924         (configure.ac): Add gl_RELOCATABLE_NOP.
50925
50926 2007-03-03  Bruno Haible  <bruno@clisp.org>
50927
50928         * modules/relocatable-prog-wrapper: New file.
50929         * modules/relocatable (Depends-on): Add it. Remove all other
50930         dependencies except progname.
50931         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50932
50933         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50934         (gl_FUNC_STRERROR): Nop.
50935         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50936
50937         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50938         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50939
50940         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50941         (gl_FUNC_READLINK): Update.
50942
50943         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50944
50945 2007-03-03  Bruno Haible  <bruno@clisp.org>
50946
50947         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50948         * modules/xreadlink (Depends-on): Add unistd.
50949         * modules/xreadlink-with-size (Depends-on): Likewise.
50950
50951 2007-03-03  Bruno Haible  <bruno@clisp.org>
50952
50953         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50954         extracted from gt_FUNC_SETENV.
50955         (gt_FUNC_SETENV): Remove macro.
50956         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50957         remove gt_FUNC_SETENV.
50958
50959 2007-03-03  Bruno Haible  <bruno@clisp.org>
50960
50961         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50962         ENABLE_RELOCATABLE here.
50963         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50964
50965 2007-03-03  Bruno Haible  <bruno@clisp.org>
50966
50967         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50968         * tests/test-rbtreehash_list.c: Include progname.h.
50969         (main): Call set_program_name.
50970
50971         * modules/rbtree-oset-tests (Depends-on): Add progname.
50972         * tests/test-rbtree_oset.c: Include progname.h.
50973         (main): Call set_program_name.
50974
50975         * modules/rbtree-list-tests (Depends-on): Add progname.
50976         * tests/test-rbtree_list.c: Include progname.h.
50977         (main): Call set_program_name.
50978
50979         * modules/linked-list-tests (Depends-on): Add progname.
50980         * tests/test-linked_list.c: Include progname.h.
50981         (main): Call set_program_name.
50982
50983 2007-03-03  Bruno Haible  <bruno@clisp.org>
50984
50985         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50986         All uses of __restrict changed to _Restrict_.
50987         * lib/glob_.h (__restrict): Remove macro.
50988
50989 2007-03-02  Bruno Haible  <bruno@clisp.org>
50990
50991         * modules/gettext (configure.ac): Require gettext infrastructure
50992         from version 0.16.1.
50993
50994 2007-03-02  Bruno Haible  <bruno@clisp.org>
50995
50996         * modules/linkedhash-list-tests (Depends-on): Add progname.
50997         * tests/test-linkedhash_list.c: Include progname.h.
50998         (main): Call set_program_name.
50999
51000         * modules/carray-list-tests (Depends-on): Add progname.
51001         * tests/test-carray_list.c: Include progname.h.
51002         (main): Call set_program_name.
51003
51004         * modules/avltreehash-list-tests (Depends-on): Add progname.
51005         * tests/test-avltreehash_list.c: Include progname.h.
51006         (main): Call set_program_name.
51007
51008         * modules/avltree-oset-tests (Depends-on): Add progname.
51009         * tests/test-avltree_oset.c: Include progname.h.
51010         (main): Call set_program_name.
51011
51012         * modules/avltree-list-tests (Depends-on): Add progname.
51013         * tests/test-avltree_list.c: Include progname.h.
51014         (main): Call set_program_name.
51015
51016         * modules/array-oset-tests (Depends-on): Add progname.
51017         * tests/test-array_oset.c: Include progname.h.
51018         (main): Call set_program_name.
51019
51020         * modules/array-list-tests (Depends-on): Add progname.
51021         * tests/test-array_list.c: Include progname.h.
51022         (main): Call set_program_name.
51023
51024         * modules/argp-tests (Depends-on): Add progname.
51025         * tests/test-argp.c: Include argp.h first. Include progname.h.
51026         (main): Call set_program_name.
51027
51028 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
51029
51030         * doc/gnulib-tool.texi (Initial import): Reword description of
51031         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
51032         limited effect even if defined after the first system include.
51033
51034 2007-03-01  Bruno Haible  <bruno@clisp.org>
51035
51036         * build-aux/config.libpath: Update to libtool-1.5.22.
51037         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51038
51039 2007-03-01  Bruno Haible  <bruno@clisp.org>
51040
51041         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
51042         foo_CFLAGS.
51043         Reported by Ralf Wildenhues.
51044
51045 2007-03-01  Bruno Haible  <bruno@clisp.org>
51046
51047         * build-aux/install-reloc: Remove object files left over by some
51048         compilers.
51049         Reported by Ralf Wildenhues.
51050
51051 2007-03-01  Bruno Haible  <bruno@clisp.org>
51052
51053         * build-aux/install-reloc: Break long lines.
51054
51055 2007-03-01  Bruno Haible  <bruno@clisp.org>
51056
51057         * doc/relocatable.texi: Document that it may not work on OpenBSD.
51058         Reported by Ralf Wildenhues.
51059
51060 2007-03-01  Bruno Haible  <bruno@clisp.org>
51061
51062         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
51063         include ordering constraints.
51064
51065 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51066
51067         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
51068         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
51069         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
51070         as another example.
51071         * lib/time_.h: Fix misspelling.
51072         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
51073         Require gl_HEADER_TIME_H_DEFAULTS.
51074         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
51075         * m4/time_r.m4 (gl_TIME_R): Likewise.
51076         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
51077
51078 2007-03-01  Bruno Haible  <bruno@clisp.org>
51079
51080         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
51081         * m4/utimens.m4 (gl_UTIMENS): Likewise.
51082
51083 2007-03-01  Jim Meyering  <jim@meyering.net>
51084
51085         * modules/xreadlink (Maintainer): Add my name.
51086         * modules/xreadlink-with-size (Depends-on): Alphabetize.
51087
51088 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
51089             Bruno Haible  <bruno@clisp.org>
51090
51091         * build-aux/install-reloc: Compile also c-ctype.c.
51092         * build-aux/relocatable.sh.in: New file.
51093         * doc/relocatable.texi: New file.
51094         * doc/relocatable-maint.texi: New file.
51095         * doc/gnulib.texi: Include relocatable-maint.texi.
51096         * lib/progreloc.c: Include unistd.h unconditionally.
51097         * lib/relocwrapper.c: Include unistd.h unconditionally.
51098         Include c-ctype.h.
51099         (add_dotbin): Use c_tolower.
51100         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
51101         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
51102         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
51103         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
51104         to m4/relocatable-lib.m4.
51105         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
51106         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
51107         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
51108         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
51109         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
51110         * modules/relocatable: New file.
51111         * modules/relocatable-lib: New file.
51112         * modules/relocatable-script: New file.
51113
51114 2007-02-28  Bruno Haible  <bruno@clisp.org>
51115
51116         Import --enable-relocatable infrastructure.
51117         * build-aux/config.libpath: New file, from GNU gettext.
51118         * build-aux/install-reloc: New file, from GNU gettext.
51119         * build-aux/reloc-ldflags: New file, from GNU gettext.
51120         * lib/relocatable.h: New file, from GNU gettext.
51121         * lib/relocatable.c: New file, from GNU gettext.
51122         * lib/relocwrapper.c: New file, from GNU gettext.
51123         * m4/relocatable.m4: New file, from GNU gettext.
51124
51125 2007-02-28  Bruno Haible  <bruno@clisp.org>
51126
51127         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
51128
51129         * modules/xreadlink: New file, from GNU gettext with modifications.
51130         * lib/xreadlink.c: New file, from GNU gettext.
51131         * lib/xreadlink.h: Add comments.
51132         (xreadlink): New declaration.
51133
51134         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
51135         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
51136         lib/xreadlink-with-size.c.
51137         (configure.ac): Remove gl_XREADLINK invocation.
51138         (Makefile.am): Augment lib_SOURCES.
51139         * m4/xreadlink.m4: Remove file.
51140         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
51141         (xreadlink_with_size): Renamed from xreadink.
51142         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
51143         * modules/canonicalize (Depends-on): Replace xreadlink with
51144         xreadlink-with-size.
51145         * lib/canonicalize.c (canonicalize_filename_mode): Update.
51146
51147 2007-02-25  Jim Meyering  <jim@meyering.net>
51148
51149         * build-aux/announce-gen: When complaining about excess arguments,
51150         list them.
51151
51152 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51153
51154         * README: Document signed integer overflow situation more
51155         accurately.
51156
51157 2007-02-25  Bruno Haible  <bruno@clisp.org>
51158
51159         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
51160         'a' or 'A' conversion.
51161
51162 2007-02-25  Bruno Haible  <bruno@clisp.org>
51163
51164         * modules/filename: Renamed from modules/pathname.
51165         (Files): Replace lib/pathname.h with lib/filename.h. Replace
51166         lib/concatpath.c with lib/concat-filename.c.
51167         (Makefile.am): Update.
51168         (Include): Replace pathname.h with filename.h.
51169         * lib/filename.h: Renamed from lib/pathname.h.
51170         (concatenated_filename): Renamed from concatenated_pathname.
51171         * lib/concat-filename.c: Renamed from lib/concatpath.c.
51172         (concatenated_filename): Renamed from concatenated_pathname.
51173         * lib/findprog.c: Include filename.h instead of pathname.h.
51174         (find_in_path): Update.
51175         * lib/javacomp.c: Include filename.h instead of pathname.h.
51176         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51177         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51178         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51179         is_oldgcj_14_13_usable, is_javac_usable): Update.
51180         * lib/javaexec.c: Include filename.h instead of pathname.h.
51181         (execute_java_class): Update.
51182         * modules/findprog: Update.
51183         * modules/javacomp: Update.
51184         * modules/javaexec: Update.
51185         * MODULES.html.sh (File system functions): Add 'filename', remove
51186         'pathname'.
51187
51188 2007-02-25  Bruno Haible  <bruno@clisp.org>
51189
51190         * modules/printf-frexpl-tests: New file.
51191         * tests/test-printf-frexpl.c: New file.
51192
51193         * modules/printf-frexpl: New file.
51194         * lib/printf-frexpl.h: New file.
51195         * lib/printf-frexpl.c: New file.
51196         * m4/printf-frexpl.m4: New file.
51197
51198 2007-02-25  Bruno Haible  <bruno@clisp.org>
51199
51200         * modules/printf-frexp-tests: New file.
51201         * tests/test-printf-frexp.c: New file.
51202
51203         * modules/printf-frexp: New file.
51204         * lib/printf-frexp.h: New file.
51205         * lib/printf-frexp.c: New file.
51206         * m4/printf-frexp.m4: New file.
51207
51208 2007-02-25  Bruno Haible  <bruno@clisp.org>
51209
51210         Assume automake >= 1.10 for the tests.
51211         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
51212         * modules/arctwo-tests: Likewise.
51213         * modules/argp-tests: Likewise.
51214         * modules/avltree-list-tests: Likewise.
51215         * modules/avltree-oset-tests: Likewise.
51216         * modules/avltreehash-list-tests: Likewise.
51217         * modules/carray-list-tests: Likewise.
51218         * modules/crc-tests: Likewise.
51219         * modules/des-tests: Likewise.
51220         * modules/gc-arcfour-tests: Likewise.
51221         * modules/gc-arctwo-tests: Likewise.
51222         * modules/gc-des-tests: Likewise.
51223         * modules/gc-hmac-md5-tests: Likewise.
51224         * modules/gc-hmac-sha1-tests: Likewise.
51225         * modules/gc-md2-tests: Likewise.
51226         * modules/gc-md4-tests: Likewise.
51227         * modules/gc-md5-tests: Likewise.
51228         * modules/gc-pbkdf2-sha1-tests: Likewise.
51229         * modules/gc-rijndael-tests: Likewise.
51230         * modules/gc-sha1-tests: Likewise.
51231         * modules/gc-tests: Likewise.
51232         * modules/getaddrinfo-tests: Likewise.
51233         * modules/hmac-md5-tests: Likewise.
51234         * modules/hmac-sha1-tests: Likewise.
51235         * modules/linked-list-tests: Likewise.
51236         * modules/linkedhash-list-tests: Likewise.
51237         * modules/lock-tests: Likewise.
51238         * modules/md2-tests: Likewise.
51239         * modules/md4-tests: Likewise.
51240         * modules/md5-tests: Likewise.
51241         * modules/rbtree-list-tests: Likewise.
51242         * modules/rbtree-oset-tests: Likewise.
51243         * modules/rbtreehash-list-tests: Likewise.
51244         * modules/read-file-tests: Likewise.
51245         * modules/rijndael-tests: Likewise.
51246         * modules/stdint-tests: Likewise.
51247         * modules/tls-tests: Likewise.
51248
51249 2007-02-24  Bruno Haible  <bruno@clisp.org>
51250
51251         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
51252         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
51253         function; instead check whether isnan with a double argument links.
51254         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
51255         function; instead check whether isnan with a 'long double' argument
51256         links.
51257         Reported by Eric Blake <ebb9@byu.net>.
51258
51259 2007-02-24  Bruno Haible  <bruno@clisp.org>
51260
51261         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
51262         defined.
51263         * lib/isnanl.c: Remove all code. Just include isnan.c.
51264         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
51265
51266 2007-02-25  Jim Meyering  <jim@meyering.net>
51267
51268         Avoid conflicting types for 'unsetenv' on FreeBSD.
51269         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
51270         conflicting with FreeBSD's (5.0 and 6.1) function declaration
51271         in stdlib.h.
51272
51273 2007-02-24  Bruno Haible  <bruno@clisp.org>
51274
51275         * modules/isnanl-nolibm-tests: New file.
51276         * tests/test-isnanl.c: New file.
51277
51278         * modules/isnanl-nolibm: New file.
51279         * lib/isnanl.h: New file.
51280         * lib/isnanl.c: New file.
51281         * m4/isnanl.m4: New file.
51282
51283 2007-02-24  Bruno Haible  <bruno@clisp.org>
51284
51285         * modules/isnan-nolibm-tests: New file.
51286         * tests/test-isnan.c: New file.
51287
51288         * modules/isnan-nolibm: New file.
51289         * lib/isnan.h: New file.
51290         * lib/isnan.c: New file.
51291         * m4/isnan.m4: New file.
51292
51293 2007-02-24  Bruno Haible  <bruno@clisp.org>
51294
51295         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
51296         assume that an exponent fits in 20 bits.
51297
51298 2007-02-24  Jim Meyering  <jim@meyering.net>
51299
51300         * m4/regex.m4: Update the description of the configure-time option,
51301         --without-included-regex, to state accurately what the defaults are,
51302         and perhaps to give people an idea why using this option is risky.
51303
51304 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51305
51306         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
51307         loops on small arguments.  This attempts to avoid the problem
51308         Bruno Haible reported for AIX 4.3.2 in
51309         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
51310
51311 2007-02-23  Bruno Haible  <bruno@clisp.org>
51312
51313         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
51314         Needed for help2man.
51315
51316 2007-02-23  Karl Berry  <karl@gnu.org>
51317
51318         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
51319         exists, foo.h should be cvs-ignored, not committed.
51320
51321 2007-02-23  Eric Blake  <ebb9@byu.net>
51322
51323         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
51324         * lib/stat-time.h (includes): Likewise.
51325         * lib/utimecmp.c (includes): Likewise.
51326         * lib/utimens.h (includes): Likewise.
51327         * lib/getdate.y (includes): Also include "timespec.h" for use
51328         internal to the module.
51329         * modules/utimens (Depends-on): Revert yesterday's patch.
51330         * modules/nanosleep (Depends-on): Add missing dependency.
51331
51332 2007-02-22  Bruno Haible  <bruno@clisp.org>
51333
51334         * lib/glob.c: Don't include getlogin_r.h.
51335
51336 2007-02-22  Jim Meyering  <jim@meyering.net>
51337
51338         * modules/utimens (Depends-on): Add timespec, required for
51339         utimens.h's inclusion of timespec.h.
51340
51341 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
51342
51343         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
51344         long unreadable paths in GNU/Linux.  Problem reported by Andreas
51345         Schwab in
51346         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
51347         I'll try to think of a better way to fix the Solaris problem.
51348
51349         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
51350         like glibc; on Solaris 10, it fails with errno == EINVAL.
51351         POSIX says the behavior is unspecified if the first argument is NULL,
51352         so play it safe and never pass NULL to the system getcwd.
51353
51354 2007-02-21  Jim Meyering  <jim@meyering.net>
51355
51356         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
51357         of gettimeofday.  It would conflict with the one now always
51358         provided via sys_time_.h.  Reported by Matthew Woehlke, as
51359         an IRIX 6.5 build failure.
51360
51361 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51362
51363         Minor fixups to port to Solaris 10 with Sun C 5.8.
51364         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
51365         * modules/getcwd (Depends-on): Add dirfd.
51366         * lib/putenv.c (putenv): #undef it.
51367         (rpl_putenv): New decl.
51368         (malloc, free): Include <stdlib.h> rather than prototyping separately.
51369
51370 2007-02-20  Bruno Haible  <bruno@clisp.org>
51371
51372         * modules/stdio-tests: New file.
51373         * tests/test-stdio.c: New file.
51374
51375         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
51376         (Depends-on): Add stdio.
51377         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51378         (Include): Use <stdio.h> instead of vsnprintf.h.
51379         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51380         HAVE_DECL_VSNPRINTF.
51381         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
51382
51383         * modules/snprintf (Files): Remove lib/snprintf.h.
51384         (Depends-on): Add stdio.
51385         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51386         (Include): Use <stdio.h> instead of snprintf.h.
51387         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51388         HAVE_DECL_SNPRINTF.
51389         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
51390         * lib/getaddrinfo.c: Likewise.
51391
51392         * modules/stdio: New file.
51393         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
51394         * lib/snprintf.h: Remove file.
51395         * lib/vsnprintf.h: Remove file.
51396         * lib/.cppi-disable: Remove snprintf.h.
51397         * m4/stdio_h.m4: New file.
51398         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
51399
51400 2007-02-20  Jim Meyering  <jim@meyering.net>
51401
51402         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
51403         used by e.g., mingw.  From Bruno Haible.
51404
51405 2007-02-19  Bruno Haible  <bruno@clisp.org>
51406
51407         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
51408         warnings.
51409         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51410
51411 2007-02-19  Bruno Haible  <bruno@clisp.org>
51412
51413         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
51414         from mingw users.
51415
51416 2007-02-19  Bruno Haible  <bruno@clisp.org>
51417
51418         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
51419         warnings.
51420         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
51421
51422 2007-02-19  Jim Meyering  <jim@meyering.net>
51423
51424         Don't use FD after a successful "fdopendir (fd)".
51425         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
51426         Reset it by calling dirfd on the just-obtained DIR*.
51427
51428         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
51429         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
51430
51431 2007-02-18  Bruno Haible  <bruno@clisp.org>
51432
51433         * lib/readlink.c: Include <unistd.h>.
51434         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
51435         HAVE_READLINK.
51436         * modules/readlink (Depends-on): Add unistd.
51437         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51438         (Include): Add <unistd.h>.
51439
51440         * lib/getlogin_r.h: Remove file.
51441         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
51442         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
51443         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
51444         HAVE_DECL_GETLOGIN_R.
51445         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
51446         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51447         (Include): Use <unistd.h> instead of getlogin_r.h.
51448
51449         * lib/getcwd.h: Remove file.
51450         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
51451         * lib/xgetcwd.c: Likewise.
51452         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
51453         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
51454         * modules/getcwd (Files): Remove lib/getcwd.h.
51455         (Depends-on): Add unistd.
51456         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51457         (Include): Use <unistd.h> instad of getcwd.h.
51458
51459         * lib/ftruncate.c: Include <unistd.h> first.
51460         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
51461         Set HAVE_FTRUNCATE.
51462         * modules/ftruncate (Depends-on): Add unistd.
51463         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51464
51465         * lib/fchdir.c: Include <unistd.h> first.
51466         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
51467         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
51468         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
51469         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51470         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
51471
51472         * lib/dup2.c: Include <unistd.h> first.
51473         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
51474         HAVE_DUP2.
51475         * modules/dup2 (Depends-on): Add unistd.
51476         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51477
51478         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
51479         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
51480         REPLACE_CHOWN. Don't define chown as a macro here.
51481         * modules/chown (Depends-on): Add unistd.
51482         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51483
51484         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
51485         Add definition for GL_LINK_WARNING.
51486         (chown, dup2): New declarations.
51487         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
51488         link warning.
51489         (ftruncate): New declaration.
51490         (getcwd): New declaration, taken from old getcwd.h.
51491         (getlogin_r): New declaration, taken from old getlogin_r.h.
51492         (readlink): New declaration.
51493         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
51494         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
51495         (gl_PREREQ_UNISTD): Remove macro.
51496         (gl_UNISTD_MODULE_INDICATOR): New macro.
51497         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
51498         many new variables. Don't set UNISTD_H.
51499         * modules/unistd (Description): Change.
51500         (Depends-on): Add link-warning.
51501         (configure.ac): Update.
51502         (Makefile.am): Create unistd.h always. Substitute many new variables
51503         into it.
51504
51505 2007-02-18  Bruno Haible  <bruno@clisp.org>
51506
51507         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
51508         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
51509         HAVE_GETSUBOPT.
51510         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
51511         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
51512         * lib/getsubopt.h: Remove file.
51513         * modules/getsubopt (Files): Remove lib/getsubopt.h.
51514         (Depends-on): Add stdlib.
51515         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51516         (Includes): Use <stdlib.h> instead of getsubopt.h.
51517         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
51518         Set HAVE_GETSUBOPT.
51519         * lib/getsubopt.c: Don't include getsubopt.h.
51520
51521 2007-02-18  Bruno Haible  <bruno@clisp.org>
51522
51523         * modules/fchdir (Depends-on): Add dup2.
51524
51525 2007-02-18  Bruno Haible  <bruno@clisp.org>
51526
51527         * lib/stdlib_.h: Handle glibc's special invocation convention
51528         specially.
51529
51530 2007-02-18  Bruno Haible  <bruno@clisp.org>
51531
51532         * modules/stdlib-tests: New file.
51533         * tests/test-stdlib.c: New file.
51534
51535         * modules/mkstemp (Files): Remove lib/mkstemp.h.
51536         (Depends-on): Add stdlib.
51537         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51538         (Includes): Use <stdlib.h> instead of mkstemp.h.
51539         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51540         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
51541         * lib/mkstemp.c: Don't include mkstemp.h.
51542         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
51543         * lib/stdlib--.h: Don't include mkstemp.h.
51544
51545         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
51546         (Depends-on): Add stdlib.
51547         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51548         (Includes): Use <stdlib.h> instead of mkdtemp.h.
51549         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51550         HAVE_MKDTEMP.
51551         * lib/mkdtemp.c: Don't include mkdtemp.h.
51552         * lib/clean-temp.c: Don't include mkdtemp.h.
51553
51554         * modules/exit (Files): Remove lib/exit.h.
51555         (Depends-on): Add stdlib.
51556         (Makefile.am): Remove lib_SOURCES.
51557         (Include): Use <stdlib.h> instead of exit.h.
51558         * lib/argmatch.c: Don't include exit.h.
51559         * lib/execute.c: Likewise.
51560         * lib/pagealign_alloc.c: Likewise.
51561         * lib/pipe.c: Likewise.
51562         * lib/wait-process.c: Likewise.
51563         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
51564         * lib/exitfail.c: Likewise.
51565         * lib/savewd.c: Likewise.
51566         * lib/xsetenv.c: Likewise.
51567
51568         * modules/stdlib: New file.
51569         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
51570         and extra comments about mkstemp().
51571         * lib/exit.h: Remove file.
51572         * lib/mkdtemp.h: Remove file.
51573         * lib/mkstemp.h: Remove file.
51574         * m4/stdlib_h.m4: New file.
51575         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
51576
51577 2007-02-18  Bruno Haible  <bruno@clisp.org>
51578
51579         * modules/math-tests: New file.
51580         * tests/test-math.c: New file.
51581
51582         * modules/math: New file.
51583         * modules/mathl (Files): Remove lib/mathl.h.
51584         (Depends-on): Add math.
51585         (Makefile.am): Don't mention mathl.h.
51586         (Include): Use <math.h> instead of mathl.h.
51587         * lib/math_.h: New file.
51588         * lib/mathl.h: Remove file.
51589         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
51590         mathl.h.
51591         * lib/asinl.c: Likewise.
51592         * lib/atanl.c: Likewise.
51593         * lib/ceill.c: Likewise.
51594         * lib/cosl.c: Likewise.
51595         * lib/expl.c: Likewise.
51596         * lib/floorl.c: Likewise.
51597         * lib/frexpl.c: Likewise.
51598         * lib/ldexpl.c: Likewise.
51599         * lib/logl.c: Likewise.
51600         * lib/sincosl.c: Likewise.
51601         * lib/sinl.c: Likewise.
51602         * lib/sqrtl.c: Likewise.
51603         * lib/tanl.c: Likewise.
51604         * lib/trigl.c: Likewise.
51605         * m4/math_h.m4: New file.
51606         * MODULES.html.sh (Mathematics): Add math.
51607
51608 2007-02-17  Bruno Haible  <bruno@clisp.org>
51609
51610         * modules/wctype-tests: New file.
51611         * tests/test-wctype.c: New file.
51612
51613         * modules/wchar-tests: New file.
51614         * tests/test-wchar.c: New file.
51615
51616         * modules/unistd-tests: New file.
51617         * tests/test-unistd.c: New file.
51618
51619         * modules/time-tests: New file.
51620         * tests/test-time.c: New file.
51621
51622         * modules/sysexits-tests: New file.
51623         * tests/test-sysexits.c: New file.
51624
51625         * modules/sys_time-tests: New file.
51626         * tests/test-sys_time.c: New file.
51627
51628         * modules/sys_stat-tests: New file.
51629         * tests/test-sys_stat.c: New file.
51630
51631         * modules/sys_socket-tests: New file.
51632         * tests/test-sys_socket.c: New file.
51633
51634         * modules/sys_select-tests: New file.
51635         * tests/test-sys_select.c: New file.
51636
51637         * modules/string-tests: New file.
51638         * tests/test-string.c: New file.
51639
51640         * modules/stdbool-tests: New file.
51641         * tests/test-stdbool.c: New file.
51642
51643         * modules/netinet_in-tests: New file.
51644         * tests/test-netinet_in.c: New file.
51645
51646         * modules/inttypes-tests: New file.
51647         * tests/test-inttypes.c: New file.
51648
51649         * modules/fcntl-tests: New file.
51650         * tests/test-fcntl.c: New file.
51651
51652         * modules/byteswap-tests: New file.
51653         * tests/test-byteswap.c: New file.
51654
51655         * modules/arpa_inet-tests: New file.
51656         * tests/test-arpa_inet.c: New file.
51657
51658 2007-02-17  Bruno Haible  <bruno@clisp.org>
51659
51660         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
51661         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
51662         if the corresponding module is not enabled. Emit link warnings if
51663         the function is used nevertheless.
51664         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
51665         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
51666         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
51667         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
51668         * modules/inttypes (Depends-on): Add link-warning.
51669         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51670         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
51671         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
51672         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
51673         * modules/imaxdiv (configure.ac): Likewise.
51674         * modules/strtoimax (configure.ac): Likewise.
51675         * modules/strtoumax (configure.ac): Likewise.
51676
51677 2007-02-17  Bruno Haible  <bruno@clisp.org>
51678
51679         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
51680         gl_STRING_MODULE_INDICATOR_DEFAULTS.
51681         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
51682         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
51683
51684 2007-02-17  Bruno Haible  <bruno@clisp.org>
51685
51686         * modules/link-warning: New file.
51687         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
51688         * lib/string_.h (GL_LINK_WARNING): Remove definition.
51689         * modules/string (Depends-on): Add link-warning.
51690         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51691         string.h.
51692         * MODULES.html.sh (Support for building libraries and executables): Add
51693         link-warning.
51694
51695 2007-02-17  Bruno Haible  <bruno@clisp.org>
51696
51697         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
51698         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
51699         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
51700         long lines.
51701
51702 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
51703             Bruno Haible  <bruno@clisp.org>
51704
51705         * modules/tmpfile: New file.
51706         * lib/tmpfile.c: New file.
51707         * m4/tmpfile.m4: New file.
51708         * MODULES.html.sh (func_all_modules): New section "Input/output".
51709
51710 2007-02-15  Bruno Haible  <bruno@clisp.org>
51711
51712         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
51713         (supports_delete_on_close): New function.
51714         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
51715
51716 2007-02-14  Bruno Haible  <bruno@clisp.org>
51717
51718         * modules/mbspcasecmp-tests: New file.
51719         * tests/test-mbspcasecmp.sh: New file.
51720         * tests/test-mbspcasecmp.c: New file.
51721
51722         New module mbspcasecmp.
51723         * modules/mbspcasecmp: New file.
51724         * lib/mbspcasecmp.c: New file.
51725         * lib/string_.h (strncasecmp): Change warning message.
51726         (mbspcasecmp): New declaration.
51727         * m4/mbspcasecmp.m4: New file.
51728         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51729         GNULIB_MBSPCASECMP.
51730         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
51731         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
51732
51733 2007-02-14  Bruno Haible  <bruno@clisp.org>
51734
51735         * modules/mbsncasecmp-tests: New file.
51736         * tests/test-mbsncasecmp.sh: New file.
51737         * tests/test-mbsncasecmp.c: New file.
51738
51739         New module mbsncasecmp.
51740         * modules/mbsncasecmp: New file.
51741         * lib/mbsncasecmp.c: New file.
51742         * lib/string_.h (mbsncasecmp): New declaration.
51743         * m4/mbsncasecmp.m4: New file.
51744         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51745         GNULIB_MBSNCASECMP.
51746         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
51747         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
51748
51749 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51750
51751         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
51752         Verify that it doesn't overlap with our flags.
51753         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
51754         do not have the desired effect in multibyte locales; instead, use
51755         mbscasecmp.
51756         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
51757         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
51758         we don't require GNU fnmatch ourselves (if our users require it, they
51759         should do so explicitly).
51760
51761         Fix regex code so it doesn't rely on strcasecmp.
51762         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
51763         Otherwise, include gnulib's langinfo.h.
51764         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
51765         undesirable behavior in non-C locales.  Instead, rely on localecharset.
51766         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
51767         * modules/regex (FILES): Remove m4/codeset.m4.
51768         (Depends-on): Add localcharset.  Remove strcase.
51769
51770 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51771
51772         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
51773         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
51774
51775 2007-02-13  Bruno Haible  <bruno@clisp.org>
51776
51777         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
51778         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51779
51780 2007-02-12  Bruno Haible  <bruno@clisp.org>
51781
51782         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51783         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
51784         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
51785         time warning rather than a link error.
51786
51787 2007-02-12  Bruno Haible  <bruno@clisp.org>
51788
51789         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
51790         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51791         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51792
51793 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51794
51795         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
51796         args, not 2.
51797
51798 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51799
51800         New module 'time', so that apps can include <time.h> as per
51801         POSIX and GNU instead of separate include files like time_r.h
51802         and timegm.h.  This implementation tries out a simpler approach
51803         for replacing decls in standard include files (as compared to
51804         the string module), somewhat as an experiment.
51805
51806         * config/srclist.txt: Comment out mktime.c for now.
51807         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51808         since it doesn't apply any more.  Use generic wording instead.
51809         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51810         'time'.
51811         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51812         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51813         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51814         Don't include <sys/types.h>; no longer needed since we assume C89.
51815         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51816         * lib/strftime.c: Likewise.
51817         * lib/time_r.c: Likewise.
51818         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51819         * lib/nanosleep.c: Include <time.h> first, to check interface.
51820         * lib/strptime.c: Likewise.
51821         * lib/time_r.c: Likewise.
51822         * lib/timegm.c: Likewise.
51823         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51824         needed.
51825         * lib/timegm.c: Don't include timegm.h; no longer needed.
51826         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51827         time.h now handles any problems in that area.
51828         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51829         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51830         that time.h defines struct timespec.
51831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51832         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51833         handles that.
51834         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51835         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51836         needed.  Set REPLACE_LOCALTIME.
51837         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51838         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51839         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51840         nanosleep; time_h.m4 now does that.  Don't require
51841         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51842         module handles this now.
51843         * modules/getdate (Depends-on): Remove timespec.  Add time.
51844         * modules/nanosleep (Depends-on): Likewise.
51845         * modules/stat-time (Depends-on): Likewise.
51846         * modules/nanosleep (Include): Include time.h, not timespec.h.
51847         * modules/strptime (Files): Remove lib/strptime.h.
51848         (Depends-on): Add extensions, time.
51849         (Include): Include time.h, not strptime.h.
51850         * modules/time_r (Files): Remove lib/time_r.h.
51851         (Depends-on): Add time.
51852         (Include): Include time.h, not time_r.h.
51853         * modules/timegm: Likewise.
51854         * modules/timespec (Description): Now does timespec-related decls
51855         of our own, instead of struct timespec itself.
51856         (Depends-on): Add time; remove extensions.
51857         (Maintainer): Add self.
51858         * modules/utimecmp (Depends-on): Add time; remove timespec.
51859         * modules/utimens (Depends-on): Likewise.
51860         * modules/xnanosleep (Depends-on): Likewise.
51861
51862 2007-02-11  Bruno Haible  <bruno@clisp.org>
51863
51864         * lib/c-strstr.c: Include allocsa.h.
51865         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51866         * lib/c-strcasestr.c: Include allocsa.h.
51867         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51868         * lib/strcasestr.c: Include allocsa.h.
51869         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51870         * lib/mbsstr.c: Include allocsa.h.
51871         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51872         allocsa/freesa instead of malloc/free.
51873         * lib/mbscasestr.c: Include allocsa.h.
51874         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51875         allocsa/freesa instead of malloc/free.
51876         * modules/c-strstr (Depends-on): Add allocsa.
51877         * modules/c-strcasestr (Depends-on): Likewise.
51878         * modules/strcasestr (Depends-on): Likewise.
51879         * modules/mbsstr (Depends-on): Likewise.
51880         * modules/mbscasestr (Depends-on): Likewise.
51881
51882 2007-02-11  Bruno Haible  <bruno@clisp.org>
51883
51884         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51885
51886         * modules/mbsspn-tests: New file.
51887         * tests/test-mbsspn.sh: New file.
51888         * tests/test-mbsspn.c: New file.
51889
51890 2007-02-11  Bruno Haible  <bruno@clisp.org>
51891
51892         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51893
51894         * modules/mbspbrk-tests: New file.
51895         * tests/test-mbspbrk.sh: New file.
51896         * tests/test-mbspbrk.c: New file.
51897
51898 2007-02-11  Bruno Haible  <bruno@clisp.org>
51899
51900         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51901         unneeded cast.
51902
51903         * modules/mbscspn-tests: New file.
51904         * tests/test-mbscspn.sh: New file.
51905         * tests/test-mbscspn.c: New file.
51906
51907 2007-02-11  Bruno Haible  <bruno@clisp.org>
51908
51909         * modules/mbscasecmp-tests: New file.
51910         * tests/test-mbscasecmp.sh: New file.
51911         * tests/test-mbscasecmp.c: New file.
51912
51913 2007-02-11  Bruno Haible  <bruno@clisp.org>
51914
51915         Ensure O(n) worst-case complexity of mbscasestr.
51916         * lib/mbscasestr.c: Include stdbool.h.
51917         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51918         functions.
51919         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51920         the bookkeeping indicates that it's worth it.
51921         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51922
51923         * modules/mbscasestr-tests: New file.
51924         * tests/test-mbscasestr1.c: New file.
51925         * tests/test-mbscasestr2.sh: New file.
51926         * tests/test-mbscasestr2.c: New file.
51927         * tests/test-mbscasestr3.sh: New file.
51928         * tests/test-mbscasestr3.c: New file.
51929         * tests/test-mbscasestr4.sh: New file.
51930         * tests/test-mbscasestr4.c: New file.
51931         * m4/locale-tr.m4: New file.
51932
51933 2007-02-11  Bruno Haible  <bruno@clisp.org>
51934
51935         Ensure O(n) worst-case complexity of mbsstr.
51936         * lib/mbsstr.c: Include stdbool.h.
51937         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51938         functions.
51939         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51940         bookkeeping indicates that it's worth it.
51941         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51942
51943         * modules/mbsstr-tests: New file.
51944         * tests/test-mbsstr1.c: New file.
51945         * tests/test-mbsstr2.sh: New file.
51946         * tests/test-mbsstr2.c: New file.
51947         * tests/test-mbsstr3.sh: New file.
51948         * tests/test-mbsstr3.c: New file.
51949         * m4/locale-fr.m4: New file.
51950
51951 2007-02-11  Bruno Haible  <bruno@clisp.org>
51952
51953         * lib/mbsrchr.c (mbsrchr): Fix bug.
51954
51955         * modules/mbsrchr-tests: New file.
51956         * tests/test-mbsrchr.sh: New file.
51957         * tests/test-mbsrchr.c: New file.
51958
51959 2007-02-11  Bruno Haible  <bruno@clisp.org>
51960
51961         * lib/mbschr.c (mbschr): Fix bug.
51962
51963         * modules/mbschr-tests: New file.
51964         * tests/test-mbschr.sh: New file.
51965         * tests/test-mbschr.c: New file.
51966         * m4/locale-zh.m4: New file.
51967
51968 2007-02-11  Bruno Haible  <bruno@clisp.org>
51969
51970         Support for copying multibyte string iterators.
51971         * lib/mbiter.h: Include <string.h>.
51972         (mbiter_multi_copy): New function.
51973         (mbi_copy): New macro.
51974         * lib/mbuiter.h: Include <string.h>.
51975         (mbuiter_multi_copy): New function.
51976         (mbui_copy): New macro.
51977
51978 2007-02-11  Bruno Haible  <bruno@clisp.org>
51979
51980         New module mbslen.
51981         * modules/mbslen: New file.
51982         * lib/mbslen.c: New file.
51983         * lib/string_.h (mbslen): New declaration.
51984         * m4/mbslen.m4: New file.
51985         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51986         GNULIB_MBSLEN.
51987         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51988         * MODULES.html.sh (Internationalization functions): Add mbslen.
51989
51990 2007-02-11  Bruno Haible  <bruno@clisp.org>
51991
51992         Ensure O(n) worst-case complexity of strcasestr substitute.
51993         * lib/strcasestr.c: Include stdbool.h.
51994         (knuth_morris_pratt): New function.
51995         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51996         bookkeeping indicates that it's worth it.
51997         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51998
51999         * modules/strcasestr-tests: New file.
52000         * tests/test-strcasestr.c: New file.
52001
52002 2007-02-11  Bruno Haible  <bruno@clisp.org>
52003
52004         Ensure O(n) worst-case complexity of c_strcasestr.
52005         * lib/c-strcasestr.c: Include stdbool.h, string.h.
52006         (knuth_morris_pratt): New function.
52007         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
52008         the bookkeeping indicates that it's worth it.
52009         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
52010
52011         * modules/c-strcasestr-tests: New file.
52012         * tests/test-c-strcasestr.c: New file.
52013
52014 2007-02-11  Bruno Haible  <bruno@clisp.org>
52015
52016         Ensure O(n) worst-case complexity of c_strstr.
52017         * lib/c-strstr.c: Include stdbool.h, string.h.
52018         (knuth_morris_pratt): New function.
52019         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
52020         bookkeeping indicates that it's worth it.
52021         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
52022
52023         * lib/c-strstr.c: Complete rewrite for maintainability.
52024
52025         * modules/c-strstr-tests: New file.
52026         * tests/test-c-strstr.c: New file.
52027
52028 2007-02-11  Bruno Haible  <bruno@clisp.org>
52029
52030         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
52031         5.2.1 and earlier, whereby \055 was treated just like the range
52032         delimiter '-'.
52033         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52034
52035 2007-02-08  Bruno Haible  <bruno@clisp.org>
52036
52037         * modules/regex (Depends-on): Add stdbool.
52038         Reported by Dalibor Topic <robilad@kaffe.org>.
52039
52040 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52041
52042         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
52043         Prefer returning from main to exiting from it.
52044         Remove unnecessary parens after sizeof.
52045
52046 2007-02-05  Bruno Haible  <bruno@clisp.org>
52047
52048         New module mbssep.
52049         * modules/mbssep: New file.
52050         * lib/mbssep.c: New file.
52051         * lib/string_.h (strsep): Add a conditional link warning.
52052         (mbssep): New declaration.
52053         * m4/mbssep.m4: New file.
52054         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52055         GNULIB_MBSSEP.
52056         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
52057         * MODULES.html.sh (Internationalization functions): Add mbssep.
52058
52059 2007-02-05  Bruno Haible  <bruno@clisp.org>
52060
52061         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
52062         Optimize search in case of 1 delimiter.
52063
52064 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52065
52066         * lib/acl.h: Include sys/types.h before sys/acl.h.
52067
52068 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52069
52070         Merge upstream fix for glibc bugzilla #3957:
52071
52072         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
52073
52074         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
52075         bit for RE_HAT_LISTS_NOT_NEWLINE.
52076         (build_charclass_op): Remove bogus comment.
52077
52078 2007-02-05  Simon Josefsson  <simon@josefsson.org>
52079
52080         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
52081
52082 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52083
52084         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
52085         * lib/memmem.c [!defined _LIBC]: Include config.h.
52086
52087 2007-02-04  Bruno Haible  <bruno@clisp.org>
52088
52089         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
52090         warning message.
52091
52092 2007-02-04  Bruno Haible  <bruno@clisp.org>
52093
52094         New module mbstok_r.
52095         * modules/mbstok_r: New file.
52096         * lib/mbstok_r.c: New file.
52097         * lib/string_.h (strtok_r): Change argument names to match the
52098         comments. Add a conditional link warning.
52099         (mbstok_r): New declaration.
52100         * m4/mbstok_r.m4: New file.
52101         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52102         GNULIB_MBSTOK_R.
52103         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
52104         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
52105
52106 2007-02-04  Bruno Haible  <bruno@clisp.org>
52107
52108         New module mbsspn.
52109         * modules/mbsspn: New file.
52110         * lib/mbsspn.c: New file.
52111         * lib/string_.h (strspn): Add a conditional link warning.
52112         (mbsspn): New declaration.
52113         * m4/mbsspn.m4: New file.
52114         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52115         GNULIB_MBSSPN.
52116         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
52117         * MODULES.html.sh (Internationalization functions): Add mbsspn.
52118
52119 2007-02-04  Bruno Haible  <bruno@clisp.org>
52120
52121         New module mbspbrk.
52122         * modules/mbspbrk: New file.
52123         * lib/mbspbrk.c: New file.
52124         * lib/string_.h (strpbrk): Add a conditional link warning.
52125         (mbspbrk): New declaration.
52126         * m4/mbspbrk.m4: New file.
52127         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52128         GNULIB_MBSPBRK.
52129         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
52130         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
52131
52132 2007-02-04  Bruno Haible  <bruno@clisp.org>
52133
52134         New module mbscspn.
52135         * modules/mbscspn: New file.
52136         * lib/mbscspn.c: New file.
52137         * lib/string_.h (strcspn): Add a conditional link warning.
52138         (mbscspn): New declaration.
52139         * m4/mbscspn.m4: New file.
52140         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52141         GNULIB_MBSCSPN.
52142         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
52143         * MODULES.html.sh (Internationalization functions): Add mbscspn.
52144
52145 2007-02-04  Bruno Haible  <bruno@clisp.org>
52146
52147         New module mbscasestr, reduced goal of strcasestr.
52148         * modules/mbscasestr: New file.
52149         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
52150         (mbscasestr): Renamed from strcasestr.
52151         * lib/strcasestr.c: Don't include mbuiter.h.
52152         (strcasestr): Remove support for multibyte locales.
52153         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
52154         Change the conditional link warning.
52155         (mbscasestr): New declaration.
52156         * m4/mbscasestr.m4: New file.
52157         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
52158         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
52159         REPLACE_STRCASESTR.
52160         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
52161         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52162         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52163         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
52164         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
52165         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52166         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
52167         (Depends-on): Remove mbuiter.
52168         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
52169
52170 2007-02-04  Bruno Haible  <bruno@clisp.org>
52171
52172         Simplify handling of strncasecmp.
52173         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
52174         the conditional link warning.
52175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52176         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
52177         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
52178         * modules/strcase (configure.ac): Don't invoke
52179         gl_STRING_MODULE_INDICATOR.
52180         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
52181
52182 2007-02-04  Bruno Haible  <bruno@clisp.org>
52183
52184         New module mbscasecmp, reduced goal of strcasecmp.
52185         * modules/mbscasecmp: New file.
52186         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
52187         (mbscasecmp): Renamed from strcasecmp.
52188         * lib/strcasecmp.c: Don't include mbuiter.h.
52189         (strcasecmp): Remove support for multibyte locales.
52190         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
52191         Change the conditional link warning.
52192         (mbscasecmp): New declaration.
52193         * m4/mbscasecmp.m4: New file.
52194         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
52195         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
52196         REPLACE_STRCASECMP.
52197         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
52198         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52199         GNULIB_MBSCASECMP.
52200         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
52201         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
52202         * modules/strcase (Files): Remove m4/mbrtowc.m4.
52203         (Depends-on): Remove mbuiter.
52204         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
52205
52206 2007-02-04  Bruno Haible  <bruno@clisp.org>
52207
52208         New module mbsstr. Remove module strstr.
52209         * modules/mbsstr: New file.
52210         * modules/strstr: Remove file.
52211         * lib/mbsstr.c: Renamed from lib/strstr.c.
52212         (mbsstr): Renamed from strstr.
52213         * lib/string_.h (strstr): Remove declaration. Change the conditional
52214         link warning.
52215         (mbsstr): New declaration.
52216         * m4/mbsstr.m4: New file.
52217         * m4/strstr.m4: Remove file.
52218         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52219         REPLACE_STRSTR.
52220         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
52221         Don't initialize GNULIB_STRSTR.
52222         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
52223         substitute GNULIB_STRSTR and REPLACE_STRSTR.
52224         * MODULES.html.sh (Internationalization functions): Add mbsstr.
52225         (Support for systems lacking ANSI C 89): Remove strstr.
52226
52227 2007-02-04  Bruno Haible  <bruno@clisp.org>
52228
52229         New module mbsrchr.
52230         * modules/mbsrchr: New file.
52231         * lib/mbsrchr.c: New file.
52232         * lib/string_.h (strrchr): Add a conditional link warning.
52233         (mbsrchr): New declaration.
52234         * m4/mbsrchr.m4: New file.
52235         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52236         GNULIB_MBSRCHR.
52237         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
52238         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
52239
52240 2007-02-04  Bruno Haible  <bruno@clisp.org>
52241
52242         New module mbschr.
52243         * modules/mbschr: New file.
52244         * lib/mbschr.c: New file.
52245         * lib/string_.h (strchr): Add a conditional link warning.
52246         (mbschr): New declaration.
52247         * m4/mbschr.m4: New file.
52248         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52249         GNULIB_MBSCHR.
52250         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
52251         * MODULES.html.sh (Internationalization functions): Add mbschr.
52252
52253 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52254
52255         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
52256
52257         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
52258
52259 2007-02-04  Bruno Haible  <bruno@clisp.org>
52260
52261         New module description section 'configure.ac-early'.
52262         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
52263         (func_get_autoconf_early_snippet): New function.
52264         (func_import, func_create_testdir): Use it. Remove special cases for
52265         modules 'extensions' and 'lock'.
52266         * modules/extensions (configure.ac-early): Require
52267         gl_USE_SYSTEM_EXTENSIONS.
52268         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
52269
52270 2007-02-04  Bruno Haible  <bruno@clisp.org>
52271
52272         Make use of gcj-4.3's -fsource and -ftarget option.
52273         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
52274         and if so try the options -fsource and -ftarget.
52275         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
52276         source_version, ftarget_option, target_version arguments.
52277         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
52278         (is_envjavac_oldgcj_14_14_usable): Renamed from
52279         is_envjavac_gcj_14_14_usable.
52280         (is_envjavac_oldgcj_14_13_usable): Renamed from
52281         is_envjavac_gcj_14_13_usable.
52282         (is_gcj_present): Update.
52283         (is_gcj_43, is_gcj43_usable): New functions.
52284         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
52285         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
52286         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
52287         try the options -fsource and -ftarget.
52288
52289 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52290
52291         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
52292         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
52293         larger value.
52294
52295 2007-02-03  Jim Meyering  <jim@meyering.net>
52296
52297         Give tools a better chance to allocate space for very large buffers.
52298         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
52299
52300         Make pwd and readlink work also when run with an unreadable parent dir
52301         on systems with openat support.
52302         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
52303         provided getcwd function, even when we have openat support.
52304         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
52305
52306 2007-02-02  Bruno Haible  <bruno@clisp.org>
52307
52308         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52309         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
52310         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
52311         portability problems if one of these functions is only used on specific
52312         platforms.
52313         Reported by Paul Eggert.
52314
52315 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52316
52317         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
52318         is causing more trouble than it's curing.
52319         * lib/regex_internal.h (__mempcpy): Remove.
52320         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
52321         (and make the code a tad smaller to boot).
52322         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
52323
52324 2007-02-02  Jim Meyering  <jim@meyering.net>
52325
52326         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
52327         section, not in the Makefile.am: one.
52328
52329 2007-02-02  Eric Blake  <ebb9@byu.net>
52330
52331         * lib/strchrnul.c: Always include config.h first.
52332
52333         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
52334         gnulib strstr is not necessary here.
52335
52336 2007-02-02  Simon Josefsson  <simon@josefsson.org>
52337
52338         * m4/socklen.m4: Fix typo.
52339
52340 2007-02-02  Eric Blake  <ebb9@byu.net>
52341
52342         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
52343         * modules/netinet_in (Makefile.am): Likewise.
52344
52345 2007-02-01  Bruno Haible  <bruno@clisp.org>
52346
52347         * lib/string_.h (GL_LINK_WARNING): New macro.
52348         (strcasecmp, strstr, strcasestr): If provided by the system,
52349         conditionally define as a macro that leads to a warning instead of to
52350         an error.
52351         (strncasecmp): Conditionally define as a macro that leads to a warning.
52352
52353 2007-02-01  Karl Berry  <karl@gnu.org>
52354
52355         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
52356
52357 2007-02-01  Bruno Haible  <bruno@clisp.org>
52358
52359         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
52360         renamings.
52361
52362 2007-02-01  Eric Blake  <ebb9@byu.net>
52363
52364         * modules/regex (Depends-on): Revert dependence on mempcpy.
52365         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
52366         module's definition of mempcpy.
52367         Reported by Paul Eggert.
52368
52369 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52370
52371         * lib/string_.h: If the gnulib module XYZ is not present, undefine
52372         the symbol XYZ before redefining it.  This fixes a problem with
52373         programs that don't use XYZ, when compiled on systems that define
52374         XYZ to something else.
52375
52376 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52377
52378         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
52379         occurs when "mkdir -m foo" creates a setgid directory that is (1)
52380         writeable to group or other and (2) is intended to have a special
52381         mode bit that is set or cleared.  In such a case, the directory
52382         should be neither group- nor other-writeable until the special
52383         mode bits are right.
52384
52385 2007-01-31  Eric Blake  <ebb9@byu.net>
52386
52387         * modules/mountlist (Depends-on): Add strstr.
52388
52389         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
52390         bug.
52391         * modules/string (Makefile.am): Remove redundant replacement.
52392         * modules/regex (Depends-on): Add mempcpy.
52393
52394 2007-01-31  Bruno Haible  <bruno@clisp.org>
52395
52396         New module description field 'Link'.
52397         * gnulib-tool (func_usage): Document --extract-link-directive.
52398         (sed_extract_prog): Recognize 'Link' directive.
52399         (func_get_link_directive): New function.
52400         (func_import): Show summary of link directives.
52401         Handle --extract-link-directive option.
52402         * modules/acl (Link): New section.
52403         * modules/clock-time (Link): New section.
52404         * modules/euidaccess (Link): New section.
52405         * modules/gettext (Link): New section.
52406         * modules/iconv (Link): New section.
52407         * modules/lock (Link): New section.
52408         * modules/nanosleep (Link): New section.
52409         * modules/readline (Link): New section.
52410
52411 2007-01-27  Bruno Haible  <bruno@clisp.org>
52412
52413         Enforce the use of gnulib modules for unportable <string.h> functions.
52414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
52415         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
52416         (gl_HEADER_STRING_H_BODY): Require it.
52417         * lib/string_.h: If the gnulib module XYZ is not present, redefine
52418         the symbol XYZ to one that gives a link error.
52419         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
52420         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
52421         * modules/mempcpy (configure.ac): Likewise.
52422         * modules/memrchr (configure.ac): Likewise.
52423         * modules/stpcpy (configure.ac): Likewise.
52424         * modules/stpncpy (configure.ac): Likewise.
52425         * modules/strcase (configure.ac): Likewise.
52426         * modules/strcasestr (configure.ac): Likewise.
52427         * modules/strchrnul (configure.ac): Likewise.
52428         * modules/strdup (configure.ac): Likewise.
52429         * modules/strndup (configure.ac): Likewise.
52430         * modules/strnlen (configure.ac): Likewise.
52431         * modules/strpbrk (configure.ac): Likewise.
52432         * modules/strsep (configure.ac): Likewise.
52433         * modules/strstr (configure.ac): Likewise.
52434         * modules/strtok_r (configure.ac): Likewise.
52435
52436 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
52437
52438         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
52439
52440 2007-01-30  Jim Meyering  <jim@meyering.net>
52441
52442         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
52443
52444 2007-01-29  Bruno Haible  <bruno@clisp.org>
52445
52446         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
52447         * lib/execute.c: Likewise.
52448         * lib/pipe.c: Likewise.
52449         * lib/printf-args.h: Likewise.
52450         * lib/printf-args.c: Likewise.
52451         * lib/printf-parse.c: Likewise.
52452         * lib/vasnprintf.c: Likewise.
52453
52454 2007-01-29  Eric Blake  <ebb9@byu.net>
52455
52456         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
52457         declaration.
52458
52459 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
52460
52461         * lib/strptime.h (strptime): Use 'restrict' for args where
52462         POSIX requires this.
52463         * lib/strptime.c (strptime): Likewise.
52464         Change license notice from LGPL to GPL, since gnulib-tool will
52465         change this as needed.
52466         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
52467         defined.
52468         Include "strptime.h" first, to check interface.
52469         Do not #undef _LIBC and _NL_CURRENT.
52470         Do not include <stdlib.h>; no longer needed.
52471         Include "time_r.h" and declare ptime_locale_status
52472         only if _LIBC is not defined.
52473         (__P): Remove unused macro.
52474         (match_string): Bring back glibc version, but use it only if _LIBC
52475         is defined.
52476         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
52477         Remove unnecessary assertion and abort() call.
52478         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
52479         * m4/strptime.m4: Fix serial number comment.
52480         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
52481         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
52482         (Depends-on): Add time_r.
52483
52484 2007-01-29  Bruno Haible  <bruno@clisp.org>
52485
52486         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52487         strptime.
52488         * modules/strptime (Depends-on): Add stdbool.
52489         * lib/strptime.h: Include <time.h> always. Add comments.
52490
52491 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52492
52493         * modules/strptime: New file.
52494         * lib/strptime.h: New file.
52495         * lib/strptime.c: New file.
52496         * m4/strptime.m4: New file.
52497
52498 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
52499
52500         * MODULES.html.sh: New module mpsort.
52501         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
52502
52503         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
52504         a circularity problem with HP-UX ia64 reported by Bob Proulx in
52505         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
52506         All uses changed.
52507         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
52508         All uses changed.
52509         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
52510         to _Restrict_.
52511         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
52512         the parameter matches the prototype.
52513
52514 2007-01-28  Jim Meyering  <jim@meyering.net>
52515
52516         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
52517         sys/time.h here, reverting that part of the previous patch:
52518         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
52519
52520 2007-01-28  Bruno Haible  <bruno@clisp.org>
52521
52522         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
52523         value of $(SYS_TIME_H).
52524         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
52525         remove it conditionally, too. [added by Jim Meyering]
52526         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
52527         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52528         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
52529         GETTIMEOFDAY_REPLACEMENT to 1.
52530
52531 2007-01-28  Bruno Haible  <bruno@clisp.org>
52532
52533         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
52534         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
52535         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
52536         Set UNISTD_H instead of UNISTD_H2.
52537         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
52538
52539 2007-01-28  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
52542         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
52543
52544 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52545
52546         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
52547         (func_create_testdir): Ensure C locale for `grep' and `tr'
52548         character ranges.
52549         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
52550         ACLOCAL_AMFLAGS parsing state machine.
52551
52552 2007-01-27  Bruno Haible  <bruno@clisp.org>
52553
52554         * modules/unistr/base: Update.
52555
52556 2007-01-27  Bruno Haible  <bruno@clisp.org>
52557
52558         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
52559         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
52560         * modules/unistr/u32-mbtouc-unsafe: Renamed from
52561         modules/unistr/u32-mbtouc.
52562         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
52563         * lib/unistr.h: Update.
52564         * lib/linebreak.c: Update.
52565         * modules/unistr/u32-mbtouc: Renamed from
52566         modules/unistr/u32-mbtouc-safe.
52567         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
52568         * lib/unistr.h: Update.
52569         * lib/unistr/u32-to-u8.c: Update.
52570         * lib/unistr/u32-to-u16.c: Update.
52571
52572 2007-01-27  Bruno Haible  <bruno@clisp.org>
52573
52574         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
52575         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
52576         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
52577         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
52578         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
52579         * modules/unistr/u16-mbtouc-unsafe: Renamed from
52580         modules/unistr/u16-mbtouc.
52581         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
52582         * lib/unistr.h: Update.
52583         * lib/linebreak.c: Update.
52584         * modules/linebreak: Update.
52585         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
52586         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
52587         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
52588         * modules/unistr/u16-mbtouc: Renamed from
52589         modules/unistr/u16-mbtouc-safe.
52590         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
52591         * lib/unistr.h: Update.
52592         * lib/unistr/u16-to-u8.c: Update.
52593         * modules/unistr/u16-to-u8: Update.
52594         * lib/unistr/u16-to-u32.c: Update.
52595         * modules/unistr/u16-to-u32: Update.
52596
52597 2007-01-27  Bruno Haible  <bruno@clisp.org>
52598
52599         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
52600         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
52601         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
52602         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
52603         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
52604         * modules/unistr/u8-mbtouc-unsafe: Renamed from
52605         modules/unistr/u8-mbtouc.
52606         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
52607         * lib/unistr.h: Update.
52608         * lib/striconveh.c: Update.
52609         * modules/striconveh: Update.
52610         * lib/linebreak.c: Update.
52611         * modules/linebreak: Update.
52612         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
52613         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
52614         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
52615         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
52616         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
52617         * lib/unistr.h: Update.
52618         * lib/striconveh.c: Update.
52619         * modules/striconveh: Update.
52620         * lib/unistr/u8-to-u16.c: Update.
52621         * modules/unistr/u8-to-u16: Update.
52622         * lib/unistr/u8-to-u32.c: Update.
52623         * modules/unistr/u8-to-u32: Update.
52624
52625 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52626
52627         Sync from Libtool.
52628         * lib/argz.c: Do not include strings.h nor memory.h, include
52629         string.h unconditionally.  Patch by Simon Josefsson.
52630
52631 2007-01-27  Bruno Haible  <bruno@clisp.org>
52632
52633         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
52634         from gl_HEADER_STRING_H_BODY.
52635         (gl_HEADER_STRING_H_BODY): Require it.
52636         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
52637         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52638         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52639         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52640         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52641         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
52642         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52643         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52644         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
52645         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52646         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52647         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
52648         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52649         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52650         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52651
52652 2007-01-27  Bruno Haible  <bruno@clisp.org>
52653
52654         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
52655         check_PROGRAMS into noinst_PROGRAMS.
52656         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
52657         check_PROGRAMS in this case.
52658         (func_import): Set for_test to false.
52659         (func_create_testdir): Set for_test to true.
52660
52661 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
52662             Bruno Haible  <bruno@clisp.org>
52663
52664         * modules/strcasestr (Files): Remove lib/strcasestr.h.
52665         (Depends-on): Add string.
52666         (Includes): Use <string.h> instead of strcasestr.h.
52667         * modules/string (Makefile.am): Also substitute the value of
52668         REPLACE_STRCASESTR.
52669         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
52670         assume strcasestr is declared in <string.h> not <strings.h>. Also
52671         set REPLACE_STRCASESTR.
52672         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
52673         REPLACE_STRCASESTR.
52674         * lib/strcasestr.h: Remove file.
52675         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
52676         * lib/string_.h (strcasestr): New declaration.
52677
52678 2007-01-27  Bruno Haible  <bruno@clisp.org>
52679
52680         * lib/string_.h: Use 'extern'.
52681
52682 2007-01-27  Jim Meyering  <jim@meyering.net>
52683
52684         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
52685         of set-but-not-used local, "q".
52686
52687         * lib/mempcpy.c: Include <config.h> before <string.h>.
52688         This fixes a compilation error on HP-UX, due to the system's
52689         "restrict"-using mempcpy prototype.
52690
52691 2007-01-26  Bruno Haible  <bruno@clisp.org>
52692
52693         Small optimization.
52694         * lib/javacomp.c: Include c-strstr.h.
52695          (is_envjavac_gcj): Use c_strstr instead of strstr.
52696         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
52697
52698 2007-01-26  Bruno Haible  <bruno@clisp.org>
52699
52700         * MODULES.html.sh (Unicode string functions): Add the new modules.
52701
52702         * modules/uniconv/u32-strconv-to-locale: New file.
52703         * lib/uniconv/u32-strconv-to-locale.c: New file.
52704
52705         * modules/uniconv/u16-strconv-to-locale: New file.
52706         * lib/uniconv/u16-strconv-to-locale.c: New file.
52707
52708         * modules/uniconv/u8-strconv-to-locale: New file.
52709         * lib/uniconv/u8-strconv-to-locale.c: New file.
52710
52711         * modules/uniconv/u32-strconv-from-locale: New file.
52712         * lib/uniconv/u32-strconv-from-locale.c: New file.
52713
52714         * modules/uniconv/u16-strconv-from-locale: New file.
52715         * lib/uniconv/u16-strconv-from-locale.c: New file.
52716
52717         * modules/uniconv/u8-strconv-from-locale: New file.
52718         * lib/uniconv/u8-strconv-from-locale.c: New file.
52719
52720         * modules/uniconv/u32-strconv-to-enc: New file.
52721         * lib/uniconv/u32-strconv-to-enc.c: New file.
52722         * modules/uniconv/u32-strconv-to-enc-tests: New file.
52723         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
52724
52725         * modules/uniconv/u16-strconv-to-enc: New file.
52726         * lib/uniconv/u16-strconv-to-enc.c: New file.
52727         * lib/uniconv/u-strconv-to-enc.h: New file.
52728         * modules/uniconv/u16-strconv-to-enc-tests: New file.
52729         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
52730
52731         * modules/uniconv/u8-strconv-to-enc: New file.
52732         * lib/uniconv/u8-strconv-to-enc.c: New file.
52733         * modules/uniconv/u8-strconv-to-enc-tests: New file.
52734         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
52735
52736         * modules/uniconv/u32-strconv-from-enc: New file.
52737         * lib/uniconv/u32-strconv-from-enc.c: New file.
52738         * modules/uniconv/u32-strconv-from-enc-tests: New file.
52739         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
52740
52741         * modules/uniconv/u16-strconv-from-enc: New file.
52742         * lib/uniconv/u16-strconv-from-enc.c: New file.
52743         * modules/uniconv/u16-strconv-from-enc-tests: New file.
52744         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
52745
52746         * modules/uniconv/u8-strconv-from-enc: New file.
52747         * lib/uniconv/u8-strconv-from-enc.c: New file.
52748         * lib/uniconv/u-strconv-from-enc.h: New file.
52749         * modules/uniconv/u8-strconv-from-enc-tests: New file.
52750         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
52751
52752         * modules/uniconv/u32-conv-from-enc: New file.
52753         * lib/uniconv/u32-conv-from-enc.c: New file.
52754         * modules/uniconv/u32-conv-from-enc-tests: New file.
52755         * tests/uniconv/test-u32-conv-from-enc.c: New file.
52756
52757         * modules/uniconv/u16-conv-from-enc: New file.
52758         * lib/uniconv/u16-conv-from-enc.c: New file.
52759         * lib/uniconv/u-conv-from-enc.h: New file.
52760         * modules/uniconv/u16-conv-from-enc-tests: New file.
52761         * tests/uniconv/test-u16-conv-from-enc.c: New file.
52762
52763         * modules/uniconv/u8-conv-from-enc: New file.
52764         * lib/uniconv/u8-conv-from-enc.c: New file.
52765         * modules/uniconv/u8-conv-from-enc-tests: New file.
52766         * tests/uniconv/test-u8-conv-from-enc.c: New file.
52767
52768         * modules/uniconv/base: New file.
52769         * lib/uniconv.h: New file.
52770
52771 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52772
52773         * doc/gnulib-tool.texi (Initial import): Update to match current
52774         behavior with strdup module.
52775         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
52776         * lib/memmem.h: Remove; all uses removed.  This is now done
52777         by <string.h>.
52778         * lib/mempcpy.h: Likewise.
52779         * lib/memrchr.h: Likewise.
52780         * lib/stpcpy.h: Likewise.
52781         * lib/stpncpy.h: Likewise.
52782         * lib/strcase.h: Likewise.
52783         * lib/strchrnul.h: Likewise.
52784         * lib/strdup.h: Likewise.
52785         * lib/strndup.h: Likewise.
52786         * lib/strnlen.h: Likewise.
52787         * lib/strpbrk.h: Likewise.
52788         * lib/strsep.h: Likewise.
52789         * lib/strstr.h: Likewise.
52790         * lib/strtok_r.h: Likewise.
52791         * lib/string_.h: New file.
52792         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
52793         Rely on <string.h> instead.
52794         * lib/canon-host.c: Likewise.
52795         * lib/chdir-long.c: Likewise.
52796         * lib/concatpath.c: Likewise.
52797         * lib/exclude.c: Likewise.
52798         * lib/fchdir.c: Likewise.
52799         * lib/getaddrinfo.c: Likewise.
52800         * lib/getcwd.c: Likewise.
52801         * lib/getsubopt.c: Likewise.
52802         * lib/glob.c: Likewise.
52803         * lib/hard-locale.c: Likewise.
52804         * lib/iconvme.c: Likewise.
52805         * lib/javacomp.c: Likewise.
52806         * lib/mempcpy.c: Likewise.
52807         * lib/memrchr.c: Likewise.
52808         * lib/regex_internal.h: Likewise.
52809         * lib/stpncpy.c: Likewise.
52810         * lib/strcasecmp.c: Likewise.
52811         * lib/strchrnul.c: Likewise.
52812         * lib/strdup.c: Likewise.
52813         * lib/striconv.c: Likewise.
52814         * lib/striconveh.c: Likewise.
52815         * lib/striconveha.c: Likewise.
52816         * lib/strncasecmp.c: Likewise.
52817         * lib/strndup.c: Likewise.
52818         * lib/strnlen.c: Likewise.
52819         * lib/strsep.c: Likewise.
52820         * lib/strstr.c: Likewise.
52821         * lib/strtok_r.c: Likewise.
52822         * lib/userspec.c: Likewise.
52823         * lib/w32spawn.h: Likewise.
52824         * lib/xstrndup.c: Likewise.
52825         * lib/mountlist.c (strstr): Remove decl.
52826         * m4/string_h.m4: New file.
52827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52828         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52829         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52830         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52831         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52832         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52833         Set REPLACE_STRCASECMP if necessary.
52834         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52835         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52836         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52837         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52838         HAVE_DECL_STRDUP if necessary.
52839         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52840         since gl_FUNC_STRNDUP does that now.
52841         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52842         Check for decl here...
52843         (gl_PREREQ_STRNLEN): ... not here.
52844         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52845         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52846         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52847         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52848         necessary.
52849         * modules/string: New file.
52850         * modules/memmem (Files): Remove special-purpose include file.
52851         (Depends-on): Add string.
52852         (Include): Include <string.h>, not the removed file.
52853         * modules/mempcpy: Likewise.
52854         * modules/memrchr: Likewise.
52855         * modules/stpcpy: Likewise.
52856         * modules/stpncpy: Likewise.
52857         * modules/strcase: Likewise.
52858         * modules/strchrnul: Likewise.
52859         * modules/strdup: Likewise.
52860         * modules/strndup: Likewise.
52861         * modules/strnlen: Likewise.
52862         * modules/strpbrk: Likewise.
52863         * modules/strsep: Likewise.
52864         * modules/strstr: Likewise.
52865         * modules/strtok_r: Likewise.
52866         * tests/test-dirname.c: Don't include "strdup.h", since
52867         <string.h> now suffices.
52868         * tests/test-memmem.c: Don't include "memmem.h", since
52869         <string.h> now suffices.
52870
52871 2007-01-25  Bruno Haible  <bruno@clisp.org>
52872
52873         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52874         *resultp is 0.
52875
52876         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52877         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52878         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52879         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52880
52881         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52882         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52883         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52884         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52885         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52886         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52887
52888 2007-01-24  Bruno Haible  <bruno@clisp.org>
52889
52890         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52891         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52892         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52893         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52894         gl_FUNC_FTS_CORE.
52895         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52896         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52897         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52898         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52899         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52900         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52901         gl_FUNC_FCHOWNAT.
52902         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52903         gl_FUNC_STRFTIME.
52904         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52905         Reported by Ralf Wildenhues.
52906
52907 2007-01-24  Bruno Haible  <bruno@clisp.org>
52908
52909         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52910         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52911         gl_GETADDRINFO.
52912         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52913         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52914         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52915
52916 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52917
52918         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52919         Don't use 'exit'; just return from 'main'.
52920         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52921
52922         * lib/fnmatch_.h: Readjust white space and comments to match
52923         glibc, to avoid spurious diffs.
52924
52925 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52926
52927         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52928         2004-12-01 change by Jakub Jelinek, since this code won't compile
52929         if !LIBC.  Problem reported by Bob Proulx.
52930
52931 2007-01-23  Bruno Haible  <bruno@clisp.org>
52932
52933         * lib/striconveh.c: Include c-strcaseeq.h.
52934         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52935         * modules/striconveh (Depends-on): Add c-strcaseeq.
52936
52937 2007-01-23  Bruno Haible  <bruno@clisp.org>
52938
52939         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52940
52941         * modules/c-strcaseeq: New file.
52942         * lib/c-strcaseeq.h: New file.
52943
52944         * modules/streq: New file.
52945         * lib/streq.h: New file.
52946
52947 2007-01-23  Bruno Haible  <bruno@clisp.org>
52948
52949         * modules/striconveha-tests: New file.
52950         * tests/test-striconveha.c: New file.
52951
52952         * lib/striconveha.h: Include <stdbool.h>.
52953         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52954         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52955         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52956         (mem_iconveha): New function.
52957         (str_iconveha_notranslit): Renamed from str_iconveha.
52958         (str_iconveha): New function.
52959         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52960         c-strcase.
52961
52962 2007-01-23  Bruno Haible  <bruno@clisp.org>
52963
52964         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52965         encodings without forgiving before trying any encoding with handler.
52966         (str_iconveha): Try all encodings without forgiving before trying any
52967         encoding with handler.
52968
52969 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52970
52971         Import the following changes from libc.
52972
52973         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52974
52975         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52976
52977         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52978
52979         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52980         normal_bracket label.
52981
52982         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52983
52984         [BZ #361]
52985         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52986         to normal_bracket after fetching the next character.
52987
52988 2007-01-22  Bruno Haible  <bruno@clisp.org>
52989
52990         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52991         argument.
52992         * lib/striconveh.c (iconv_carefully_1): New function.
52993         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52994         argument.
52995         (str_cd_iconveh): Update.
52996         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52997         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52998         * tests/test-striconveh.c (MAGIC): New macro.
52999         (new_offsets): New function.
53000         (main): Test call with and without offsets.
53001
53002 2007-01-22  Bruno Haible  <bruno@clisp.org>
53003
53004         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
53005         * modules/sys_select (Makefile.am): Likewise.
53006         * modules/sys_socket (Makefile.am): Likewise.
53007         * modules/sys_time (Makefile.am): Likewise.
53008
53009 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
53010
53011         * modules/gettimeofday (License): Change from GPL to LGPL, since
53012         gettimeofday is a library function.
53013
53014 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53015
53016         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
53017
53018 2007-01-21  Bruno Haible  <bruno@clisp.org>
53019
53020         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
53021
53022 2007-01-21  Bruno Haible  <bruno@clisp.org>
53023
53024         * modules/striconveha: New file.
53025         * lib/striconveha.h: New file.
53026         * lib/striconveha.c: New file.
53027         * MODULES.html.sh (Internationalization functions): Add striconveha.
53028         * lib/striconv.c (str_iconv): Optimize the case of an empty input
53029         string.
53030         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
53031
53032 2007-01-21  Bruno Haible  <bruno@clisp.org>
53033
53034         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
53035         * lib/striconveh.c (str_iconveh): Likewise.
53036
53037 2007-01-21  Bruno Haible  <bruno@clisp.org>
53038
53039         * lib/striconveh.h (mem_iconveh): New declaration.
53040         * lib/striconveh.c (mem_iconveh): New function.
53041         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
53042
53043 2007-01-21  Bruno Haible  <bruno@clisp.org>
53044
53045         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
53046
53047         * lib/striconveh.h (mem_cd_iconveh): Change specification.
53048         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
53049         original result buffer.
53050         (str_cd_iconveh): Update.
53051         * tests/test-striconveh.c (main): Update.
53052
53053         * lib/striconv.h (mem_cd_iconv): Change specification.
53054         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
53055         result buffer.
53056         (str_cd_iconv): Update.
53057         * tests/test-striconv.c (main): Update.
53058
53059 2007-01-21  Bruno Haible  <bruno@clisp.org>
53060
53061         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
53062
53063 2007-01-20  Jim Meyering  <jim@meyering.net>
53064
53065         * lib/userspec.c (parse_with_separator): If a user or group string
53066         starts with "+", skip the corresponding name-to-ID look-up, since
53067         such a look-up must fail: user and group names may not include "+".
53068
53069 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
53070
53071         * lib/poll.c: Include sys/time.h and time.h unconditionally,
53072         since we now assume the sys_time module.
53073         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
53074         check for sys/time.h; no longer needed.
53075         * modules/poll (Depends-on): Depend on sys_time.
53076
53077 2007-01-18  Bruno Haible  <bruno@clisp.org>
53078
53079         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
53080         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53081
53082         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
53083         gettimeofday.
53084
53085         * tests/test-gettimeofday.c: Include <time.h>.
53086         (dummy): Remove variable.
53087
53088         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
53089         gl_HEADER_SYS_TIME_H.
53090         (gl_HEADER_SYS_TIME_H): New macro.
53091
53092         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
53093         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53094         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53095         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
53096         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53097         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
53098         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
53099         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53100         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
53101         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
53102         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53103
53104         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
53105         last change; it caused a compilation error when cross-compiling to
53106         Cygwin.
53107
53108 2007-01-18  Jim Meyering  <jim@meyering.net>
53109
53110         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
53111         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
53112         than the race-prone "test -d sys || mkdir sys".
53113         (configure.ac): Use AC_PROG_MKDIR_P.
53114         * modules/sys_select: Likewise.
53115         * modules/sys_socket: Likewise.
53116         * modules/sys_time: Likewise.
53117
53118 2007-01-18  Eric Blake  <ebb9@byu.net>
53119
53120         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
53121         replace gettimeofday.
53122         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
53123         name, to avoid infinite recursion.
53124
53125 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
53126
53127         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
53128         module sys_time.
53129         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
53130         assume timespec.h defines struct timeval.
53131         * lib/settime.c: Likewise.
53132         * lib/utimens.c: Likewise.
53133         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
53134         since we now assume the gettimeofday module.
53135         * lib/tempname.c (__gen_tempname): Likewise.
53136         * lib/gettimeofday.h: Remove.
53137         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
53138         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
53139         Include <time.h>, for 'time()'.
53140         (localtime_buffer_addr): Also use this workaround if
53141         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
53142         to simplify the uses.  All uses changed.
53143         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
53144         that #undef is inside {}, and 'const' follows type name consistently.
53145         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
53146         (gettimeofday): Do not use the maximum possible value for
53147         tv->tv_usec, since that might break usages other than ls.c.
53148         Instead, we'll leave ls.c alone.  This undoes today's patch
53149         by Bruno.  Add a compile-time warning for 1s-clock resolution;
53150         we've never observed the problem but might as well keep the
53151         canary.
53152         * lib/nanosleep.c: Include timespec.h first, for interface check.
53153         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
53154         now assume the sys_time module.
53155         * lib/tempname.c: Likewise.
53156         * lib/timespec.h: Likewise.
53157         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
53158         needed.
53159         * lib/strftime.c: Likewise.
53160         * lib/timespec.h: Likewise.
53161         * lib/posixtm.c: Include posixtm.h first, for interface check.
53162         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
53163         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
53164         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
53165         * lib/sys_time_.h: New file.
53166         * lib/timespec.h (struct timespec): Use long int, not long.
53167         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53168         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
53169         Remove obsolescent call to AC_HEADER_TIME.
53170         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53171         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53172         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53173         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
53174         Likewise.
53175         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
53176         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
53177         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
53178         into the sys_time module.  Check for gettimeofday just once.
53179         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
53180         for gettimeofday signature to just check the signature.  Merely
53181         compile it, since linking doesn't test signature.  Improve test for
53182         whether gettimeofday.o is actually needed.
53183         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
53184         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
53185         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
53186         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53187         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
53188         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
53189         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
53190         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
53191         than worrying about sys/time.h.
53192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53193         Don't bother worrying about TIME_WITH_SYS_TIME.
53194         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53195         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
53196         * m4/sys_time_h.m4: New file.
53197         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
53198         Don't include sys/time.h.  Return from main rather than exiting.
53199         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
53200         all uses changed.
53201         * modules/gethrxtime (Depends-on): Add sys_time.
53202         * modules/gettime (Depends-on): Likewise.
53203         * modules/gettimeofday (Depends-on): Likewise.
53204         * modules/nanosleep (Depends-on): Likewise.
53205         * modules/settime (Depends-on): Likewise.
53206         * modules/tempname (Depends-on): Likewise.
53207         * modules/utimens (Depends-on): Likewise.
53208         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
53209         (Include:) Change back to <sys/time.h>.
53210         (Maintainer:) Add self.
53211         * modules/sys_time: New file.
53212         * modules/tempname (Depends-on): Add gettimeofday.
53213         * tests/test-gettimeofday.c: Include <sys/time.h>
53214         rather than gettimeofday.h.
53215
53216 2007-01-17  Bruno Haible  <bruno@clisp.org>
53217
53218         * gnulib-tool (func_get_license): Revert last patch. Instead, let
53219         the license default to GPL.
53220         (func_create_testdir): Don't complain if a module is LGPL and its
53221         tests module depends on GPLed modules.
53222
53223 2007-01-17  Bruno Haible  <bruno@clisp.org>
53224
53225         * lib/gettimeofday.c (gettimeofday): Add code for the case
53226         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
53227         maximum possible value for tv->tv_usec, rather than the minimum one.
53228
53229 2005-10-08  Martin Lambers  <marlam@marlam.de>
53230 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53231 2007-01-16  Bruno Haible  <bruno@clisp.org>
53232
53233         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
53234         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
53235         gl_FUNC_GETTIMEOFDAY.
53236         (Include): Add gettimeofday.h.
53237         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
53238         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
53239         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
53240         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
53241         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
53242         * lib/gettimeofday.h: New file.
53243         * lib/gettimeofday.c: Include <sys/timeb.h>.
53244         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
53245         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53246         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
53247         fall back on time().
53248
53249         * tests/test-gettimeofday.c: New file.
53250         * modules/gettimeofday-tests: New file.
53251
53252 2007-01-16  Eric Blake  <ebb9@byu.net>
53253
53254         * modules/fnmatch (Depends-on): Depend on wchar.
53255         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
53256         * m4/fnmatch.m4: Likewise.
53257         * modules/mbchar (Makefile.am): Assume <wchar.h>.
53258         * m4/mbchar.m4: Likewise.
53259         * modules/mbswidth (Depends-on): Depend on wchar.
53260         * lib/mbswidth.c: Assume <wchar.h>.
53261         * m4/mbswidth.m4: Likewise.
53262         * modules/quotearg (Depends-on): Depend on wchar.
53263         * lib/quotearg.c: Assume <wchar.h>.
53264         * m4/quotearg.m4: Likewise.
53265         * modules/regex (Depends-on): Depend on wchar.
53266         * lib/regex_internal.h: Assume <wchar.h>.
53267         * m4/regex.m4: Likewise.
53268         * modules/stdint (Depends-on): Depend on wchar.
53269         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
53270         * m4/stdint.m4: Likewise.
53271         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
53272         * modules/strftime (Depends-on): Depend on wchar.
53273         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
53274         * modules/strtol (Depends-on): Depend on wchar.
53275         * lib/strtol.c: Assume <wchar.h>.
53276         * modules/wcwidth (Depends-on): Depend on wchar.
53277         * lib/wcwidth.h: Assume <wchar.h>.
53278         * m4/wcwidth.m4: Likewise.
53279
53280 2007-01-16  Bruno Haible  <bruno@clisp.org>
53281
53282         * modules/csharpexec-script: New, created from...
53283         * modules/csharpexec: ... this.
53284
53285 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53286
53287         * modules/javaexec-script: New, created from...
53288         * modules/javaexec: ... this.
53289
53290 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53291
53292         * modules/poll (Dependencies): Add sys_select.
53293
53294 2007-01-15  Jim Meyering  <jim@meyering.net>
53295
53296         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
53297         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
53298         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
53299         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
53300
53301 2007-01-15  Bruno Haible  <bruno@clisp.org>
53302
53303         * modules/striconveh: New file.
53304         * lib/striconveh.h: New file.
53305         * lib/striconveh.c: New file.
53306         * MODULES.html.sh (Internationalization functions): Add striconveh.
53307
53308         * modules/striconveh-tests: New file.
53309         * tests/test-striconveh.c: New file.
53310
53311 2007-01-15  Bruno Haible  <bruno@clisp.org>
53312
53313         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
53314         not from GNU libiconv or GNU libc.
53315
53316 2007-01-15  Bruno Haible  <bruno@clisp.org>
53317
53318         * doc/gnulib-intro.texi (Copyright): Explain the different license
53319         terms for module descriptions, autoconf macros, tests, documentation.
53320
53321 2007-01-14  Bruno Haible  <bruno@clisp.org>
53322
53323         * modules/striconv-tests: New file.
53324         * tests/test-striconv.c: New file.
53325
53326 2007-01-14  Bruno Haible  <bruno@clisp.org>
53327
53328         * modules/iconv-tests: New file.
53329         * tests/test-iconv.c: New file.
53330
53331 2007-01-14  Bruno Haible  <bruno@clisp.org>
53332
53333         * gnulib-tool (func_get_license): For test modules, use the license of
53334         the main module.
53335
53336 2007-01-14  Bruno Haible  <bruno@clisp.org>
53337
53338         * modules/iconv (Include): Clarify that <iconv.h> can only be included
53339         if iconv is found to exist.
53340
53341 2007-01-14  Bruno Haible  <bruno@clisp.org>
53342
53343         * modules/c-ctype-tests: New file.
53344         * tests/test-c-ctype.c: New file.
53345
53346 2007-01-14  Bruno Haible  <bruno@clisp.org>
53347
53348         * modules/binary-io-tests: New file.
53349         * tests/test-binary-io.sh: New file.
53350         * tests/test-binary-io.c: New file.
53351
53352 2007-01-14  Bruno Haible  <bruno@clisp.org>
53353
53354         * modules/array-oset-tests: New file.
53355         * tests/test-array_oset.c: New file.
53356
53357 2007-01-14  Bruno Haible  <bruno@clisp.org>
53358
53359         * modules/array-list-tests: New file.
53360         * tests/test-array_list.c: New file.
53361
53362 2007-01-14  Bruno Haible  <bruno@clisp.org>
53363
53364         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
53365         and make.
53366         Reported by Simon Josefsson in
53367         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
53368
53369 2007-01-14  Bruno Haible  <bruno@clisp.org>
53370
53371         * modules/allocsa-tests: New file.
53372         * tests/test-allocsa.c: New file.
53373
53374 2007-01-14  Bruno Haible  <bruno@clisp.org>
53375
53376         * modules/fchdir (Depends-on): Add absolute-header.
53377         * modules/unistd (Depends-on): Likewise.
53378
53379 2006-12-30  Bruno Haible  <bruno@clisp.org>
53380
53381         * modules/fchdir: New file.
53382         * modules/unistd (Files): Add lib/unistd_.h.
53383         (Makefile.am): Generate unistd.h from unistd_.h.
53384         * lib/fchdir.c: New file.
53385         * lib/dirent_.h: New file.
53386         * lib/unistd_.h: New file.
53387         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
53388         * m4/fchdir.m4: New file.
53389         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
53390         (gl_HEADER_UNISTD): Invoke it.
53391         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
53392         function.
53393         * lib/backupfile.c (opendir, closedir): Undefine.
53394         * lib/chown.c (open, close): Undefine.
53395         * lib/clean-temp.c (open, close): Undefine.
53396         * lib/copy-file.c (open, close): Undefine.
53397         * lib/execute.c (open, close): Undefine.
53398         * lib/fsusage.c (open, close): Undefine.
53399         * lib/gc-gnulib.c (open, close): Undefine.
53400         * lib/getcwd.c (opendir, closedir): Undefine.
53401         * lib/glob.c (opendir, closedir): Undefine.
53402         * lib/javacomp.c (open, close): Undefine.
53403         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
53404         * lib/openat-proc.c (open, close): Undefine.
53405         * lib/pagealign_alloc.c (open, close): Undefine.
53406         * lib/pipe.c (open, close): Undefine.
53407         * lib/progreloc.c (open, close): Undefine.
53408         * lib/savedir.c (opendir, closedir): Undefine.
53409         * lib/utime.c (open, close): Undefine.
53410         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
53411
53412 2007-01-10  Bruno Haible  <bruno@clisp.org>
53413
53414         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
53415
53416 2007-01-12  Eric Blake  <ebb9@byu.net>
53417
53418         Provide a robust <wchar.h>.  Further simplifications are now
53419         possible in other modules, but not included here.
53420         * modules/wchar: New module.
53421         * m4/wchar.m4: New file.
53422         * lib/wchar_.h: Likewise.
53423         * modules/mbchar (Depends-on): Depend on wchar, as the first use
53424         of the new module.
53425         * MODULES.html.sh (Extended multibyte and wide character utilities):
53426         New section.
53427
53428 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
53429
53430         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
53431         to a reasonable default for memory allocation.
53432         (xreadlink): Don't allocate a huge buffer, to work around a buggy
53433         file system that reports garbage st_size values for symlinks.
53434         Problem reported by Liyang Hu.
53435
53436 2007-01-11  Simon Josefsson  <simon@josefsson.org>
53437
53438         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
53439         Emacs .#* auto-save files).
53440
53441 2007-01-11  Bruno Haible  <bruno@clisp.org>
53442
53443         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
53444         directory.
53445
53446 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
53447
53448         Use @...@ consistently in lib/wctype_.h.
53449         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
53450         on it being set to 1 or 0.
53451         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
53452         go back to AC_SUBSTing it.
53453         * modules/wctype (Makefile.am): Undo previous change.
53454
53455 2007-01-10  Eric Blake  <ebb9@byu.net>
53456
53457         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
53458         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
53459         * modules/wctype (Makefile.am): Likewise.
53460         Reported by Chris McGuire.
53461
53462 2007-01-10  Jim Meyering  <jim@meyering.net>
53463
53464         fts.c: a small readability/maintainability improvement
53465         * lib/fts.c (fts_read): Make this code slightly more readable and
53466         maintainable by hoisting the "sp->fts_cur = p" assignments to
53467         immediately follow the statements that set P.  Derived from
53468         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
53469
53470 2007-01-10  Eric Blake  <ebb9@byu.net>
53471
53472         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
53473         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
53474         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53475         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53476         Reported by Chris McGuire.
53477
53478 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53479
53480         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
53481         in sed script.
53482
53483 2007-01-09  Bruno Haible  <bruno@clisp.org>
53484
53485         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
53486         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
53487         variables.
53488         (func_module): Use them.
53489
53490 2007-01-09  Bruno Haible  <bruno@clisp.org>
53491
53492         * modules/unistr/base: New file.
53493         * lib/unistr.h: New file.
53494
53495         * modules/unistr/u8-to-u16: New file.
53496         * lib/unistr/u8-to-u16.c: New file.
53497
53498         * modules/unistr/u8-to-u32: New file.
53499         * lib/unistr/u8-to-u32.c: New file.
53500
53501         * modules/unistr/u16-to-u8: New file.
53502         * lib/unistr/u16-to-u8.c: New file.
53503
53504         * modules/unistr/u16-to-u32: New file.
53505         * lib/unistr/u16-to-u32.c: New file.
53506
53507         * modules/unistr/u32-to-u8: New file.
53508         * lib/unistr/u32-to-u8.c: New file.
53509
53510         * modules/unistr/u32-to-u16: New file.
53511         * lib/unistr/u32-to-u16.c: New file.
53512
53513         * modules/unistr/u8-check: New file.
53514         * modules/unistr/u16-check: New file.
53515         * modules/unistr/u32-check: New file.
53516         * lib/unistr/u8-check.c: New file.
53517         * lib/unistr/u16-check.c: New file.
53518         * lib/unistr/u32-check.c: New file.
53519
53520         * modules/unistr/u8-chr: New file.
53521         * modules/unistr/u16-chr: New file.
53522         * modules/unistr/u32-chr: New file.
53523         * lib/unistr/u8-chr.c: New file.
53524         * lib/unistr/u16-chr.c: New file.
53525         * lib/unistr/u32-chr.c: New file.
53526
53527         * modules/unistr/u8-cmp: New file.
53528         * modules/unistr/u16-cmp: New file.
53529         * modules/unistr/u32-cmp: New file.
53530         * lib/unistr/u8-cmp.c: New file.
53531         * lib/unistr/u16-cmp.c: New file.
53532         * lib/unistr/u32-cmp.c: New file.
53533
53534         * modules/unistr/u8-cpy: New file.
53535         * modules/unistr/u16-cpy: New file.
53536         * modules/unistr/u32-cpy: New file.
53537         * lib/unistr/u8-cpy.c: New file.
53538         * lib/unistr/u16-cpy.c: New file.
53539         * lib/unistr/u32-cpy.c: New file.
53540         * lib/unistr/u-cpy.h: New file.
53541
53542         * modules/unistr/u8-cpy-alloc: New file.
53543         * modules/unistr/u16-cpy-alloc: New file.
53544         * modules/unistr/u32-cpy-alloc: New file.
53545         * lib/unistr/u8-cpy-alloc.c: New file.
53546         * lib/unistr/u16-cpy-alloc.c: New file.
53547         * lib/unistr/u32-cpy-alloc.c: New file.
53548         * lib/unistr/u-cpy-alloc.h: New file.
53549
53550         * modules/unistr/u8-endswith: New file.
53551         * modules/unistr/u16-endswith: New file.
53552         * modules/unistr/u32-endswith: New file.
53553         * lib/unistr/u8-endswith.c: New file.
53554         * lib/unistr/u16-endswith.c: New file.
53555         * lib/unistr/u32-endswith.c: New file.
53556         * lib/unistr/u-endswith.h: New file.
53557
53558         * modules/unistr/u8-mblen: New file.
53559         * modules/unistr/u16-mblen: New file.
53560         * modules/unistr/u32-mblen: New file.
53561         * lib/unistr/u8-mblen.c: New file.
53562         * lib/unistr/u16-mblen.c: New file.
53563         * lib/unistr/u32-mblen.c: New file.
53564
53565         * modules/unistr/u8-mbtouc: New file.
53566         * modules/unistr/u16-mbtouc: New file.
53567         * modules/unistr/u32-mbtouc: New file.
53568         * lib/unistr/u8-mbtouc.c: New file.
53569         * lib/unistr/u16-mbtouc.c: New file.
53570         * lib/unistr/u32-mbtouc.c: New file.
53571
53572         * modules/unistr/u8-mbtouc-safe: New file.
53573         * modules/unistr/u16-mbtouc-safe: New file.
53574         * modules/unistr/u32-mbtouc-safe: New file.
53575         * lib/unistr/u8-mbtouc-safe.c: New file.
53576         * lib/unistr/u16-mbtouc-safe.c: New file.
53577         * lib/unistr/u32-mbtouc-safe.c: New file.
53578
53579         * modules/unistr/u8-move: New file.
53580         * modules/unistr/u16-move: New file.
53581         * modules/unistr/u32-move: New file.
53582         * lib/unistr/u8-move.c: New file.
53583         * lib/unistr/u16-move.c: New file.
53584         * lib/unistr/u32-move.c: New file.
53585         * lib/unistr/u-move.h: New file.
53586
53587         * modules/unistr/u8-next: New file.
53588         * modules/unistr/u16-next: New file.
53589         * modules/unistr/u32-next: New file.
53590         * lib/unistr/u8-next.c: New file.
53591         * lib/unistr/u16-next.c: New file.
53592         * lib/unistr/u32-next.c: New file.
53593
53594         * modules/unistr/u8-prev: New file.
53595         * modules/unistr/u16-prev: New file.
53596         * modules/unistr/u32-prev: New file.
53597         * lib/unistr/u8-prev.c: New file.
53598         * lib/unistr/u16-prev.c: New file.
53599         * lib/unistr/u32-prev.c: New file.
53600
53601         * modules/unistr/u8-set: New file.
53602         * modules/unistr/u16-set: New file.
53603         * modules/unistr/u32-set: New file.
53604         * lib/unistr/u8-set.c: New file.
53605         * lib/unistr/u16-set.c: New file.
53606         * lib/unistr/u32-set.c: New file.
53607         * lib/unistr/u-set.h: New file.
53608
53609         * modules/unistr/u8-startswith: New file.
53610         * modules/unistr/u16-startswith: New file.
53611         * modules/unistr/u32-startswith: New file.
53612         * lib/unistr/u8-startswith.c: New file.
53613         * lib/unistr/u16-startswith.c: New file.
53614         * lib/unistr/u32-startswith.c: New file.
53615         * lib/unistr/u-startswith.h: New file.
53616
53617         * modules/unistr/u8-stpcpy: New file.
53618         * modules/unistr/u16-stpcpy: New file.
53619         * modules/unistr/u32-stpcpy: New file.
53620         * lib/unistr/u8-stpcpy.c: New file.
53621         * lib/unistr/u16-stpcpy.c: New file.
53622         * lib/unistr/u32-stpcpy.c: New file.
53623         * lib/unistr/u-stpcpy.h: New file.
53624
53625         * modules/unistr/u8-stpncpy: New file.
53626         * modules/unistr/u16-stpncpy: New file.
53627         * modules/unistr/u32-stpncpy: New file.
53628         * lib/unistr/u8-stpncpy.c: New file.
53629         * lib/unistr/u16-stpncpy.c: New file.
53630         * lib/unistr/u32-stpncpy.c: New file.
53631         * lib/unistr/u-stpncpy.h: New file.
53632
53633         * modules/unistr/u8-strcat: New file.
53634         * modules/unistr/u16-strcat: New file.
53635         * modules/unistr/u32-strcat: New file.
53636         * lib/unistr/u8-strcat.c: New file.
53637         * lib/unistr/u16-strcat.c: New file.
53638         * lib/unistr/u32-strcat.c: New file.
53639         * lib/unistr/u-strcat.h: New file.
53640
53641         * modules/unistr/u8-strchr: New file.
53642         * modules/unistr/u16-strchr: New file.
53643         * modules/unistr/u32-strchr: New file.
53644         * lib/unistr/u8-strchr.c: New file.
53645         * lib/unistr/u16-strchr.c: New file.
53646         * lib/unistr/u32-strchr.c: New file.
53647
53648         * modules/unistr/u8-strcmp: New file.
53649         * modules/unistr/u16-strcmp: New file.
53650         * modules/unistr/u32-strcmp: New file.
53651         * lib/unistr/u8-strcmp.c: New file.
53652         * lib/unistr/u16-strcmp.c: New file.
53653         * lib/unistr/u32-strcmp.c: New file.
53654
53655         * modules/unistr/u8-strcpy: New file.
53656         * modules/unistr/u16-strcpy: New file.
53657         * modules/unistr/u32-strcpy: New file.
53658         * lib/unistr/u8-strcpy.c: New file.
53659         * lib/unistr/u16-strcpy.c: New file.
53660         * lib/unistr/u32-strcpy.c: New file.
53661         * lib/unistr/u-strcpy.h: New file.
53662
53663         * modules/unistr/u8-strcspn: New file.
53664         * modules/unistr/u16-strcspn: New file.
53665         * modules/unistr/u32-strcspn: New file.
53666         * lib/unistr/u8-strcspn.c: New file.
53667         * lib/unistr/u16-strcspn.c: New file.
53668         * lib/unistr/u32-strcspn.c: New file.
53669         * lib/unistr/u-strcspn.h: New file.
53670
53671         * modules/unistr/u8-strdup: New file.
53672         * modules/unistr/u16-strdup: New file.
53673         * modules/unistr/u32-strdup: New file.
53674         * lib/unistr/u8-strdup.c: New file.
53675         * lib/unistr/u16-strdup.c: New file.
53676         * lib/unistr/u32-strdup.c: New file.
53677         * lib/unistr/u-strdup.h: New file.
53678
53679         * modules/unistr/u8-strlen: New file.
53680         * modules/unistr/u16-strlen: New file.
53681         * modules/unistr/u32-strlen: New file.
53682         * lib/unistr/u8-strlen.c: New file.
53683         * lib/unistr/u16-strlen.c: New file.
53684         * lib/unistr/u32-strlen.c: New file.
53685         * lib/unistr/u-strlen.h: New file.
53686
53687         * modules/unistr/u8-strmblen: New file.
53688         * modules/unistr/u16-strmblen: New file.
53689         * modules/unistr/u32-strmblen: New file.
53690         * lib/unistr/u8-strmblen.c: New file.
53691         * lib/unistr/u16-strmblen.c: New file.
53692         * lib/unistr/u32-strmblen.c: New file.
53693
53694         * modules/unistr/u8-strmbtouc: New file.
53695         * modules/unistr/u16-strmbtouc: New file.
53696         * modules/unistr/u32-strmbtouc: New file.
53697         * lib/unistr/u8-strmbtouc.c: New file.
53698         * lib/unistr/u16-strmbtouc.c: New file.
53699         * lib/unistr/u32-strmbtouc.c: New file.
53700
53701         * modules/unistr/u8-strncat: New file.
53702         * modules/unistr/u16-strncat: New file.
53703         * modules/unistr/u32-strncat: New file.
53704         * lib/unistr/u8-strncat.c: New file.
53705         * lib/unistr/u16-strncat.c: New file.
53706         * lib/unistr/u32-strncat.c: New file.
53707         * lib/unistr/u-strncat.h: New file.
53708
53709         * modules/unistr/u8-strncmp: New file.
53710         * modules/unistr/u16-strncmp: New file.
53711         * modules/unistr/u32-strncmp: New file.
53712         * lib/unistr/u8-strncmp.c: New file.
53713         * lib/unistr/u16-strncmp.c: New file.
53714         * lib/unistr/u32-strncmp.c: New file.
53715
53716         * modules/unistr/u8-strncpy: New file.
53717         * modules/unistr/u16-strncpy: New file.
53718         * modules/unistr/u32-strncpy: New file.
53719         * lib/unistr/u8-strncpy.c: New file.
53720         * lib/unistr/u16-strncpy.c: New file.
53721         * lib/unistr/u32-strncpy.c: New file.
53722         * lib/unistr/u-strncpy.h: New file.
53723
53724         * modules/unistr/u8-strnlen: New file.
53725         * modules/unistr/u16-strnlen: New file.
53726         * modules/unistr/u32-strnlen: New file.
53727         * lib/unistr/u8-strnlen.c: New file.
53728         * lib/unistr/u16-strnlen.c: New file.
53729         * lib/unistr/u32-strnlen.c: New file.
53730         * lib/unistr/u-strnlen.h: New file.
53731
53732         * modules/unistr/u8-strpbrk: New file.
53733         * modules/unistr/u16-strpbrk: New file.
53734         * modules/unistr/u32-strpbrk: New file.
53735         * lib/unistr/u8-strpbrk.c: New file.
53736         * lib/unistr/u16-strpbrk.c: New file.
53737         * lib/unistr/u32-strpbrk.c: New file.
53738         * lib/unistr/u-strpbrk.h: New file.
53739
53740         * modules/unistr/u8-strrchr: New file.
53741         * modules/unistr/u16-strrchr: New file.
53742         * modules/unistr/u32-strrchr: New file.
53743         * lib/unistr/u8-strrchr.c: New file.
53744         * lib/unistr/u16-strrchr.c: New file.
53745         * lib/unistr/u32-strrchr.c: New file.
53746
53747         * modules/unistr/u8-strspn: New file.
53748         * modules/unistr/u16-strspn: New file.
53749         * modules/unistr/u32-strspn: New file.
53750         * lib/unistr/u8-strspn.c: New file.
53751         * lib/unistr/u16-strspn.c: New file.
53752         * lib/unistr/u32-strspn.c: New file.
53753         * lib/unistr/u-strspn.h: New file.
53754
53755         * modules/unistr/u8-strstr: New file.
53756         * modules/unistr/u16-strstr: New file.
53757         * modules/unistr/u32-strstr: New file.
53758         * lib/unistr/u8-strstr.c: New file.
53759         * lib/unistr/u16-strstr.c: New file.
53760         * lib/unistr/u32-strstr.c: New file.
53761         * lib/unistr/u-strstr.h: New file.
53762
53763         * modules/unistr/u8-strtok: New file.
53764         * modules/unistr/u16-strtok: New file.
53765         * modules/unistr/u32-strtok: New file.
53766         * lib/unistr/u8-strtok.c: New file.
53767         * lib/unistr/u16-strtok.c: New file.
53768         * lib/unistr/u32-strtok.c: New file.
53769         * lib/unistr/u-strtok.h: New file.
53770
53771         * modules/unistr/u8-uctomb: New file.
53772         * modules/unistr/u16-uctomb: New file.
53773         * modules/unistr/u32-uctomb: New file.
53774         * lib/unistr/u8-uctomb.c: New file.
53775         * lib/unistr/u16-uctomb.c: New file.
53776         * lib/unistr/u32-uctomb.c: New file.
53777
53778         * MODULES.html.sh (Unicode string functions): Add the new modules.
53779
53780 2007-01-08  Bruno Haible  <bruno@clisp.org>
53781
53782         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
53783         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
53784         subdirectories.
53785
53786 2007-01-08  Karl Berry  <karl@gnu.org>
53787
53788         * doc/error.texi: mention that main() fns must set program_name
53789         when progname is used.
53790
53791 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
53792
53793         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
53794         WCTYPE_H is empty, for the benefit of builds from non-distclean
53795         directories.  Problem reported by Eric Blake in
53796         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53797
53798 2007-01-08  Bruno Haible  <bruno@clisp.org>
53799
53800         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53801         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53802         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53803         PROVIDE_CANONICALIZE_FILENAME_MODE.
53804         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53805
53806 2007-01-08  Bruno Haible  <bruno@clisp.org>
53807
53808         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53809         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53810         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53811         * lib/fts.c: Likewise.
53812         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53813
53814 2006-12-25  Bruno Haible  <bruno@clisp.org>
53815
53816         * modules/utf8-ucs4-safe: New file.
53817         * lib/utf8-ucs4-safe.h: New file.
53818         * lib/unistr/utf8-ucs4-safe.c: New file.
53819
53820         * modules/utf16-ucs4-safe: New file.
53821         * lib/utf16-ucs4-safe.h: New file.
53822         * lib/unistr/utf16-ucs4-safe.c: New file.
53823
53824         * MODULES.html.sh (Unicode string functions): Add the new modules.
53825
53826 2007-01-08  Bruno Haible  <bruno@clisp.org>
53827
53828         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53829         (Depends-on): Add unitypes.
53830         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53831         (u8_mbtouc_aux): Move out to separate file.
53832         (u8_mbtouc): Use ucs4_t, uint8_t types.
53833         * lib/unistr/utf8-ucs4.c: New file.
53834
53835         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53836         (Depends-on): Add unitypes.
53837         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53838         (u16_mbtouc_aux): Move out to separate file.
53839         (u16_mbtouc): Use ucs4_t, uint16_t types.
53840         * lib/unistr/utf16-ucs4.c: New file.
53841
53842         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53843         (Depends-on): Add unitypes.
53844         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53845         (u8_uctomb_aux): Move out to separate file.
53846         (u8_uctomb): Use ucs4_t, uint8_t types.
53847         * lib/unistr/ucs4-utf8.c: New file.
53848
53849         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53850         (Depends-on): Add unitypes.
53851         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53852         (u16_uctomb_aux): Move out to separate file.
53853         (u16_uctomb): Use ucs4_t, uint16_t types.
53854         * lib/unistr/ucs4-utf16.c: New file.
53855
53856 2006-12-25  Bruno Haible  <bruno@clisp.org>
53857
53858         * modules/unitypes: New file.
53859         * lib/unitypes.h: New file.
53860         * MODULES.html.sh (func_all_modules): New section "Unicode string
53861         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53862         this section. Add unitypes.
53863
53864 2007-01-08  Bruno Haible  <bruno@clisp.org>
53865
53866         Avoid variable names that conflict with those from libtool.
53867         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53868         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53869         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53870         library_names_spec to acl_library_names_spec, hardcode_* to
53871         acl_hardcode_*.
53872         Reported by Ralf Wildenhues.
53873
53874 2007-01-08  Bruno Haible  <bruno@clisp.org>
53875
53876         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53877         definition.
53878         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53879         definition.
53880         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53881         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53882         definition.
53883         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53884         definition.
53885         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53886         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53887         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53888         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53889         definition.
53890         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53891         definition.
53892         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53893         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53894         GC_USE_<algorithm>.
53895         * lib/gc-libgcrypt.c: Likewise.
53896         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53897         * modules/gc-arctwo (configure.ac): Likewise.
53898         * modules/gc-des (configure.ac): Likewise.
53899         * modules/gc-hmac-md5 (configure.ac): Likewise.
53900         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53901         * modules/gc-md2 (configure.ac): Likewise.
53902         * modules/gc-md4 (configure.ac): Likewise.
53903         * modules/gc-md5 (configure.ac): Likewise.
53904         * modules/gc-random (configure.ac): Likewise.
53905         * modules/gc-rijndael (configure.ac): Likewise.
53906         * modules/gc-sha1 (configure.ac): Likewise.
53907
53908 2007-01-08  Bruno Haible  <bruno@clisp.org>
53909
53910         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53911         macro definition.
53912         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53913         definition.
53914         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53915         definition.
53916         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53917         * modules/fcntl-safer (configure.ac): Likewise.
53918         * modules/fopen-safer (configure.ac): Likewise.
53919         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53920         GNULIB_FWRITEERROR macro definition.
53921
53922 2007-01-08  Bruno Haible  <bruno@clisp.org>
53923
53924         * m4/gnulib-common.m4: New file.
53925         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53926         (func_get_filelist): Add m4/gnulib-common.m4.
53927
53928 2007-01-08  Bruno Haible  <bruno@clisp.org>
53929
53930         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53931         command.
53932
53933 2007-01-08  Jim Meyering  <jim@meyering.net>
53934
53935         Use a more robust test for a "can't happen" condition.
53936         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53937         narrowed the st_size value.  Presuming the "can't happen" condition
53938         is true, that narrowing could conceivably convert an invalid st_size
53939         value into a valid one.  Instead, use a change based on Matthew
53940         Woehlke's original patch.
53941
53942         Slight readability improvement: use an assert-like macro
53943         in place of literal "abort ()" uses.
53944         * lib/fts.c (fts_assert): Define.
53945         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53946         Use this macro instead of a bare 'abort'.
53947
53948 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53949
53950         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53951         simply work around them.
53952         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53953         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53954         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53955         declaring.
53956         Don't bother to define as macros, since the standard doesn't require it.
53957         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53958         longer worry about IRIX 5.3.
53959         (HAVE_WCTYPE_CTMP_BUG): Remove.
53960
53961 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53962
53963         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53964         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53965         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53966         Problems reported by Georg Schwarz for IRIX 5.3.
53967
53968         * gnulib-tool (autoconf_minversion): Take the maximum version number
53969         found, not the minimum.  Problem reported by James Youngman.
53970
53971 2007-01-03  Karl Berry  <karl@gnu.org>
53972
53973         * doc/error.texi: new file, explaining interaction with progname.
53974         * doc/gnulib.texi: include it.  Update copyright.
53975
53976 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53977
53978         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53979         AC_CANONICAL_HOST, to improve autobuild outputs.
53980
53981 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53982             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53983
53984         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53985         sockets, server sockets, and other file descriptors.  Count errors
53986         to compute the return value.  Reorder the code a bit to be easier
53987         to follow.  Don't set event bits that were not requested (except
53988         POLLERR and POLLHUP).
53989
53990 2007-01-01  Bruno Haible  <bruno@clisp.org>
53991
53992         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53993
53994 2007-01-03  Jim Meyering  <jim@meyering.net>
53995
53996         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53997
53998 2007-01-02  Bruno Haible  <bruno@clisp.org>
53999
54000         * modules/settime (Include): Require timespec.h.
54001         * modules/nanosleep (Include): Likewise.
54002
54003 2007-01-01  Bruno Haible  <bruno@clisp.org>
54004
54005         * gnulib-tool (func_emit_copyright_notice): Bump year.
54006         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
54007
54008 2007-01-01  Bruno Haible  <bruno@clisp.org>
54009
54010         Improve support for OpenBSD.
54011         * build-aux/config.rpath (libname_spec): Export.
54012         (library_names_spec): New variable. Export.
54013         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
54014         library_names_spec from the config.rpath output. Locate shared library
54015         through the name pattern in library_names_spec.
54016
54017 2007-01-01  Eric Blake  <ebb9@byu.net>
54018
54019         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
54020
54021 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
54022
54023         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
54024         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
54025         assume the C locale, and avoid an "eval" that could cause trouble.
54026         Problem with SORT reported by Bob Proulx.
54027
54028         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
54029         Define.  Trivial patch from Henning Nielsen Lund, originally
54030         sent to bug-grep@gnu.org today.
54031
54032 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54033
54034         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
54035         struct stat.  Problem reported by Henning Nielsen Lund.
54036         * lib/acl.c: Include acl.h first, to check interface.  Don't
54037         bother to include sys/types.h and sys/stat.h again.
54038
54039 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54040
54041         Import the following change from libc; problem reported by
54042         Sven Verdoolaege.
54043
54044         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
54045
54046         [BZ #1373]
54047         * lib/argp.h: Remove __NTH for __argp_usage inline function.
54048
54049 2006-12-28  Jim Meyering  <jim@meyering.net>
54050
54051         * build-aux/announce-gen: Do not assume that the package
54052         builds any of tar.gz, tar.bz2, and .xdelta files.
54053         Suggestion from Simon Josefsson.
54054
54055 2006-12-28  Simon Josefsson  <simon@josefsson.org>
54056
54057         * modules/announce-gen: New file.
54058
54059 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
54060
54061         * lib/mbchar.h: Just include <wctype.h>; the wctype module
54062         handles its gotchas now.
54063         * lib/mbswidth.c: Likewise.
54064         * lib/wcwidth.h: Likewise.
54065         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
54066         and iswcntrl; the wctype module does this stuff now.
54067         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
54068         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54069         * modules/mbchar (Depends-on): Add wctype.
54070         * modules/mbswidth (Depends-on): Likewise.
54071         * modules/wcwidth (Depends-on): Likewise.
54072
54073 2006-12-27  Eric Blake  <ebb9@byu.net>
54074
54075         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
54076         module uses more than what <wctype.h> is required to provide.
54077
54078 2006-12-26  Eric Blake  <ebb9@byu.net>
54079
54080         * gnulib-tool (sed_extract_prog): Avoid space-tab.
54081
54082 2006-12-26  Eric Blake  <ebb9@byu.net>
54083
54084         * modules/absolute-header: New module.
54085         * modules/fcntl (Depends-on): Depend on it.
54086         * modules/inttypes (Depends-on): Likewise.
54087         * modules/stdint (Depends-on): Likewise.
54088         * modules/sys_stat (Depends-on): Likewise.
54089         * modules/wctype (Depends-on): Likewise.
54090         * MODULES.html.sh (Support for building libraries and
54091         executables): Document it.
54092
54093 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
54094
54095         * gnulib-tool (SED): Remove, undoing previous change.
54096         The problem was that it broke coreutils on Solaris, because
54097         "sed --posix" leaked into a makefile.
54098         (sed): New alias, if 'alias' and GNU sed.
54099
54100 2006-12-24  Jim Meyering  <jim@meyering.net>
54101
54102         Work around an fchownat bug in glibc-2.4:
54103         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
54104         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
54105         in spite of the -P option.
54106         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
54107         New macros.
54108         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
54109         * modules/openat (Files): Add lib/fchownat.c.
54110         * lib/openat.c (fchownat): Don't define here.  Move to...
54111         * lib/fchownat.c: ...this new file.
54112
54113 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54114
54115         Fix bug reported by Bruno Haible in
54116         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
54117         where quotearg.c didn't compile on Mac OS X 10.2 because it
54118         lacks <wchar.h> and wint_t.
54119         * lib/wctype_.h (__wctype_wint_t): New type.
54120         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
54121         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
54122         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
54123         Arg is now of type __wctype_wint_t, not wint_t.
54124         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
54125         substitute HAVE_WINT_T.
54126         * modules/wctype (Files): Add m4/wint_t.m4.
54127         (wctype.h): Substitute HAVE_WINT_T.
54128
54129 2006-12-23  Bruno Haible  <bruno@clisp.org>
54130
54131         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
54132
54133 2006-12-23  Bruno Haible  <bruno@clisp.org>
54134
54135         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
54136         S_ISLNK.
54137         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
54138         mingw.
54139
54140 2006-12-22  Bruno Haible  <bruno@clisp.org>
54141
54142         * lib/copy-file.c: Include acl.h.
54143         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
54144         Close the file descriptors only after being done with copy_acl.
54145         * modules/copy-file (Depends-on): Add acl.
54146
54147 2006-12-22  Bruno Haible  <bruno@clisp.org>
54148
54149         * gnulib-tool (SED): New variable.
54150         Use $SED instead of sed everywhere.
54151
54152 2006-12-22  Bruno Haible  <bruno@clisp.org>
54153
54154         * modules/no-c++: New file.
54155         * m4/no-c++.m4: New file.
54156         * MODULES.html.sh (Support for building libraries and executables):
54157         Add no-c++.
54158
54159 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
54160
54161         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54162         Include <limits.h>, and use its INT_MAX to rewrite the
54163         j loop so that it does not overflow 'int'.  Problem reported by
54164         Ralf Wildenhues in
54165         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54166         Play it safe by shifting left by 1 rather than multiplying by 2,
54167         as GCC is less likely to optimize this away when the value
54168         is signed (when it assumes overflow leads to undefined behavior).
54169         Also, don't assume time_t uses two's complement.
54170
54171 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
54172
54173         * MODULES.html.sh: New module wctype.
54174         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
54175         * lib/fnmatch.c: Don't bother to include <wchar.h> before
54176         <wctype.h>, since the new wctype module should fix this.
54177         * lib/quotearg.c: Include <wctype.h> unconditionally, since
54178         the wctype module should arrange for it.
54179         * lib/regex_internal.h: Likewise.
54180         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
54181         since the wctype module should handle this now.
54182         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
54183         * modules/fnmatch (Depends-on): Add wctype.
54184         * modules/quotearg (Depends-on): Likewise.
54185         * modules/regex (Depends-on): Likewise.
54186
54187 2006-12-19  Bruno Haible  <bruno@clisp.org>
54188
54189         * lib/strdup.h [C++]: Wrap definitions in extern "C".
54190         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
54191
54192 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54193
54194         * modules/savewd (Depends-on): Fix dependency on fcntl.
54195
54196 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54197
54198         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
54199         conforms to C99, rather than relying on the user's environment
54200         setting of STDINT_H.
54201
54202 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54203         and Eric Blake  <ebb9@byu.net>
54204
54205         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
54206         This is more consistent with the other defines here.
54207         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
54208         Port to z/OS.  Problem reported by Paul Gilmartin.
54209         Change local vars to use gl_ prefix rather than ac_.
54210         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
54211         with other defines.
54212         * modules/double-slash-root: New module.
54213         * modules/dirname (Files): Remove m4/double-slash-root.m4.
54214         (Depends-on): Add double-slash-root.
54215         * MODULES.html.sh (File system functions): Mention new module.
54216
54217 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
54218
54219         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
54220         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
54221         This is for the benefit of gzip, which doesn't do i18n.
54222
54223 2006-12-12  Jim Meyering  <jim@meyering.net>
54224
54225         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
54226         Reported by Andreas Schwab <schwab@suse.de>.
54227
54228 2006-12-12  Bruno Haible  <bruno@clisp.org>
54229
54230         Merge these changes.
54231         2006-09-05  Bruno Haible  <bruno@clisp.org>
54232         * lib/iconvme.c (iconv_string): No need to save and restore errno when
54233         iconv_alloc succeeded.
54234         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
54235         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
54236         test for " && dest " at the end - dest is always != NULL there. Call
54237         iconv with 4xNULL arguments initially, to reset the state. Call iconv
54238         with 2xNULL arguments, also to flush the state storage. Handle the
54239         IRIX iconv behaviour. Realloc the final result, to throw away unused
54240         memory.
54241
54242 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
54243
54244         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
54245         and fchmodat unconditionally, since glibc 2.4 has them.
54246         Problem reported by Arkadiusz Miskiewicz.
54247
54248 2006-12-10  Bruno Haible  <bruno@clisp.org>
54249
54250         * gnulib-tool (func_import): Show the include files only for those
54251         modules that are copied and specified.
54252         Reported by Karl Berry.
54253
54254 2006-12-08  Jim Meyering  <jim@meyering.net>
54255
54256         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
54257         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
54258
54259         * build-aux/announce-gen: Add two new options, both optional:
54260         --bootstrap-tools=TOOL_LIST
54261               a comma-separated list of tools, e.g.,
54262               autoconf,automake,bison,gnulib
54263         --gnulib-snapshot-date=DATE
54264               if gnulib is in the bootstrap tool list,
54265               then report this as the snapshot date.
54266               If not specified, use the current date/time.
54267               If you specify a date here, be sure it's UTC.
54268
54269 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54270
54271         * tests/test-argp-2.sh: Fix test to match actual output.
54272         (func_compare): Fix sed script to be portable.
54273
54274 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
54275
54276         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
54277         workaround for this case.  It is not autoconfigured now; offhand
54278         it's hard to see how to autoconfigure it.
54279
54280 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54281
54282         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
54283         a directory that is about to be chowned.  Such a directory's
54284         initial file permissions should permit the owner only and this
54285         should not be changed until after the chown, since the group and
54286         other bits would be incorrect if they granted permission before
54287         the chown.
54288
54289         Fix porting problem for iswctype reported by Georg Schwarz in:
54290         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
54291         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
54292         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
54293         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
54294         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54295
54296 2006-12-03  Jim Meyering  <jim@meyering.net>
54297
54298         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
54299         p->fts_statp may not yet be defined.
54300         (fts_read): Instead, set it in the caller, once p->fts_statp is
54301         sure to be defined, and corresponds to a top-level directory.
54302         This bug made du -x fail.  Here's the coreutils test case:
54303         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
54304         Reported by Mike Frysinger.
54305
54306 2006-12-01  Jim Meyering  <jim@meyering.net>
54307
54308         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
54309         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
54310         Reported by Simon Josefsson.
54311
54312 2006-11-30  Jim Meyering  <jim@meyering.net>
54313
54314         * m4/warning.m4: Use the all-permissive copyright notice
54315         recommended by RMS (rather than LGPL).
54316         * m4/vararrays.m4: Likewise.
54317         * m4/flexmember.m4: Likewise.
54318
54319 2006-11-29  Bruno Haible  <bruno@clisp.org>
54320
54321         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54322         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
54323         using +=.
54324         Reported by Simon Josefsson <simon@josefsson.org>.
54325
54326 2006-11-28  James Youngman <jay@gnu.org>
54327
54328         * README: Advise users that they might find the bug-gnulib@gnu.org
54329         and autotools-announce@gnu.org mailing lists useful.
54330
54331 2006-11-28  Bruno Haible  <bruno@clisp.org>
54332
54333         * m4/ptrdiff_max.m4: Remove file.
54334
54335 2006-11-21  Bruno Haible  <bruno@clisp.org>
54336
54337         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
54338         _AC_COMPUTE_INT.
54339         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54340         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
54341         _AC_COMPUTE_INT.
54342         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54343         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
54344         _AC_COMPUTE_INT.
54345         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54346
54347 2006-11-28  Jim Meyering  <jim@meyering.net>
54348
54349         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
54350         warning from "gcc -Wshadow" about shadowing the builtin.
54351
54352 2006-11-27  Bruno Haible  <bruno@clisp.org>
54353
54354         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
54355         _AC_COMPUTE_INT.
54356         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54357
54358 2006-11-27  Bruno Haible  <bruno@clisp.org>
54359             Paul Eggert  <eggert@cs.ucla.edu>
54360
54361         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
54362
54363 2006-11-26  Bruno Haible  <bruno@clisp.org>
54364
54365         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54366         noinst_LTLIBRARIES.
54367
54368 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54369             Bruno Haible  <bruno@clisp.org>
54370
54371         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
54372         if compiling with "gcc -ansi".
54373
54374 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54375
54376         Fix some incompatibilities with gcc -ansi -pedantic.
54377         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
54378         if compiling pedantically with GCC, unless it's C99 or later.
54379         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
54380         it mishandles gcc -ansi -pedantic as well.
54381         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
54382         if gcc -pedantic.
54383         * lib/regexec.c (check_node_accept_bytes): Don't use auto
54384         initializers for struct if -pedantic, unless it's C99 or later.
54385
54386 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
54387
54388         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
54389         Don't close an fd more than once. Identical atimes indicate
54390         success, not failure.
54391
54392 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
54393
54394         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
54395
54396 2006-11-23  Jim Meyering  <jim@meyering.net>
54397
54398         * build-aux/announce-gen: New file.  From coreutils.
54399
54400 2006-11-22  Jim Meyering  <jim@meyering.net>
54401
54402         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
54403         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
54404         (fts_read): Use a temporary to narrow the overused st_size member
54405         before using it in a switch statement.  Reported by Matthew Woehlke.
54406
54407         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
54408         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
54409
54410 2006-11-20  Bruno Haible  <bruno@clisp.org>
54411
54412         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
54413         changequote instead of pairs of brackets.
54414         Reported by Andreas Schwab <schwab@suse.de>.
54415
54416 2006-11-21  Jim Meyering  <jim@meyering.net>
54417
54418         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
54419         so as to remain compatible with older compilers.
54420         Patch from Michael Deutschmann.
54421
54422 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54423
54424         * MODULES.html.sh (File system functions): Add openat.
54425
54426         * lib/openat.h (rpl_fstatat): New macro, if
54427         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
54428         (fstatat): Define to rpl_fstatat under the same conditions,
54429         unless COMPILING_FSTATAT.
54430         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
54431         seems to have the bug.
54432         * lib/fstatat.c: New file.
54433         * modules/openat (Files): Add it.
54434
54435 2006-11-20  Bruno Haible  <bruno@clisp.org>
54436
54437         * Makefile: New file.
54438
54439 2006-11-20  Jim Meyering  <jim@meyering.net>
54440
54441         The beginnings of syntax-related checks for gnulib.
54442         * lib/Makefile: New file.
54443         * lib/t-idcache: New script.  Ensure that the two halves of
54444         idcache.c stay in sync.
54445
54446         * lib/idcache.c: Adjust comments in user- and group- portions to
54447         be more accurate, and to be consistent with one another.
54448
54449 2006-11-20  Jim Meyering  <jim@meyering.net>
54450
54451         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
54452         continue using the flexible array member (thus, this module performs
54453         half as many malloc calls), with the addition that...
54454         (getgroup, getuser): Consistently record a non-match via an empty
54455         "name" string, and map an empty string match to a NULL return value.
54456         * modules/idcache (Depends-on): Re-add flexmember.
54457
54458         * lib/idcache.c (getuser): Remove all uses of the register keyword.
54459         (getuidbyname, getgroup, getgidbyname): Likewise.
54460
54461         Use cleaner syntax: NULL rather than 0.
54462         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
54463
54464 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54465
54466         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
54467         It mishandled the case where the group was missing.
54468         Problem reported by Greg Schafer.
54469         * modules/idcache: Likewise.
54470
54471 2006-11-18  Jim Meyering  <jim@meyering.net>
54472
54473         * check-module (%exempt_header): Add exception for some
54474         conditionally-included headers.
54475
54476         * modules/i-ring (Depends-on): Add verify.
54477         (License): Change to LGPL.
54478
54479 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54480
54481         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
54482         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
54483         and inttostr.h.  Use snprintf rather than uinttostr, so that
54484         LGPLed code doesn't depend on GPLed.
54485
54486 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54487
54488         * modules/inline (License): Change from GPL to LGPL.
54489
54490 2006-11-17  Jim Meyering  <jim@meyering.net>
54491
54492         * modules/d-type (License): Switch to LGPL.
54493
54494 2006-11-15  Bruno Haible  <bruno@clisp.org>
54495
54496         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
54497
54498 2006-11-15  Eric Blake  <ebb9@byu.net>
54499
54500         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
54501         the module dependency.
54502
54503 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54504             Bruno Haible  <bruno@clisp.org>
54505
54506         * gnulib-tool (func_create_testdir): Add license consistency check.
54507
54508 2006-11-15  Eric Blake  <ebb9@byu.net>
54509
54510         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
54511         random "(cached)" in configure output.
54512
54513 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54514
54515         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
54516         test for conforming inttypes.h is both announced and cached.
54517
54518         * MODULES.html.sh (seen_modules, seen_files): New variables.
54519         (func_module): Rewrite to use a few less gnulib-tool and sed
54520         invocations.  Avoid a couple of quadratic algorithms for ...
54521         (missed_modules, missed_files): ... these, with ...
54522         (func_append, func_tmpdir): ... these new functions, from
54523         gnulib-tool.  Analogously, install traps for cleanup.
54524
54525         * tests/test-gc.c (main): Remove unused variables.
54526         * tests/test-read-file.c: Include stdlib.h, for 'free'.
54527
54528 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
54529
54530         * modules/inttostr (License): Change to LGPL.
54531
54532 2006-11-14  Eric Blake  <ebb9@byu.net>
54533
54534         * modules/tempname (License): Change to LGPL.
54535
54536 2006-11-14  Eric Blake  <ebb9@byu.net>
54537
54538         * doc/functions.texi (Function Portability): *printf functions on
54539         Cygwin now understand all POSIX size specifiers.
54540
54541 2006-11-14  Bruno Haible  <bruno@clisp.org>
54542
54543         * modules/c-ctype (License): Change to LGPL.
54544
54545 2006-11-12  Bruno Haible  <bruno@clisp.org>
54546
54547         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54548         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
54549         for GNOME libraries, for which the include files are installed in
54550         subdirectories of $prefix/include.
54551
54552 2006-11-12  Bruno Haible  <bruno@clisp.org>
54553
54554         * m4/lib-link.m4: Require at least autoconf-2.54.
54555         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
54556         name to underscores for the --with option.
54557
54558 2006-11-13  Bruno Haible  <bruno@clisp.org>
54559
54560         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
54561         the tests directory.
54562         Reported by Ralf Wildenhues.
54563
54564 2006-11-13  Bruno Haible  <bruno@clisp.org>
54565
54566         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
54567         (func_emit_initmacro_end): Undo the override here.
54568         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
54569         Works around the famous automake error in coreutils.
54570
54571 2006-11-13  Eric Blake  <ebb9@byu.net>
54572
54573         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
54574         element, not its node.
54575
54576 2006-11-12  Bruno Haible  <bruno@clisp.org>
54577
54578         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
54579         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
54580
54581 2006-11-12  Bruno Haible  <bruno@clisp.org>
54582
54583         * gnulib-tool: New option --local-symlink.
54584         (func_usage): Document it.
54585         (lsymbolic): New variable.
54586         (func_import, func_create_testdir): If --symlink was not specified,
54587         test whether --local-symlink was specified and the file comes from
54588         the local_gnulib_dir.
54589
54590 2006-11-12  Bruno Haible  <bruno@clisp.org>
54591
54592         * gnulib-tool (func_ln): New function.
54593         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
54594
54595 2006-11-12  Bruno Haible  <bruno@clisp.org>
54596
54597         Finish support for source files in subdirectories.
54598         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
54599         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
54600         AUTOMAKE_OPTIONS.
54601         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
54602
54603 2006-11-12  Bruno Haible  <bruno@clisp.org>
54604
54605         * gnulib-tool (func_get_automake_snippet): Synthesize also an
54606         EXTRA_lib_SOURCES augmentation.
54607         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
54608
54609 2006-11-12  Jim Meyering  <jim@meyering.net>
54610
54611         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
54612         file descriptors.  This also averts a failure on systems with
54613         native openat support when a traversed directory lacks "x" access.
54614         * lib/fts_.h: Include "i-ring.h"
54615         (struct FTS) [fts_fd_ring]: New member.
54616         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
54617         (FCHDIR): Add parentheses.
54618         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
54619         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
54620         When descending, rather than simply closing the previous
54621         fts_cwd_fd value, push that file descriptor onto the ring.
54622         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
54623         (fts_open): Initialize the new fd_ring member.
54624         (fts_close): Clear the ring.
54625         (fts_safe_changedir): When possible, use our new fd_ring to skip
54626         the diropen and fstat and dev/ino comparison that would normally
54627         accompany a virtual `chdir ("..")'.
54628
54629         * modules/fts (Depends-on): Add i-ring.
54630         * modules/i-ring: New module.
54631         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
54632         * m4/i-ring.m4: New file.
54633
54634 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54635
54636         * gnulib-tool (func_create_testdir): Fix replacement of
54637         `build-aux' in configure.ac.  Run autotools in gltests
54638         subdirectory.
54639         (func_create_testdir, func_create_megatestdir, test): There is
54640         no need for '--force' in most autotool invocations in a new
54641         tree.  Actually fail the whole test if any of the tools, or the
54642         configure or make stages fail.
54643
54644         Sync from Automake.
54645         * build-aux/gnupload: Revert last change.  Add pointer to upload
54646         instructions of the GNU Maintenance Instructions.
54647         Suggestion by Karl Berry.
54648
54649 2006-11-10  Jim Meyering  <jim@meyering.net>
54650
54651         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
54652
54653 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54654
54655         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
54656         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
54657         (bind_textdomain_codeset) [! ENABLE_NLS]:
54658         Evaluate all the arguments.  That way, callers get compatible behavior
54659         if the arguments have side effects.  Also, it avoids some GCC
54660         diagnostics in some cases; Joel E. Denny reported problems when Bison
54661         was configured with --enable-gcc-warnigs.
54662
54663 2006-11-10  Jim Meyering  <jim@meyering.net>
54664
54665         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
54666         relevant options in CFLAGS (like -O, -fno-inline) are taken into
54667         account.
54668
54669 2006-11-10  Jim Meyering  <jim@meyering.net>
54670
54671         * modules/inline: New file/module.
54672         * modules/xalloc (Files): Remove m4/inline.m4.
54673         (Depends-on): Add inline, instead.
54674         * modules/oset: Likewise.
54675         * modules/list: Likewise.
54676
54677 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54678
54679         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
54680         Problem reported by Matthew Woehlke.
54681
54682 2006-11-09  Bruno Haible  <bruno@clisp.org>
54683
54684         * lib/tempname.c (gen_tempname): Remove variant that invokes
54685         __gen_tempname.
54686         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
54687         __gen_tempname.
54688
54689 2006-11-08  Bruno Haible  <bruno@clisp.org>
54690
54691         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
54692         to 'yes' instead of 'cross-compiling'.
54693
54694 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
54695
54696         * lib/quotearg.h (quotearg_free): New decl.
54697         * lib/quotearg.c (quotearg_free): New function.
54698         (slot0, nslots, slotvec0, slotvec):
54699         Now file-scope so that quotearg_free can get at them.
54700
54701 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54702
54703         Sync from Automake.
54704         * build-aux/gnupload: Add missing 'gnu' to example URL.
54705         Report by Karl Berry.
54706
54707 2006-11-08  Bruno Haible  <bruno@clisp.org>
54708
54709         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
54710         Suggested by Paul Eggert.
54711
54712 2006-11-08  Jim Meyering  <jim@meyering.net>
54713
54714         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
54715         It's already included if !_LIBC.
54716         (fts_safe_changedir): Add a comment.
54717
54718 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54719
54720         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
54721         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
54722         Matthew Woehlke.
54723
54724         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
54725         definitions up, to avoid colliding with change below.
54726         (static_inline) [HAVE_INLINE]: New macro.
54727         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
54728         Provide extern decls when !HAVE_INLINE.  Do not define unless
54729         static_inline is defined, either by us or by xmalloc.c.  Use
54730         static_inline rather than static inline.
54731         (XCALLOC): Optimize sizeof(T) = 1 case.
54732         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
54733
54734 2006-11-07  Bruno Haible  <bruno@clisp.org>
54735
54736         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
54737         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
54738         AC_C_INLINE.
54739         * modules/xalloc (Files): Add m4/inline.m4.
54740
54741 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54742
54743         * README: Fix typo.
54744         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
54745         (Miscellanous Notes): ...from this.
54746
54747 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54748
54749         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
54750         Mention that offsetof should be used instead of sizeof.
54751         From Bruno Haible.
54752
54753 2006-11-07  Bruno Haible  <bruno@clisp.org>
54754
54755         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
54756
54757 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54758
54759         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54760         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
54761         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54762         (gl_tree_add_before, gl_tree_add_after):
54763         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
54764         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
54765         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54766         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
54767         (gl_linked_add_after, gl_linked_add_at): Likewise.
54768         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
54769         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54770         (gl_tree_add_before, gl_tree_add_after): Likewise.
54771         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
54772         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
54773         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
54774
54775 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54776
54777         * lib/gl_oset.h: Use C comment style, not C++ comment style.
54778
54779 2006-11-06  Bruno Haible  <bruno@clisp.org>
54780
54781         * m4/inline.m4: New file.
54782         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
54783         * modules/list (Files): Add m4/inline.m4.
54784         * modules/oset (Files): Likewise.
54785
54786 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54787
54788         * lib/idcache.c: Include <stddef.h>, for offsetof.
54789         (struct userid.name): Change from char * to a flexible array member.
54790         All uses changed.
54791         * modules/idcache (Depends-on): Add flexmember.
54792
54793         * MODULES.html.sh (Core language properties): New module flexmember.
54794         * modules/flexmember, m4/flexmember.m4: New files.
54795
54796         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54797         inline functions that are identical with the old xnmalloc_inline,
54798         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54799         that we can avoid some unnecessary integer multiplications and
54800         divisions in the common case where the element size is known at
54801         compile time.
54802         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54803         needed.
54804         (xnboundedmalloc): Remove.
54805         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54806         arguments, for consistency with rest of this header.
54807         (xcharalloc): Rewrite using XNMALLOC.
54808         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54809         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54810         versions have been moved to lib/xalloc.h and renamed to be the
54811         non-*_inline versions.
54812         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54813         and xnrealloc functions, since those functions are now inline and
54814         now call us.
54815         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54816         renaming described above.
54817         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54818         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54819         captures the dependency in AC_C_INLINE.
54820
54821         New module canonicalize-lgpl, proposed by Charles Wilson in
54822         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54823         with a few small changes afterwards.
54824         * MODULES.html.sh (File system functions): New module
54825         canonicalize-lgpl.
54826         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54827         and canonicalize_file_name.
54828         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54829         * modules/canonicalize-lgpl: New files.
54830
54831 2006-11-05  Bruno Haible  <bruno@clisp.org>
54832
54833         * gnulib-tool (func_import, func_create_testdir): Create directories
54834         also for files in subdirectories of lib/.
54835
54836 2006-11-05  Bruno Haible  <bruno@clisp.org>
54837
54838         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54839         ANSI C compliant.
54840
54841 2006-11-03  Bruno Haible  <bruno@clisp.org>
54842
54843         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54844         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54845         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54846         (xnboundedmalloc): New inline function.
54847         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54848         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54849         xmalloc.
54850         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54851         xmalloc.
54852         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54853         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54854         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54855         xmalloc.
54856         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54857         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54858         xmalloc.
54859         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54860         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54861         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54862         xmalloc.
54863         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54864         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54865         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54866         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54867         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54868         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54869         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54870
54871 2006-11-03  Bruno Haible  <bruno@clisp.org>
54872
54873         * lib/c-ctype.h [C++]: Define functions without name mangling.
54874         * lib/fwriteerror.h [C++]: Likewise.
54875         * lib/gcd.h [C++]: Likewise.
54876         * lib/linebreak.h [C++]: Likewise.
54877
54878 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54879
54880         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54881         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54882         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54883         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54884         Check for functions and headers just once.
54885         Check for declaration of canonicalize_file_name.
54886         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54887
54888 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54889
54890         * gnulib-tool (func_import): Fix typo in actioncmd.
54891
54892 2006-11-02  Bruno Haible  <bruno@clisp.org>
54893
54894         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54895         newline sequence in the Makefile.am snippet as a space, like "make"
54896         does.
54897         Reported by Roger Persson <perrog@gmail.com>.
54898
54899 2006-11-01  Bruno Haible  <bruno@clisp.org>
54900
54901         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54902         already declared in <string.h>.
54903         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54904
54905 2006-11-01  Bruno Haible  <bruno@clisp.org>
54906
54907         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54908         * lib/strcase.h: Include <string.h>.
54909         (strcasecmp): Define to rpl_strcasecmp here.
54910
54911 2006-11-01  Bruno Haible  <bruno@clisp.org>
54912
54913         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54914
54915 2006-11-01  Eric Blake  <ebb9@byu.net>
54916
54917         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54918
54919         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54920
54921 2006-10-29  Bruno Haible  <bruno@clisp.org>
54922
54923         Make it compile in C++ mode.
54924         * lib/full-write.c (full_rw): Add a cast.
54925
54926 2006-11-01  Bruno Haible  <bruno@clisp.org>
54927
54928         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54929         be POSIX compliant.
54930         Reported by Roger Persson <perrog@gmail.com>.
54931
54932 2006-11-01  Eric Blake  <ebb9@byu.net>
54933
54934         * lib/getopt_.h: Fix comments.
54935
54936 2006-10-31  Eric Blake  <ebb9@byu.net>
54937
54938         * modules/tmpdir (Depends-on): Add sys_stat.
54939         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54940         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54941         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54942         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54943         tempname.
54944
54945 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54946
54947         Avoid some C++ diagnostics reported by Bruno Haible.
54948         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54949         xmalloc.
54950         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54951         (struct slotvec): Move to top level.
54952         (quotearg_n_options): Rewrite to avoid xmalloc.
54953         * lib/xalloc.h (xcharalloc): New function.
54954         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54955         [defined __cplusplus]: Add function template that provides result
54956         type propagation.  This part of the change is from Bruno Haible.
54957
54958 2006-10-29  Bruno Haible  <bruno@clisp.org>
54959
54960         Make it compile in C++ mode.
54961         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54962         * lib/strnlen1.c (strnlen1): Cast memchr result.
54963         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54964         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54965         (create_temp_dir): Rename local variable 'template'.
54966         (compile_csharp_using_sscli): Add cast.
54967         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54968         * lib/findprog.c (find_in_path): Likewise.
54969         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54970         * lib/wait-process.c (register_slave_subprocess): Likewise.
54971
54972 2006-10-22  Bruno Haible  <bruno@clisp.org>
54973
54974         * modules/tsearch: New file.
54975         * lib/tsearch.h: New file.
54976         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54977         * m4/tsearch.m4: New file.
54978         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54979
54980 2006-10-29  Eric Blake  <ebb9@byu.net>
54981
54982         * lib/arcfour.c: Assume config.h.
54983         * lib/arctwo.c: Likewise.
54984         * lib/base64.c: Likewise.
54985         * lib/check-version.c: Likewise.
54986         * lib/crc.c: Likewise.
54987         * lib/des.c: Likewise.
54988         * lib/gc-gnulib.c: Likewise.
54989         * lib/gc-libgcrypt.c: Likewise.
54990         * lib/gc-pbkdf2-sha1.c: Likewise.
54991         * lib/getaddrinfo.c: Likewise.
54992         * lib/getdelim.c: Likewise.
54993         * lib/getline.c: Likewise.
54994         * lib/hmac-md5.c: Likewise.
54995         * lib/hmac-sha1.c: Likewise.
54996         * lib/iconvme.c: Likewise.
54997         * lib/md2.c: Likewise.
54998         * lib/md4.c: Likewise.
54999         * lib/memxor.c: Likewise.
55000         * lib/read-file.c: Likewise.
55001         * lib/readline.c: Likewise.
55002         * lib/rijndael-alg-fst.c: Likewise.
55003         * lib/rijndael-api-fst.c: Likewise.
55004         * lib/xgetdomainname.c: Likewise.
55005
55006 2006-10-28  Eric Blake  <ebb9@byu.net>
55007
55008         * lib/xstrndup.c: Assume config.h.
55009
55010 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
55011
55012         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
55013         stat-macros.h is now for our own macros, whereas stat_h is for
55014         macros in the <sys/stat.h> name space.
55015         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
55016         (STAT_MACROS_H): Remove.
55017         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
55018         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
55019         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
55020         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
55021         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
55022         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
55023         Move these macros to ...
55024         * lib/stat_.h: here.  Don't include stat-macros.h.
55025         * lib/canonicalize.c: Don't include stat-macros.h.
55026         * lib/chown.c: Likewise.
55027         * lib/euidaccess.c: Likewise.
55028         * lib/file-type.c: Likewise.
55029         * lib/filemode.c: Likewise.
55030         * lib/glob.c: Likewise.
55031         * lib/isapipe.c: Likewise.
55032         * lib/lchown.c: Likewise.
55033         * lib/lstat.c: Likewise.
55034         * lib/mkdir-p.c: Likewise.
55035         * lib/rmdir.c: Likewise.
55036         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
55037         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
55038         unless mkdir isn't declared, to speed up 'configure'.
55039         Always create sys/stat.h, since it's unlikely any real sys/stat.h
55040         would define all the S_* symbols.
55041         * modules/canonicalize (Depends-on):
55042         Depend on sys_stat, not stat-macros.
55043         * modules/chown: Likewise.
55044         * modules/euidaccess: Likewise.
55045         * modules/filemode: Likewise.
55046         * modules/file-type: Likewise.
55047         * modules/glob: Likewise.
55048         * modules/isapipe: Likewise.
55049         * modules/lchown: Likewise.
55050         * modules/lstat: Likewise.
55051         * modules/mkancesdirs: Likewise.
55052         * modules/rmdir: Likewise.
55053         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
55054         * modules/modechange: Likewise.
55055         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
55056         (configure.ac): Remove gl_STAT_MACROS.
55057         * modules/sys_stat (Depends-on): Remove stat-macros.
55058
55059 2006-10-27  Bruno Haible  <bruno@clisp.org>
55060
55061         * m4/signed.m4: Remove file.
55062         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
55063         invocation.
55064         * modules/vasnprintf (Files): Remove m4/signed.m4.
55065
55066 2006-10-27  Bruno Haible  <bruno@clisp.org>
55067
55068         Update to GNU gettext 0.16.
55069         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
55070         m4/inttypes-h.m4, m4/signed.m4.
55071         * m4/gettext.m4: Update to GNU gettext 0.16.
55072         * m4/intl.m4: New file, from GNU gettext.
55073         * m4/intldir.m4: New file, from GNU gettext.
55074         * config/srclist.txt: Update
55075
55076 2006-10-27  Eric Blake  <ebb9@byu.net>
55077
55078         * MODULES.html.sh: Document tempname.
55079         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
55080         dependencies.
55081         (Files): Move lib/tempname.c...
55082         * modules/tempname: ...to this new module.
55083         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
55084         (gl_PREREQ_TEMPNAME): Move...
55085         * m4/tempname.m4: ...to this new file.
55086         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
55087         * modules/sys_stat (Depends-on): Add stat-macros.
55088         * lib/stat_.h (includes): Pick up stat macros.
55089         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
55090         if stat macros are broken.
55091         * lib/tempname.c (includes): No need to include "stat-macros.h".
55092         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
55093         (direxists, __path_search) [!_LIBC]: Don't compile these in
55094         gnulib; the tmpdir module covers that.
55095         * lib/tempname.h: New file.
55096
55097 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
55098
55099         * COPYING: Explain how gnulib-tool converts licence headers.
55100         Almost all wording by Eric Blake.
55101
55102 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * lib/mbchar.h (is_basic_table): Make read-only.
55105         * lib/mbchar.c (is_basic_table): Likewise.
55106         Reported by John Darrington.
55107
55108 2006-10-25  Bruno Haible  <bruno@clisp.org>
55109
55110         * lib/progname.h (set_program_name): Undefine before defining.
55111
55112 2006-10-25  Bruno Haible  <bruno@clisp.org>
55113
55114         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
55115         false for non-gcc C++ compilers.
55116         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55117
55118 2006-10-24  Bruno Haible  <bruno@clisp.org>
55119
55120         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
55121         iconv implementations like Irix iconv.
55122
55123 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55124
55125         * modules/vararrays: New file.
55126         * m4/vararrays.m4: New file, taken from diffutils.
55127         * MODULES.html.sh: New module vararrays.
55128
55129 2006-10-24  Karl Berry  <karl@gnu.org>
55130
55131         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
55132         Don't call GNU Unix.
55133
55134 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55135
55136         * users.txt: Add Libtool.
55137
55138         Sync from Libtool:
55139
55140         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55141
55142         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
55143         to gnulib's policy of including config.h unconditionally.
55144
55145 2006-10-24  Bruno Haible  <bruno@clisp.org>
55146
55147         * modules/wcwidth (Files): Add m4/wint_t.m4.
55148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
55149         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
55150
55151 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55152
55153         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
55154         to pacify GCC with some -W flags enabled.  Problem reported by
55155         Bruno Haible.
55156
55157 2006-10-24  Jim Meyering  <jim@meyering.net>
55158
55159         * MODULES.html.sh: Remove uinttostr.  It's not a module.
55160         Reported by Karl Berry.
55161
55162 2006-10-23  Bruno Haible  <bruno@clisp.org>
55163
55164         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
55165
55166 2006-10-24  Bruno Haible  <bruno@clisp.org>
55167
55168         * lib/gl_list.h: Use C comment style, not C++ comment style.
55169
55170 2006-10-23  Eric Blake  <ebb9@byu.net>
55171
55172         * lib/getaddrinfo.c (includes): Add missing include.
55173
55174 2006-10-23  Bruno Haible  <bruno@clisp.org>
55175             Paul Eggert  <eggert@cs.ucla.edu>
55176
55177         Ability to rename obstack_free.
55178         * lib/obstack.h (__obstack_free): New macro. Declare instead of
55179         obstack_free.
55180         (obstack_free): Invoke the __obstack_free macro.
55181         * lib/obstack.c (obstack_free): Use __obstack_free macro.
55182
55183 2006-10-23  Bruno Haible  <bruno@clisp.org>
55184             Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
55187         __argc, __argv from the declaration. (They are defined as macros on
55188         mingw.)
55189
55190 2006-10-22  Bruno Haible  <bruno@clisp.org>
55191
55192         * doc/gnulib-intro.texi: New file.
55193         * doc/gnulib.texi: Include it.
55194
55195 2006-10-21  Bruno Haible  <bruno@clisp.org>
55196
55197         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
55198         "Introduction", "Miscellanous Notes", "Particular Modules".
55199
55200 2006-10-21  Bruno Haible  <bruno@clisp.org>
55201
55202         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55203         Change mostlyclean-local rule to avoid sh syntax error from bash
55204         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
55205
55206 2006-10-23  Jim Meyering  <jim@meyering.net>
55207
55208         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
55209         in place of snprintf.
55210
55211         * modules/inttostr (Files): Add lib/uinttostr.c.
55212         * lib/uinttostr.c (inttostr): New file/function.
55213         * lib/inttostr.h (uinttostr): Declare.
55214         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
55215         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55216         Add uinttostr.
55217         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
55218
55219 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55220
55221         * lib/canonicalize.c (ELOOP): Define if not already defined.
55222         Problem reported by Bruno Haible in
55223         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
55224
55225 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55226
55227         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
55228         Problem reported by Perry Smith and Ville Laurikari.
55229
55230         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
55231         uses.
55232
55233 2006-10-19  Bruno Haible  <bruno@clisp.org>
55234
55235         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
55236         for mingw.
55237
55238 2006-10-19  Bruno Haible  <bruno@clisp.org>
55239
55240         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
55241         Needed for mingw.
55242
55243 2006-10-19  Bruno Haible  <bruno@clisp.org>
55244
55245         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
55246
55247 2006-10-19  Bruno Haible  <bruno@clisp.org>
55248
55249         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
55250         it.
55251
55252 2006-10-19  Bruno Haible  <bruno@clisp.org>
55253
55254         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
55255         invocation.
55256
55257 2006-10-19  Bruno Haible  <bruno@clisp.org>
55258
55259         * gnulib-tool (func_create_testdir): Don't include ftruncate and
55260         mountlist by default.
55261
55262 2006-10-16  Bruno Haible  <bruno@clisp.org>
55263
55264         * lib/c-strstr.c: Include c-strstr.h.
55265
55266 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55267
55268         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
55269         in a slash.
55270
55271 2006-10-18  Bruno Haible  <bruno@clisp.org>
55272
55273         * lib/lock.h [C++]: Wrap definitions in extern "C".
55274
55275 2006-10-18  Bruno Haible  <bruno@clisp.org>
55276
55277         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
55278         gl_LIBOBJS list.
55279
55280 2006-10-18  Bruno Haible  <bruno@clisp.org>
55281
55282         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
55283
55284 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55285
55286         * lib/xstrtol.h: Include gettext.h.
55287         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
55288         Problem reported by Eric Blake.
55289         * modules/xstrtol (Depends-on): Add gettext-h.
55290
55291 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
55292
55293         * lib/strftime.c (advance): New macro.
55294         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
55295         incomplete type, so you can't add 0 to it.  Problem and patch
55296         reported by Eelco Dolstra for dietlibc.
55297
55298 2006-10-18  Jim Meyering  <jim@meyering.net>
55299
55300         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
55301         type for a local, and rename it: s/up/user_proc/.
55302
55303 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55304
55305         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
55306         READ_UTMP_USER_PROCESS.
55307         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
55308
55309 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55310
55311         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
55312         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
55313
55314 2006-10-17  Eric Blake  <ebb9@byu.net>
55315
55316         * lib/sigprocmask.c (sigprocmask): Fix typo.
55317
55318         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
55319
55320         * modules/clean-temp (Makefile.am): Don't add to make output...
55321         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
55322         config.h.
55323
55324 2006-10-17  Bruno Haible  <bruno@clisp.org>
55325
55326         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
55327         differently if DEFAULT_TEXT_DOMAIN is set.
55328
55329 2006-10-16  Bruno Haible  <bruno@clisp.org>
55330
55331         * lib/clean-temp.c: Include fwriteerror.h.
55332
55333 2006-10-16  Bruno Haible  <bruno@clisp.org>
55334
55335         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
55336
55337 2006-10-16  Bruno Haible  <bruno@clisp.org>
55338
55339         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
55340         * lib/sigprocmask.h: Include <sys/types.h>.
55341         (sigset_t): Use the system's definition if present.
55342
55343 2006-10-17  Eric Blake  <ebb9@byu.net>
55344
55345         * lib/xvasprintf.c (includes): Assume config.h.
55346         * lib/xasprintf.c (includes): Likewise.
55347
55348 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55349
55350         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
55351         at least as wide as intmax_t.
55352
55353 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
55354
55355         (Imported from Automake.)
55356         * build-aux/gnupload: Update to version 1.1 of directive file.
55357
55358 2006-10-16  Eric Blake  <ebb9@byu.net>
55359
55360         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
55361         match Automake 1.10a.
55362
55363 2006-10-14  Bruno Haible  <bruno@clisp.org>
55364
55365         * modules/sigprocmask: New file.
55366         * lib/sigprocmask.h: New file.
55367         * lib/sigprocmask.c: New file.
55368         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
55369         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
55370         request sigprocmask.o.
55371         (gl_PREREQ_SIGPROCMASK): New macro.
55372         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
55373         (Depends-on): Add sigprocmask.
55374         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
55375         gt_SIGNALBLOCKING. Test for 'raise' only once.
55376         * lib/fatal-signal.c: Include sigprocmask.h.
55377         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
55378         unblock_fatal_signals): Define always.
55379         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55380         sigprocmask.
55381
55382 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55383
55384         Sync from Automake.
55385         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
55386         which incorrectly sets the mode of an existing destination
55387         directory.  In some cases the unpatched install-sh could do the
55388         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
55389         system.  We hope this is rare in practice, but it's clearly worth
55390         fixing.  Problem reported by Alex Unleashed in
55391         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
55392         Also, don't bother to check for -m bugs unless we're using -m;
55393         suggested by Stepan Kasal.
55394
55395 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55396
55397         Sync from Automake.
55398         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
55399         `-c' flag, so they appear at the same position as in %FASTDEP%
55400         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
55401         which ignores unknown options only after the first non-option.
55402         Bug report against M4 by Nelson H. F. Beebe.
55403
55404 2006-10-13  Jim Meyering  <jim@meyering.net>
55405
55406         Fix a bug in yesterday's change.
55407         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
55408         p->fts_statp->st_dev would be used uninitialized.
55409         Ensures that we always call fts_stat on the very first entry.
55410         Miklos Szeredi reported that find -xdev stopped working.
55411
55412 2006-10-12  Bruno Haible  <bruno@clisp.org>
55413
55414         * gnulib-tool (func_get_automake_snippet): Append an automatically
55415         computed EXTRA_DIST augmentation.
55416         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
55417         * modules/alloca-opt (Makefile.am): Likewise.
55418         * modules/allocsa (Makefile.am): Likewise.
55419         * modules/arcfour (Makefile.am): Likewise.
55420         * modules/arctwo (Makefile.am): Likewise.
55421         * modules/argmatch (Makefile.am): Likewise.
55422         * modules/argz (Makefile.am): Likewise.
55423         * modules/atexit (Makefile.am): Likewise.
55424         * modules/backupfile (Makefile.am): Likewise.
55425         * modules/byteswap (Makefile.am): Likewise.
55426         * modules/c-strtod (Makefile.am): Likewise.
55427         * modules/c-strtold (Makefile.am): Likewise.
55428         * modules/calloc (Makefile.am): Likewise.
55429         * modules/canon-host (Makefile.am): Likewise.
55430         * modules/canonicalize (Makefile.am): Likewise.
55431         * modules/chdir-long (Makefile.am): Likewise.
55432         * modules/chdir-safer (Makefile.am): Likewise.
55433         * modules/check-version (Makefile.am): Likewise.
55434         * modules/chown (Makefile.am): Likewise.
55435         * modules/cloexec (Makefile.am): Likewise.
55436         * modules/close-stream (Makefile.am): Likewise.
55437         * modules/closeout (Makefile.am): Likewise.
55438         * modules/crc (Makefile.am): Likewise.
55439         * modules/csharpexec (Makefile.am): Likewise.
55440         * modules/cycle-check (Makefile.am): Likewise.
55441         * modules/des (Makefile.am): Likewise.
55442         * modules/dev-ino (Makefile.am): Likewise.
55443         * modules/dirfd (Makefile.am): Likewise.
55444         * modules/dirname (Makefile.am): Likewise.
55445         * modules/dup2 (Makefile.am): Likewise.
55446         * modules/eealloc (Makefile.am): Likewise.
55447         * modules/error (Makefile.am): Likewise.
55448         * modules/euidaccess (Makefile.am): Likewise.
55449         * modules/exclude (Makefile.am): Likewise.
55450         * modules/exitfail (Makefile.am): Likewise.
55451         * modules/fcntl-safer (Makefile.am): Likewise.
55452         * modules/fcntl (Makefile.am): Likewise.
55453         * modules/file-type (Makefile.am): Likewise.
55454         * modules/fileblocks (Makefile.am): Likewise.
55455         * modules/filemode (Makefile.am): Likewise.
55456         * modules/filenamecat (Makefile.am): Likewise.
55457         * modules/fnmatch (Makefile.am): Likewise.
55458         * modules/fopen-safer (Makefile.am): Likewise.
55459         * modules/fpending (Makefile.am): Likewise.
55460         * modules/fprintftime (Makefile.am): Likewise.
55461         * modules/free (Makefile.am): Likewise.
55462         * modules/fsusage (Makefile.am): Likewise.
55463         * modules/ftruncate (Makefile.am): Likewise.
55464         * modules/fts (Makefile.am): Likewise.
55465         * modules/gc-arcfour (Makefile.am): Likewise.
55466         * modules/gc-des (Makefile.am): Likewise.
55467         * modules/gc-hmac-md5 (Makefile.am): Likewise.
55468         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
55469         * modules/gc-md4 (Makefile.am): Likewise.
55470         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55471         * modules/gc-sha1 (Makefile.am): Likewise.
55472         * modules/gc (Makefile.am): Likewise.
55473         * modules/getaddrinfo (Makefile.am): Likewise.
55474         * modules/getcwd (Makefile.am): Likewise.
55475         * modules/getdelim (Makefile.am): Likewise.
55476         * modules/getdomainname (Makefile.am): Likewise.
55477         * modules/getgroups (Makefile.am): Likewise.
55478         * modules/gethostname (Makefile.am): Likewise.
55479         * modules/gethrxtime (Makefile.am): Likewise.
55480         * modules/getline (Makefile.am): Likewise.
55481         * modules/getloadavg (Makefile.am): Likewise.
55482         * modules/getlogin_r (Makefile.am): Likewise.
55483         * modules/getndelim2 (Makefile.am): Likewise.
55484         * modules/getopt (Makefile.am): Likewise.
55485         * modules/getpagesize (Makefile.am): Likewise.
55486         * modules/getpass-gnu (Makefile.am): Likewise.
55487         * modules/getpass (Makefile.am): Likewise.
55488         * modules/getsubopt (Makefile.am): Likewise.
55489         * modules/gettime (Makefile.am): Likewise.
55490         * modules/gettimeofday (Makefile.am): Likewise.
55491         * modules/getugroups (Makefile.am): Likewise.
55492         * modules/getusershell (Makefile.am): Likewise.
55493         * modules/glob (Makefile.am): Likewise.
55494         * modules/group-member (Makefile.am): Likewise.
55495         * modules/hard-locale (Makefile.am): Likewise.
55496         * modules/hash (Makefile.am): Likewise.
55497         * modules/hmac-md5 (Makefile.am): Likewise.
55498         * modules/hmac-sha1 (Makefile.am): Likewise.
55499         * modules/human (Makefile.am): Likewise.
55500         * modules/idcache (Makefile.am): Likewise.
55501         * modules/imaxabs (Makefile.am): Likewise.
55502         * modules/imaxdiv (Makefile.am): Likewise.
55503         * modules/inet_ntop (Makefile.am): Likewise.
55504         * modules/inet_pton (Makefile.am): Likewise.
55505         * modules/intprops (Makefile.am): Likewise.
55506         * modules/inttostr (Makefile.am): Likewise.
55507         * modules/inttypes (Makefile.am): Likewise.
55508         * modules/isapipe (Makefile.am): Likewise.
55509         * modules/javaversion (Makefile.am): Likewise.
55510         * modules/lchmod (Makefile.am): Likewise.
55511         * modules/lchown (Makefile.am): Likewise.
55512         * modules/localcharset (Makefile.am): Likewise.
55513         * modules/long-options (Makefile.am): Likewise.
55514         * modules/lstat (Makefile.am): Likewise.
55515         * modules/malloc (Makefile.am): Likewise.
55516         * modules/mathl (Makefile.am): Likewise.
55517         * modules/mbchar (Makefile.am): Likewise.
55518         * modules/md2 (Makefile.am): Likewise.
55519         * modules/md4 (Makefile.am): Likewise.
55520         * modules/md5 (Makefile.am): Likewise.
55521         * modules/memcasecmp (Makefile.am): Likewise.
55522         * modules/memchr (Makefile.am): Likewise.
55523         * modules/memcmp (Makefile.am): Likewise.
55524         * modules/memcoll (Makefile.am): Likewise.
55525         * modules/memcpy (Makefile.am): Likewise.
55526         * modules/memmem (Makefile.am): Likewise.
55527         * modules/memmove (Makefile.am): Likewise.
55528         * modules/mempcpy (Makefile.am): Likewise.
55529         * modules/memrchr (Makefile.am): Likewise.
55530         * modules/memset (Makefile.am): Likewise.
55531         * modules/memxor (Makefile.am): Likewise.
55532         * modules/mkancesdirs (Makefile.am): Likewise.
55533         * modules/mkdir-p (Makefile.am): Likewise.
55534         * modules/mkdir (Makefile.am): Likewise.
55535         * modules/mkdtemp (Makefile.am): Likewise.
55536         * modules/mkstemp (Makefile.am): Likewise.
55537         * modules/mktime (Makefile.am): Likewise.
55538         * modules/modechange (Makefile.am): Likewise.
55539         * modules/mountlist (Makefile.am): Likewise.
55540         * modules/nanosleep (Makefile.am): Likewise.
55541         * modules/obstack (Makefile.am): Likewise.
55542         * modules/openat (Makefile.am): Likewise.
55543         * modules/pagealign_alloc (Makefile.am): Likewise.
55544         * modules/pathmax (Makefile.am): Likewise.
55545         * modules/physmem (Makefile.am): Likewise.
55546         * modules/poll (Makefile.am): Likewise.
55547         * modules/posixtm (Makefile.am): Likewise.
55548         * modules/posixver (Makefile.am): Likewise.
55549         * modules/putenv (Makefile.am): Likewise.
55550         * modules/quote (Makefile.am): Likewise.
55551         * modules/quotearg (Makefile.am): Likewise.
55552         * modules/raise (Makefile.am): Likewise.
55553         * modules/read-file (Makefile.am): Likewise.
55554         * modules/readline (Makefile.am): Likewise.
55555         * modules/readlink (Makefile.am): Likewise.
55556         * modules/readtokens (Makefile.am): Likewise.
55557         * modules/readutmp (Makefile.am): Likewise.
55558         * modules/realloc (Makefile.am): Likewise.
55559         * modules/regex (Makefile.am): Likewise.
55560         * modules/rename-dest-slash (Makefile.am): Likewise.
55561         * modules/rename (Makefile.am): Likewise.
55562         * modules/rijndael (Makefile.am): Likewise.
55563         * modules/rmdir (Makefile.am): Likewise.
55564         * modules/rpmatch (Makefile.am): Likewise.
55565         * modules/safe-read (Makefile.am): Likewise.
55566         * modules/safe-write (Makefile.am): Likewise.
55567         * modules/same-inode (Makefile.am): Likewise.
55568         * modules/same (Makefile.am): Likewise.
55569         * modules/save-cwd (Makefile.am): Likewise.
55570         * modules/savedir (Makefile.am): Likewise.
55571         * modules/setenv (Makefile.am): Likewise.
55572         * modules/settime (Makefile.am): Likewise.
55573         * modules/sha1 (Makefile.am): Likewise.
55574         * modules/sig2str (Makefile.am): Likewise.
55575         * modules/snprintf (Makefile.am): Likewise.
55576         * modules/stat-macros (Makefile.am): Likewise.
55577         * modules/stat-time (Makefile.am): Likewise.
55578         * modules/stdbool (Makefile.am): Likewise.
55579         * modules/stdint (Makefile.am): Likewise.
55580         * modules/stdlib-safer (Makefile.am): Likewise.
55581         * modules/stpcpy (Makefile.am): Likewise.
55582         * modules/stpncpy (Makefile.am): Likewise.
55583         * modules/strcase (Makefile.am): Likewise.
55584         * modules/strcasestr (Makefile.am): Likewise.
55585         * modules/strchrnul (Makefile.am): Likewise.
55586         * modules/strcspn (Makefile.am): Likewise.
55587         * modules/strdup (Makefile.am): Likewise.
55588         * modules/strerror (Makefile.am): Likewise.
55589         * modules/strftime (Makefile.am): Likewise.
55590         * modules/strndup (Makefile.am): Likewise.
55591         * modules/strnlen (Makefile.am): Likewise.
55592         * modules/strpbrk (Makefile.am): Likewise.
55593         * modules/strsep (Makefile.am): Likewise.
55594         * modules/strstr (Makefile.am): Likewise.
55595         * modules/strtod (Makefile.am): Likewise.
55596         * modules/strtoimax (Makefile.am): Likewise.
55597         * modules/strtok_r (Makefile.am): Likewise.
55598         * modules/strtol (Makefile.am): Likewise.
55599         * modules/strtoll (Makefile.am): Likewise.
55600         * modules/strtoul (Makefile.am): Likewise.
55601         * modules/strtoull (Makefile.am): Likewise.
55602         * modules/strtoumax (Makefile.am): Likewise.
55603         * modules/strverscmp (Makefile.am): Likewise.
55604         * modules/sys_socket (Makefile.am): Likewise.
55605         * modules/sys_stat (Makefile.am): Likewise.
55606         * modules/sysexits (Makefile.am): Likewise.
55607         * modules/time_r (Makefile.am): Likewise.
55608         * modules/timegm (Makefile.am): Likewise.
55609         * modules/timespec (Makefile.am): Likewise.
55610         * modules/tmpfile-safer (Makefile.am): Likewise.
55611         * modules/trim (Makefile.am): Likewise.
55612         * modules/unistd-safer (Makefile.am): Likewise.
55613         * modules/unlinkdir (Makefile.am): Likewise.
55614         * modules/unlocked-io (Makefile.am): Likewise.
55615         * modules/userspec (Makefile.am): Likewise.
55616         * modules/utime (Makefile.am): Likewise.
55617         * modules/utimecmp (Makefile.am): Likewise.
55618         * modules/utimens (Makefile.am): Likewise.
55619         * modules/vasnprintf (Makefile.am): Likewise.
55620         * modules/vasprintf (Makefile.am): Likewise.
55621         * modules/vsnprintf (Makefile.am): Likewise.
55622         * modules/xalloc (Makefile.am): Likewise.
55623         * modules/xgetcwd (Makefile.am): Likewise.
55624         * modules/xnanosleep (Makefile.am): Likewise.
55625         * modules/xreadlink (Makefile.am): Likewise.
55626         * modules/xstrtod (Makefile.am): Likewise.
55627         * modules/xstrtol (Makefile.am): Likewise.
55628         * modules/xstrtold (Makefile.am): Likewise.
55629         * modules/yesno (Makefile.am): Likewise.
55630         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
55631
55632 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55633
55634         * modules/error (Makefile.am): Distribute files through
55635         EXTRA_DIST, not lib_SOURCES.
55636
55637 2006-10-12  Eric Blake  <ebb9@byu.net>
55638
55639         * modules/error (Makefile.am): Distribute files in /lib.
55640         * modules/obstack (Makefile.am): Likewise.
55641
55642 2006-10-12  Bruno Haible  <bruno@clisp.org>
55643
55644         * modules/acl (Makefile.am): Distribute all files in lib/ through
55645         EXTRA_DIST.
55646         * modules/arcfour (Makefile.am): Likewise.
55647         * modules/arctwo (Makefile.am): Likewise.
55648         * modules/argmatch (Makefile.am): Likewise.
55649         * modules/argz (Makefile.am): Likewise.
55650         * modules/atexit (Makefile.am): Likewise.
55651         * modules/backupfile (Makefile.am): Likewise.
55652         * modules/c-strtod (Makefile.am): Likewise.
55653         * modules/c-strtold (Makefile.am): Likewise.
55654         * modules/calloc (Makefile.am): Likewise.
55655         * modules/canon-host (Makefile.am): Likewise.
55656         * modules/canonicalize (Makefile.am): Likewise.
55657         * modules/chdir-long (Makefile.am): Likewise.
55658         * modules/chdir-safer (Makefile.am): Likewise.
55659         * modules/check-version (Makefile.am): Likewise.
55660         * modules/chown (Makefile.am): Likewise.
55661         * modules/cloexec (Makefile.am): Likewise.
55662         * modules/close-stream (Makefile.am): Likewise.
55663         * modules/closeout (Makefile.am): Likewise.
55664         * modules/crc (Makefile.am): Likewise.
55665         * modules/cycle-check (Makefile.am): Likewise.
55666         * modules/des (Makefile.am): Likewise.
55667         * modules/dirfd (Makefile.am): Likewise.
55668         * modules/dirname (Makefile.am): Likewise.
55669         * modules/dup2 (Makefile.am): Likewise.
55670         * modules/euidaccess (Makefile.am): Likewise.
55671         * modules/exclude (Makefile.am): Likewise.
55672         * modules/exitfail (Makefile.am): Likewise.
55673         * modules/fcntl-safer (Makefile.am): Likewise.
55674         * modules/file-type (Makefile.am): Likewise.
55675         * modules/fileblocks (Makefile.am): Likewise.
55676         * modules/filemode (Makefile.am): Likewise.
55677         * modules/filenamecat (Makefile.am): Likewise.
55678         * modules/fnmatch (Makefile.am): Likewise.
55679         * modules/fopen-safer (Makefile.am): Likewise.
55680         * modules/fpending (Makefile.am): Likewise.
55681         * modules/fprintftime (Makefile.am): Likewise.
55682         * modules/free (Makefile.am): Likewise.
55683         * modules/fsusage (Makefile.am): Likewise.
55684         * modules/ftruncate (Makefile.am): Likewise.
55685         * modules/fts (Makefile.am): Likewise.
55686         * modules/gc (Makefile.am): Likewise.
55687         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55688         * modules/getaddrinfo (Makefile.am): Likewise.
55689         * modules/getcwd (Makefile.am): Likewise.
55690         * modules/getdelim (Makefile.am): Likewise.
55691         * modules/getdomainname (Makefile.am): Likewise.
55692         * modules/getgroups (Makefile.am): Likewise.
55693         * modules/gethostname (Makefile.am): Likewise.
55694         * modules/gethrxtime (Makefile.am): Likewise.
55695         * modules/getline (Makefile.am): Likewise.
55696         * modules/getloadavg (Makefile.am): Likewise.
55697         * modules/getlogin_r (Makefile.am): Likewise.
55698         * modules/getopt (Makefile.am): Likewise.
55699         * modules/getpass (Makefile.am): Likewise.
55700         * modules/getpass-gnu (Makefile.am): Likewise.
55701         * modules/getsubopt (Makefile.am): Likewise.
55702         * modules/gettime (Makefile.am): Likewise.
55703         * modules/gettimeofday (Makefile.am): Likewise.
55704         * modules/getugroups (Makefile.am): Likewise.
55705         * modules/getusershell (Makefile.am): Likewise.
55706         * modules/glob (Makefile.am): Likewise.
55707         * modules/group-member (Makefile.am): Likewise.
55708         * modules/hard-locale (Makefile.am): Likewise.
55709         * modules/hash (Makefile.am): Likewise.
55710         * modules/hmac-md5 (Makefile.am): Likewise.
55711         * modules/hmac-sha1 (Makefile.am): Likewise.
55712         * modules/human (Makefile.am): Likewise.
55713         * modules/idcache (Makefile.am): Likewise.
55714         * modules/imaxabs (Makefile.am): Likewise.
55715         * modules/imaxdiv (Makefile.am): Likewise.
55716         * modules/inet_ntop (Makefile.am): Likewise.
55717         * modules/inet_pton (Makefile.am): Likewise.
55718         * modules/inttostr (Makefile.am): Likewise.
55719         * modules/isapipe (Makefile.am): Likewise.
55720         * modules/lchown (Makefile.am): Likewise.
55721         * modules/long-options (Makefile.am): Likewise.
55722         * modules/lstat (Makefile.am): Likewise.
55723         * modules/malloc (Makefile.am): Likewise.
55724         * modules/mathl (Makefile.am): Likewise.
55725         * modules/mbchar (Makefile.am): Likewise.
55726         * modules/md2 (Makefile.am): Likewise.
55727         * modules/md4 (Makefile.am): Likewise.
55728         * modules/md5 (Makefile.am): Likewise.
55729         * modules/memcasecmp (Makefile.am): Likewise.
55730         * modules/memchr (Makefile.am): Likewise.
55731         * modules/memcmp (Makefile.am): Likewise.
55732         * modules/memcoll (Makefile.am): Likewise.
55733         * modules/memcpy (Makefile.am): Likewise.
55734         * modules/memmem (Makefile.am): Likewise.
55735         * modules/memmove (Makefile.am): Likewise.
55736         * modules/mempcpy (Makefile.am): Likewise.
55737         * modules/memrchr (Makefile.am): Likewise.
55738         * modules/memset (Makefile.am): Likewise.
55739         * modules/memxor (Makefile.am): Likewise.
55740         * modules/mkancesdirs (Makefile.am): Likewise.
55741         * modules/mkdir (Makefile.am): Likewise.
55742         * modules/mkdir-p (Makefile.am): Likewise.
55743         * modules/mkdtemp (Makefile.am): Likewise.
55744         * modules/mkstemp (Makefile.am): Likewise.
55745         * modules/mktime (Makefile.am): Likewise.
55746         * modules/modechange (Makefile.am): Likewise.
55747         * modules/mountlist (Makefile.am): Likewise.
55748         * modules/nanosleep (Makefile.am): Likewise.
55749         * modules/openat (Makefile.am): Likewise.
55750         * modules/pagealign_alloc (Makefile.am): Likewise.
55751         * modules/physmem (Makefile.am): Likewise.
55752         * modules/poll (Makefile.am): Likewise.
55753         * modules/posixtm (Makefile.am): Likewise.
55754         * modules/posixver (Makefile.am): Likewise.
55755         * modules/putenv (Makefile.am): Likewise.
55756         * modules/quote (Makefile.am): Likewise.
55757         * modules/quotearg (Makefile.am): Likewise.
55758         * modules/raise (Makefile.am): Likewise.
55759         * modules/read-file (Makefile.am): Likewise.
55760         * modules/readline (Makefile.am): Likewise.
55761         * modules/readlink (Makefile.am): Likewise.
55762         * modules/readtokens (Makefile.am): Likewise.
55763         * modules/readutmp (Makefile.am): Likewise.
55764         * modules/realloc (Makefile.am): Likewise.
55765         * modules/regex (Makefile.am): Likewise.
55766         * modules/rename (Makefile.am): Likewise.
55767         * modules/rename-dest-slash (Makefile.am): Likewise.
55768         * modules/rijndael (Makefile.am): Likewise.
55769         * modules/rmdir (Makefile.am): Likewise.
55770         * modules/rpmatch (Makefile.am): Likewise.
55771         * modules/safe-read (Makefile.am): Likewise.
55772         * modules/safe-write (Makefile.am): Likewise.
55773         * modules/same (Makefile.am): Likewise.
55774         * modules/save-cwd (Makefile.am): Likewise.
55775         * modules/savedir (Makefile.am): Likewise.
55776         * modules/setenv (Makefile.am): Likewise.
55777         * modules/settime (Makefile.am): Likewise.
55778         * modules/sha1 (Makefile.am): Likewise.
55779         * modules/sig2str (Makefile.am): Likewise.
55780         * modules/snprintf (Makefile.am): Likewise.
55781         * modules/stdlib-safer (Makefile.am): Likewise.
55782         * modules/stpcpy (Makefile.am): Likewise.
55783         * modules/stpncpy (Makefile.am): Likewise.
55784         * modules/strcase (Makefile.am): Likewise.
55785         * modules/strcasestr (Makefile.am): Likewise.
55786         * modules/strchrnul (Makefile.am): Likewise.
55787         * modules/strcspn (Makefile.am): Likewise.
55788         * modules/strdup (Makefile.am): Likewise.
55789         * modules/strerror (Makefile.am): Likewise.
55790         * modules/strftime (Makefile.am): Likewise.
55791         * modules/strndup (Makefile.am): Likewise.
55792         * modules/strnlen (Makefile.am): Likewise.
55793         * modules/strpbrk (Makefile.am): Likewise.
55794         * modules/strsep (Makefile.am): Likewise.
55795         * modules/strstr (Makefile.am): Likewise.
55796         * modules/strtod (Makefile.am): Likewise.
55797         * modules/strtoimax (Makefile.am): Likewise.
55798         * modules/strtok_r (Makefile.am): Likewise.
55799         * modules/strtol (Makefile.am): Likewise.
55800         * modules/strtoll (Makefile.am): Likewise.
55801         * modules/strtoul (Makefile.am): Likewise.
55802         * modules/strtoull (Makefile.am): Likewise.
55803         * modules/strtoumax (Makefile.am): Likewise.
55804         * modules/strverscmp (Makefile.am): Likewise.
55805         * modules/time_r (Makefile.am): Likewise.
55806         * modules/timegm (Makefile.am): Likewise.
55807         * modules/tmpfile-safer (Makefile.am): Likewise.
55808         * modules/unistd-safer (Makefile.am): Likewise.
55809         * modules/unlinkdir (Makefile.am): Likewise.
55810         * modules/userspec (Makefile.am): Likewise.
55811         * modules/utime (Makefile.am): Likewise.
55812         * modules/utimecmp (Makefile.am): Likewise.
55813         * modules/utimens (Makefile.am): Likewise.
55814         * modules/vasnprintf (Makefile.am): Likewise.
55815         * modules/vasprintf (Makefile.am): Likewise.
55816         * modules/vsnprintf (Makefile.am): Likewise.
55817         * modules/xalloc (Makefile.am): Likewise.
55818         * modules/xgetcwd (Makefile.am): Likewise.
55819         * modules/xnanosleep (Makefile.am): Likewise.
55820         * modules/xreadlink (Makefile.am): Likewise.
55821         * modules/xstrtod (Makefile.am): Likewise.
55822         * modules/xstrtol (Makefile.am): Likewise.
55823         * modules/xstrtold (Makefile.am): Likewise.
55824         * modules/yesno (Makefile.am): Likewise.
55825
55826 2006-10-12  Jim Meyering  <jim@meyering.net>
55827
55828         * m4/getloadavg.m4: Revert the change below.
55829
55830         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55831         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55832         fail with a symlink, which is what coreutils' ./bootstrap now
55833         creates by default.
55834
55835 2006-10-12  Bruno Haible  <bruno@clisp.org>
55836
55837         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55838         mingw.
55839         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55840         MSVC and mingw explicitly.
55841
55842 2006-10-11  Simon Josefsson  <jas@extundo.com>
55843             Bruno Haible  <bruno@clisp.org>
55844
55845         Add support for multiple gnulib-tool invocations in the scope of a
55846         single configure.ac file.
55847         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55848         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55849         with the same contents as the _LIBADD variable.
55850         (func_emit_initmacro_start, func_emit_initmacro_end,
55851         func_emit_initmacro_done): New functions.
55852         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55853         gl_LIBOBJS and gl_LTLIBOBJS.
55854
55855 2006-10-11  Bruno Haible  <bruno@clisp.org>
55856
55857         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55858         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55859         autoreconf. Instead, invoke autopoint explicitly but move back the
55860         *.m4 files from gnulib.
55861
55862 2006-10-11  Bruno Haible  <bruno@clisp.org>
55863
55864         * gnulib-tool (func_usage): Make module names after --create-testdir
55865         optional.
55866         (func_create_testdir): If no module was specified, use nearly all
55867         modules.
55868
55869 2006-10-12  Jim Meyering  <jim@meyering.net>
55870
55871         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55872         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55873         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55874         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55875         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55876         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55877         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55878         (fts_set_stat_required): New function.
55879         (fts_open): Defer the calls to fts_stat, if possible or requested.
55880         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55881         into fts_stat itself.
55882         (fts_read): Perform any required (deferred) fts_stat call.
55883         (fts_build): Likewise, for the directory we're about to open and read.
55884         In the readdir loop, carefully decide whether each entry will require
55885         an eventual call to fts_stat, using dirent.d_type info if available.
55886         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55887         a command line argument into this function.  Update all callers.
55888         Map a return value of FTS_DOT to FTS_D for a command line argument.
55889         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55890         Thanks to Miklos Szeredi for his tenacity and for the initial
55891         bug report about "find" failing on a FUSE-based file system.
55892
55893         * lib/fts.c (fts_open): Use consistent indentation.
55894
55895 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55896
55897         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55898         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55899         reported by Jim Meyering.  All uses of cache variables renamed
55900         to match Autoconf's.
55901         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55902         the other one.
55903
55904         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55905         Fix misspelling in diagnostic.
55906
55907 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55908
55909         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55910         defined.  Problem reported by Matthew Woehlke.
55911
55912         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55913         Add support for Tandem NonStop R series.
55914         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55915         Use new macro.
55916
55917         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55918         (has_trailing_slash): Omit size arg; all callers changed.
55919         Omit 'inline', since it doesn't help performance and we'd
55920         need to configure it.
55921         Don't count //, ///, etc. as having a trailing slash.
55922         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55923         (rpl_rename_dest_slash): On failure, use rename's errno rather
55924         than (in some cases) an incorrect or junk errno.
55925         Simplify code by removing need to compute length; this does
55926         cause it to make two passes instead of one over the file name,
55927         but it's worth it.
55928
55929         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55930         change, since Autoconf's version may no longer be appropriate now
55931         that we are using CVS Autoconf's version.  Add support for Tandem.
55932
55933 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55934             Bruno Haible  <bruno@clisp.org>
55935
55936         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55937         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55938         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55939         gl_AC_TYPE_LONG_LONG.
55940
55941         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55942         instead of HAVE_LONG_LONG.
55943         * lib/printf-args.c (printf_fetchargs): Likewise.
55944         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55945         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55946         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55947         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55948         gl_AC_TYPE_LONG_LONG.
55949
55950 2006-10-11  Bruno Haible  <bruno@clisp.org>
55951
55952         * m4/longlong.m4: Add comments.
55953         * m4/ulonglong.m4: Likewise.
55954
55955 2006-10-10  Bruno Haible  <bruno@clisp.org>
55956
55957         Make it possible to #define stpcpy, strdup to aliases.
55958         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55959         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55960
55961 2006-10-10  Bruno Haible  <bruno@clisp.org>
55962
55963         Make it possible to #define gcd to an alias.
55964         * lib/gcd.c: Include config.h.
55965
55966 2006-10-10  Bruno Haible  <bruno@clisp.org>
55967
55968         Make it possible to #define c_isascii to an alias.
55969         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55970         defined. Undefine the macros before defining them, to avoid gcc
55971         warnings.
55972         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55973         define NO_C_CTYPE_MACROS early.
55974
55975 2006-10-10  Bruno Haible  <bruno@clisp.org>
55976
55977         Make it possible to #define set_program_name to an alias.
55978         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55979         ENABLE_RELOCATABLE early.
55980
55981 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55982
55983         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55984         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55985         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55986         More generally, don't assume that 64-bit signed int is available
55987         if unsigned int is, and vice versa.
55988         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55989         unsigned symbols, not on their signed counterparts.
55990         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55991         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55992         (UINT64_C, UINTMAX_C):
55993         Likewise.
55994         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55995         unsigned counterparts.
55996         (Have_long_long, Unsigned): New macros.
55997         (Int): Renamed from INT.
55998         (strtoimax): Use the new macros.
55999         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
56000         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
56001         * modules/inttypes (inttypes.h): Substitute
56002         HAVE_UNSIGNED_LONG_LONG_INT.
56003         * modules/stdint (stdint.h): Likewise.
56004         (Files): Add m4/ulonglong.m4.
56005
56006 2006-10-10  Bruno Haible  <bruno@clisp.org>
56007
56008         Fix a gcc -Wshadow warning.
56009         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
56010         to 'bucket'.
56011         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
56012         gl_linked_indexof_from_to): Likewise.
56013         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
56014         Likewise.
56015         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
56016         Likewise.
56017         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
56018         Reported by Eric Blake.
56019
56020 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
56021
56022         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
56023         for NetBSD.  Problem reported by Bruno Haible.
56024
56025 2006-10-09  Jim Meyering  <jim@meyering.net>
56026
56027         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
56028         Patch from Bruno Haible.
56029
56030 2006-10-09  Jim Meyering  <jim@meyering.net>
56031
56032         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
56033         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
56034         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
56035
56036 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56037
56038         Don't include <config.h> twice; this doesn't work in some cases,
56039         e.g., when config.h has "#define intmax_t long long int" and
56040         we include <config.h>, <inttypes.h>, <config.h> in that order.
56041         Problem reported by Matthew Woehlke in:
56042         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
56043         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
56044         * lib/fts-cycle.c: Don't include config.h.
56045         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
56046         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
56047         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
56048         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
56049         inttypes.h.
56050         * lib/xstrtoumax.c: Likewise.
56051         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
56052         __strtol and the like, so that this module is more like its siblings.
56053         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
56054         Remove; no longer needed now that we assume gnulib inttypes.h.
56055
56056 2006-10-08  Bruno Haible  <bruno@clisp.org>
56057
56058         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
56059         option.
56060
56061 2006-10-07  Jim Meyering  <jim@meyering.net>
56062
56063         * modules/inttypes (inttypes.h): Revert what seems to have been
56064         an inadvertent part of today's change: use "|", not "/" in the
56065         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
56066
56067 2006-10-07  Bruno Haible  <bruno@clisp.org>
56068
56069         * modules/sublist: New file.
56070
56071 2006-10-07  Bruno Haible  <bruno@clisp.org>
56072
56073         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
56074         * modules/argz (argz.h): Likewise.
56075         * modules/arpa_inet (arpa/inet.h): Likewise.
56076         * modules/byteswap (byteswap.h): Likewise.
56077         * modules/configmake (configmake.h): Likewise.
56078         * modules/fcntl (fcntl.h): Likewise.
56079         * modules/fnmatch (fnmatch.h): Likewise.
56080         * modules/getopt (getopt.h): Likewise.
56081         * modules/glob (glob.h): Likewise.
56082         * modules/inttypes (inttypes.h): Likewise.
56083         * modules/netinet_in (netinet/in.h): Likewise.
56084         * modules/poll (poll.h): Likewise.
56085         * modules/stdbool (stdbool.h): Likewise.
56086         * modules/stdint (stdint.h): Likewise.
56087         * modules/sys_select (sys/select.h): Likewise.
56088         * modules/sys_socket (sys/socket.h): Likewise.
56089         * modules/sys_stat (sys/stat.h): Likewise.
56090         * modules/sysexits (sysexits.h): Likewise.
56091         * modules/unistd (unistd.h): Likewise.
56092         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56093         Add a "DO NOT EDIT" comment to the generated file.
56094         (func_import): Likewise for gnulib-comp.m4.
56095
56096 2006-10-07  Bruno Haible  <bruno@clisp.org>
56097
56098         * lib/gl_sublist.h: New file.
56099         * lib/gl_sublist.c: New file.
56100
56101 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56102
56103         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
56104         name (relative to the original working directory) and the file
56105         name component (relative to the temporary working directory).  All
56106         callers changed.
56107         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
56108         * lib/mkdir-p.c (make_dir_parents): Likewise.
56109         * lib/mkdir-p.h (make_dir_parents): Likewise.
56110
56111 2006-10-06  Eric Blake  <ebb9@byu.net>
56112
56113         Define several macros for use by the clean-temp module.
56114         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
56115         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
56116         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
56117
56118         * lib/clean-temp.h (close_stream_temp): New declaration.
56119         * lib/clean-temp.c (includes): Pull in headers according to what
56120         other modules are in use.
56121         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
56122
56123 2006-10-06  Bruno Haible  <bruno@clisp.org>
56124
56125         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
56126         instead of fopen, fwriteerror.
56127
56128 2006-10-06  Bruno Haible  <bruno@clisp.org>
56129
56130         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
56131         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
56132         int.
56133         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
56134         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
56135         Return an error indicator.
56136         Suggested by Eric Blake.
56137
56138 2006-10-06  Bruno Haible  <bruno@clisp.org>
56139
56140         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
56141         Reported by Eric Blake.
56142
56143 2006-10-06  Bruno Haible  <bruno@clisp.org>
56144
56145         * modules/closeout (Description): Mention stderr too.
56146
56147 2006-10-06  Bruno Haible  <bruno@clisp.org>
56148         and Paul Eggert  <eggert@cs.ucla.edu>
56149
56150         * lib/closeout.c (close_stdout): Also close stderr.
56151         * lib/closeout.h: Update comment.
56152
56153 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
56154
56155         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
56156         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
56157         * lib/dirchownmod.c: Include lchown.h.
56158         * lib/lchown.c: Don't include files that lchown.h now includes.
56159         Don't declare chown, since lchown.h now does that.
56160         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
56161         (lchown): Define to rpl_chown if lchown is declared but
56162         does not exist.  Declare using a prototype if lchown is not
56163         declared.  Add a copyright notice.
56164         * lib/mkstemp.h: Include <unistd.h>.
56165         * lib/openat.c: Include lchown.h.
56166
56167         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
56168         we now test for that separately.
56169         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
56170         rather than O_NOFOLLOW, when testing whether it's possible to
56171         avoid a race condition reliably.
56172         * lib/savewd.c (savewd_chdir): Likewise.
56173
56174         Remove macros that are no longer needed now that stdint.h is
56175         reliable.
56176         * lib/fsusage.c (UINTMAX_MAX): Remove.
56177         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
56178         * lib/utimecmp.c (SIZE_MAX): Remove.
56179
56180         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
56181
56182         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
56183         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
56184         O_NOATIME works.
56185
56186 2006-10-05  Bruno Haible  <bruno@clisp.org>
56187
56188         * lib/gl_list.h (gl_sortedlist_search_from_to,
56189         gl_sortedlist_indexof_from_to): New declarations.
56190         (gl_list_implementation): New fields sortedlist_search_from_to,
56191         sortedlist_indexof_from_to.
56192         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
56193         inline functions.
56194         * lib/gl_list.c (gl_sortedlist_search_from_to,
56195         gl_sortedlist_indexof_from_to): New functions.
56196         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
56197         function.
56198         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
56199         (gl_array_sortedlist_search_from_to): New function.
56200         (gl_array_list_implementation): Update.
56201         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
56202         function.
56203         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
56204         (gl_carray_sortedlist_search_from_to): New function.
56205         (gl_carray_list_implementation): Update.
56206         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
56207         gl_linked_sortedlist_indexof_from_to): New functions.
56208         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56209         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56210         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
56211         gl_tree_sortedlist_indexof_from_to): New functions.
56212         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56213         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56214         Update.
56215         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56216         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
56217         Update.
56218
56219 2006-10-05  Bruno Haible  <bruno@clisp.org>
56220
56221         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
56222         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
56223         (struct gl_list_implementation): Add fields search_from_to,
56224         indexof_from_to. Remove fields search, indexof.
56225         (gl_list_search): Use the search_from_to method.
56226         (gl_list_search_from, gl_list_search_from_to): New functions.
56227         (gl_list_indexof): Use the indexof_from_to method.
56228         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56229         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
56230         (gl_list_search_from, gl_list_search_from_to): New functions.
56231         (gl_list_indexof): Use the indexof_from_to method.
56232         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56233         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
56234         gl_array_indexof. Add start_index, end_index arguments.
56235         (gl_array_search_from_to): Renamed from gl_array_search. Add
56236         start_index, end_index arguments.
56237         (gl_array_remove, gl_array_list_implementation): Update.
56238         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
56239         gl_carray_indexof. Add start_index, end_index arguments.
56240         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
56241         start_index, end_index arguments.
56242         (gl_carray_remove, gl_carray_list_implementation): Update.
56243         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
56244         gl_linked_search. Add start_index, end_index arguments.
56245         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
56246         start_index, end_index arguments.
56247         (gl_linked_remove): Update.
56248         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56249         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56250         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
56251         field to 'size_t'.
56252         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
56253         gl_tree_search. Add start_index, end_index arguments.
56254         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56255         start_index, end_index arguments.
56256         (gl_tree_remove): Update.
56257         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56258         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56259         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
56260         function.
56261         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
56262         gl_tree_search. Add start_index, end_index arguments.
56263         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56264         start_index, end_index arguments.
56265         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56266         Update.
56267         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56268
56269 2006-10-05  Bruno Haible  <bruno@clisp.org>
56270
56271         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
56272
56273         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
56274         fwriteerror_temp): New declarations.
56275         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
56276         (descriptors): New variable.
56277         (cleanup): First, close the descriptors.
56278         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
56279         fclose_temp, fwriteerror_temp): New functions.
56280
56281 2006-10-04  Jim Meyering  <jim@meyering.net>
56282
56283         * lib/fts.c (fts_open): Tiny comment change.
56284
56285 2006-10-04  Bruno Haible  <bruno@clisp.org>
56286
56287         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
56288         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
56289         gl_LOCK_BODY.
56290         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
56291         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
56292         gl_LOCK_EARLY_BODY.
56293         (gl_LOCK): Require gl_LOCK_BODY.
56294
56295 2006-10-04  Bruno Haible  <bruno@clisp.org>
56296
56297         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
56298         (gl_oset_search_atleast): New declaration.
56299         (struct gl_oset_implementation): Add field 'search_atleast'.
56300         (gl_oset_search_atleast): New inline function.
56301         * lib/gl_oset.c (gl_oset_search_atleast): New function.
56302         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
56303         (gl_array_oset_implementation): Update.
56304         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
56305         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
56306         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
56307
56308 2006-10-04  Bruno Haible  <bruno@clisp.org>
56309
56310         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
56311
56312 2006-10-03  Bruno Haible  <bruno@clisp.org>
56313
56314         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
56315         from gl_avltreehash_list_implementation.
56316
56317 2006-10-03  Bruno Haible  <bruno@clisp.org>
56318
56319         * lib/gl_oset.c (gl_oset_add): Fix return type.
56320
56321 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
56322
56323         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
56324
56325 2006-10-02  Eric Blake  <ebb9@byu.net>
56326
56327         * modules/strnlen (Depends-on): Add extensions.
56328
56329 2006-10-02  Eric Blake  <ebb9@byu.net>
56330
56331         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
56332         definition in 2.60+.
56333
56334 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
56335
56336         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
56337         checks.
56338
56339 2006-10-02  Bruno Haible  <bruno@clisp.org>
56340
56341         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
56342         to the AUTOMAKE_OPTIONS.
56343         Reported by Jim Meyering.
56344
56345 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
56346
56347         Work around bug in Solaris 10 /proc file system:
56348         /proc/self/fd/NNN/.. isn't the parent directory of
56349         the directory whose file descriptor is NNN.  This needs to
56350         be worked around at run time, not compile time, since a
56351         program might be built on Solaris 8, where things work, and
56352         run on Solaris 10.
56353         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
56354         to use the following interface instead:
56355         (OPENAT_BUFFER_SIZE): New macro.
56356         (openat_proc_name): New function.
56357         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
56358         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
56359         Likewise.
56360         * lib/openat-proc.c: New file.
56361         * modules/openat (Files): Add lib/openat-proc.c.
56362         (Depends-on): Add same-inode, stdbool.
56363         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
56364
56365 2006-09-29  Bruno Haible  <bruno@clisp.org>
56366
56367         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
56368         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
56369         argument. Set stdout_closed before testing for ferror, not after.
56370         (fwriteerror, fwriteerror_no_ebadf): New functions.
56371
56372 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56373
56374         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
56375
56376 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
56377
56378         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
56379         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
56380
56381 2006-09-28  Jim Meyering  <jim@meyering.net>
56382
56383         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
56384         Include <unistd.h>.
56385
56386 2006-09-28  Bruno Haible  <bruno@clisp.org>
56387
56388         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
56389         * modules/linkedhash-list (Depends-on): Likewise.
56390         * modules/rbtreehash-list (Depends-on): Likewise.
56391
56392 2006-09-28  Bruno Haible  <bruno@clisp.org>
56393
56394         * lib/strndup.h: Simplify the redefinition of strndup.
56395         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
56396         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
56397
56398 2006-09-28  Bruno Haible  <bruno@clisp.org>
56399
56400         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
56401         * lib/gl_linkedhash_list.c: Likewise.
56402         * lib/gl_rbtreehash_list.c: Likewise.
56403
56404 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56405
56406         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
56407         getaddrinfo.
56408
56409         * lib/__fpending.h: Don't include <stdio_ext.h> unless
56410         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
56411         it causes <stdio_ext.h> to cause a compile-time error.
56412         Problem reported by Nelson H. F. Beebe.
56413         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
56414         of HAVE_DECL___PENDING.
56415
56416         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
56417         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
56418         declaration.
56419
56420 2006-09-27  Jim Meyering  <jim@meyering.net>
56421
56422         This file could end up with a definition for a function
56423         named __strndup, rather than rpl_strndup on a system with
56424         incomplete weak_alias support.
56425         * lib/strndup.c (strndup): Rename from __strndup.
56426         Remove #defines that used to map __strndup to strndup.
56427         Don't use K&R prototypes.
56428         Remove LIBC-related code, since this file is not sync'd with glibc.
56429         * lib/strndup.h: Revamp, accordingly.
56430         * m4/strndup.m4: Modernize.
56431
56432 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
56433
56434         * modules/savewd (Depends-on): Add 'raise'.
56435         * lib/savewd.c: Include <signal.h>, for 'raise'.
56436
56437 2006-09-26  Jim Meyering  <jim@meyering.net>
56438
56439         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
56440         when we detect Darwin 8.7.0's acl_get_file bug.
56441         Rearrange to perform the new (below) run-test while $LIBS
56442         contains any acl-related library.  Set USE_ACL at the end.
56443         (gl_ACL_GET_FILE): New function.
56444
56445 2006-09-26  Eric Blake  <ebb9@byu.net>
56446
56447         * lib/verror.c: Include <config.h> unconditionally.
56448
56449 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
56450
56451         * modules/clock-time (Maintainer): Add self.
56452         * modules/getlogin_r (Depends-on): Add extensions.
56453
56454 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56455
56456         * modules/clock-time: New module.
56457         * modules/nanosleep (Depends-on): Add clock-time.
56458         * modules/gethrxtime (Depends-on): Likewise.
56459         * modules/gettime (Depends-on): Likewise.
56460         * modules/settime (Depends-on): Likewise.
56461
56462         * modules/fts-lgpl: Depend on openat.
56463         * modules/mkancesdirs: Depend on savewd.
56464         * modules/mkdir-p: Likewise.
56465
56466 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56467
56468         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
56469
56470         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
56471         `gl_have_arbitrary_file_name_length_limit' to
56472         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
56473         actually works between configure runs.
56474
56475 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56476             Bruno Haible  <bruno@clisp.org>
56477
56478         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
56479
56480 2006-09-25  Jim Meyering  <jim@meyering.net>
56481
56482         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
56483         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
56484
56485 2006-09-25  Eric Blake  <ebb9@byu.net>
56486
56487         * gnulib-tool (func_import, func_create_testdir): Fix typos in
56488         exec's in 2006-09-18 patch when shuffling fds.
56489
56490 2006-09-25  Bruno Haible  <bruno@clisp.org>
56491
56492         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
56493         Reported by Jim Meyering.
56494
56495 2006-09-24  Jim Meyering  <jim@meyering.net>
56496
56497         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
56498         compare a pointer against a literal "0".  That caused failures with
56499         at least HP-UX's hpcc.
56500
56501 2006-09-22  Simon Josefsson  <jas@extundo.com>
56502
56503         * modules/gc-sha1:
56504         * modules/gc-md4:
56505         * modules/gc-hmac-sha1:
56506         * modules/gc-hmac-md5:
56507         * modules/gc-des:
56508         * modules/gc-arcfour: Distribute more files.
56509
56510 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56511
56512         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
56513         (gl_linked_iterator_from_to): Initialize struct completely.
56514         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
56515         (gl_tree_iterator_from_to): Likewise
56516         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
56517         * lib/gl_array_list.c [lint] (gl_array_iterator)
56518         (gl_array_iterator_from_to): Likewise.
56519         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
56520         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
56521         (gl_carray_iterator_from_to): Likewise.
56522
56523         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
56524         * lib/md4.c (md4_process_block): Remove unused variable.
56525         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
56526         parentheses for clarity.
56527
56528 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56529
56530         * modules/bison-i18n (Depends-on): Add gettext.
56531
56532 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56533
56534         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
56535         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
56536         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
56537         also add missing comma that caused broken test.
56538         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
56539         stdlib.h, for `abort'.
56540         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
56541         variables.
56542         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
56543         include unistd.h if present, for `rmdir'.
56544         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
56545         variables.
56546         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
56547         in the process include standard headers for prototypes.
56548         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
56549         gets declared on GNU/Linux.
56550         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
56551         unistd.h, for `rmdir'.
56552         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
56553
56554         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
56555         always true.
56556         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
56557
56558         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
56559
56560 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56561
56562         * gnulib-tool (func_version): Create output all at once.  This
56563         may help avoid triggering unnecessary SIGPIPEs, and at any
56564         rate it doesn't hurt.
56565
56566 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56567             Bruno Haible  <bruno@clisp.org>
56568
56569         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
56570         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56571         * m4/signed.m4 (bh_C_SIGNED): Likewise.
56572
56573         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
56574         (gl_FUNC_VASPRINTF): Invoke it.
56575
56576 2006-09-22  Bruno Haible  <bruno@clisp.org>
56577
56578         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
56579         getloadavg.c as first argument.
56580
56581 2006-09-22  Bruno Haible  <bruno@clisp.org>
56582
56583         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
56584         at the beginning of the gl_INIT macro.
56585         * modules/getloadavg (configure.ac): Pass $gl_source_base to
56586         gl_GETLOADAVG.
56587
56588 2006-09-22  Bruno Haible  <bruno@clisp.org>
56589
56590         * gnulib-tool (func_create_megatestdir): Don't include the config-h
56591         module.
56592         Suggested by Ralf Wildenhues.
56593
56594 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56595
56596         Import this patch from libc:
56597
56598         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
56599
56600         * lib/regex_internal.c (re_string_reconstruct): Handle
56601         offset < pstr->valid_raw_len && pstr->offsets_needed case.
56602         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
56603         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
56604         re_string_context_at.
56605
56606         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
56607         now requires it.
56608         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
56609         gl_REGEX now does it for us.
56610         (gl_REGEX): Add test taken from
56611         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
56612
56613         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
56614         Check that large offsets work.  Modernize Autoconf usages.
56615         Prefer "yes" to mean a good thing rather than a bad.
56616         Don't put "#define mkstemp" in config.h, as this might interfere
56617         with standard system headers that "#define mkstemp mkstemp64".
56618
56619         * modules/mkstemp (Depends-on): Add extensions, so that
56620         mkstemp is visible on some platforms.
56621         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
56622         (Include): Change to "mkstemp.h" from <stdlib.h>.
56623         (Files): Add mkstemp.h.
56624
56625         * lib/mkstemp.h: New file, since some standard headers
56626         #define mkstemp.
56627         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
56628         Include "mkstemp.h".
56629         Make the _LIBC code resemble glibc original more,
56630         e.g., use K&R style.
56631         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
56632         (mkstemp): Remove, since mkstemp.h does this for us.
56633         * lib/stdlib--.h: Include mkstemp.h.
56634
56635         Import this patch from libc:
56636
56637         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56638
56639         * lib/tempname.c (__gen_tempname): Change attempts_min
56640         into a macro.  Use preprocessor to decide how to initialize
56641         attempts [Coverity CID 67].
56642
56643 2006-09-20  Bruno Haible  <bruno@clisp.org>
56644
56645         * lib/mkdtemp.c: Import from libc.
56646         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56647                 * sysdeps/posix/tempname.c (__gen_tempname): Change
56648                 attempts_min into a macro.  Use preprocessor to decide how to
56649                 initialize attempts [Coverity CID 67].
56650         2001-11-27  Paul Eggert  <eggert@twinsun.com>
56651                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
56652                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
56653
56654 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56655
56656         * gnulib-tool (func_exit): New function, to allow to pass the
56657         exit status portably through the trap.  Use everywhere.
56658         (--help, --version): Signal a write error.
56659         (trap): catch SIGPIPE, for write errors.
56660         Exit at the end of the trap, with the correct exit status.
56661
56662 2006-09-19  Karl Berry  <karl@gnu.org>
56663
56664         * doc/gnulib.texi: note about the license texinfo files.
56665
56666 2006-09-19  Eric Blake  <ebb9@byu.net>
56667
56668         * gnulib-tool: Avoid space-tab.
56669
56670 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56671
56672         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
56673         that prevented coreutils 6.1 from building.  Problem reported
56674         by Petter Reinholdtsen.
56675
56676 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56677
56678         * gnulib-tool (avoidlist): Fix typo that broke options like
56679         --avoid=lock that are used by coreutils bootstrap.
56680
56681 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
56682
56683         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
56684         more systematically.
56685
56686 2006-09-18  Jim Meyering  <jim@meyering.net>
56687
56688         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
56689
56690 2006-09-18  Bruno Haible  <bruno@clisp.org>
56691
56692         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
56693
56694 2006-09-18  Bruno Haible  <bruno@clisp.org>
56695
56696         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
56697         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
56698         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
56699         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
56700         * m4/gettext.m4: Require autoconf >= 2.52.
56701         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
56702         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
56703         of gl_cv_header_inttypes_h.
56704
56705 2006-09-18  Bruno Haible  <bruno@clisp.org>
56706
56707         * lib/javaversion.c: Include configmake.h.
56708
56709 2006-09-18  Bruno Haible  <bruno@clisp.org>
56710
56711         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
56712         avoid that the while loops be executed in a subshell.
56713
56714 2006-09-18  Bruno Haible  <bruno@clisp.org>
56715
56716         * MODULES.html.sh (func_module): Break long lines.
56717         Suggested by Bruce Korb <bkorb@gnu.org>.
56718
56719 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56720
56721         Speed up by a factor of 1.12.
56722         * gnulib-tool (nl): New variable.
56723         (func_import): Rewrite include directive extraction to only read each
56724         directive once.
56725
56726 2006-09-17  Bruno Haible  <bruno@clisp.org>
56727
56728         * modules/javaversion (Makefile.am): Remove DEFS setting.
56729         (Depends-on): Add configmake, for PKGDATADIR definition.
56730
56731 2006-09-17  Bruno Haible  <bruno@clisp.org>
56732
56733         * gnulib-tool (func_create_testdir): Rewrite all files at once.
56734
56735 2006-09-17  Bruno Haible  <bruno@clisp.org>
56736
56737         * gnulib-tool (func_append): New function, stolen from libtool.m4.
56738         (func_modules_transitive_closure, func_modules_add_dummy,
56739         func_modules_to_filelist, func_import, func_create_testdir,
56740         func_create_megatestdir, ...): Use it wherever possible.
56741         Suggested by Ralf Wildenhues.
56742
56743 2006-09-16  Karl Berry  <karl@gnu.org>
56744
56745         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
56746         to avoid sectioning errors.
56747         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
56748         [ifinfo]: blank line after @center-ed titles.
56749         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
56750         Spell FSF address consistently with others.
56751         (These changes approved by rms.)
56752
56753 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56754
56755         Speed up by a factor of 1.61.
56756         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
56757         already checked module names again.
56758
56759 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56760
56761         Speed up by a factor of 1.13.
56762         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
56763         for new_files, and the input to func_add_or_update.
56764
56765 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56766
56767         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
56768         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
56769
56770 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56771
56772         * modules/mkancesdirs (Depends-on): Add fcntl.
56773         * modules/savewd: New file.
56774         * MODULES.html.sh (File system functions): Add savewd.
56775
56776         * modules/configmake (Makefile.am): Add support for the
56777         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
56778
56779 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56780
56781         * m4/savewd.m4: New file.
56782
56783 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56784
56785         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
56786         (dirchownmod): New arg FD.  All callers changed.
56787         Use FD rather than opening the directory ourself, as opening is
56788         now the caller's responsibility.
56789         * lib/dirchownmod.h: Likewise.
56790         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
56791         hosts that require <sys/types.h> before <sys/stat.h>.  Include
56792         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
56793         (test_dir): Remove.
56794         (mkancesdirs): Return length of prefix of FILE that has already
56795         been made, or -2 if there is a child doing the work.  Redo
56796         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56797         ".", and treat ".." specially since it might stray back into
56798         already-created areas.  Use a subprocess if necessary.  New arg
56799         WD; all users changed.  MAKE_DIR function should now return 1
56800         if it creates a directory that is not readable.  Return -2 if
56801         a child process is spun off.
56802         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56803         Adjust signature to match code.
56804         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56805         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56806         all users changed.
56807         * lib/savewd.c, lib/savewd.h: New files.
56808
56809 2006-09-15  Jim Meyering  <jim@meyering.net>
56810
56811         * modules/rename-dest-slash: New module.
56812         * MODULES.html.sh (posix_compat): Add it here.
56813
56814         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56815
56816 2006-09-15  Jim Meyering  <jim@meyering.net>
56817
56818         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56819         file.
56820
56821         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56822
56823 2006-09-15  Jim Meyering  <jim@meyering.net>
56824
56825         * lib/rename-dest-slash.c (has_trailing_slash): Use
56826         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56827         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56828         test before testing whether SRC is a directory.
56829         Suggestions from Bruno Haible.
56830
56831         Avoid a warning about an unused variable.
56832         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56833         into the #ifdef block where it's used.
56834
56835         * lib/rename-dest-slash.c: New file.
56836
56837 2006-09-14  Bruno Haible  <bruno@clisp.org>
56838
56839         * lib/allocsa.c: Include <config.h> unconditionally.
56840         * lib/asnprintf.c: Likewise.
56841         * lib/asprintf.c: Likewise.
56842         * lib/c-strcasecmp.c: Likewise.
56843         * lib/c-strcasestr.c: Likewise.
56844         * lib/c-strncasecmp.c: Likewise.
56845         * lib/c-strstr.c: Likewise.
56846         * lib/classpath.c: Likewise.
56847         * lib/clean-temp.c: Likewise.
56848         * lib/concatpath.c: Likewise.
56849         * lib/copy-file.c: Likewise.
56850         * lib/csharpcomp.c: Likewise.
56851         * lib/csharpexec.c: Likewise.
56852         * lib/execute.c: Likewise.
56853         * lib/fatal-signal.c: Likewise.
56854         * lib/findprog.c: Likewise.
56855         * lib/fwriteerror.c: Likewise.
56856         * lib/gl_array_list.c: Likewise.
56857         * lib/gl_array_oset.c: Likewise.
56858         * lib/gl_avltree_list.c: Likewise.
56859         * lib/gl_avltree_oset.c: Likewise.
56860         * lib/gl_avltreehash_list.c: Likewise.
56861         * lib/gl_carray_list.c: Likewise.
56862         * lib/gl_linked_list.c: Likewise.
56863         * lib/gl_linkedhash_list.c: Likewise.
56864         * lib/gl_list.c: Likewise.
56865         * lib/gl_oset.c: Likewise.
56866         * lib/gl_rbtree_list.c: Likewise.
56867         * lib/gl_rbtree_oset.c: Likewise.
56868         * lib/gl_rbtreehash_list.c: Likewise.
56869         * lib/imaxabs.c: Likewise.
56870         * lib/imaxdiv.c: Likewise.
56871         * lib/javacomp.c: Likewise.
56872         * lib/javaexec.c: Likewise.
56873         * lib/javaversion.c: Likewise.
56874         * lib/linebreak.c: Likewise.
56875         * lib/localcharset.c: Likewise.
56876         * lib/lock.c: Likewise.
56877         * lib/mbchar.c: Likewise.
56878         * lib/mbswidth.c: Likewise.
56879         * lib/mkdtemp.c: Likewise.
56880         * lib/pipe.c: Likewise.
56881         * lib/printf-args.c: Likewise.
56882         * lib/printf-parse.c: Likewise.
56883         * lib/progname.c: Likewise.
56884         * lib/progreloc.c: Likewise.
56885         * lib/readlink.c: Likewise.
56886         * lib/sh-quote.c: Likewise.
56887         * lib/stpcpy.c: Likewise.
56888         * lib/stpncpy.c: Likewise.
56889         * lib/strcasecmp.c: Likewise.
56890         * lib/strcasestr.c: Likewise.
56891         * lib/strcspn.c: Likewise.
56892         * lib/striconv.c: Likewise.
56893         * lib/strncasecmp.c: Likewise.
56894         * lib/strnlen1.c: Likewise.
56895         * lib/strstr.c: Likewise.
56896         * lib/strtok_r.c: Likewise.
56897         * lib/tls.c: Likewise.
56898         * lib/tmpdir.c: Likewise.
56899         * lib/unicodeio.c: Likewise.
56900         * lib/unsetenv.c: Likewise.
56901         * lib/vasnprintf.c: Likewise.
56902         * lib/vasprintf.c: Likewise.
56903         * lib/wait-process.c: Likewise.
56904         * lib/xallocsa.c: Likewise.
56905         * lib/xsetenv.c: Likewise.
56906         * lib/xstriconv.c: Likewise.
56907
56908 2006-09-13  Simon Josefsson  <jas@extundo.com>
56909
56910         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56911         that internally, suggested by Ralf Wildenhues
56912         <Ralf.Wildenhues@gmx.de>.
56913
56914 2006-09-13  Simon Josefsson  <jas@extundo.com>
56915
56916         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56917         @LIBOBJS@.
56918         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56919
56920 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56921
56922         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56923         longer worry about uses that don't define HAVE_CONFIG_H.
56924         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56925         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56926         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56927         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56928         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56929         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56930         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56931         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56932         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56933         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56934         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56935         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56936         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56937         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56938         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56939         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56940         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56941         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56942         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56943         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56944         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56945         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56946         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56947         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56948         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56949         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56950         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56951         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56952         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56953         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56954         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56955         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56956         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56957         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56958         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56959         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56960         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56961         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56962         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56963         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56964         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56965         Likewise.
56966
56967 2006-09-13  Eric Blake  <ebb9@byu.net>
56968
56969         * lib/getopt.c: Fix typo in last commit.
56970
56971 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56972
56973         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56974         dgettext.
56975
56976 2006-09-12  Jim Meyering  <jim@meyering.net>
56977
56978         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56979         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56980         Reported by Nelson H. F. Beebe.
56981
56982 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56983
56984         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56985         program_invocation_name and program_invocation_short_name are
56986         initialized.
56987         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56988         and program_invocation_short_name to argp.h, so they are visible
56989         to user programs.
56990         * lib/argp.h: Likewise
56991
56992 2006-09-10  Bruno Haible  <bruno@clisp.org>
56993
56994         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56995         m4/inttypes_h.m4, m4/uintmax_t.m4.
56996
56997 2006-09-10  Bruno Haible  <bruno@clisp.org>
56998
56999         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
57000         gl_AC_TYPE_UINTMAX_T.
57001
57002 2006-09-10  Bruno Haible  <bruno@clisp.org>
57003
57004         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
57005
57006 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57007
57008         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
57009         convention.  Text proposed by Bruno Haible.
57010         (struct argp_option): Document the use of N_() wrappers.
57011
57012         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
57013         '\v', and translate the two parts separately, instead of feeding
57014         the whole string to gettext.  This allows to exclude
57015         '\v' from the strings visible to the translator by writing doc
57016         strings as N_("..") "\v" N_("..").
57017
57018 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
57019
57020         * config/srclist.txt: Undo latest change; the bug was fixed.
57021
57022 2006-09-09  Bruno Haible  <bruno@clisp.org>
57023
57024         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
57025         assignments if building a library without libtool.
57026         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
57027         in func_emit_lib_Makefile_am.
57028         (func_import): When building a static library libfoo.a, arrange to
57029         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
57030         (func_create_testdir): Likewise.
57031         * modules/gc (configure.ac, Makefile.am): If building statically,
57032         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
57033         * modules/iconvme (configure.ac, Makefile.am): Likewise.
57034         * modules/striconv (configure.ac, Makefile.am): Likewise.
57035         Based on a suggestion by Ralf Wildenhues.
57036
57037 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57038
57039         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57040         Check for unistd.h too, since Autoconf doesn't assume POSIX.
57041         Also:
57042
57043         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57044         Add year_2050_test to catch glibc bug 2821
57045         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57046
57047         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57048         Prefer #ifdef to #if.
57049
57050         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
57051         Return from 'main' instead of calling 'exit'.
57052
57053 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57054
57055         * lib/mktime.c (guess_time_tm): Fix bug where mktime
57056         returned the maximum time_t value rather than (time_t) -1.
57057         Problem originally reported by William Bardwell
57058         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57059
57060         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57061         Moved to here ...
57062         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57063         ... from here.
57064
57065 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57066
57067         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
57068         2821 is fixed.
57069
57070 2006-09-08  Jim Meyering  <jim@meyering.net>
57071
57072         Don't make generated files read-only.  That would bother too many
57073         people.  However, do retain the ability to work when targets are
57074         read-only: remove the destination and temporary files before writing
57075         them (when generated via sed or echo), or by using the -f option for
57076         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
57077         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57078         * modules/byteswap, modules/configmake, modules/fcntl:
57079         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57080         * modules/localcharset, modules/netinet_in, modules/poll:
57081         * modules/stdbool, modules/stdint, modules/sys_select:
57082         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57083
57084 2006-09-08  Jim Meyering  <jim@meyering.net>
57085
57086         Avoid new build failure on FreeBSD 6.0.
57087         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
57088         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
57089         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
57090
57091 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57092
57093         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
57094
57095 2006-09-07  Jim Meyering  <jim@meyering.net>
57096
57097         Fix global typo in last change: use chmod u-w, not chmod u-x.
57098         Spotted by Paul Eggert and Bruce Korb.
57099         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57100         * modules/byteswap, modules/configmake, modules/fcntl:
57101         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57102         * modules/localcharset, modules/netinet_in, modules/poll:
57103         * modules/stdbool, modules/stdint, modules/sys_select:
57104         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57105
57106 2006-09-06  Jim Meyering  <jim@meyering.net>
57107
57108         Make generated files be read-only.
57109         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
57110         Ensure that each generated file is now read-only.
57111         * modules/argz: Likewise.
57112         * modules/arpa_inet: Likewise.
57113         * modules/byteswap: Likewise.
57114         * modules/configmake: Likewise.
57115         * modules/fcntl: Likewise.
57116         * modules/fnmatch: Likewise.
57117         * modules/getopt: Likewise.
57118         * modules/glob: Likewise.
57119         * modules/inttypes: Likewise.
57120         * modules/netinet_in: Likewise.
57121         * modules/poll: Likewise.
57122         * modules/stdbool: Likewise.
57123         * modules/stdint: Likewise.
57124         * modules/sys_select: Likewise.
57125         * modules/sys_socket: Likewise.
57126         * modules/sys_stat: Likewise.
57127         * modules/sysexits: Likewise.
57128         * modules/localcharset: Same as above, but continue using temporary
57129         file named "t-$@" (why different?) rather than the "$@-t" used
57130         everywhere else.
57131
57132         * modules/sysexits (Makefile.am): Replace literal occurrences
57133         of "sysexit.h" more readable, and more consistent, "$@".
57134
57135 2006-09-06  Bruno Haible  <bruno@clisp.org>
57136
57137         * modules/striconv: New file.
57138         * modules/xstriconv: New file.
57139         * MODULES.html.sh (Internationalization functions): Add striconv,
57140         xstriconv.
57141
57142 2006-09-06  Bruno Haible  <bruno@clisp.org>
57143
57144         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
57145         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
57146         not using libtool correctly.
57147
57148 2006-09-06  Bruno Haible  <bruno@clisp.org>
57149
57150         * lib/striconv.h: New file.
57151         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
57152         iconvstring.c.
57153         * lib/xstriconv.h: New file.
57154         * lib/xstriconv.c: New file.
57155
57156 2006-09-06  Bruno Haible  <bruno@clisp.org>
57157
57158         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57159         lib_..._LDFLAGS.
57160
57161 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57162
57163         * lib/argz_.h: Sync from Libtool.
57164
57165         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
57166                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57167
57168         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
57169
57170 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57171
57172         * modules/trim: New file.
57173
57174 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57175
57176         * lib/trim.h: New file.
57177         * lib/trim.c: New file.
57178
57179 2006-09-05  Bruno Haible  <bruno@clisp.org>
57180
57181         * MODULES.html.sh (String handling): Add trim.
57182
57183 2006-09-04  Karl Berry  <karl@gnu.org>
57184
57185         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
57186         until next release.
57187
57188 2006-09-03  Bruno Haible  <bruno@clisp.org>
57189
57190         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
57191         correctly.
57192
57193 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57194
57195         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
57196         not gl_GETLOADAVG.  Omit unneeded semicolons.
57197         Problems reported by Ralf Wildenhues in
57198         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57199         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
57200         at the end, which is the usual gnulib style.
57201
57202         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
57203         of doing all the work ourselves.
57204         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
57205         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
57206
57207 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57208
57209         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
57210         Problem reported by Ralf Wildenhues in
57211         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57212
57213         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
57214         HAVE_STRUCT_STATFS_F_FSTYPENAME.
57215
57216 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57217
57218         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
57219         yesterday's patch by changing test -n to test -z.
57220
57221 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57222
57223         * modules/getloadavg (Files): Add m4/getloadavg.m4.
57224         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
57225         the former is now obsolescent.
57226
57227         * modules/chdir-long (Depends-on): Add fcntl.
57228
57229 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57230
57231         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
57232         obsolescent, and programs should use gnulib instead.
57233         * m4/getloadavg.m4: New file, with contents taken from Autoconf
57234         but with prefixes changed.
57235
57236 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57237
57238         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
57239         or stdbool.h, because they might not exist while configuring.
57240
57241         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
57242         Don't include unistd.h or limits.h; not needed, since chdir-long.h
57243         does that for us.
57244         (O_DIRECTORY): Remove.
57245
57246 2006-08-31  Eric Blake  <ebb9@byu.net>
57247
57248         * gnulib-tool: Don't let emacs change spaces to TAB.
57249
57250 2006-08-31  Bruno Haible  <bruno@clisp.org>
57251
57252         * gnulib-tool: When calling func_import more than once, do it in a
57253         subshell.
57254         Reported by Eric Blake <ebb9@byu.net>.
57255
57256 2006-08-31  Bruno Haible  <bruno@clisp.org>
57257
57258         * gnulib-tool (nl): Remove variable.
57259         (sed_transform_lib_file): Use more robust test for config-h module.
57260         (func_import): Fix typo in 2006-08-25 patch.
57261
57262 2006-08-31  Bruno Haible  <bruno@clisp.org>
57263
57264         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
57265         specified, augment Makefile.am variables instead of assigning them.
57266
57267 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57268
57269         Work around a bug in both the Linux and SunOS 64-bit kernels:
57270         nanosleep mishandles sleeps for longer than 2**31 seconds.
57271         Problem reported by Frank v Waveren in
57272         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57273         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
57274         Check for nanosleep bug.
57275         (LIB_NANOSLEEP): Append clock_gettime library if needed.
57276
57277 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57278
57279         Work around a bug in both the Linux and SunOS 64-bit kernels:
57280         nanosleep mishandles sleeps for longer than 2**31 seconds.
57281         Problem reported by Frank v Waveren in
57282         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57283         * lib/nanosleep.c (BILLION): New constant.
57284         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
57285         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
57286         implementation.
57287
57288 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57289
57290         * modules/nanosleep (Depends-on): Add gettime.
57291
57292 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57293         and Simon Josefsson  <jas@extundo.com>
57294         and Oskar Liljeblad  <oskar@osk.mine.nu>
57295
57296         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
57297         * gnulib-tool (func_import): New license type 'unmodifiable license
57298         text'.
57299         * modules/fdl: Use it.  Longer description.
57300         * module/gpl, module/lgpl: New files.
57301
57302 2006-08-30  Jim Meyering  <jim@meyering.net>
57303
57304         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
57305         shadowing the parameter.
57306
57307 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57308
57309         Sync from Libtool:
57310
57311         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57312
57313         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
57314         sharing with gnulib.  Report by Eric Blake.
57315
57316 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57317
57318         * modules/isapipe: New file.
57319         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
57320
57321 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57322
57323         * modules/configmake (Makefile.am): Add a comment, and omit
57324         the CONFIGMAKE_ prefix from generated macro names.  Suggested
57325         by Bruno Haible.
57326
57327 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57328
57329         * m4/isapipe.m4: New file.
57330
57331 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57332
57333         * lib/isapipe.c, lib/isapipe.h: New files.
57334
57335 2006-08-29  Jim Meyering  <jim@meyering.net>
57336
57337         * modules/configmake (Makefile.am): Make configmake.h depend on
57338         Makefile.  Otherwise, a stale configmake.h could hang around.
57339
57340 2006-08-29  Eric Blake  <ebb9@byu.net>
57341
57342         * lib/error.c (error_at_line, print_errno_message): Match libc, after
57343         resolution of upstream bug 3044.
57344
57345 2006-08-29  Bruno Haible  <bruno@clisp.org>
57346
57347         * modules/localcharset (Depends-on): Add configmake.
57348         (Makefile.am): Remove setting of LIBDIR through DEFS.
57349
57350 2006-08-29  Bruno Haible  <bruno@clisp.org>
57351
57352         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
57353         defined.
57354
57355 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57356
57357         * modules/fcntl: New file.
57358         * modules/chdir-safer (Depends-on): Add fcntl.
57359         * modules/fts: Likewise.
57360         * modules/mkdir-p: Likewise.
57361
57362         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
57363         This undoes the most recent change, since we're now addressing the
57364         problem in a different way.
57365
57366         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
57367         into output, since the output might be called Makefile.am even
57368         if $makefile_name is something different.
57369         (func_import): Use $makefile_am rather than
57370         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
57371         empty.
57372
57373         * modules/inttypes (Files): Add m4/inttypes-h.m4.
57374
57375 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57376
57377         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
57378         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
57379         recent change to stdint.m4, since we're now addressing the problem in a
57380         different way.
57381
57382 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57383
57384         * m4/fcntl_h.m4: New file.
57385
57386 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57387
57388         * lib/fcntl_.h: New file.
57389         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
57390         the fcntl module.
57391         * lib/dirchownmod.c: Likewise.
57392         * lib/fts.c: Likewise.
57393
57394         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
57395         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
57396         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
57397         just before including <inttypes.h>, to avoid circular inclusion.
57398
57399 2006-08-28  Jim Meyering  <jim@meyering.net>
57400
57401         * doc/visibility.texi: Actually read and correct the grammar of the
57402         sentence affected by yesterday's change.
57403
57404 2006-08-28  Eric Blake  <ebb9@byu.net>
57405
57406         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
57407         needs wrapper.
57408
57409 2006-08-28  Eric Blake  <ebb9@byu.net>
57410
57411         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
57412
57413 2006-08-28  Eric Blake  <ebb9@byu.net>
57414
57415         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
57416
57417 2006-08-28  Bruno Haible  <bruno@clisp.org>
57418
57419         * modules/c-strstr: New file, from GNU gettext.
57420         * MODULES.html.sh (String handling): Add c-strstr.
57421
57422 2006-08-28  Bruno Haible  <bruno@clisp.org>
57423
57424         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
57425         macros.
57426         Reported by Eric Blake.
57427
57428 2006-08-28  Bruno Haible  <bruno@clisp.org>
57429
57430         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
57431         (VASNPRINTF): Return a string of length > INT_MAX without failing.
57432         * lib/vasprintf.c: Include errno.h, limits.h.
57433         (EOVERFLOW): New fallback definition.
57434         (vasprintf): Test here whether the string length is > INT_MAX.
57435         * lib/vsnprintf.c: Include errno.h, limits.h.
57436         (EOVERFLOW): New fallback definition.
57437         (vsnprintf): Fix bug when generated string was too long for the buffer.
57438         Test here whether the string length is > INT_MAX.
57439
57440 2006-08-28  Bruno Haible  <bruno@clisp.org>
57441
57442         * lib/inttypes_.h (SCNX*): Remove definitions.
57443         Reported by Eric Blake.
57444
57445 2006-08-28  Bruno Haible  <bruno@clisp.org>
57446
57447         * lib/c-strstr.h: New file, from GNU gettext.
57448         * lib/c-strstr.c: New file, from GNU gettext.
57449
57450 2006-08-28  Bruno Haible  <bruno@clisp.org>
57451
57452         * gnulib-tool: Reorder some statements.
57453
57454 2006-08-28  Bruno Haible  <bruno@clisp.org>
57455
57456         * gnulib-tool: New option --makefile-name.
57457         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
57458         $makefile_name.
57459         (func_import): Write $makefile_name to the cache file, and read it from
57460         there unless explicitly specified. Use $makefile_name as file name
57461         instead of Makefile.am. Adjust the recommendations accordingly.
57462
57463 2006-08-28  Bruno Haible  <bruno@clisp.org>
57464
57465         * gnulib-tool (func_verify_module): Check against misapplying patch.
57466
57467 2006-08-28  Bruno Haible  <bruno@clisp.org>
57468
57469         * gnulib-tool (func_relativize, func_relconcat): New functions.
57470         Give an error if --local-dir is given with --update.
57471         Remove trailing slashes from $local_gnulib_dir.
57472         (func_import): Store the relativized $local_gnulib_dir in
57473         gnulib-cache.m4, and read it from there if not specified explicitly.
57474
57475 2006-08-28  Bruno Haible  <bruno@clisp.org>
57476
57477         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
57478         is the current directory. Respect also $local_gnulib_dir.
57479
57480 2006-08-28  Bruno Haible  <bruno@clisp.org>
57481             Simon Josefsson  <jas@extundo.com>
57482
57483         BeOS portability.
57484         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
57485
57486 2006-08-27  Jim Meyering  <jim@meyering.net>
57487
57488         * doc/visibility.texi: Remove duplicate word: "pointer".
57489
57490 2006-08-26  Bruno Haible  <bruno@clisp.org>
57491
57492         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
57493         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
57494         (Makefile.am): Create inttypes.h from inttypes_.h.
57495         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
57496
57497         * modules/imaxabs: New file.
57498
57499         * modules/imaxdiv: New file.
57500
57501 2006-08-26  Bruno Haible  <bruno@clisp.org>
57502
57503         * m4/inttypes.m4: New file.
57504         * m4/_inttypes_h.m4: Remove file.
57505         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
57506         PRI_MACROS_BROKEN.
57507         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
57508
57509         * m4/imaxabs.m4: New file.
57510
57511         * m4/imaxdiv.m4: New file.
57512
57513 2006-08-26  Bruno Haible  <bruno@clisp.org>
57514
57515         * lib/inttypes_.h: New file.
57516         * lib/inttypes.h: Remove file.
57517         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
57518
57519         * lib/imaxabs.c: New file.
57520
57521         * lib/imaxdiv.c: New file.
57522
57523 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57524
57525         New config-h module, so that "make" output needn't be cluttered
57526         by -DHAVE_CONFIG_H.
57527         * MODULES.html.sh (Support for building libraries and executables):
57528         Add config-h.
57529         * modules/config-h: New file.
57530         * gnulib-tool (nl, sed_transform_lib_file): New vars.
57531         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
57532         the config-h module is used.
57533
57534         New configmake module, so that "make" output needn't be cluttered
57535         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
57536         * MODULES.html.sh (Support for building libraries and executables):
57537         Add configmake.
57538         * modules/configmake: New file.
57539
57540 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57541
57542         * m4/config-h.m4: New file.
57543
57544 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57545
57546         * config/srclist.txt: Add elisp-comp.
57547
57548 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57549
57550         * MODULES.html.sh (Support for building libraries and executables):
57551         Add elisp-comp.
57552         * build-aux/elisp-comp: New file.
57553         * modules/elisp-comp: New file.
57554
57555 2006-08-24  Bruno Haible  <bruno@clisp.org>
57556
57557         * gnulib-tool (func_create_testdir): Use non-default values of
57558         sourcebase and m4base.
57559
57560 2006-08-24  Bruno Haible  <bruno@clisp.org>
57561
57562         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
57563         HTML structure.
57564
57565 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57566
57567         * modules/openat (Depends-on): Add lchown.
57568
57569 2006-08-23  Bruno Haible  <bruno@clisp.org>
57570
57571         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
57572         of gl_LOCK_EARLY instead of gl_LOCK.
57573
57574 2006-08-23  Bruno Haible  <bruno@clisp.org>
57575
57576         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
57577         on OSF/1 to no.
57578         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
57579
57580 2006-08-23  Bruno Haible  <bruno@clisp.org>
57581
57582         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
57583         as unusable.
57584
57585         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
57586         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
57587         (gl_LOCK): New macro.
57588
57589 2006-08-22  Simon Josefsson  <jas@extundo.com>
57590
57591         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
57592         to md5 module.
57593
57594 2006-08-22  Simon Josefsson  <jas@extundo.com>
57595
57596         * MODULES.html.sh: Add "Support for maintaining and release
57597         projects".
57598
57599         * build-aux/gnupload: New file, from coreutils.
57600
57601 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57602
57603         Avoid the need for AC_LIBSOURCES in m4 macros.
57604         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
57605         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
57606         * modules/check-version (EXTRA_DIST): Add check-version.h.
57607         * modules/crc (EXTRA_DIST): Add crc.h.
57608         * modules/des (EXTRA_DIST): Add des.h.
57609         * modules/gc (EXTRA_DIST): Add gc.h.
57610         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
57611         * modules/getline (EXTRA_DIST): Add getline.h.
57612         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
57613         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
57614         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
57615         * modules/md2 (EXTRA_DIST): Add md2.h.
57616         * modules/md4 (EXTRA_DIST): Add md4.h.
57617         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
57618         * modules/read-file (EXTRA_DIST): Add read-file.h.
57619         * modules/readline (EXTRA_DIST): Add readline.h.
57620         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
57621         rijndael-api-fst.h.
57622
57623 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57624
57625         * m4/rijndael.m4 (gl_ARCFOUR):
57626         * m4/arctwo.m4 (gl_ARCTWO):
57627         * m4/check-version.m4 (gl_CHECK_VERSION):
57628         * m4/crc.m4 (gl_CRC):
57629         * m4/des.m4 (gl_DES):
57630         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
57631         * m4/gc.m4 (gl_GC):
57632         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
57633         * m4/getline.m4 (gl_FUNC_GETLINE):
57634         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
57635         * m4/hmac-md5.m4 (gl_HMAC_MD5):
57636         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
57637         * m4/md2.m4 (gl_MD2):
57638         * m4/md4.m4 (gl_MD4):
57639         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
57640         * m4/read-file.m4 (gl_FUNC_READ_FILE):
57641         * m4/readline.m4 (gl_FUNC_READLINE):
57642         * m4/rijndael.m4 (gl_RIJNDAEL):
57643         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57644         to get the necessary .h files and whatnot.
57645
57646 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57647
57648         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
57649         gnulib rather than the other way around.
57650         * config/srclistvars.sh (COREUTILS): Remove.
57651
57652 2006-08-22  Jim Meyering  <jim@meyering.net>
57653
57654         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
57655
57656         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
57657
57658 2006-08-22  Eric Blake  <ebb9@byu.net>
57659
57660         * modules/regexprops-generic: New file.
57661         * MODULES.html.sh (Support for building documentation): List it.
57662
57663 2006-08-22  Eric Blake  <ebb9@byu.net>
57664
57665         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
57666         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
57667         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
57668         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
57669
57670 2006-08-22  Bruno Haible  <bruno@clisp.org>
57671
57672         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
57673         and lib_LTLIBRARIES like the other lib_* variables.
57674
57675 2006-08-22  Bruno Haible  <bruno@clisp.org>
57676
57677         * build-aux/x-to-1.in: New file, from GNU gettext.
57678
57679 2006-08-22  Bruno Haible  <bruno@clisp.org>
57680
57681         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
57682         <utmpx.h> exists.
57683
57684 2006-08-22  Bruno Haible  <bruno@clisp.org>
57685
57686         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
57687         <utmpx.h> exists.
57688
57689 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57690
57691         BeOS portability.
57692         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
57693         exist.
57694         Problem reported by Bruno Haible.
57695
57696 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57697
57698         Avoid the need for AC_LIBSOURCES in m4 macros.
57699         * modules/acl (EXTRA_DIST): Add acl.h.
57700         * modules/argmatch (Files): Add m4/argmatch.m4.
57701         (configure.ac): Add gl_ARGMATCH.
57702         (EXTRA_DIST): Renamed from lib_SOURCES, for
57703         consistency with the other modules.  Remove argmatch.c.
57704         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
57705         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
57706         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
57707         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
57708         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
57709         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
57710         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
57711         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
57712         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
57713         * modules/closeout (EXTRA_DIST): Add closeout.h.
57714         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
57715         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
57716         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
57717         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
57718         dirname.h; remove basename.c and stripslash.c.
57719         * modules/exclude (EXTRA_DIST): Add exclude.h.
57720         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
57721         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
57722         * modules/file-type (EXTRA_DIST): Add file-type.h.
57723         * modules/filemode (EXTRA_DIST): Add filemode.h.
57724         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
57725         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57726         * modules/fpending (EXTRA_DIST): Add __fpending.h.
57727         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
57728         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
57729         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
57730         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
57731         * modules/getdate (EXTRA_DIST): Add getdate.c.
57732         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
57733         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
57734         * modules/getpass (EXTRA_DIST): Add getpass.h.
57735         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
57736         * modules/group-member (EXTRA_DIST): Add group-member.h.
57737         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
57738         * modules/hash (EXTRA_DIST): Add hash.h.
57739         * modules/human (EXTRA_DIST): Add human.h.
57740         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
57741         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
57742         * modules/lchown (EXTRA_DIST): Add lchown.h.
57743         * modules/long-options (EXTRA_DIST): Add long-options.h.
57744         * modules/lstat (EXTRA_DIST): Add lstat.h.
57745         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
57746         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
57747         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
57748         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
57749         * modules/memxor (EXTRA_DIST): Add memxor.h.
57750         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
57751         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
57752         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
57753         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
57754         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
57755         * modules/physmem (EXTRA_DIST): Add physmem.h.
57756         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
57757         * modules/posixver (EXTRA_DIST): Add posixver.h.
57758         * modules/quote (EXTRA_DIST): Add quote.h.
57759         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
57760         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
57761         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
57762         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
57763         regex_internal.h regexec.c.
57764         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
57765         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
57766         * modules/same (EXTRA_DIST): Add same.h.
57767         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
57768         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
57769         * modules/savedir (EXTRA_DIST): Add savedir.h.
57770         * modules/sha1 (EXTRA_DIST): Add sha1.h.
57771         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
57772         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
57773         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
57774         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
57775         * modules/strdup (EXTRA_DIST): Add strdup.h.
57776         * modules/strftime (EXTRA_DIST): Add strftime.h.
57777         * modules/strndup (EXTRA_DIST): Add strndup.h.
57778         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
57779         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
57780         * modules/time_r (EXTRA_DIST): Add time_r.h.
57781         * modules/timespec (EXTRA_DIST): Add timespec.h.
57782         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57783         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
57784         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
57785         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
57786         * modules/userspec (EXTRA_DIST): Add userspec.h.
57787         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
57788         * modules/utimens (EXTRA_DIST): Add utimens.h.
57789         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
57790         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
57791         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
57792         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
57793         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
57794         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
57795         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
57796         * modules/yesno (EXTRA_DIST): Add yesno.h.
57797
57798 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57801
57802         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57803         * m4/dev-ino.m4, same-inode.m4: Remove.
57804
57805         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57806         * m4/acl.m4 (AC_FUNC_ACL):
57807         * m4/backupfile.m4 (gl_BACKUPFILE):
57808         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57809         * m4/canon-host.m4 (gl_CANON_HOST):
57810         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57811         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57812         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57813         * m4/cloexec.m4 (gl_CLOEXEC):
57814         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57815         * m4/closeout.m4 (gl_CLOSEOUT):
57816         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57817         * m4/dirname.m4 (gl_DIRNAME):
57818         * m4/exclude.m4 (gl_EXCLUDE):
57819         * m4/exitfail.m4 (gl_EXITFAIL):
57820         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57821         * m4/file-type.m4 (gl_FILE_TYPE):
57822         * m4/filemode.m4 (gl_FILEMODE):
57823         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57824         * m4/fpending.m4 (gl_FUNC_FPENDING):
57825         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57826         * m4/fts.m4 (gl_FUNC_FTS):
57827         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57828         * m4/getdate.m4 (gl_GETDATE):
57829         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57830         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57831         * m4/getpass.m4 (gl_FUNC_GETPASS):
57832         * m4/gettime.m4 (gl_GETTIME):
57833         * m4/getugroups.m4 (gl_GETUGROUPS):
57834         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57835         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57836         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57837         * m4/hash.m4 (gl_HASH):
57838         * m4/idcache.m4 (gl_IDCACHE):
57839         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57840         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57841         * m4/long-options.m4 (gl_LONG_OPTIONS):
57842         * m4/lstat.m4 (gl_FUNC_LSTAT):
57843         * m4/md5.m4 (gl_MD5):
57844         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57845         * m4/memcoll.m4 (gl_MEMCOLL):
57846         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57847         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57848         * m4/memxor.m4 (gl_MEMXOR):
57849         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57850         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57851         * m4/modechange.m4 (gl_MODECHANGE):
57852         * m4/mountlist.m4 (gl_MOUNTLIST):
57853         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57854         * m4/openat.m4 (gl_FUNC_OPENAT):
57855         * m4/pathmax.m4 (gl_PATHMAX):
57856         * m4/physmem.m4 (gl_PHYSMEM):
57857         * m4/posixtm.m4 (gl_POSIXTM):
57858         * m4/posixver.m4 (gl_POSIXVER):
57859         * m4/quote.m4 (gl_QUOTE):
57860         * m4/quotearg.m4 (gl_QUOTEARG):
57861         * m4/readtokens.m4 (gl_READTOKENS):
57862         * m4/readutmp.m4 (gl_READUTMP):
57863         * m4/regex.m4 (gl_REGEX):
57864         * m4/safe-read.m4 (gl_SAFE_READ):
57865         * m4/safe-write.m4 (gl_SAFE_WRITE):
57866         * m4/same.m4 (gl_SAME):
57867         * m4/save-cwd.m4 (gl_SAVE_CWD):
57868         * m4/savedir.m4 (gl_SAVEDIR):
57869         * m4/settime.m4 (gl_SETTIME):
57870         * m4/sha1.m4 (gl_SHA1):
57871         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57872         * m4/stat-macros.m4 (gl_STAT_MACROS):
57873         * m4/stat-time.m4 (gl_STAT_TIME):
57874         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57875         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57876         * m4/strdup.m4 (gl_FUNC_STRDUP):
57877         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57878         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57879         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57880         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57881         * m4/time_r.m4 (gl_TIME_R):
57882         * m4/timespec.m4 (gl_TIMESPEC):
57883         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57884         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57885         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57886         * m4/userspec.m4 (gl_USERSPEC):
57887         * m4/utimecmp.m4 (gl_UTIMECMP):
57888         * m4/utimens.m4 (gl_UTIMENS):
57889         * m4/xalloc.m4 (gl_XALLOC):
57890         * m4/xgetcwd.m4 (gl_XGETCWD):
57891         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57892         * m4/xreadlink.m4 (gl_XREADLINK):
57893         * m4/xstrtod.m4 (gl_XSTRTOD):
57894         * m4/yesno.m4 (gl_YESNO):
57895         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57896         to get the necessary .h files and whatnot.
57897
57898 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57899             Bruno Haible  <bruno@clisp.org>
57900
57901         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57902         /bin/sh understanding of '!' conditional negation.
57903
57904 2006-08-21  Jim Meyering  <jim@meyering.net>
57905
57906         * modules/openat (Depends-on): Really alphabetize.
57907
57908         * modules/acl (Depends-on): Add error and quote.
57909
57910         * check-module (find_included_lib_files): Add at-func.c to the
57911         ok-to-include-more-than-once white list.
57912
57913         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57914
57915 2006-08-21  Bruno Haible  <bruno@clisp.org>
57916
57917         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57918         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57919         Reported by Martin Lambers <marlam@marlam.de>.
57920
57921 2006-08-21  Bruno Haible  <bruno@clisp.org>
57922
57923         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57924         specify an installation location, don't emit a noinst_LIBRARIES or
57925         noinst_LTLIBRARIES assignment.
57926
57927 2006-08-21  Bruno Haible  <bruno@clisp.org>
57928
57929         BeOS portability.
57930         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57931         BeOS has mbrtowc() but no <wctype.h>.
57932
57933 2006-08-21  Bruno Haible  <bruno@clisp.org>
57934
57935         BeOS portability.
57936         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57937         exist.
57938
57939 2006-08-21  Bruno Haible  <bruno@clisp.org>
57940
57941         BeOS portability.
57942         * lib/mbchar.h: Include <wctype.h> only if it exists.
57943
57944 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57945
57946         Remove files that are no longer needed by their respective modules.
57947         * m4/obstack.m4: Remove.
57948         * m4/strerror_r.m4: Remove.
57949         * m4/uint32_t.m4: Remove.
57950         * m4/uintptr_t.m4: Remove.
57951         * m4/ullong_max.m4: Remove.
57952         * m4/xstrtoimax.m4: Remove.
57953         * m4/xstrtoumax.m4: Remove.
57954
57955         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57956         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57957         dependencies now capture this.
57958
57959         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57960         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57961         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57962         * m4/human.m4 (gl_HUMAN): Likewise.
57963         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57964         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57965
57966         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57967
57968         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57969         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57970         stdint.
57971         * m4/human.m4 (gl_HUMAN): Likewise.
57972         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57973         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57974         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57975         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57976         * m4/xstrtol (gl_XSTRTOL): Likewise.
57977
57978         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57979         AC_TYPE_LONG_LONG_INT.
57980         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57981         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57982         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57983         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57984
57985         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57986         on stdbool.
57987
57988         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57989         (gl_PREREQ_XSTRTOUL): Remove.
57990
57991         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57992
57993         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57994         mode.
57995
57996 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57997
57998         Add and change modules to make it easier for coreutils to use
57999         gnulib-tool.
58000         * modules/backupfile (Files): Remove m4/d-ino.m4.
58001         (Depends-on): Add d-ino.
58002         * modules/cycle-check (Depends-on): Add stdint.
58003         (lib_SOURCES): Add cycle-check.h.
58004         * modules/d-ino: New module.
58005         * modules/d-type: New module.
58006         * modules/error (Files): Remove m4/strerror_r.m4.
58007         * modules/filemode (Files): Add m4/st_dm_mode.m4.
58008         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58009         m4/inttypes_h.m4, m4/uintmax_t.m4.
58010         (Depends-on): Add stdint.
58011         (lib_SOURCES): Add fsusage.h.
58012         * modules/getcwd (Files): Remove d-ino.m4.
58013         (Depends-on): Add d-ino.
58014         * modules/getndelim2 (Depends-on): Add stdint.
58015         * modules/glob (Files): Remove m4/d-type.m4.
58016         (Depends-on): Add d-type.
58017         * modules/host-os: New module.
58018         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
58019         m4/inttypes_h.m4, m4/uintmax_t.m4.
58020         * Depends-on: Add stdint.
58021         (lib_SOURCES): Add human.h.
58022         * modules/inttostr (Files): Remove m4/intmax_t.m4,
58023         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
58024         m4/uintmax_t.m4, m4/ulonglong.m4.
58025         (Depends-on): Add stdint.
58026         (EXTRA_DIST): Add inttostr.h.
58027         * modules/lchmod: New module.
58028         * modules/link-follow: New module.
58029         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
58030         (Depends-on): Add lchmod.
58031         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
58032         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
58033         (Depends-on): Add stdint.
58034         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
58035         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
58036         (Depends-on): Add stdint.
58037         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
58038         * modules/perl: New module.
58039         * modules/regex (Depends-on): Add stdint.
58040         * modules/rmdir-errno: New module.
58041         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58042         m4/intmax_t.m4.
58043         (Depends-on): Add stdint.
58044         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58045         m4/uintmax_t.m4.
58046         (Depends-on): Add stdint.
58047         * modules/unlink-busy: New module.
58048         * modules/utimecmp (Depends-on): Add stdint.
58049         * modules/uptime: New module.
58050         * modules/winsz-ioctl: New module.
58051         * modules/winsz-termios: New module.
58052         * modules/xnanosleep (Depends-on): Add nanosleep.
58053         * modules/ullong_max: Remove.
58054         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
58055         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
58056         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
58057         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
58058         (Depends-on): Add inttypes.
58059         (lib_SOURCES): Add xstrtol.h.
58060         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
58061         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
58062         * MODULES.html.sh: Move 'assert' into the assert section.
58063         Move 'dummy' into the linking section.
58064         Remove ullong_max.
58065         Add section for compatibility checks for POSIX:2001 functions,
58066         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
58067         winsz-ioctl, and winsz-termios into it.
58068         Add lchmod.
58069         Add top-level Misc section and put host-os, perl, and uptime
58070         into it.
58071
58072 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58073
58074         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
58075         now assume the stdint module.  Do not include inttypes.h.
58076         * lib/fsusage.h: Likewise.
58077         * lib/getndelim2.c: Likewise.
58078         * lib/human.h: Likewise.
58079         * lib/inttostr.h: Likewise.
58080         * lib/obstack.c: Likewise.
58081         * lib/regex_internal.h: Likewise.
58082         * lib/tempname.c: Likewise.
58083         * lib/utimecmp.c: Likewise.
58084         * lib/xstrtol.h: Likewise.
58085
58086         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
58087
58088         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
58089         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
58090         * lib/xtime.h: Likewise.
58091
58092 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58093
58094         * modules/openat (Files): Add lib/fchmodat.c.
58095         Fixes problem reported by Jay Youngman.
58096
58097 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58098
58099         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
58100         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
58101
58102 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58103             Bruno Haible  <bruno@clisp.org>
58104
58105         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
58106         and is a script that invokes bison. Tighten the code. Add comments.
58107
58108 2006-08-18  Jim Meyering  <jim@meyering.net>
58109
58110         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
58111         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
58112         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
58113         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
58114
58115 2006-08-18  Bruno Haible  <bruno@clisp.org>
58116
58117         * modules/bison-i18n: New file.
58118         * MODULES.html.sh (Internationalization functions): Add it.
58119
58120 2006-08-18  Bruno Haible  <bruno@clisp.org>
58121
58122         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
58123         sys/statvfs.h. When getmntinfo was found, check its declaration and
58124         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
58125
58126 2006-08-18  Bruno Haible  <bruno@clisp.org>
58127
58128         * m4/bison-i18n.m4: New file, from bison.
58129
58130 2006-08-18  Bruno Haible  <bruno@clisp.org>
58131
58132         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
58133         (ME_DUMMY): Treat "kernfs" as a dummy.
58134         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
58135
58136 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58137
58138         Update from coreutils.
58139
58140         2006-08-15  Jim Meyering  <jim@meyering.net>
58141
58142         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
58143
58144         2006-01-17  Jim Meyering  <jim@meyering.net>
58145
58146         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
58147
58148         2006-01-11  Jim Meyering  <jim@meyering.net>
58149
58150         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
58151         Check for the lchmod function.
58152
58153 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58154
58155         Update from coreutils.
58156
58157         * lib/__fpending.h: Add copyright notice.
58158         * lib/fprintftime.h: Likewise.
58159         * lib/savedir.c: Use (C) in copyright notice.
58160         * lib/savedir.h: Likewise.
58161
58162         2006-08-15  Jim Meyering  <jim@meyering.net>
58163
58164         * lib/at-func.c: New file, with the logic of all emulated at-functions.
58165         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
58166         in support of the EXPECTED_ERRNO macro.
58167         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
58168         definitions.  Instead, define the appropriate symbols and include
58169         "at-func.c".
58170         * lib/mkdirat.c (mkdirat): Likewise.
58171         * lib/fchmodat.c (fchmodat): Likewise.
58172         (ENOSYS): Remove definition.
58173         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
58174         it.  Don't include "unistd--.h" -- it wasn't ever used.
58175
58176         2006-01-17  Jim Meyering  <jim@meyering.net>
58177
58178         Rewrite fts.c not to change the current working directory,
58179         by using openat, fstatat, fdopendir, etc..
58180
58181         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
58182         (HAVE_OPENAT_SUPPORT): Define.
58183         [_LIBC] (fchdir): Don't undef or define; no longer used.
58184         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
58185         Now, this `function' always succeeds, and consumes its file descriptor
58186         parameter -- so callers must not close such FDs.  Update callers.
58187         (diropen_fd, opendirat, cwd_advance_fd): New functions.
58188         (diropen): Add parameter, SP.  Adjust all callers.
58189         Implement using diropen_fd, rather than open.
58190         (fts_open): Initialize new member, fts_cwd_fd.
58191         Remove fts_rft-setting code.
58192         (fts_close): Close fts_cwd_fd, if necessary.
58193         (__opendir2): Define in terms of opendir or opendirat,
58194         depending on whether the FST_NOCHDIR flag is set.
58195         (fts_build): Since fts_safe_changedir consumes its FD, and since
58196         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
58197         and close the dup'd file descriptor upon failure.
58198         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
58199         (fts_safe_changedir): Tweak semantics to reflect that this function
58200         now calls cwd_advance_fd and hence consumes its FD argument.
58201         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
58202         [struct FTS] (fts_rft): Remove now-unused member.
58203         [struct FTS] (fts_cycle.state): Improve comment.
58204
58205         * lib/openat.c (openat_needs_fchdir): New function.
58206         * lib/openat.h (openat_needs_fchdir): Declare it.
58207
58208 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
58209
58210         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
58211         Problem and fix reported by Pádraig Brady in
58212         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
58213
58214 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58215
58216         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
58217
58218 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58219
58220         * lib/memcoll.c (memcoll): Optimize for the common case where the
58221         arguments are bytewise equal.
58222
58223 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58224
58225         * doc/regexprops-generic.texi: Add a copyright notice.
58226
58227 2006-08-15  Bruno Haible  <bruno@clisp.org>
58228
58229         * modules/tmpdir (License): Change to LGPL.
58230
58231 2006-08-15  Bruno Haible  <bruno@clisp.org>
58232
58233         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
58234         module.
58235
58236 2006-08-14  Simon Josefsson  <jas@extundo.com>
58237
58238         * config/srclist.txt: Add gnupload.
58239
58240 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58241
58242         Change copyright notice from LGPL 2 to GPL 2, since that's the
58243         standard form used in the gnulib repository.
58244         * tests/test-lock.c: Likewise.
58245         * tests/test-stdint.c: Likewise.
58246         * tests/test-tls.c: Likewise.
58247
58248         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
58249         prelude-manager.  User shorter URLs for GNU projects, without '?'.
58250         Add copyright notice.
58251
58252         * check-module: Add copyright notice.  Output a copyright
58253         notice if "--version" is specified.
58254         * modules/COPYING: New file.
58255         * tests/test-getaddrinfo.c: Add copyright notice.
58256         * tests/test-verify.c: Likewise.
58257
58258 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58259
58260         Change copyright notice from LGPL 2 to GPL 2, since that's the
58261         standard form used in the gnulib repository.
58262         * lib/lock.c: LGPL -> GPL.
58263         * lib/lock.h: Likewise.
58264         * lib/strnlen1.c: Likewise.
58265         * lib/strnlen1.h: Likewise.
58266         * lib/tls.c: Likewise.
58267         * lib/tls.h: Likewise.
58268         * lib/tmpdir.c: Likewise.
58269
58270         * lib/TODO: Remove; this belongs only in coreutils.
58271
58272 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58273
58274         Add copyright notices to long-enough files that lack them, since
58275         otherwise the files aren't clearly free.  Use the same notice that
58276         getdate.texi already uses.
58277         * doc/alloca-opt.texi: Add copyright notice.
58278         * doc/alloca.texi: Likewise.
58279         * doc/ctime.texi: Likewise.
58280         * doc/functions.texi: Likewise.
58281         * doc/gcd.texi: Likewise.
58282         * doc/gnulib-tool.texi: Likewise.
58283         * doc/inet_ntoa.texi: Likewise.
58284         * doc/visibility.texi: Likewise.
58285
58286         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
58287         * doc/quote.texi: Add copyright notice.
58288
58289         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
58290         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
58291         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
58292         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
58293         is now obsolete, and give a pointer to the Sun list.
58294         Add copyright notice.
58295
58296 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58297
58298         * config/srclistvars.sh: Add copyright notice.
58299
58300 2006-08-14  Eric Blake  <ebb9@byu.net>
58301
58302         Import the following change from libc:
58303
58304         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
58305
58306         Upstream bug 2997.
58307         * lib/misc/error.c: Add space between program name and message if file
58308         name is missing.
58309
58310 2006-08-12  Karl Berry  <karl@gnu.org>
58311
58312         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
58313         remove, these originate in gnulib now.
58314
58315 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58316
58317         * doc/Makefile (standards.info standards.html standards.dvi):
58318         Also depend on make-stds.texi.
58319
58320 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58321
58322         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
58323         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
58324
58325         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
58326         in wchar_t.  Problem reported by Eric Blake.
58327
58328         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
58329         LEN is smaller than SIZE.  Suggested by Bruno Haible.
58330         Also, help the compiler to keep LEN in a register.
58331
58332 2006-08-11  Eric Blake  <ebb9@byu.net>
58333
58334         * users.txt: Sort.  Add tar.
58335
58336 2006-08-11  Bruno Haible  <bruno@clisp.org>
58337
58338         * users.txt: New file.
58339
58340 2006-08-11  Bruno Haible  <bruno@clisp.org>
58341
58342         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
58343         before <wchar.h>. Needed for OSF/1 and BSD/OS.
58344
58345 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58346
58347         * modules/snprintf (Depends-on): Remove minmax.
58348         (Maintainer): Add self and Bruno.
58349
58350 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58351
58352         * lib/.cppi-disable: Add snprintf.h, socket_.h.
58353         * lib/snprintf.c: Include <errno.h> and <limits.h>.
58354         (EOVERFLOW): Define if the system does not.
58355         Do not include "minmax.h"; it wasn't used.
58356         (snprintf): Don't assume size_t promotes to an unsigned type.
58357         Fix bug when generated string was too long for the buffer: the
58358         buffer's contents are supposed to be the initial prefix of the
58359         output.  Don't assume vasnprintf returns EOVERFLOW if the size
58360         exceeds INT_MAX; do the check ourselves.
58361
58362         Import the following changes from libc:
58363
58364         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
58365
58366         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
58367         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
58368         set wc to the byte which couldn't be converted.
58369         (re_string_reconstruct): Don't clear valid_raw_len before calling
58370         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
58371         tip_context using re_string_context_at.
58372
58373         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
58374
58375         * lib/posix/regex.h: g++ still cannot handled [restrict].
58376
58377         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
58378
58379         * lib/posix/regex.h: Remove special handling for VMS.
58380
58381 2006-08-10  Jim Meyering  <jim@meyering.net>
58382
58383         * modules/same-inode: New module.
58384         * modules/dev-ino: New module.
58385         * modules/cycle-check: Depend on these modules, rather than simply
58386         including their .h files.
58387         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
58388         required via m4/cycle-check.m4.
58389         * modules/same: Depend on new same-inode module, rather than
58390         including same-inode.h.
58391         * modules/chdir-safer: New file.
58392
58393         * modules/chown (Depends-on): Add stat-macros.
58394
58395 2006-08-10  Jim Meyering  <jim@meyering.net>
58396
58397         * m4/cycle-check.m4: New file.
58398         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
58399         * m4/dev-ino.m4, m4/same-inode.m4: New files.
58400
58401 2006-08-10  Eric Blake  <ebb9@byu.net>
58402
58403         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
58404         in from original proposal.
58405
58406 2006-08-10  Eric Blake  <ebb9@byu.net>
58407         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58408
58409         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
58410         namespace.
58411
58412 2006-08-10  Bruno Haible  <bruno@clisp.org>
58413
58414         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
58415         as well.
58416
58417 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58418
58419         Sync from coreutils.
58420
58421         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
58422
58423         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
58424         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
58425
58426 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58427
58428         * modules/restrict: Remove; no longer needed now that we assume
58429         Autoconf 2.59 or later.
58430         * MODULES.html.sh: Remove 'restrict'.
58431         * modules/argp (Depends-on): Remove 'restrict'.
58432         * modules/base64 (Depends-on): Likewise.
58433         * modules/gc (Depends-on): Likewise.
58434         * modules/getaddrinfo (Depends-on): Likewise.
58435         * modules/glob (Depends-on): Likewise.
58436         * modules/inet_ntop (Depends-on): Likewise.
58437         * modules/inet_pton (Depends-on): Likewise.
58438         * modules/memxor (Depends-on): Likewise.
58439         * modules/regex (Depends-on): Likewise.
58440         * modules/strtok_r (Depends-on): Likewise.
58441         * modules/time_r (Depends-on): Likewise.
58442
58443 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58444
58445         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
58446         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
58447         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58448         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
58449         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
58450         * m4/memxor.m4 (gl_MEMXOR): Likewise.
58451         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
58452         gl_C_RESTRICT replaced by AC_C_RESTRICT.
58453
58454         Merge from coreutils.
58455         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
58456         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
58457         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58458         * m4/time_r.m4 (gl_TIME_R): Likewise.
58459
58460 2006-08-09  Karl Berry  <karl@gnu.org>
58461
58462         * config/srclist.txt: no more gettext-tools, per Bruno.
58463
58464 2006-08-08  Eric Blake  <ebb9@byu.net>
58465
58466         * modules/verror: New module.
58467         * MODULES.html.sh: Document it.
58468
58469 2006-08-08  Eric Blake  <ebb9@byu.net>
58470
58471         * lib/verror.h, lib/verror.c: New files.
58472
58473 2006-08-08  Eric Blake  <ebb9@byu.net>
58474
58475         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
58476         verror_at_line output complies with GNU Coding Standards even when
58477         file is NULL.
58478
58479 2006-08-07  Bruno Haible  <bruno@clisp.org>
58480
58481         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
58482         versions of AIX.
58483         Reported by Ralf Wildenhues.
58484
58485 2006-08-07  Bruno Haible  <bruno@clisp.org>
58486
58487         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
58488         in an AC_DEFUN. Needed so that the autoconf snippets can use
58489         AC_REQUIRE.
58490
58491 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58492
58493         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58494         Initialize pkgdata_DATA.
58495         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
58496         overriding it.
58497
58498 2006-08-06  Eric Blake  <ebb9@byu.net>
58499
58500         * lib/error.h: Fold in some upstream changes from glibc.
58501         * lib/error.c: Likewise.
58502
58503 2006-08-04  Bruno Haible  <bruno@clisp.org>
58504
58505         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58506         Make the mostlyclean-local rule depend on mostlyclean-generic.
58507         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
58508
58509 2006-07-31  Bruno Haible  <bruno@clisp.org>
58510
58511         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
58512         <stdlib.h>, <string.h>.
58513
58514 2006-07-30  Bruno Haible  <bruno@clisp.org>
58515
58516         * modules/readlink (License): Change to LGPL.
58517
58518 2006-07-30  Bruno Haible  <bruno@clisp.org>
58519
58520         * modules/javaversion (Makefile.am): Distribute javaversion.java and
58521         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
58522         set PKGDATADIR to point to it.
58523
58524 2006-07-30  Bruno Haible  <bruno@clisp.org>
58525
58526         * modules/csharpexec (configure.ac): Comment out macro invocation.
58527         * modules/javaexec (configure.ac): Likewise.
58528         * modules/javacomp-script (configure.ac): Likewise.
58529
58530         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
58531
58532 2006-07-30  Bruno Haible  <bruno@clisp.org>
58533
58534         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
58535         linked-list.
58536
58537 2006-07-30  Bruno Haible  <bruno@clisp.org>
58538
58539         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
58540
58541 2006-07-30  Bruno Haible  <bruno@clisp.org>
58542
58543         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58544         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
58545         get removed.
58546
58547 2006-07-29  Bruno Haible  <bruno@clisp.org>
58548
58549         Make it possible for gnulib-tool to work with locally modified or
58550         augmented gnulib repositories.
58551         * gnulib-tool (func_usage): Document --local-dir option.
58552         (local_gnulib_dir): New variable.
58553         Handle --local-dir option.
58554         (func_lookup_file): New function.
58555         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
58556         (func_get_description, func_get_filelist, func_get_description,
58557         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
58558         func_get_automake_snippet, func_get_include_directive,
58559         func_get_license, func_get_maintainer): Use func_lookup_file.
58560         (func_import, func_create_testdir): Use func_lookup_file.
58561
58562 2006-07-29  Bruno Haible  <bruno@clisp.org>
58563
58564         * modules/setenv (Depends-on): Add unistd.
58565
58566 2006-07-29  Bruno Haible  <bruno@clisp.org>
58567
58568         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
58569
58570 2006-07-29  Bruno Haible  <bruno@clisp.org>
58571
58572         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
58573
58574 2006-07-29  Bruno Haible  <bruno@clisp.org>
58575
58576         * gnulib-tool (import, update): If there is no Makefile.am, look at
58577         aclocal.m4, instead of bailing out.
58578
58579 2006-07-29  Bruno Haible  <bruno@clisp.org>
58580
58581         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
58582         Categorize the options by when they are useful.
58583
58584 2006-07-29  Bruno Haible  <bruno@clisp.org>
58585
58586         * gnulib-tool (func_usage): Document option --no-libtool.
58587         Handle option --no-libtool.
58588         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
58589         for changed semantics of $libtool variable.
58590         (func_import): Likewise. If libtool is not used, show this through
58591         an option --no-libtool.
58592         (func_create_testdir): Update.
58593
58594 2006-07-29  Bruno Haible  <bruno@clisp.org>
58595
58596         * gnulib-tool (func_import): Extend error message about missing
58597         --doc-base.
58598
58599 2006-07-29  Bruno Haible  <bruno@clisp.org>
58600
58601         * gnulib-tool (func_import): Don't create the $docbase directory if
58602         there is no file to store there.
58603
58604 2006-07-29  Bruno Haible  <bruno@clisp.org>
58605
58606         * gnulib-tool (autoconf_minversion): If a --dir option is given and
58607         relevant, look for configure.ac there, not in the current directory.
58608         Also use a simple search for AC_PREREQ, not "autoconf --trace".
58609
58610 2006-07-29  Bruno Haible  <bruno@clisp.org>
58611
58612         * gnulib-tool (SORT): New variable.
58613         (func_usage): Undocument --assume-autoconf option.
58614         Remove --assume-autoconf option handling.
58615         (autoconf_minversion): Determine from the contents of configure.ac.
58616         (func_import): Remove autoconf_minversion handling.
58617         Suggested by Eric Blake.
58618
58619 2006-07-29  Bruno Haible  <bruno@clisp.org>
58620
58621         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
58622
58623 2006-07-29  Bruno Haible  <bruno@clisp.org>
58624
58625         * config/srclist.txt (*setenv.[ch]): Remove rules.
58626
58627 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58628
58629         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
58630
58631 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58632
58633         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
58634         arpa/inet.h.
58635
58636 2006-07-28  Simon Josefsson  <jas@extundo.com>
58637
58638         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
58639         * modules/inet_pton (Depends-on): Likewise.
58640
58641 2006-07-28  Simon Josefsson  <jas@extundo.com>
58642
58643         * m4/netinet_in_h.m4: New file.
58644
58645 2006-07-28  Simon Josefsson  <jas@extundo.com>
58646
58647         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
58648         #include's.
58649
58650 2006-07-28  Simon Josefsson  <jas@extundo.com>
58651
58652         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
58653         #include's.
58654
58655 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
58656
58657         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
58658         setgid on directories only if they set these bits.
58659         * lib/modechange.h: Remove obsolete comment about masks.
58660
58661 2006-07-28  Eric Blake  <ebb9@byu.net>
58662
58663         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
58664         macro expansion.
58665
58666 2006-07-28  Bruno Haible  <bruno@clisp.org>
58667
58668         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
58669
58670 2006-07-28  Bruno Haible  <bruno@clisp.org>
58671
58672         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
58673
58674 2006-07-28  Bruno Haible  <bruno@clisp.org>
58675
58676         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58677         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58678         Define fallbacks.
58679         Avoids link error on FreeBSD 4.x.
58680         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58681
58682         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
58683         encoding.
58684         * lib/mbswidth.c (iswcntrl): Likewise.
58685
58686 2006-07-27  Bruno Haible  <bruno@clisp.org>
58687
58688         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
58689         test.
58690
58691 2006-07-27  Bruno Haible  <bruno@clisp.org>
58692
58693         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
58694         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
58695         defined.
58696
58697 2006-07-26  Eric Blake  <ebb9@byu.net>
58698
58699         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
58700
58701 2006-07-26  Eric Blake  <ebb9@byu.net>
58702
58703         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
58704         like mingw that lack mkstemp.
58705         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
58706         avoid compilation warning on mingw.
58707
58708 2006-07-26  Bruno Haible  <bruno@clisp.org>
58709
58710         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
58711         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
58712         INT_FAST*_MIN, INTPTR_MIN.
58713
58714 2006-07-25  Bruno Haible  <bruno@clisp.org>
58715
58716         * modules/version-etc (Depends-on): Add stdarg.
58717
58718 2006-07-25  Bruno Haible  <bruno@clisp.org>
58719
58720         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
58721         complex commands.
58722
58723 2006-07-25  Bruno Haible  <bruno@clisp.org>
58724
58725         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
58726         defined in <stdarg.h> or config.h.
58727
58728 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58729
58730         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
58731         (gl_STDIO_SAFER): Remove.
58732
58733 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58734
58735         * MODULES.html.sh (File stream based Input/Output):
58736         Add fopen-safer, tmpfile-safer; remove stdio-safer.
58737         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
58738         * modules/fopen-safer, modules/tmpfile-safer: New files.
58739         * modules/stdio-safer: Remove.
58740
58741 2006-07-24  Bruno Haible  <bruno@clisp.org>
58742
58743         * modules/tmpdir: New file.
58744         * MODULES.html.sh (File system functions): Add it.
58745
58746 2006-07-24  Bruno Haible  <bruno@clisp.org>
58747
58748         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
58749         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
58750
58751 2006-07-24  Bruno Haible  <bruno@clisp.org>
58752
58753         * modules/clean-temp: New file.
58754
58755 2006-07-24  Bruno Haible  <bruno@clisp.org>
58756
58757         * m4/tmpdir.m4: New file, from GNU gettext.
58758
58759 2006-07-24  Bruno Haible  <bruno@clisp.org>
58760
58761         * lib/tmpdir.h: New file, from GNU gettext.
58762         * lib/tmpdir.c: New file, from GNU gettext.
58763
58764 2006-07-24  Bruno Haible  <bruno@clisp.org>
58765
58766         * lib/clean-temp.h: New file, from GNU gettext.
58767         * lib/clean-temp.c: New file, from GNU gettext.
58768
58769 2006-07-23  Eric Blake  <ebb9@byu.net>
58770
58771         * modules/stdio-safer (Files): Add tmpfile-safer.c.
58772         (Depends-on): Add binary-io.
58773
58774 2006-07-23  Eric Blake  <ebb9@byu.net>
58775
58776         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
58777
58778 2006-07-23  Eric Blake  <ebb9@byu.net>
58779
58780         * lib/tmpfile-safer.c: New file.
58781         * lib/stdio-safer.h (fopen_safer): Add prototype.
58782         * lib/stdio--.h (tmpfile): Make safer.
58783
58784 2006-07-23  Bruno Haible  <bruno@clisp.org>
58785
58786         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
58787         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
58788         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
58789         gl_linked_remove_at): Use it.
58790
58791 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58792         and Simon Josefsson <jas@extundo.com>
58793
58794         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
58795
58796         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58797
58798 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58799
58800         * modules/close-stream: New file.
58801         * modules/closeout (Description): Make it clear that it exits
58802         with a diagnostic on error.
58803         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58804         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58805
58806 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58807
58808         * m4/close-stream.m4: New file.
58809
58810 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58811
58812         * lib/close-stream.c, lib/close-stream.h: New files.
58813
58814 2006-07-22  Bruno Haible  <bruno@clisp.org>
58815
58816         Merge from GNU gettext 0.15.
58817
58818         2006-05-01  Bruno Haible  <bruno@clisp.org>
58819
58820                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58821
58822         2006-07-22  Bruno Haible  <bruno@clisp.org>
58823
58824                 * modules/javaversion: New file.
58825                 * MODULES.html.sh (Java): Add javaversion.
58826
58827         2006-03-12  Bruno Haible  <bruno@clisp.org>
58828
58829                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58830
58831         2005-12-04  Bruno Haible  <bruno@clisp.org>
58832
58833                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58834                 (untested).
58835
58836         2006-06-21  Bruno Haible  <bruno@clisp.org>
58837
58838                 Avoid warnings from recent versions of mcs.
58839                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58840                 -o, -L, -r any more. Use options documented since mcs-1.0
58841                 instead. Similarly for -g.
58842
58843         2005-12-04  Bruno Haible  <bruno@clisp.org>
58844
58845                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58846                 .resources, not .resource.
58847
58848         2005-07-09  Bruno Haible  <bruno@clisp.org>
58849
58850                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58851                 add a .dll suffix.
58852                 Reported by Mark Junker <mjscod@gmx.de>.
58853
58854         2006-07-22  Bruno Haible  <bruno@clisp.org>
58855
58856                 * modules/gettext: Upgrade to gettext-0.15.
58857                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58858                 m4/visibility.m4.
58859                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58860
58861 2006-07-22  Bruno Haible  <bruno@clisp.org>
58862
58863         Merge from GNU gettext 0.15.
58864
58865         2006-03-25  Bruno Haible  <bruno@clisp.org>
58866
58867                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58868
58869         2006-07-21  Bruno Haible  <bruno@clisp.org>
58870
58871                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58872                 "1.1".
58873
58874         2006-05-09  Bruno Haible  <bruno@clisp.org>
58875
58876                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58877                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58878                 for the conftestver execution.
58879
58880         2006-05-01  Bruno Haible  <bruno@clisp.org>
58881
58882                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58883                 optional target-version argument. Verify that the compiler
58884                 groks source of the specified source-version, or add -source
58885                 option as necessary. Verify that the compiler produces
58886                 bytecode in the specified target-version, or add -target and
58887                 -source options as necessary. Make the result of the test
58888                 available as variable CONF_JAVAC. Also log error output in
58889                 config.log.
58890
58891         2006-03-11  Bruno Haible  <bruno@clisp.org>
58892
58893                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58894
58895         2006-05-09  Bruno Haible  <bruno@clisp.org>
58896
58897                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58898                 CLASSPATH_SEPARATOR to a semicolon.
58899
58900         2006-03-12  Bruno Haible  <bruno@clisp.org>
58901
58902                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58903                 available as variable CONF_JAVA, for subsequent autoconf
58904                 tests. Also log error output in config.log.
58905
58906         2006-07-19  Bruno Haible  <bruno@clisp.org>
58907
58908                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58909                 that getline works on glibc2 systems. Needed to avoid trouble
58910                 in relocatable.c.
58911                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58912
58913         2005-12-04  Bruno Haible  <bruno@clisp.org>
58914
58915                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58916                 launcher (untested).
58917
58918         2005-12-04  Bruno Haible  <bruno@clisp.org>
58919
58920                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58921
58922         2006-07-22  Bruno Haible  <bruno@clisp.org>
58923
58924                 * gettext.m4: Update from GNU gettext-0.15.
58925                 * nls.m4: Likewise.
58926                 * po.m4: Likewise.
58927                 * inttypes-pri.m4: Likewise.
58928                 * inttypes-h.m4: Renamed from inttypes.m4.
58929                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58930
58931 2006-07-22  Bruno Haible  <bruno@clisp.org>
58932
58933         Merge from GNU gettext 0.15.
58934
58935         2005-07-05  Bruno Haible  <bruno@clisp.org>
58936
58937                 * printf-args.c (printf_fetchargs): Work around broken
58938                 definition of wint_t on mingw.
58939
58940         2005-02-12  Bruno Haible  <bruno@clisp.org>
58941
58942                 * xallocsa.h: Add extern "C" for C++.
58943
58944         2006-05-17  Bruno Haible  <bruno@clisp.org>
58945
58946                 Cygwin portability.
58947                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58948
58949         2006-04-30  Bruno Haible  <bruno@clisp.org>
58950
58951                 * progreloc.c: Include <mach-o/dyld.h> if available.
58952                 (find_executable): Use _NSGetExecutablePath when possible.
58953
58954         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58955
58956                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58957                 function.
58958
58959         2005-12-29  Bruno Haible  <bruno@clisp.org>
58960
58961                 * progreloc.c (set_program_name_and_installdir): Fix
58962                 compilation error.
58963
58964         2005-12-04  Bruno Haible  <bruno@clisp.org>
58965
58966                 Cygwin portability.
58967                 * progreloc.c: Include <windows.h> also on Cygwin.
58968                 (find_executable): Add support for Cygwin.
58969                 (set_program_name_and_installdir): Handle also platforms with
58970                 nonempty EXEEXT.
58971
58972         2006-07-11  Bruno Haible  <bruno@clisp.org>
58973
58974                 * javacomp.c: Fix a comment.
58975                 Reported by Jim Meyering.
58976
58977         2006-04-30  Bruno Haible  <bruno@clisp.org>
58978
58979                 * javacomp.h (compile_java_class): Add source_version,
58980                 target_version arguments.
58981                 * javacomp.c: Rewritten to choose only a compiler that
58982                 respects the specified source_version and target_version.
58983
58984         2006-06-27  Bruno Haible  <bruno@clisp.org>
58985
58986                 Assume correct S_ISDIR macro.
58987                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58988
58989         2006-07-22  Bruno Haible  <bruno@clisp.org>
58990
58991                 * javaversion.h: New file, from GNU gettext.
58992                 * javaversion.c: New file, from GNU gettext.
58993                 * javaversion.java: New file, from GNU gettext.
58994                 * javaversion.class: New file, from GNU gettext.
58995
58996         2006-05-17  Bruno Haible  <bruno@clisp.org>
58997
58998                 Cygwin portability.
58999                 * javaexec.c (execute_java_class): Test for jview program
59000                 also on Cygwin.
59001
59002         2006-04-09  Bruno Haible  <bruno@clisp.org>
59003
59004                 * fatal-signal.c: Don't include string.h.
59005                 (at_fatal_signal): Use a copying loop instead of memcpy.
59006
59007         2005-12-04  Bruno Haible  <bruno@clisp.org>
59008
59009                 * csharpexec.c: Add support for 'clix' launcher (untested).
59010                 (execute_csharp_using_sscli): New function.
59011                 (execute_csharp_program): Call it.
59012
59013         2006-06-21  Bruno Haible  <bruno@clisp.org>
59014
59015                 Avoid warnings from recent versions of mcs.
59016                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
59017                 -o, -L, -r any more. Use options documented since mcs-1.0
59018                 instead. Similarly for -g.
59019
59020         2005-07-09  Bruno Haible  <bruno@clisp.org>
59021
59022                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
59023                 add a .dll suffix.
59024                 Reported by Mark Junker <mjscod@gmx.de>.
59025
59026         2006-06-17  Bruno Haible  <bruno@clisp.org>
59027
59028                 * config.charset: Update for NetBSD 3.0.
59029
59030         2006-05-17  Bruno Haible  <bruno@clisp.org>
59031
59032                 Cygwin portability.
59033                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
59034
59035         2006-05-16  Bruno Haible  <bruno@clisp.org>
59036
59037                 * localcharset.c [CYGWIN]: Include <windows.h>.
59038                 (get_charset_aliases): For Cygwin, return the same CPxxx
59039                 aliases list as under WIN32.
59040                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
59041                 the environment variables. Fall back to GetACP().
59042
59043         2006-04-05  Bruno Haible  <bruno@clisp.org>
59044
59045                 * config.charset: Update Juan Manuel Guerrero's address.
59046
59047         2005-02-12  Bruno Haible  <bruno@clisp.org>
59048
59049                 * allocsa.h: Add extern "C" for C++.
59050
59051         2005-02-10  Bruno Haible  <bruno@clisp.org>
59052
59053                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
59054                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
59055
59056         2006-07-22  Bruno Haible  <bruno@clisp.org>
59057
59058                 * gettext.h: Update to GNU gettext-0.15.
59059
59060 2006-07-22  Bruno Haible  <bruno@clisp.org>
59061
59062         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
59063         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
59064         lib-prefix.m4, longdouble.m4, ssize_t.m4.
59065
59066 2006-07-21  Eric Blake  <ebb9@byu.net>
59067
59068         * modules/stdlib-safer: New file.
59069         * MODULES.html.sh (File stream based Input/Output): Add
59070         stdlib-safer.
59071
59072 2006-07-21  Eric Blake  <ebb9@byu.net>
59073
59074         * lib/stdlib-safer.h: New file from coreutils, required by
59075         stdlib--.h.
59076
59077 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
59078
59079         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
59080
59081 2006-07-20  Bruno Haible  <bruno@clisp.org>
59082
59083         * gnulib-tool: Recognize new option --assume-autoconf.
59084         (autoconf_minversion): New variable.
59085         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
59086
59087 2006-07-20  Bruno Haible  <bruno@clisp.org>
59088
59089         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
59090
59091 2006-07-19  Derek R. Price  <derek@ximbiot.com>
59092
59093         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
59094         Reindent and repaginate.
59095
59096 2006-07-19  Derek Price  <derek@ximbiot.com>
59097
59098         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
59099         Correct grammar.
59100
59101 2006-07-17  Bruno Haible  <bruno@clisp.org>
59102
59103         * modules/list: New file.
59104         * modules/array-list: New file.
59105         * modules/carray-list, modules/carray-list-tests: New files.
59106         * modules/linked-list, modules/linked-list-tests: New files.
59107         * modules/avltree-list, modules/avltree-list-tests: New files.
59108         * modules/rbtree-list, modules/rbtree-list-tests: New files.
59109         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
59110         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
59111         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
59112         * modules/oset: New file.
59113         * modules/array-oset: New file.
59114         * modules/avltree-oset, modules/avltree-oset-tests: New files.
59115         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
59116         * tests/test-carray_list.c: New file.
59117         * tests/test-linked_list.c: New file.
59118         * tests/test-avltree_list.c: New file.
59119         * tests/test-rbtree_list.c: New file.
59120         * tests/test-linkedhash_list.c: New file.
59121         * tests/test-avltreehash_list.c: New file.
59122         * tests/test-rbtreehash_list.c: New file.
59123         * tests/test-avltree_oset.c: New file.
59124         * tests/test-rbtree_oset.c: New file.
59125         * MODULES.html.sh (Container data structures): New section.
59126
59127 2006-07-17  Bruno Haible  <bruno@clisp.org>
59128
59129         * m4/gl_list.m4: New file.
59130
59131 2006-07-17  Bruno Haible  <bruno@clisp.org>
59132
59133         * lib/gl_list.h: New file.
59134         * lib/gl_list.c: New file.
59135         * lib/gl_array_list.h: New file.
59136         * lib/gl_array_list.c: New file.
59137         * lib/gl_carray_list.h: New file.
59138         * lib/gl_carray_list.c: New file.
59139         * lib/gl_linked_list.h: New file.
59140         * lib/gl_linked_list.c: New file.
59141         * lib/gl_anylinked_list1.h: New file.
59142         * lib/gl_anylinked_list2.h: New file.
59143         * lib/gl_avltree_list.h: New file.
59144         * lib/gl_avltree_list.c: New file.
59145         * lib/gl_anyavltree_list1.h: New file.
59146         * lib/gl_anyavltree_list2.h: New file.
59147         * lib/gl_rbtree_list.h: New file.
59148         * lib/gl_rbtree_list.c: New file.
59149         * lib/gl_anyrbtree_list1.h: New file.
59150         * lib/gl_anyrbtree_list2.h: New file.
59151         * lib/gl_anytree_list1.h: New file.
59152         * lib/gl_anytree_list2.h: New file.
59153         * lib/gl_linkedhash_list.h: New file.
59154         * lib/gl_linkedhash_list.c: New file.
59155         * lib/gl_anyhash_list1.h: New file.
59156         * lib/gl_anyhash_list2.h: New file.
59157         * lib/gl_avltreehash_list.h: New file.
59158         * lib/gl_avltreehash_list.c: New file.
59159         * lib/gl_rbtreehash_list.h: New file.
59160         * lib/gl_rbtreehash_list.c: New file.
59161         * lib/gl_anytreehash_list1.h: New file.
59162         * lib/gl_anytreehash_list2.h: New file.
59163
59164         * lib/gl_oset.h: New file.
59165         * lib/gl_oset.c: New file.
59166         * lib/gl_array_oset.h: New file.
59167         * lib/gl_array_oset.c: New file.
59168         * lib/gl_avltree_oset.h: New file.
59169         * lib/gl_avltree_oset.c: New file.
59170         * lib/gl_rbtree_oset.h: New file.
59171         * lib/gl_rbtree_oset.c: New file.
59172         * lib/gl_anytree_oset.h: New file.
59173
59174 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59175
59176         * m4/mkancesdirs.m4: New file.
59177         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
59178         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
59179         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
59180         it.
59181
59182 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59183
59184         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
59185         * lib/mkancesdirs.h: New files.
59186         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
59187         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
59188         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
59189         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
59190         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
59191         callers changed.  Revamp internals significantly, by not
59192         attempting to create directories that are temporarily more
59193         permissive than the final results.  Do not attempt to use
59194         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
59195         This removes some race conditions, fixes some bugs, and simplifies
59196         things.  Use new dirchownmod function to do owner and mode changes.
59197         * lib/mkdir-p.h: Likewise.
59198         * lib/modechange.c (octal_to_mode): New function.
59199         (struct mode_change): New member mentioned.
59200         (make_node_op_equals): New arg mentioned.  All callers changed.
59201         (mode_compile): Keep track of which mode bits the user has explicitly
59202         mentioned.
59203         (mode_adjust): New arg DIR, so that we implement the X op correctly.
59204         New arg PMODE_BITS, to keep track of which mode bits the user
59205         mentioned; it treats S_ISUID and S_ISGID speciall.
59206         All callers changed.
59207         * lib/modechange.h: Likewise.
59208
59209 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59210
59211         * MODULES.html.sh: Add mkancestors.
59212         * modules/mkancesdirs: New module.
59213         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
59214         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
59215         The chdir-safer and afs files are now orphans; I'll remove them
59216         unless someone speaks up.
59217         Add lib/dirchownmod.c, lib/dirchownmod.h.
59218         (Depends-on): Remove alloca, chown, save-cwd, dirname.
59219         Add lchown, mkancesdirs.
59220         (Maintainer): Add self.
59221
59222 2006-07-15  Karl Berry  <karl@gnu.org>
59223
59224         * gnulib-tool: help message wording/arrangement.
59225
59226 2006-07-14  Simon Josefsson  <jas@extundo.com>
59227
59228         * doc/gnulib.texi (Libtool and Windows): New section.
59229
59230 2006-07-12  Simon Josefsson  <jas@extundo.com>
59231
59232         * modules/gendocs (License): Fix license, approved by Karl.
59233
59234 2006-07-12  Eric Blake  <ebb9@byu.net>
59235
59236         * MODULES.html.sh: Add gendocs.
59237
59238 2006-07-11  Eric Blake  <ebb9@byu.net>
59239
59240         * modules/fdl: New module, to install doc/fdl.texi.
59241         * MODULES.html.sh: Add new section for documentation modules.
59242         * gnulib-tool: Avoid space-tab.
59243         (--doc-base): New option, to manage files from doc.
59244
59245 2006-07-11  Eric Blake  <ebb9@byu.net>
59246
59247         * m4/absolute-header.m4: Fix comments to match recent change.
59248
59249 2006-07-11  Eric Blake  <ebb9@byu.net>
59250
59251         * gnulib-tool: List --doc-base before --tests-base.
59252
59253 2006-07-11  Derek R. Price  <derek@ximbiot.com>
59254
59255         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
59256
59257 2006-07-11  Bruno Haible  <bruno@clisp.org>
59258
59259         * README: Mention where to put documentation.
59260
59261 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59262
59263         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
59264
59265 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59266
59267         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
59268         to stdint.m4.
59269
59270 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59271
59272         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
59273         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
59274         "no/such/file/stdint.h" when there is no such file, so that
59275         the resulting C code can be parsed by dodgy compilers.
59276         Problems reported by Bob Proulx.
59277
59278 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59279
59280         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
59281         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59282         macros into the GNU _D_EXACT_NAMLEN.
59283         * lib/savedir.c:  Likewise.
59284         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
59285
59286 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59287         and Paul Eggert  <eggert@cs.ucla.edu>
59288
59289         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
59290         * m4/savedir.m4:
59291         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59292         macros into the GNU _D_EXACT_NAMLEN.
59293
59294 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59295
59296         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
59297         around the absolute name, to work around a problem with the HP-UX
59298         11.23 native C compiler, reported by Bob Proulx.
59299
59300 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59301
59302         * doc/maintain.texi, make-stds.texi: Sync from
59303         <http://savannah.gnu.org/projects/gnustandards>.
59304
59305 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59306
59307         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
59308
59309 2006-07-09  Jim Meyering  <jim@meyering.net>
59310
59311         * m4/glob.m4: Remove a doubled word in a comment.
59312
59313 2006-07-09  Jim Meyering  <jim@meyering.net>
59314
59315         * lib/argp-pv.c: Remove a doubled word in a comment.
59316         * lib/check-version.c (check_version): Likewise.
59317         * lib/javacomp.c (compile_java_class): Likewise.
59318
59319 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59320
59321         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
59322         for the benefit of people using Autoconf 2.60.  If you want to
59323         support older Autoconf versions you can copy m4/onceonly_2_57.m4
59324         (or m4/onceonly.m4, if pre-2.57) manually.
59325
59326 2006-07-08  Jim Meyering  <jim@meyering.net>
59327
59328         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
59329         comment.
59330         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
59331         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
59332         comment.
59333
59334 2006-07-08  Jim Meyering  <jim@meyering.net>
59335
59336         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
59337
59338 2006-07-07  Simon Josefsson  <jas@extundo.com>
59339
59340         * tests/test-crc.c: Change expected crc value, the test vector
59341         were probably computed using the old broken crc.c?
59342
59343 2006-07-06  Simon Josefsson  <jas@extundo.com>
59344
59345         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
59346         now the canonical place for the M4 file).
59347
59348         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
59349         from the sys_socket dependency now.
59350
59351         * modules/inet_pton (Files): Ditto.
59352
59353         * modules/inet_ntop (Files): Ditto.
59354
59355 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59356
59357         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
59358         not gl_PREREQ_GETUSERSHELL.
59359
59360 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59361
59362         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
59363         with only one argument, for Autoconf 2.60.
59364         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
59365         expand to nothing, so add a shell command to avoid syntax error.
59366         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59367
59368 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59369
59370         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
59371
59372 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59373
59374         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
59375         no longer needed.  Check for isblank decl.
59376         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
59377         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
59378         of existence.
59379
59380 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59381
59382         * lib/getloadavg.c: Use __VMS, not VMS.
59383         * lib/getopt.c: Likewise.
59384         * lib/getpagesize.h: Likewise.
59385         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
59386         and probably does not work.
59387
59388 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59389
59390         * lib/.cppi-disable: Add wcwidth.
59391         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
59392         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
59393         (ISGRAPH): Remove.  All uses changed to isgraph.
59394         (FOLD) [!defined _LIBC]: Remove special case.
59395         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
59396         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
59397         HAVE_ISBLANK.
59398         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
59399         case.
59400
59401 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59402
59403         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
59404         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
59405         brackets.  Other minor changes to suppress some compiler
59406         warnings.
59407
59408 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59409         and Paul Eggert  <eggert@cs.ucla.edu>
59410
59411         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
59412         of invoking obsolescent AC_HEADER_DIRENT macro.
59413         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
59414         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
59415         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
59416         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
59417         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
59418         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59419         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
59420         * m4/readdir.m4: Remove; no longer needed.
59421
59422 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59423         and Paul Eggert  <eggert@cs.ucla.edu>
59424
59425         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
59426         Don't worry about this obsolete case any more.
59427         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
59428         directories.
59429         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
59430         worry about this obsolete case any more.
59431         * lib/fts.c: Likewise.
59432         * lib/getcwd.c: Likewise.
59433         * lib/glob.h: Likewise.
59434         * lib/savedir.c: Likewise.
59435
59436 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59437
59438         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
59439         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
59440         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
59441         needed.
59442         All uses removed.
59443         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59444         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59445         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
59446         needed.
59447         * m4/getdate.m4 (gl_GETDATE): Likewise.
59448         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59449         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59450         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59451         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59452         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59453         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59454         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
59455         needed.
59456
59457 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59458
59459         * lib/memcasecmp.c: Include <limits.h>.
59460         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
59461         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
59462         Don't assume isdigit succeeds only on '0' through '9'.
59463
59464 2006-07-05  Eric Blake  <ebb9@byu.net>
59465
59466         * modules/getaddrinfo (Depends-on): Add snprintf.
59467
59468 2006-07-05  Eric Blake  <ebb9@byu.net>
59469
59470         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
59471         to avoid 'header present but could not be compiled' on cygwin.
59472
59473 2006-07-05  Eric Blake  <ebb9@byu.net>
59474
59475         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
59476         missing from netdb.h.
59477         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
59478
59479 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59480
59481         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
59482         no longer needed.
59483         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
59484         * m4/getdate.m4 (gl_GETDATE): Likewise.
59485         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59486         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59487         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59488         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59489         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59490
59491 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59492
59493         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
59494         All uses of is_space replaced by isspace.
59495         * lib/exit.h: Don't talk about STDC_HEADERS.
59496         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
59497         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
59498         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
59499         replaced by isprint etc.
59500         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
59501         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59502         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
59503         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
59504         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
59505         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59506
59507 2006-07-05  Bruno Haible  <bruno@clisp.org>
59508
59509         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
59510         the function exists, before testing against AIX.
59511         Reported by Martin Lambers <marlam@marlam.de>.
59512
59513 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59514
59515         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
59516         From Mark D. Baushke.
59517
59518 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59519
59520         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
59521         to the absolute name, not just one, to bypass Sun C 5.8's
59522         "warning: #include of /usr/include/... may be non-portable".
59523
59524 2006-07-04  Eric Blake  <ebb9@byu.net>
59525
59526         * modules/dirname-tests: New test module.
59527         * tests/test-dirname.c: New file, replacing dirname.c
59528         TEST_DIRNAME section that was recently deleted.
59529
59530 2006-07-04  Bruno Haible  <bruno@clisp.org>
59531
59532         Assume ANSI C header files and <ctype.h> functions.
59533         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
59534         (mbsnwidth): Use isprint, iscntrl instead.
59535
59536 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59537
59538         Merge from coreutils.
59539         * MODULES.html.sh: Add xstrtold.
59540         * modules/xstrtold: New file.
59541         * modules/cycle-check (Files): Add lib/same-inode.h.
59542         * modules/dirname (Files): Add m4/double-slash-root.m4.
59543         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
59544         * modules/mkdir-p (Files): Add lib/same-inode.h.
59545         * modules/same (Files): Add lib/same-inode.h.
59546
59547 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59548
59549         * m4/absolute-header.m4: Renamed from full-header-path.m4.
59550         This is to keep the terminology clean; POSIX talks about
59551         "absolute pathnames", not "full pathnames", but the GNU
59552         Coding Standards say to use "path" for something else;
59553         so use "absolute" to keep both sides happy.
59554         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
59555         Set gl_absolute_header, not gl_full_header_path.
59556         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
59557         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
59558         All uses changed.
59559
59560         Merge from coreutils.
59561
59562         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59563
59564         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
59565         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
59566         want to require the building of c-strtod.o.
59567         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
59568         needs -lm directly.
59569         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
59570
59571         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59572
59573         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
59574         --as-needed option if available.  Problem reported by Albert Chin in
59575         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
59576         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
59577         cc merely issues a bunch of annoying warnings for --as-needed
59578         (this problem was reported by Bob Proulx).  Also, try linking with
59579         -lm to detect a bug in binutils 2.16 (this problem was reported
59580         by Ralf Wildenhues).
59581
59582         2006-06-18  Jim Meyering  <jim@meyering.net>
59583
59584         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
59585         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
59586         macro.
59587         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
59588         also check for glibc-2.4's abort-inducing bug.
59589
59590         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
59591         Low-probability clean-up should be to use rmdir to get rid of
59592         the just-created directory, not unlink.
59593
59594         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
59595         configure fail, and request a bug report to inform us about it.
59596         Add a comment that, barring reports to the contrary, in 2007 we'll
59597         assume ftruncate is universally available.
59598
59599         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59600
59601         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
59602
59603         2006-03-12  Jim Meyering  <jim@meyering.net>
59604
59605         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
59606         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
59607         * m4/same.m4 (gl_SAME): Likewise.
59608         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
59609
59610         2006-03-11  Eric Blake  <ebb9@byu.net>
59611
59612         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
59613         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
59614         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
59615         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
59616
59617 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59618
59619         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
59620         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
59621         reported by Mark D. Baushke, one in
59622         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
59623
59624         Merge from coreutils.
59625
59626         * lib/.cppi-disable: Add stdint_.h.
59627         * lib/.cvsignore: Add stdint.h.
59628
59629         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59630
59631         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
59632         both double and long double versions.
59633         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
59634         * lib/xstrtold.c: New file.
59635         * lib/xstrtod.h (xstrtold): New decl.
59636
59637         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
59638
59639         * lib/filemode.c (setst): Remove.
59640         (strmode): Rewrite to avoid setst.  This makes the code shorter,
59641         (arguably) clearer, and the generated code is a bit smaller on my
59642         Debian GNU/Linux stable x86 host.
59643
59644         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59645
59646         * lib/filemode.c: Include "filemode.h" first, to test the interface.
59647         Assume that filemode.h includes sys/types.h and sys/stat.h.
59648         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
59649         (ftypelet): Reorder to put common cases first, for efficiency.
59650         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
59651         to do 'M'.
59652         (strmode): Renamed from mode_string, and now stores 12 bytes instead
59653         of 10, for compatibility with FreeBSD.  All callers changed.
59654         (filemodestring): Now stores 12 bytes instead of 10, and sets file
59655         types that can't be deduced solely from st_mode.  First arg is now a
59656         const pointer.
59657         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
59658         (strmode): Renamed from mode_string.
59659         (filemodestring): New decl.
59660         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
59661         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
59662         needed.
59663         (S_ISPORT, S_ISWHT): New macros, if not already defined.
59664
59665         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
59666
59667         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
59668         fsusage.h now does that.  Include fsusage.h first, to test interface.
59669         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
59670         at most one method (the old code could have generated decls that
59671         didn't conform to C89, not that this was ever exercised).
59672         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
59673
59674         2006-03-19  Jim Meyering  <jim@meyering.net>
59675
59676         Work even in a chroot where d_ino values for entries in "/"
59677         don't match the stat.st_ino values for the same names.
59678         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
59679         number, iterate through all entries again, using lstat instead.
59680         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
59681         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
59682
59683         * lib/getcwd.c (__getcwd): Clarify a comment.
59684         Use memcpy in place of a call to strcpy.
59685
59686         2006-03-12  Jim Meyering  <jim@meyering.net>
59687
59688         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
59689         matches that of the current directory (which we're about to chdir ".."
59690         out of), then save the dev-ino of the parent, instead.
59691
59692         * lib/same-inode.h (SAME_INODE): New file/macro.
59693         * lib/chdir-safer.c (SAME_INODE): Remove definition.
59694         Include "same-inode.h", instead.
59695         * lib/same.c: Likewise.
59696         * lib/cycle-check.h: Include "same-inode.h".
59697         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
59698         * lib/cycle-check.c (SAME_INODE): Remove definition.
59699         * lib/root-dev-ino.h: Include "same-inode.h".
59700
59701         2006-03-11  Eric Blake  <ebb9@byu.net>
59702
59703         * lib/same.c (same_name): s/base_name/last_component/
59704         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
59705         * lib/filenamecat.c (file_name_concat): Likewise.
59706
59707         2006-03-11  Eric Blake  <ebb9@byu.net>,
59708                     Paul Eggert  <eggert@cs.ucla.edu>
59709
59710         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
59711         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
59712         drive prefix.
59713         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
59714         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
59715         (last_component): New method.
59716         * lib/dirname.c (dir_len): Determine when drive letters need a
59717         subsequent slash.  Preserve // when it is special.
59718         (dir_name): Don't append dot when drive letter is absolute.
59719         [TEST_DIRNAME]: Move into a full-blown gnulib test.
59720         * lib/basename.c (base_name): New semantics - malloc the result.
59721         Preserve // when it is special.  Preserve relative files that look
59722         like drive letters.
59723         (base_len): Preserve // when it is special.
59724         (last_component): New method, similar to old base_name semantics.
59725         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
59726         base_name.  Strip redundant slashes from ///.
59727
59728 2006-07-03  Jim Meyering  <jim@meyering.net>
59729
59730         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
59731         macro is used before the first cycle_check call.
59732
59733 2006-07-03  Eric Blake  <ebb9@byu.net>
59734
59735         * modules/dirname (Depends-on): Add xstrndup.
59736
59737 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59738
59739         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
59740         test cases, so that config.log is a bit easier to follow.
59741
59742 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59743
59744         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
59745         both are 64 bits, since this seems to be the tradition, and this
59746         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
59747         we ever run into a host that prefers long long to long in this
59748         case, we'll need another configure-time test.  Problem reported by
59749         Jim Meyering.
59750
59751 2006-07-02  Eric Blake  <ebb9@byu.net>
59752
59753         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
59754
59755 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59756
59757         * modules/inttypes (Depends-on): No longer depends on stdint.
59758         * modules/stdint (Description): Say more about assumptions.
59759         Say that the fast types might differ.  Say macros are used.
59760         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
59761         (Makefile.am): Revise list of substituted symbols to match
59762         new stdint.m4.
59763         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
59764         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
59765         * tests/test-stdint.c (verify_same_types)
59766         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
59767         the code conforms to C99/C89.
59768         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
59769         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
59770
59771 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59772
59773         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
59774         but fix a bug, by requiring at least 64 bits.
59775         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59776         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
59777         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
59778         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
59779
59780         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
59781         changes.  Make 2.59 a prerequisite.  Check and substitute for
59782         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
59783         inttypes.h.  Do not use special include files; just use the
59784         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
59785         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
59786         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
59787         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
59788         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
59789         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
59790         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
59791         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
59792         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
59793         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
59794         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
59795         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
59796         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59797         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59798         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59799         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59800         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59801         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59802         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59803         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59804         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59805         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59806         not check for things that C99 does not require, e.g., int8_t.  If
59807         a test isn't needed unless <stdint.h> isn't working, and is
59808         unlikely to be needed for any other reason, then don't do it
59809         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59810         size_t, since we assume C89 freestanding at least.  Do not check
59811         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59812         the right thing even if the types are not defined.  Instead use:
59813         (gl_STDINT_TYPE_PROPERTIES): New macro.
59814         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59815         testing whether <sys/types.h> clashes, as Autoconf does this for
59816         us now.  All uses removed.
59817         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59818         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59819         (gl_CHECK_TYPE_SAME):
59820         Remove; no longer needed.
59821         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59822         exists, since we'll return 0 anyway in that case.
59823         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59824
59825 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59826
59827         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59828         possible collision with system files.
59829         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59830         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59831         WCHAR_MIN and WCHAR_MAX in this case.
59832         (<stddef.h>): Do not include; no longer needed.
59833         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59834         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59835         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59836         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59837         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59838         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59839         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59840         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59841         !defined(__c99))]: Include in this case too, since it's harmless
59842         now.
59843         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59844         dangerous to do so.
59845         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59846         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59847         (_STDINT_MIN, _STDINT_MAX): New macros.
59848         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59849         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59850         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59851         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59852         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59853         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59854         macros, not typedefs; this simplifies things quite a bit.
59855         Use long int for all types narrower than int64_t.
59856         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59857         Define in terms of long long int or int64_t or long int,
59858         not int64_t or int32_t.  This saves some compile-time testing.
59859         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59860         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59861         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59862         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59863         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59864         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59865         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59866         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59867         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59868         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59869         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59870         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59871         undef any previous version and define our own version, for
59872         simplicity and consistency with the new macros for types.
59873         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59874         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59875         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59876         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59877         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59878         @WINT_T_SUFFIX@ to keep things simple here.
59879         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59880         Simplify by assuming typical 8/16/32/64 host, since we're
59881         already doing that elsewhere anyway.
59882         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59883         and assume long long int is 64 bits if available.  This
59884         speeds up 'configure'.
59885
59886 2006-07-01  Eric Blake  <ebb9@byu.net>
59887
59888         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59889         Reported by Andreas Buening.
59890
59891 2006-07-01  Eric Blake  <ebb9@byu.net>
59892
59893         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59894
59895 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59896
59897         * lib/getaddrinfo.c: fixed typo
59898
59899 2006-06-29  Jim Meyering  <jim@meyering.net>
59900
59901         * modules/strftime (Maintainer): Add my name, since with the
59902         FPRINTFTIME changes strftime.c has forked from glibc.
59903
59904 2006-06-29  Eric Blake  <ebb9@byu.net>
59905
59906         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59907
59908 2006-06-29  Eric Blake  <ebb9@byu.net>
59909
59910         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59911
59912 2006-06-29  Eric Blake  <ebb9@byu.net>
59913
59914         * lib/stat_.h: New file.
59915
59916 2006-06-29  Eric Blake  <ebb9@byu.net>
59917
59918         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59919         unused static function.
59920
59921 2006-06-29  Eric Blake  <ebb9@byu.net>
59922
59923         * doc/functions.texi (Function Portability): Document missing lstat
59924         on mingw.
59925
59926 2006-06-29  Eric Blake  <ebb9@byu.net>
59927
59928         * MODULES.html.sh: Add sys_stat.
59929         * modules/sys_stat: New module.
59930         * modules/mkstemp (Depends-on): Add sys_stat.
59931
59932 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59933
59934         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59935
59936 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59937
59938         * m4/c-bs-a.m4: Removed.
59939
59940 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59941
59942         * lib/strftime.c: Assume strftime() exists.
59943
59944 2006-06-29  Derek Price  <derek@ximbiot.com>
59945
59946         * modules/c-bs-a: Removed - \a is C89.
59947         * MODULES.html.sh: Remove c-bs-a.
59948
59949 2006-06-29  Bruno Haible  <bruno@clisp.org>
59950
59951         * modules/wcwidth (License): Change to LGPL.
59952
59953 2006-06-28  Simon Josefsson  <jas@extundo.com>
59954
59955         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59956         on _WIN32.
59957
59958         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59959         getnameinfo.
59960
59961 2006-06-28  Simon Josefsson  <jas@extundo.com>
59962
59963         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59964
59965 2006-06-28  Simon Josefsson  <jas@extundo.com>
59966
59967         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59968         functions there.  It will succeed on Windows XP, but on Windows
59969         2000 and (presumably) earlier, it will fail, and use the internal
59970         re-implementation.
59971         (use_win32_p): New function.
59972         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59973         Support AI_NUMERICSERV to disable getservbyname.
59974         (getnameinfo): New function, only supports
59975         NI_NUMERICHOST|NI_NUMERICSERV for now.
59976
59977         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59978         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59979         getnameinfo.
59980
59981 2006-06-28  Eric Blake  <ebb9@byu.net>
59982
59983         * modules/wcwidth: New file.
59984         * modules/mbchar (Depends-on): Add wcwidth.
59985         * modules/mbswidth (Depends-on): Add wcwidth.
59986         * MODULES.html.sh: Add wcwidth.
59987
59988 2006-06-28  Eric Blake  <ebb9@byu.net>
59989
59990         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59991         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59992
59993 2006-06-28  Eric Blake  <ebb9@byu.net>
59994
59995         * lib/xvasprintf.h: Fix comments.
59996
59997 2006-06-28  Eric Blake  <ebb9@byu.net>
59998
59999         * lib/mbchar.h (wcwidth): Include wcwidth.h.
60000         * lib/mbswidth.c (wcwidth): Move from here...
60001         * lib/wcwidth.h: ...to this new file.
60002
60003 2006-06-28  Derek R. Price  <derek@ximbiot.com>
60004
60005         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
60006
60007         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
60008         it's obsolete.
60009         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
60010
60011 2006-06-28  Derek R. Price  <derek@ximbiot.com>
60012
60013         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
60014         Autoconf 2.60 says this stuff was obsolete.
60015
60016 2006-06-28  Bruno Haible  <bruno@clisp.org>
60017
60018         * modules/wcwidth (Files): Add m4/wchar_t.m4.
60019
60020 2006-06-28  Bruno Haible  <bruno@clisp.org>
60021
60022         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
60023         gt_TYPE_WCHAR_T.
60024
60025 2006-06-28  Bruno Haible  <bruno@clisp.org>
60026
60027         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
60028         declaration for wcwidth.
60029         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
60030
60031 2006-06-28  Bruno Haible  <bruno@clisp.org>
60032
60033         * lib/mkdtemp.c [MINGW]: Include <io.h>.
60034         (mkdir): Define using _mkdir.
60035
60036 2006-06-28  Bruno Haible  <bruno@clisp.org>
60037
60038         * lib/getaddrinfo.h: Fix POSIX URL.
60039         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
60040         _WIN32.
60041         (use_win32_p): Make static.
60042         (getaddrinfo): Reject service name if it is empty or does not consist
60043         solely of decimal digits, or if its value is > 65535.
60044         (getnameinfo): Remove useless casts.
60045
60046 2006-06-27  Simon Josefsson  <jas@extundo.com>
60047
60048         * modules/sys_select: New file, suggested by Bruno Haible, Paul
60049         Eggert and Martin Lambers.
60050
60051 2006-06-27  Simon Josefsson  <jas@extundo.com>
60052
60053         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
60054         Eggert and Martin Lambers.
60055
60056 2006-06-27  Bruno Haible  <bruno@clisp.org>
60057
60058         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
60059         result to 0, not to empty.
60060         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
60061
60062 2006-06-27  Bruno Haible  <bruno@clisp.org>
60063
60064         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
60065
60066 2006-06-26  Simon Josefsson  <jas@extundo.com>
60067
60068         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
60069         present.
60070
60071 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
60072
60073         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
60074         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
60075         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
60076
60077 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
60078
60079         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
60080
60081 2006-06-26  Bruno Haible  <bruno@clisp.org>
60082
60083         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
60084
60085 2006-06-26  Bruno Haible  <bruno@clisp.org>
60086
60087         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
60088
60089 2006-06-26  Bruno Haible  <bruno@clisp.org>
60090
60091         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
60092         SGI C compiler in pre-C99 mode.
60093         Suggested by Mark D. Baushke and Larry Jones.
60094
60095 2006-06-26  Bruno Haible  <bruno@clisp.org>
60096
60097         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
60098         WCHAR_MAX.
60099         Reported by Mark D. Baushke and Larry Jones.
60100
60101 2006-06-26  Bruno Haible  <bruno@clisp.org>
60102
60103         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
60104         in pre-C99 mode.
60105         Suggested by Mark D. Baushke and Larry Jones.
60106
60107 2006-06-23  Simon Josefsson  <jas@extundo.com>
60108             Bruno Haible  <bruno@clisp.org>
60109
60110         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
60111         Emit mostlyclean-local rule.
60112         (func_emit_tests_Makefile_am): Likewise.
60113         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
60114
60115 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
60116
60117         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
60118
60119 2006-06-23  Bruno Haible  <bruno@clisp.org>
60120
60121         * tests/test-stdint.c: Update to match ISO C 99 Technical
60122         Corrigendum 1.
60123
60124 2006-06-23  Bruno Haible  <bruno@clisp.org>
60125
60126         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
60127
60128 2006-06-23  Bruno Haible  <bruno@clisp.org>
60129
60130         * lib/stdint_.h: Treat IRIX like OpenBSD.
60131
60132 2006-06-23  Bruno Haible  <bruno@clisp.org>
60133
60134         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
60135         ISO C 99 Technical Corrigendum 1.
60136
60137 2006-06-22  Simon Josefsson  <jas@extundo.com>
60138
60139         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
60140         MinGW.
60141
60142 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60143
60144         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
60145         needed.  Some compiler complained about some of them.  Problem reported
60146         by Larry Jones in
60147         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
60148
60149 2006-06-21  Simon Josefsson  <jas@extundo.com>
60150
60151         * tests/test-getaddrinfo.c: New file.
60152
60153         * modules/getaddrinfo-tests: New file.
60154
60155         * MODULES.html.sh: Add inet_pton.
60156
60157         * modules/inet_pton: New file.
60158
60159 2006-06-21  Simon Josefsson  <jas@extundo.com>
60160
60161         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
60162         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
60163         of using the (limited) gnulib implementation on Windows XP.
60164
60165         * m4/inet_pton.m4: New file.
60166
60167 2006-06-21  Simon Josefsson  <jas@extundo.com>
60168
60169         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
60170         variable.
60171
60172         * lib/socket_.h: Don't define WINVER.
60173
60174         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
60175         slightly modified to work in gnulib.
60176
60177 2006-06-21  Simon Josefsson  <jas@extundo.com>
60178
60179         * doc/gnulib.texi (Windows sockets): Add.
60180
60181 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60182
60183         * lib/read-file.c (fread_file): Start with buffer allocation of
60184         0 bytes rather than 1 byte; this simplifies the code.
60185         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
60186         code to free buffer and save/restore errno.
60187         (internal_read_file): Remove unused local.
60188
60189 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60190
60191         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
60192         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
60193         Problem reported by Denis Excoffier in
60194         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
60195
60196 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60197
60198         * modules/sys_socket, modules/socklen: Include sys/types since
60199         FreeBSD 4.x's sys/socket.h needs it.
60200
60201 2006-06-19  Simon Josefsson  <jas@extundo.com>
60202
60203         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
60204
60205 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60206
60207         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
60208
60209 2006-06-19  Bruno Haible  <bruno@clisp.org>
60210
60211         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
60212         and FULL_PATH_INTTYPES_H in angle brackets.
60213         Reported by Mark D. Baushke <mdb@gnu.org>.
60214
60215 2006-06-17  Eric Blake  <ebb9@byu.net>
60216
60217         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
60218         errno.
60219
60220 2006-06-17  Bruno Haible  <bruno@clisp.org>
60221
60222         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
60223         <sys/inttypes.h>.
60224
60225 2006-06-17  Bruno Haible  <bruno@clisp.org>
60226
60227         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
60228         whether errno is declared. Assume <errno.h> declares errno.
60229
60230 2006-06-17  Bruno Haible  <bruno@clisp.org>
60231
60232         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
60233
60234 2006-06-17  Bruno Haible  <bruno@clisp.org>
60235
60236         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
60237         problem on Solaris 2.5.1.
60238
60239 2006-06-16  Eric Blake  <ebb9@byu.net>
60240
60241         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
60242         * lib/unicodeio.c [!defined errno]: Likewise.
60243         * lib/strtol.c [!defined errno]: Likewise.
60244         * lib/strtod.c [!defined errno]: Likewise.
60245
60246 2006-06-15  Eric Blake  <ebb9@byu.net>
60247
60248         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
60249
60250 2006-06-15  Eric Blake  <ebb9@byu.net>
60251
60252         * config/srclist.txt (ssize_t.m4): Lose sync.
60253
60254 2006-06-15  Bruno Haible  <bruno@clisp.org>
60255
60256         * modules/stdint (Files): Include m4/full-header-path.m4,
60257         m4/size_max.m4, m4/wchar_t.m4.
60258         (Makefile.am): Many more substitutions.
60259         * modules/stdint-tests: New file.
60260         * tests/test-stdint.c: New file.
60261
60262 2006-06-15  Bruno Haible  <bruno@clisp.org>
60263
60264         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
60265         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
60266         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
60267         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
60268         gl_CHECK_TYPE_SAME): New macros.
60269
60270 2006-06-15  Bruno Haible  <bruno@clisp.org>
60271
60272         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
60273
60274 2006-06-15  Bruno Haible  <bruno@clisp.org>
60275
60276         * lib/stdint_.h: Rewritten to be fully auto-configured.
60277         Fixes bug on HP-UX/IA64.
60278
60279 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
60280
60281         * lib/getdate.y (__attribute__): Don't define if already defined.
60282         Problem reported by Larry Jones.
60283         * lib/utimens.c (__attribute__): Likewise.
60284
60285 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
60286
60287         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
60288         reported by Andreas Schwab.
60289
60290 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60291             Bruno Haible  <bruno@clisp.org>
60292
60293         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
60294         check for the declaration of strnlen and a run test that exposes the
60295         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
60296         rpl_strndup.
60297
60298 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60299             Bruno Haible  <bruno@clisp.org>
60300
60301         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
60302
60303 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60304
60305         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
60306         compile test, for Tru64 4.0D.
60307
60308 2006-05-28  Karl Berry  <karl@gnu.org>
60309
60310         * config/srclist.txt (printf-args.c): lose sync.
60311
60312 2006-05-26  Martin Lambers  <marlam@marlam.de>
60313
60314         * lib/getpass.c: Updates the test for the native W32 API, and adds
60315         missing includes, thus fixing compilation warnings.
60316
60317 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60318
60319         * lib/exclude.c (exclude_fnmatch): New function.
60320         (excluded_file_name): Call exclude_fnmatch.
60321         * lib/exclude.h (excluded_file_name): New prototype
60322
60323 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
60324
60325         * lib/tempname.c (small_open, large_open): New macros.
60326         (__open, __open64) [!_LIBC]: Remove.
60327         (__gen_tempname): Use small_open and large_open instead of __open
60328         and __open64.  This fixes a portability bug on HP-UX 11.11i
60329         reported by Simon Wing-Tang in
60330         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
60331
60332 2006-05-24  Bruno Haible  <bruno@clisp.org>
60333
60334         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
60335         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
60336         Reported by Thorsten Maerz <torte@netztorte.de> via
60337         Aaron Stone <aaron@serendipity.cx>.
60338
60339 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60340
60341         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
60342         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
60343         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
60344         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
60345         not really conditional on the cache.
60346         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
60347
60348 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60349
60350         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
60351         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
60352         (my_usleep): Don't mishandle maximum value.
60353
60354 2006-05-19  Jim Meyering  <jim@meyering.net>
60355
60356         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
60357
60358 2006-05-17  Bruno Haible  <bruno@clisp.org>
60359
60360         Cygwin portability.
60361         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
60362
60363 2006-05-17  Bruno Haible  <bruno@clisp.org>
60364
60365         * lib/stdint_.h: Fix recognition of Cygwin.
60366
60367 2006-05-15  Bruno Haible  <bruno@clisp.org>
60368
60369         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
60370         on libtool patch by Ralf Wildenhues.
60371
60372 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60373
60374         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
60375         test for C99 conformance; (bool) 0.5 is an integer constant
60376         expression, but (bool) -0.5 is not.  Problem reported by Fedor
60377         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
60378
60379 2006-05-11  Simon Josefsson  <jas@extundo.com>
60380
60381         * m4/xvasprintf.m4: Fix obvious typo.
60382
60383 2006-05-11  Jim Meyering  <jim@meyering.net>
60384
60385         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
60386         James Lemley.
60387
60388 2006-05-10  Simon Josefsson  <jas@extundo.com>
60389
60390         * lib/md4.c: Typo fix, update copyright years.
60391         (K1, K2): Don't use L because it turn computations into 64-bit on
60392         64-bit platforms.
60393
60394 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
60395
60396         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
60397         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
60398         unwanted sign propagation, e.g., on hosts with 64-bit int.
60399         There still are some problems with reeelly weird theoretical hosts
60400         (e.g., 33-bit int) but it's not worth worrying about now.
60401         * lib/sha1.c (rol): Likewise.
60402         (K1, K2, K3, K4): Remove unnecessary L suffix.
60403
60404 2006-05-10  Bruno Haible  <bruno@clisp.org>
60405
60406         * lib/des.c: Cast to avoid warnings.
60407
60408 2006-05-09  Bruno Haible  <bruno@clisp.org>
60409
60410         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
60411         (Depends-on): Depend also on xsize, stdarg.
60412         (configure.ac): Add gl_XVASPRINTF.
60413
60414 2006-05-09  Bruno Haible  <bruno@clisp.org>
60415
60416         * m4/xvasprintf.m4: New file.
60417
60418 2006-05-09  Bruno Haible  <bruno@clisp.org>
60419
60420         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
60421         (EOVERFLOW): Define fallback value.
60422         (xstrcat): New function.
60423         (xvasprintf): Recognize the special case of a string concatenation.
60424
60425 2006-05-08  Eric Blake  <ebb9@byu.net>
60426
60427         * gnulib-tool (func_version): Base copyright year on CVS date.
60428         (func_emit_copyright_notice): New function.
60429         (func_emit_lib_Makefile_am): Use it.
60430         (func_emit_tests_Makefile_am): Likewise.
60431         (func_import): Likewise.
60432
60433 2006-05-08  Bruno Haible  <bruno@clisp.org>
60434
60435         * modules/stdarg: New file.
60436         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
60437
60438 2006-05-08  Bruno Haible  <bruno@clisp.org>
60439
60440         * m4/stdarg.m4: New file, from GNU gettext.
60441
60442 2006-05-08  Bruno Haible  <bruno@clisp.org>
60443
60444         * config/srclist.txt (build-aux/config.rpath): different from latest
60445         release.
60446
60447 2006-05-08  Bruno Haible  <bruno@clisp.org>
60448
60449         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
60450
60451 2006-05-05  Jim Meyering  <jim@meyering.net>
60452
60453         * m4/warning.m4: New file, derived from bison's file by the same name.
60454
60455 2006-05-03  Bruno Haible  <bruno@clisp.org>
60456
60457         * lib/stdint_.h: Shorter URL.
60458         * lib/inttypes.h: Likewise.
60459
60460 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60461
60462         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
60463
60464 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60465
60466         * lib/verify.h: Document the internals better.  Most of this change
60467         was written by Bruno Haible.
60468
60469 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60470
60471         * doc/verify.texi: New file, partly based on a proposal by
60472         Bruno Haible.
60473
60474 2006-05-02  Bruno Haible  <bruno@clisp.org>
60475
60476         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
60477         test from here...
60478         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
60479
60480 2006-04-29  Bruno Haible  <bruno@clisp.org>
60481
60482         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
60483         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
60484
60485 2006-04-29  Bruno Haible  <bruno@clisp.org>
60486
60487         * gnulib-tool: Make --update option actually work.
60488
60489 2006-04-29  Bruno Haible  <bruno@clisp.org>
60490
60491         * doc/gcd.texi: New file.
60492         * doc/gnulib.texi: Include it.
60493
60494 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
60495
60496         * lib/getdate.y (get_date): When adding relative date, start with the
60497         initial time, not with the result of the first mktime call.
60498
60499 2006-04-25  Bruno Haible  <bruno@clisp.org>
60500
60501         * gnulib-tool (func_import): Output the include directives in three
60502         blocks, sorted separately.
60503         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60504
60505 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60506
60507         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
60508         to define main with arguments, for C++.  Reported by Eric Blake.
60509         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
60510         Prefer 'int main ()' to 'int main (void)', for C++.
60511         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
60512         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
60513         for 'main', for C99 and C++.
60514
60515 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60516
60517         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
60518         Don't assume that exit status -1 is valid.
60519         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60520         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60521         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
60522         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
60523         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
60524         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
60525         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
60526         functions can be used without declaring them, or that you can
60527         exit with status -1.
60528         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
60529
60530 2006-04-24  Karl Berry  <karl@gnu.org>
60531
60532         * config/srclist.txt (longdouble.m4): sync lost.
60533
60534 2006-04-24  Eric Blake  <ebb9@byu.net>
60535
60536         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
60537
60538 2006-04-24  Bruno Haible  <bruno@clisp.org>
60539
60540         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
60541         poll() implementation in AIX.
60542         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60543
60544 2006-04-24  Bruno Haible  <bruno@clisp.org>
60545
60546         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
60547         assigned exactly once.
60548
60549 2006-04-23  Claudio Fontana  <claudio@gnu.org>
60550             Bruno Haible  <bruno@clisp.org>
60551
60552         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
60553         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
60554         for AM_CPPFLAGS.
60555
60556 2006-04-23  Bruno Haible  <bruno@clisp.org>
60557
60558         * modules/copy-file: Depend on unistd.
60559         * modules/execute: Likewise.
60560         * modules/fatal-signal: Likewise.
60561         * modules/findprog: Likewise.
60562         * modules/mkdtemp : Likewise.
60563         * modules/pipe: Likewise.
60564         * modules/wait-process: Likewise.
60565
60566 2006-04-23  Bruno Haible  <bruno@clisp.org>
60567
60568         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
60569         condition was already detected.
60570         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60571
60572 2006-04-23  Bruno Haible  <bruno@clisp.org>
60573
60574         * lib/copy-file.c: Include <unistd.h> unconditionally.
60575         * lib/execute.c: Likewise.
60576         * lib/fatal-signal.c: Likewise.
60577         * lib/findprog.c: Likewise.
60578         * lib/mkdtemp.c: Likewise.
60579         * lib/pipe.h: Likewise.
60580         * lib/pipe.c: Likewise.
60581         * lib/wait-process.h: Likewise.
60582
60583 2006-04-23  Bruno Haible  <bruno@clisp.org>
60584
60585         * gnulib-tool (func_usage): Fix --import description. Document
60586         --update.
60587         (func_import): Create temporary file in a temporary directory, if
60588         --dry-run is specified. Silence errors from 'grep' when there are no
60589         m4 files in $m4dir.
60590         (func_create_testdir): Silence errors from 'grep' when there are no
60591         m4 files in $m4dir.
60592         Reported by Karl Berry <karl@freefriends.org>.
60593
60594 2006-04-20  Bruno Haible  <bruno@clisp.org>
60595
60596         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
60597         one argument, so that the code will be portable to Autoconf 2.60.
60598         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
60599         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60600         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
60601
60602 2006-04-19  Derek Price  <derek@ximbiot.com>
60603             Eric Blake  <ebb9@byu.net>
60604
60605         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
60606         rather than "/full/path.h".  Update comment to match.  Shorten &
60607         generalize m4_translit call via AS_TR_CPP.
60608
60609 2006-04-19  Derek Price  <derek@ximbiot.com>
60610             Eric Blake  <ebb9@byu.net>
60611
60612         * lib/inttypes.h: Correct grammar in comment.
60613
60614 2006-04-18  Derek Price  <derek@ximbiot.com>
60615             Paul Eggert  <eggert@cs.ucla.edu>
60616
60617         * modules/inttypes: New file.
60618         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
60619
60620 2006-04-18  Derek Price  <derek@ximbiot.com>
60621             Paul Eggert  <eggert@cs.ucla.edu>
60622
60623         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
60624         New files.
60625
60626 2006-04-18  Derek Price  <derek@ximbiot.com>
60627             Paul Eggert  <eggert@cs.ucla.edu>
60628
60629         * lib/inttypes.h: New file.
60630         * lib/strtoimax.c: Assume <inttypes.h>.
60631
60632 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
60633
60634         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
60635         isn't mounted.  Problem reported by Kir Kolyshkin.
60636
60637 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60638
60639         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
60640         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
60641         Derek R. Price.
60642         * lib/regex.h (RE_DUP_MAX): Update comment to match current
60643         implementation.
60644
60645 2006-04-12  Eric Blake  <ebb9@byu.net>
60646
60647         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
60648         is now done automatically by the corresponding Autoconf macro.
60649
60650 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
60651
60652         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
60653         time_r.h.
60654
60655 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60656
60657         Merge regex changes from libc, removing some of our
60658         POSIX-conformance changes that were rejected and redoing them in a
60659         less-intrusive way.
60660
60661         * lib/regcomp.c (re_compile_internal, init_dfa):
60662         Length arg is now size_t, not Idx.  All uses changed.
60663         (peek_token): Forward decl now says internal_function.
60664         (__re_error_msgid, __re_error_msgid_idx):
60665         Now static rather than extern with attribute_hidden.
60666         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
60667         For some reason libc prefers K&R style defns for external functions.
60668         (regerror) [!defined _LIBC]: Likewise.
60669         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
60670         (seek_collating_symbol_entry, lookup_collation_sequence_value):
60671         (build_range_exp, build_collating_symbol):
60672         Use K&R-style defn.
60673         (re_compile_fastmap): Use '\0' to memset, not 0.
60674         (utf8_sb_map): Make the calculations more obvious.
60675         (init_dfa, parse_bracket_exp, build_charclass_op):
60676         Call calloc and cast result, as glibc does.
60677         (init_word_char, fetch_token, peek_token, peek_token_bracket):
60678         (build_range_exp, build_collating_symbol):
60679         Now internal functions.
60680
60681         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
60682
60683         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
60684         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
60685         Don't depend on VMS; depend on __VMS instead, for POSIX
60686         namespace cleanness.
60687         (regoff_t): Define to ssize_t, not long int.
60688
60689         Remove the REG_ macros named below.  Instead, make the old names
60690         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
60691         __USE_GNU_REGEX.
60692         (REG_BACKSLASH_ESCAPE_IN_LISTS):
60693         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
60694         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
60695         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
60696         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
60697         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
60698         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
60699         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
60700         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
60701         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
60702         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
60703         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
60704         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
60705         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
60706         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
60707         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
60708         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
60709         (REG_NREGS):
60710         Remove.  All uses replaced by the old RE_* names.
60711         (RE_BACKSLASH_ESCAPE_IN_LISTS):
60712         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
60713         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
60714         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
60715         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
60716         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
60717         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
60718         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
60719         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
60720         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
60721         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
60722         Don't bother having these macros be independent of each others'
60723         values, since they no longer exist in the POSIX name space.
60724
60725         Rename the following member names back to their old names,
60726         unless !__USE_GNU_REGEX.  All uses changed back.
60727         (buffer): Renamed from re_buffer.
60728         (allocated): Renamed from re_allocated.
60729         (used): Renamed from re_used.
60730         (syntax): Renamed from re_syntax.
60731         (fastmap): Renamed from re_fastmap.
60732         (translate): Renamed from re_translate.
60733         (can_be_null): Renamed from re_can_be_null.
60734         (regs_allocated): Renamed from re_regs_allocated.
60735         (fastmap_accurate): Renamed from re_fastmap_accurate.
60736         (no_sub): Renamed from re_no_sub.
60737         (not_bol): Renamed from re_not_bol.
60738         (not_eol): Renamed from re_not_eol.
60739         (newline_anchor): Renamed from re_newline_anchor.
60740         (num_regs): Renamed from rm_num_regs.
60741         (start): Renamed from rm_start.
60742         (end): Renamed from rm_end.
60743
60744         (free_state): Move up a bit.
60745
60746         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
60747         #define to be empty.
60748         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
60749         when that is what is intended.
60750         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
60751         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
60752         (MAX): New macro.
60753         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
60754         All uses changed back to re_malloc, etc.  It's now the caller's
60755         responsibility to check for overflow; all callers changed.
60756         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
60757         (re_x2nrealloc): Remove.
60758         (free_state): Remove decl.
60759
60760         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
60761         (re_set_registers, re_exec):
60762         Use K&R-style defn.
60763
60764         2006-01-31  Roland McGrath  <roland@redhat.com>
60765
60766         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
60767         Reported by Mike Frysinger <vapier@gentoo.org>.
60768
60769         2006-01-15  Andreas Jaeger  <aj@suse.de>
60770
60771         [BZ #1950]
60772         * lib/regex_internal.c (re_string_reconstruct): Adjust for
60773         build_wcs_upper_buffer change.
60774         (build_wcs_upper_buffer): Change return type.
60775
60776         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
60777
60778         * lib/regex_internal.h: Include <stdint.h> if available.
60779
60780         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
60781
60782         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
60783
60784         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60785
60786         * lib/regcomp.c: Adjust for changed secondary hash function.
60787
60788         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
60789
60790         * lib/regex.h: Pretty printing.
60791         Clean up namespace a bit.
60792
60793         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
60794
60795         * lib/regexec.c (update_cur_sifted_state, check_arrival,
60796         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60797
60798         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60799                     Ulrich Drepper  <drepper@redhat.com>
60800
60801         [BZ #1302]
60802         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60803         changed.
60804         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60805
60806         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60807
60808         [BZ #281]
60809         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60810         * lib/regcomp.c: Remove unnecessary uses of
60811         unsigned RE_TRANSLATE_TYPE.
60812         * lib/regex_internal.h: Likewise.
60813         * lib/regex_internal.c: Likewise.
60814         * lib/regexec.c: Likewise.
60815         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60816
60817         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60818
60819         * lib/regexec.c (find_recover_state): Remove unnecessary
60820         initialization.
60821         (transit_state_bkref): Make DFA a const pointer.
60822         (get_subexp): Likewise.
60823         (check_arrival): Likewise.
60824         (update_cur_sifted_state): Likewise.
60825         (re_search_internal): Likewise.
60826         (prune_impossible_nodes): Likewise.
60827         (acquire_init_state_context): Likewise.
60828         (proceed_next_node): Likewise.
60829         (set_regs): Likewise.
60830         (free_fail_stack_return): Likewise.
60831         (check_arrival_expand_ecl): Mark DFA parameter as const.
60832         (check_arrival_expand_ecl_sub): Likewise.
60833         (check_subexp_limits): Likewise.
60834         (sub_epsilon_src_nodes):  Likewise.
60835         (add_epsilon_src_nodes):  Likewise.
60836         (merge_state_array): Likewise.
60837         (update_regs): Likewise.
60838         (build_trtable): Likewise.
60839         (sift_states_backward): Mark MCTX parameter as const.
60840         (build_sifted_states): Likewise.
60841         (update_cur_sifted_state): Likewise.
60842         (sift_states_mkref): Likewise.
60843         (check_arrival_expand_ecl): Mark eclosure as const.
60844         (check_dst_limits_calc_pos_1): Likewise.
60845         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60846         pointer.
60847
60848         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60849
60850         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60851         (transit_state_sb): Likewise.
60852         (transit_state_mb): Likewise.
60853         (sift_states_iter_mb): Likewise.
60854         (check_arrival_add_next_nodes): Likewise.
60855         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60856         [_LIBC] (re_search_2_stub): Use mempcpy.
60857
60858         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60859         mbrtowc for very simple UTF-8 case.
60860
60861         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60862         a pointer-to-const.
60863         (re_acquire_state_context): Likewise.
60864         * lib/regex_internal.h: Adjust prototypes.
60865
60866         * lib/regex.c: Prevent using C++ compilers.
60867
60868         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60869         (re_acquire_state_context): Likewise.
60870
60871 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60872
60873         * modules/regex (Depends-on): Add ssize_t.
60874
60875 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60876
60877         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60878         translation table.
60879
60880 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60881
60882         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60883
60884 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60885             Bruno Haible  <bruno@clisp.org>
60886
60887         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60888         <sys/types.h> and <inttypes.h>.
60889
60890 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60891
60892         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60893         `__error_t_defined', so argp.h will not typedef the former.
60894
60895 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60896
60897         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60898         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60899         glibc names.  Even if glibc is changed to conform to POSIX, the
60900         traditional names will be available anyway, since regex depends on
60901         the extensions module.  Also, fix a longstanding typo in the
60902         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60903         reported by Emanuele Giaquinta.  Also, change sense of cached
60904         variable, so that the message makes sense.
60905
60906 2006-03-24  Simon Josefsson  <jas@extundo.com>
60907
60908         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60909         including some doc fixes.
60910         (base64_encode_alloc): Fix +1 bug on allocation failures.
60911
60912 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60913
60914         * lib/base64.c (base64_encode): Do not read past end of array with
60915         unsanitized input on systems with CHAR_BIT > 8.
60916
60917 2006-03-24  Eric Blake  <ebb9@byu.net>
60918
60919         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60920
60921 2006-03-22  Karl Berry  <karl@gnu.org>
60922
60923         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60924         * config/srclistvars.sh (COREUTILS): new var.
60925
60926 2006-03-17  Jim Meyering  <jim@meyering.net>
60927
60928         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60929         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60930
60931 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60932
60933         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60934         no longer needs it.  Instead, check that regoff_t is as least
60935         as wide as ptrdiff_t.
60936
60937         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60938         so that our regex.h stays compatible with the installed regex.
60939         This is helpful for installers who configure --without-included-regex.
60940         Problem reported by Emanuele Giaquinta.
60941
60942 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60943
60944         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60945         Typedef to long int, not to off_, as POSIX will likely change
60946         in that direction.
60947
60948 2006-03-15  Eric Blake  <ebb9@byu.net>
60949
60950         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60951
60952 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60953
60954         * lib/argp-help.c (validate_uparams): Fix typo
60955         * lib/argp-parse.c (argp_default_options): Consistently begin help
60956         messages with a lowercase letter.
60957
60958 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60959
60960         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60961         overrun buffers and shouldn't be used (much as gets shouldn't be
60962         used).
60963         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60964
60965 2006-03-08  Simon Josefsson  <jas@extundo.com>
60966
60967         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60968         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60969
60970 2006-03-08  Simon Josefsson  <jas@extundo.com>
60971
60972         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60973         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60974
60975 2006-03-08  Simon Josefsson  <jas@extundo.com>
60976
60977         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60978         signal that configure disabled the device.
60979
60980 2006-03-08  Simon Josefsson  <jas@extundo.com>
60981
60982         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60983         languages.
60984
60985 2006-03-07  Simon Josefsson  <jas@extundo.com>
60986
60987         * modules/getopt (Depends-on): Add unistd.
60988
60989         * modules/unistd: New file.
60990
60991 2006-03-07  Simon Josefsson  <jas@extundo.com>
60992
60993         * modules/gc-random: New file.
60994
60995 2006-03-07  Simon Josefsson  <jas@extundo.com>
60996
60997         * m4/unistd_h.m4: New file.
60998
60999 2006-03-07  Simon Josefsson  <jas@extundo.com>
61000
61001         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
61002         test to be side-effect free by storing the result in the cache
61003         variable gl_cv_lib_readline, and moving the assignment of
61004         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
61005         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61006
61007 2006-03-07  Simon Josefsson  <jas@extundo.com>
61008
61009         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
61010         error on missing devices (the functions will return an error).
61011
61012         * m4/gc.m4: Move random stuff to gc-random.m4
61013
61014 2006-03-07  Simon Josefsson  <jas@extundo.com>
61015
61016         * lib/unistd_.h: New file.
61017
61018 2006-03-07  Simon Josefsson  <jas@extundo.com>
61019
61020         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
61021
61022 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61023
61024         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
61025         Problem reported by Juan Manuel Guerrero.
61026
61027 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61028
61029         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
61030         the unistd module.
61031         * lib/getlogin_r.c: Likewise.
61032         * lib/getlogin_r.h: Likewise.
61033         * lib/glob.c: Likewise.
61034         * lib/pagealign_alloc.c: Likewise.
61035         * lib/unistd_.h: Remove; no longer needed.
61036
61037 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61038
61039         * MODULES.html.sh (Support for systems lacking POSIX:2001):
61040         Add unistd.
61041         * modules/c-stack (Depends-on): Add unistd.
61042         * modules/getlogin_r: Likewise.
61043         * modules/glob: Likewise.
61044         * modules/pagealign_alloc: Likewise.
61045         * modules/unistd (Files): Remove lib/unistd_.h.
61046         (EXTRA_DIST): Remove.
61047         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
61048         need unistd_.h.
61049         (MOSTLYCLEANFILES): Remove unistd.h-t.
61050
61051 2006-03-03  Simon Josefsson  <jas@extundo.com>
61052
61053         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
61054
61055 2006-03-03  Simon Josefsson  <jas@extundo.com>
61056
61057         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
61058         libidn and bison.
61059
61060 2006-03-03  Simon Josefsson  <jas@extundo.com>
61061
61062         * build-aux/maint.mk: Add indent target.
61063
61064 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
61065
61066         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
61067         our replacement poll.h in any case, to avoid a differing
61068         declaration from a system header.  Seen on AIX.
61069
61070 2006-03-01  Simon Josefsson  <jas@extundo.com>
61071
61072         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
61073         <kasal@ucw.cz>.
61074
61075 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61076
61077         * modules/gettime (Depends-on): Add extensions module.
61078         * modules/nanosleep (Depends-on): Likewise.
61079         * modules/settime (Depends-on): Likewise.
61080
61081 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61082
61083         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
61084         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
61085         pedantically.
61086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61087         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
61088
61089         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
61090         not "==".  Reported by Ralf Wildenhues.
61091
61092 2006-03-01  Karl Berry  <karl@gnu.org>
61093
61094         * doc/Copyright/request-*: new files, synced from gnuorg.
61095
61096 2006-03-01  Karl Berry  <karl@gnu.org>
61097
61098         * config/srclist.txt (Copyright/*): new entries.
61099
61100 2006-02-28  Simon Josefsson  <jas@extundo.com>
61101
61102         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
61103
61104 2006-02-27  Simon Josefsson  <jas@extundo.com>
61105
61106         * lib/base64.h: Indent #define's.  From Jim Meyering
61107         <jim@meyering.net>.
61108
61109 2006-02-27  Jim Meyering  <jim@meyering.net>
61110
61111         Revert the change of 2006-02-24, so these files can continue
61112         to be sync'd from gettext.
61113         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
61114         of `config.h'.
61115
61116 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61117
61118         * modules/intprops: New file.
61119         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61120         Add intprops.
61121         * modules/getloadavg (Files): Remove lib/intprops.h.
61122         (Depends-on): Add intprops.
61123         * modules/human: Likewise.
61124         * modules/inttostr: Likewise.
61125         * modules/openat: Likewise.
61126         * modules/sig2str: Likewise.
61127         * modules/userspec: Likewise.
61128         * modules/utimecmp: Likewise.
61129         * modules/xnanosleep: Likewise.
61130         * modules/xstrtol: Likewise.
61131
61132 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
61133
61134         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
61135         * modules/lock-tests (TESTS): Use $(EXEEXT).
61136         * modules/tls-tests: Likewise.
61137         * modules/argp-tests: Likewise.
61138         (check_PROGRAMS): New var, replacing...
61139         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
61140
61141 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61142
61143         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
61144         `config.h'.
61145
61146 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61147
61148         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
61149
61150 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61151
61152         Sync from coreutils.
61153         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
61154         gl_CHDIR_SAFER.
61155
61156 2006-02-22  Jim Meyering  <jim@meyering.net>
61157
61158         Sync from coreutils.
61159         * m4/chdir-safer.m4: New file.
61160
61161 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61162
61163         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
61164         AT_FDCWD exceeds INT_MAX.
61165         * lib/openat.h (AT_FDCWD): Likewise.
61166
61167 2006-02-17  Eric Blake  <address@hidden>
61168
61169         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
61170
61171 2006-02-16  Simon Josefsson  <jas@extundo.com>
61172
61173         * modules/getaddrinfo (Depends-on): Add sys_socket.
61174
61175 2006-02-15  Simon Josefsson  <jas@extundo.com>
61176
61177         * build-aux/maint.mk: Add dsyntax-check rule.
61178
61179 2006-02-15  Eric Blake  <ebb9@byu.net>
61180
61181         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
61182         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
61183         'present but cannot compile' warnings on cygwin.
61184         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
61185         use ws2tcpip.h if sys/socket.h works.
61186         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
61187         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
61188
61189 2006-02-14  Simon Josefsson  <jas@extundo.com>
61190
61191         * modules/maintainer-makefile (Files): Rename.
61192
61193         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
61194         and (the local) Makefile.cfg to maint-cfg.mk.
61195
61196         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
61197         to the latter.
61198
61199         * modules/maintainer-makefile: New module.
61200
61201         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
61202         severaly stripped to make it possible to build it up from scratch
61203         with reliable tests.
61204
61205         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
61206         fixes to permit overriding the default actions when configure and
61207         makefile are not available.
61208
61209 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
61210
61211         Sync from coreutils.
61212         * modules/lstat (Depends-on): Don't depend on xalloc.
61213         (License): Change from GPL to LGPL, since this is now simply a
61214         replacement for a libc function.
61215
61216 2006-02-14  Jim Meyering  <jim@meyering.net>
61217
61218         Sync from coreutils.
61219
61220         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
61221         failure on deficient systems, and simplify gnulib lgpl dependencies.
61222         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
61223         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
61224
61225         * lib/xalloc-die.c: Remove unused definition of N_.
61226
61227 2006-02-14  Jim Meyering  <jim@meyering.net>
61228
61229         Sync from coreutils.
61230         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
61231         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
61232         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
61233         double-quote uses of that variable, to accommodate the rare case in
61234         which getmntent is available in none of the libraries checked.  This
61235         happens at least on FreeBSD 5.0.
61236
61237 2006-02-13  Simon Josefsson  <jas@extundo.com>
61238
61239         * gnulib-tool (Usage): Fix --import, from
61240         karl@freefriends.org (Karl Berry).
61241
61242 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61243
61244         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
61245
61246 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
61247
61248         * lib/argp-namefrob.h: Restore changes accidentally lost during the
61249         "autoupdate" on 2005-12-12.
61250
61251 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61252
61253         * modules/closeout (Depends-on): Remove atexit.
61254
61255 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61256
61257         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
61258         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
61259
61260 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61261
61262         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
61263         __EXTENSIONS__ if this causes compilation to fail.  Problem
61264         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
61265         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
61266
61267 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
61268
61269         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
61270         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
61271         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
61272         All uses changed.
61273
61274 2006-01-26  Simon Josefsson  <jas@extundo.com>
61275
61276         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
61277         prototype is visible on mingw32.
61278
61279         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
61280         for mingw32.
61281
61282         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
61283         mingw32).
61284
61285 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61286
61287         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
61288         attempt to open for write; this always fails, at least on POSIX
61289         hosts.  This reinstates the 2006-01-09 change, which was
61290         inadvertently removed.
61291
61292 2006-01-26  Bruno Haible  <bruno@clisp.org>
61293
61294         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
61295         Reported by Paul Eggert.
61296
61297 2006-01-26  Bruno Haible  <bruno@clisp.org>
61298             Paul Eggert  <eggert@cs.ucla.edu>
61299
61300         * lib/stdbool_.h (_Bool)
61301         [(! (defined __cplusplus || defined __BEOS__)
61302           && !defined __GNUC__
61303           && !(defined __HP_cc || defined __xlc__
61304                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
61305                || defined __sgi))]:
61306         #define to signed char in these cases too; this simplifies
61307         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
61308         etc., separately) and makes it more conservative.
61309
61310 2006-01-25  Simon Josefsson  <jas@extundo.com>
61311
61312         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
61313         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
61314         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
61315
61316 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61317
61318         * lib/argp-namefrob.h: Bugfix. Remove stray #
61319
61320 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61321
61322         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
61323         so that we test the test.
61324         Check for yet another HP-UX cc bug involving *bool |= bool.
61325
61326 2006-01-25  Karl Berry  <karl@gnu.org>
61327
61328         * config/srclist.txt (vasnprintf.c): sync lost.
61329
61330 2006-01-25  Jim Meyering  <jim@meyering.net>
61331
61332         Sync from the stable (b5) branch of coreutils:
61333
61334         * lib/fts.c (fts_children): Don't let close() clobber errno from
61335         failed fchdir().
61336
61337         * lib/fts.c (fts_stat): When following a symlink-to-directory,
61338         don't necessarily interpret stat-fails+lstat-succeeds as indicating
61339         a dangling symlink.  That can also happen at least for ELOOP.
61340         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
61341         FYI, this bug predates the inclusion of fts.c in coreutils.
61342
61343         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
61344         in their own block, so pre-c99 compilers don't object.
61345
61346         Avoid the double-free (first in fts_read, second in fts_close) that
61347         would occur when an `active' directory is made inaccessible (e.g.,
61348         via chmod a-x) during a traversal.
61349         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61350         before returning.  Reproduce this failure by
61351         mkdir -p a/b; cd a; chmod a-x . b
61352         Reported by Stavros Passas.
61353
61354 2006-01-25  Jim Meyering  <jim@meyering.net>
61355
61356         * lib/fileblocks.c: Remove more useless parentheses.
61357         * lib/readutmp.h: Likewise.
61358
61359 2006-01-25  Bruno Haible  <bruno@clisp.org>
61360
61361         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
61362         warnings.
61363         Reported by Paul Eggert.
61364
61365 2006-01-25  Bruno Haible  <bruno@clisp.org>
61366
61367         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
61368         rid of a trap command. For Solaris sh.
61369         Reported by Mark D. Baushke <mdb@gnu.org>.
61370
61371 2006-01-24  Simon Josefsson  <jas@extundo.com>
61372
61373         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
61374         Bruno.
61375
61376 2006-01-24  Karl Berry  <karl@gnu.org>
61377
61378         * config/srclist.txt (argp-namefrob.h): sync lost.
61379
61380 2006-01-24  Jim Meyering  <jim@meyering.net>
61381
61382         * modules/openat (Files): Add lib/intprops.h.
61383         From Mark D. Baushke.
61384
61385 2006-01-24  Jim Meyering  <jim@meyering.net>
61386
61387         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
61388         Reported by Mark D. Baushke.
61389
61390 2006-01-24  Jim Meyering  <jim@meyering.net>
61391
61392         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
61393
61394 2006-01-24  Bruno Haible  <bruno@clisp.org>
61395
61396         * modules/strnlen (Maintainer): Change from glibc to all.
61397
61398 2006-01-24  Bruno Haible  <bruno@clisp.org>
61399
61400         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
61401         Patch by Paul Eggert.
61402
61403 2006-01-24  Bruno Haible  <bruno@clisp.org>
61404
61405         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
61406         already has it.
61407         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
61408         2005-11-26.
61409
61410         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
61411         'signed char' to avoid problems with the built-in _Bool type.
61412         Reported by Paul Eggert on 2005-11-26.
61413
61414 2006-01-24  Bruno Haible  <bruno@clisp.org>
61415
61416         * gnulib-tool (func_import): Avoid constructing complicated sed
61417         expressions inside backquote.
61418         Report and solution by Mark D. Baushke <mdb@gnu.org>.
61419
61420 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
61421
61422         These changes imported from libc.
61423         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
61424         test and two separate function calls.
61425         * lib/strndup.c (__strndup): Add libc_hidden_def.
61426
61427 2006-01-23  Simon Josefsson  <jas@extundo.com>
61428
61429         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
61430         Remove the test_*_SOURCES variable: automake infers it by default.
61431         * modules/tls-tests: Likewise.
61432
61433 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61434
61435         Work around porting bugs reported by Dieter in
61436         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
61437         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
61438         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
61439         Include "getopt.h" first, to check interface.
61440         (getenv): Declare only if defined HAVE_DECL_GETENV &&
61441         !HAVE_DECL_GETENV.
61442         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
61443         (__strndup): Revert to K&R-style function dfns, the glibc style.
61444         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
61445         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
61446         Include strnlen.h first, to get prototype properly.
61447         (strnlen): Renamed from __strnlen.
61448         Remove weak alias.
61449
61450 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61451
61452         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
61453
61454 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61455
61456         * config/srclist.txt: Adjust to reflect glibc reorganization.
61457         This affects only comments.
61458
61459 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61460
61461          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
61462          Reported by Bruce Korb <bkorb@gnu.org>.
61463
61464 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
61465
61466         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
61467         to pacify gcc -Wswitch-default.
61468
61469 2006-01-22  Bruno Haible  <bruno@clisp.org>
61470
61471         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
61472         temporary buffer for sprintf, take into account the precision also
61473         for 'd', 'i', 'u', 'o', 'x', 'X'.
61474
61475 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61476
61477         * modules/argp-tests: New module
61478         * tests/test-argp.c: New file
61479         * tests/test-argp-2.sh: New file
61480
61481 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61482
61483         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
61484         (__argp_base_name): Removed
61485         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
61486         typo.
61487         (__argp_base_name): Provide macro definition or extern declaration
61488         depending on the configuration
61489
61490 2006-01-20  Simon Josefsson  <jas@extundo.com>
61491
61492         * modules/inet_ntop (Depends-on): Depend on sys_socket.
61493
61494 2006-01-20  Simon Josefsson  <jas@extundo.com>
61495
61496         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
61497
61498 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61499
61500         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
61501         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
61502         Suggested by Bruno Haible.
61503
61504 2006-01-20  Karl Berry  <karl@gnu.org>
61505
61506         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
61507         until changes propagate, I guess.
61508
61509 2006-01-19  Simon Josefsson  <jas@extundo.com>
61510
61511         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
61512
61513 2006-01-19  Simon Josefsson  <jas@extundo.com>
61514
61515         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
61516
61517 2006-01-19  Simon Josefsson  <jas@extundo.com>
61518
61519         * gnulib-tool: Set check_PROGRAMS.
61520
61521         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61522         modules/des-tests, modules/gc-arcfour-tests,
61523         modules/gc-arctwo-tests, modules/gc-des-tests,
61524         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61525         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61526         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61527         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61528         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61529         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
61530         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
61531         test_*_SOURCES.
61532
61533 2006-01-18  Simon Josefsson  <jas@extundo.com>
61534
61535         * modules/socklen (Depends-on): Depend on sys_socket.
61536
61537 2006-01-18  Simon Josefsson  <jas@extundo.com>
61538
61539         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61540         modules/des-tests, modules/gc-arcfour-tests,
61541         modules/gc-arctwo-tests, modules/gc-des-tests,
61542         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61543         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61544         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61545         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61546         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61547         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
61548         $(EXEEXT) to automake TESTS variable, for mingw32.
61549
61550 2006-01-17  Simon Josefsson  <jas@extundo.com>
61551
61552         * modules/socklen (Include): Need sys/socket.h.
61553
61554 2006-01-17  Bruno Haible  <bruno@clisp.org>
61555
61556         * modules/ssize_t (Include): Add <sys/types.h>.
61557
61558 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
61559
61560         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
61561         it's not portable and it doesn't work with cross-compiles.
61562         Problem reported by Bruno Haible.  Fix missing-$ typo in
61563         'test "gl_cv_ignore_unused_libraries" ...' that prevented
61564         -zignore from being used with Sun's C compiler.
61565
61566 2006-01-12  Simon Josefsson  <jas@extundo.com>
61567
61568         * lib/base64.c: Fix warning, reported by Bruno Haible
61569         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
61570
61571 2006-01-12  Bruno Haible  <bruno@clisp.org>
61572
61573         * modules/ldd: New file.
61574         * build-aux/ldd.sh.in: New file.
61575         * MODULES.html.sh (Support for building libraries and executables): Add
61576         ldd.
61577
61578 2006-01-12  Bruno Haible  <bruno@clisp.org>
61579
61580         * m4/ldd.m4: New file.
61581
61582 2006-01-12  Bruno Haible  <bruno@clisp.org>
61583
61584         * gnulib-tool (func_import, func_create_testdir): Don't go into an
61585         endless loop while replacing $auxdir with build-aux.
61586
61587 2006-01-11  Simon Josefsson  <jas@extundo.com>
61588
61589         * lib/stdint_.h (SIZE_MAX): Add missing (.
61590
61591 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61592
61593         Sync from coreutils.
61594         * lib/md5.c: Fix commentary typos.
61595         (alignof, UNALIGNED_P): No need for a GCC-specific version.
61596         * lib/md5.h (__attribute__): Remove; unused.
61597         * lib/sha1.c: Fix commentary to match md5 better.
61598         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
61599         so that we don't need to worry about alignment.  All uses changed.
61600         This merges the 2005-10-28 md5 change into sha1.
61601
61602 2006-01-11  Jim Meyering  <jim@meyering.net>
61603
61604         Sync from coreutils.
61605         * lib/md5.c (OP): Fix spacing.
61606
61607 2006-01-11  Bruno Haible  <bruno@clisp.org>
61608
61609         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61610         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
61611         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
61612
61613 2006-01-11  Bruno Haible  <bruno@clisp.org>
61614
61615         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61616         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
61617         the "early" section as well.
61618
61619 2006-01-11  Bruno Haible  <bruno@clisp.org>
61620
61621         Avoid "ar: no archive members specified" error on MacOS X.
61622         * gnulib-tool (func_modules_add_dummy): New function.
61623         (func_import, func_create_testdir): Invoke it.
61624
61625 2006-01-11  Bruno Haible  <bruno@clisp.org>
61626
61627         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
61628         with $auxdir in AC_CONFIG_FILES statements.
61629
61630 2006-01-11  Bruno Haible  <bruno@clisp.org>
61631
61632         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61633         Initialize also noinst_HEADERS to empty.
61634
61635 2006-01-11  Bruno Haible  <bruno@clisp.org>
61636
61637         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
61638         variables.
61639         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
61640         autoreconf.
61641
61642 2006-01-11  Bruno Haible  <bruno@clisp.org>
61643
61644         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
61645         overridable by the user.
61646         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61647
61648 2006-01-10  Simon Josefsson  <jas@extundo.com>
61649
61650         * modules/sys_socket: New file.
61651
61652 2006-01-10  Simon Josefsson  <jas@extundo.com>
61653
61654         * m4/sys_socket_h.m4: New file.
61655
61656 2006-01-10  Simon Josefsson  <jas@extundo.com>
61657
61658         * lib/socket_.h: New file.
61659
61660 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61661
61662         * modules/readutmp (Maintainer): Add myself.
61663
61664 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61665
61666         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
61667         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
61668         People who are still concerned with buggy memcmp implementations
61669         can invoke gl_FUNC_MEMCMP themselves.
61670
61671 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61672
61673         * lib/regex_internal.h (BITSET_WORD_BITS):
61674         Work around a bug in 64-bit PGC (before version 6.1-2), where the
61675         preprocessor mishandles large unsigned values as if they were signed.
61676         Problem reported by Claudio Fontana in
61677         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
61678
61679 2006-01-10  Jim Meyering  <jim@meyering.net>
61680
61681         Avoid the double-free (first in fts_read, second in fts_close) that
61682         would occur when an `active' directory is made inaccessible (e.g.,
61683         via chmod a-x) during a traversal.
61684         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61685         before returning.  Reproduce this failure by
61686         mkdir -p a/b; cd a; chmod a-x . b
61687         Reported by Stavros Passas.
61688
61689         Sync from coreutils.
61690         * lib/sha1.c: Tweak grammar in a comment.
61691
61692 2006-01-10  Jim Meyering  <jim@meyering.net>
61693
61694         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
61695         Patch by Joerg Sonnenberger.
61696
61697 2006-01-10  Bruno Haible  <bruno@clisp.org>
61698
61699         * modules/readutmp: Depend on module free.
61700         * modules/strtok_r: Depend on module restrict.
61701
61702 2006-01-10  Bruno Haible  <bruno@clisp.org>
61703
61704         * modules/gettext (configure.ac): Add an invocation of
61705         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
61706
61707 2006-01-10  Bruno Haible  <bruno@clisp.org>
61708
61709         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
61710         Reported by Werner Lemberg <wl@gnu.org>.
61711
61712 2006-01-10  Bruno Haible  <bruno@clisp.org>
61713
61714         * lib/localcharset.c: Update from GNU gettext.
61715
61716 2006-01-10  Bruno Haible  <bruno@clisp.org>
61717
61718         * lib/argp.h (__const): Remove macro. Use const instead.
61719         * lib/argp-fmtstream.h (__const): Likewise.
61720         * lib/glob_.h (__const): Remove macro.
61721         * lib/glob-libc.h: Use const instead of __const.
61722
61723 2006-01-10  Bruno Haible  <bruno@clisp.org>
61724
61725         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
61726         variable.
61727         Needed to avoid an automake error regarding the 'gettext' module.
61728
61729 2006-01-09  Simon Josefsson  <jas@extundo.com>
61730
61731         * modules/inet_ntop (Depends-on): Add restrict.
61732
61733 2006-01-09  Simon Josefsson  <jas@extundo.com>
61734
61735         * modules/gc-rijndael-tests (License): Put under LGPL.
61736
61737         * modules/gc-des-tests (License): Likewise.
61738
61739         * modules/gc-arcfour-tests (License): Likewise.
61740
61741         * modules/gc-arctwo-tests (License): Likewise.
61742
61743         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
61744
61745         * modules/gc-hmac-sha1-tests (Files): Likewise.
61746
61747         * modules/gc-hmac-md5-tests (License): Likewise.
61748
61749         * modules/gc-sha1-tests (License): Likewise.
61750
61751         * modules/gc-md5-tests (License): Likewise.
61752
61753         * modules/gc-md4-tests (License): Likewise.
61754
61755         * modules/gc-md2-tests (License): Likewise.
61756
61757         * modules/gc-tests (License): Likewise.
61758
61759         * modules/des-tests (License): Likewise.
61760
61761         * modules/md4-tests (License): Likewise.
61762
61763         * modules/md2-tests (License): Likewise.
61764
61765 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61766
61767         Sync from coreutils:
61768
61769         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
61770         * modules/lib-ignore: New file.
61771         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
61772         chdir-safer.m4, lchmod.m4.
61773         * modules/openat: Add mkdirat.c, openat-priv.h.
61774
61775 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61776
61777         Sync from coreutils.
61778         * m4/lib-ignore.m4: New file.
61779         * m4/lchmod.m4: New file.
61780
61781 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61782
61783         Sync from coreutils.
61784         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
61785         for write access: POSIX says that must fail.
61786         * lib/fts.c (diropen): Likewise.
61787         * lib/save-cwd.c (save_cwd): Likewise.
61788         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
61789         well, for minor improvements on hosts that lack O_DIRECTORY.
61790         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
61791         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
61792         Fall back on chown if open failed with EACCES.
61793
61794         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
61795         Report an error at compile-time if only a 1-second nominal clock
61796         resolution is found.
61797
61798         * lib/lchmod.h: New file.
61799         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61800         (make_dir_parents): Use lchown rather than chown, and
61801         lchmod rather than chmod.
61802
61803         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61804         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61805         "proc" reported by n0dalus.
61806
61807         * lib/mountlist.c: Include <limits.h>.
61808         (dev_from_mount_options)
61809         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61810         New function.  It no longer assumes "dev=" has the System V meaning
61811         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61812         (read_file_system_list)
61813         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61814         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61815         dev= in that case.
61816
61817         * lib/posixtm.h (PDS_PRE_2000): New macro.
61818         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61819         allow_century.  All usages changed.  Reject dates outside the range
61820         1969-1999 if PDS_PRE_2000 is used.
61821
61822 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61823
61824         Sync from coreutils.
61825         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61826         (Time of day items): Mention the possibility of leap seconds.
61827         Problem reported by Dr. David Alan Gilbert.
61828
61829 2006-01-09  Jim Meyering  <jim@meyering.net>
61830
61831         Sync from coreutils.
61832
61833         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61834
61835         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61836
61837         * lib/modechange.c (mode_compile): Reject an invalid mode string
61838         that starts with an octal digit.  From Andreas Gruenbacher.
61839
61840         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61841         and dup to open_safer and dup_safer, respectively.
61842         (openat_permissive): Fix typo in comment.
61843
61844         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61845         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61846         (_): Remove; no longer needed.
61847         (openat): Renamed from rpl_openat; no need for rpl_openat
61848         since openat.h renames openat for us.
61849         Replace most of the body with a call to openat_permissive,
61850         to avoid duplicate code.
61851         Port to (probably hypothetical) environments were mode_t is
61852         wider than int.
61853         (openat_permissive): Require mode arg, so that we can check
61854         types better.  Put it just after flags.  Change cwd failure
61855         indicator from pointer-to-bool to pointer-to-errno-value.
61856         All callers changed.
61857         Invoke openat_save_fail and/or openat_restore_fail if
61858         cwd_errno is null, so that openat can call us.
61859         (openat_permissive, fdopendir, fstatat, unlinkat):
61860         Simplify errno handling to avoid some duplicate code,
61861         as it's OK to set errno on success.
61862         * lib/openat.h: Revamp code so that function macros depend on
61863         __OPENAT_PREFIX only, not also on AT_FDCWD.
61864         (openat_ro): Remove.  Caller changed to use openat_permissive.
61865         (openat_permissive): Now a macro, if not a function.
61866         (openat_restore_fail, openat_save_fail): Now always functions,
61867         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61868
61869         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61870         and openat.c.
61871         * lib/mkdirat.c: Include openat-priv.h.
61872         Remove definitions of macros defined therein.
61873         * lib/openat.c: Likewise.
61874
61875         * lib/mkdirat.c (mkdirat): New file and function.
61876         * lib/openat.h (mkdirat): Declare.
61877
61878         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61879
61880         * lib/openat.h (openat_permissive): Declare.
61881         (openat_ro): Define.
61882
61883         * lib/openat.c (EXPECTED_ERRNO): New macro.
61884         (openat_permissive): New function -- used in remove.c rewrite.
61885         (all functions): Set errno just before returning, only if there
61886         was an actual failure.
61887         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61888
61889         Emulate openat-family functions using Linux's procfs, if possible.
61890         Idea and some code based on Ulrich Drepper's glibc changes.
61891
61892         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61893         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61894         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61895         before falling back on save_cwd and restore_cwd.
61896         (fdopendir, fstatat, unlinkat): Likewise.
61897
61898         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61899         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61900
61901         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61902         as second argument to va_arg.  Otherwise, some versions of gcc
61903         warn that `if this code is reached, the program will abort'.
61904
61905 2006-01-09  Jim Meyering  <jim@meyering.net>
61906
61907         Sync from coreutils.
61908         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61909         Require openat-priv.h.
61910
61911 2006-01-09  Bruno Haible  <bruno@clisp.org>
61912
61913         * modules/strnlen (Include): Use strnlen.h.
61914
61915 2006-01-09  Bruno Haible  <bruno@clisp.org>
61916
61917         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61918
61919 2006-01-09  Bruno Haible  <bruno@clisp.org>
61920
61921         * lib/sysexit_.h (EX_OK): New macro.
61922         Suggested by Martin Lambers <marlam@marlam.de>.
61923
61924 2006-01-09  Bruno Haible  <bruno@clisp.org>
61925
61926         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61927         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61928
61929 2006-01-09  Bruno Haible  <bruno@clisp.org>
61930
61931         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61932         numbers.
61933
61934 2006-01-09  Bruno Haible  <bruno@clisp.org>
61935
61936         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61937         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61938         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61939         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61940
61941 2006-01-09  Bruno Haible  <bruno@clisp.org>
61942
61943         * build-aux/javacomp.sh.in: New file, moved from lib/.
61944         * modules/javacomp-script (Files): Update.
61945         (configure.ac): Add AC_CONFIG_FILES invocation.
61946         (EXTRA_DIST): Remove variable.
61947
61948         * build-aux/javaexec.sh.in: New file, moved from lib/.
61949         * modules/javaexec (Files): Update.
61950         (configure.ac): Add AC_CONFIG_FILES invocation.
61951         (EXTRA_DIST): Remove javaexec.sh.in.
61952
61953         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61954         * modules/csharpcomp-script (Files): Update.
61955         (configure.ac): Add AC_CONFIG_FILES invocation.
61956         (EXTRA_DIST): Remove variable.
61957
61958         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61959         * modules/csharpexec (Files): Update.
61960         (configure.ac): Add AC_CONFIG_FILES invocation.
61961         (EXTRA_DIST): Remove csharpexec.sh.in.
61962
61963 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61964
61965         Sync from coreutils.
61966
61967         Add POSIX ACL support
61968         * lib/acl.h (copy_acl, set_acl): Add declarations.
61969         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61970         systems other than Linux.
61971         (chmod_or_fchmod): New function: use fchmod when possible,
61972         and chmod otherwise.
61973         (file_has_acl): Add a POSIX ACL implementation, with a
61974         Linux-specific subcase.
61975         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61976         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61977         acls are unsupported.
61978         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61979         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61980         are unsupported.
61981
61982 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61983
61984         Sync from coreutils.
61985         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61986
61987 2006-01-07  Bruno Haible  <bruno@clisp.org>
61988
61989         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61990         gl_EARLY.
61991
61992 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61993
61994         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61995         Problem reported for Mingw by Mark Junker.
61996
61997 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61998
61999         * README: Gnulib normally doesn't generate a tarball.
62000
62001 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
62002
62003         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
62004         long int, not int, for nanosecond counts, so that people who are
62005         used to POSIX struct timespec won't be surprised.  Reported by Jim
62006         Meyering.
62007
62008 2005-12-28  Bruno Haible  <bruno@clisp.org>
62009
62010         * build-aux/config.rpath: Update from GNU gettext.
62011
62012 2005-12-16  Jim Meyering  <jim@meyering.net>
62013
62014         * modules/fprintftime: New module.
62015         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
62016
62017 2005-12-16  Jim Meyering  <jim@meyering.net>
62018
62019         * m4/fprintftime.m4: New file.
62020
62021 2005-12-16  Jim Meyering  <jim@meyering.net>
62022
62023         * lib/fprintftime.c, lib/fprintftime.h: New files.
62024
62025 2005-12-15  Simon Josefsson  <jas@extundo.com>
62026
62027         * modules/socklen (configure.ac): Fix M4 macro name, to align with
62028         new m4/socklen.m4.
62029
62030 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62031
62032         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
62033         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
62034
62035 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62036
62037         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
62038         * lib/argp-help.c (fill_in_uparams): Check if the constructed
62039         struct uparams is valid. Fall back to the default values if it is
62040         not.
62041
62042 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62043
62044         * modules/argp (Files): Add argp-pin.c
62045         (Depends-on): dirname
62046         (lib_SOURCES): Add argp-pin.c
62047
62048 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62049
62050         * m4/argp.m4:  Check if program_invocation_name and
62051         program_invocation_short_name are declared and define appropriate
62052         macros if they are not.
62053
62054 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62055
62056         * lib/argp-help.c (__argp_base_name): New function
62057         (__argp_short_program_name): Rewrite using __argp_base_name
62058         * lib/argp-namefrob.h: Define program_invocation_name and
62059         program_invocation_short_name if requested
62060         (__argp_base_name): Add prototype
62061         * lib/argp-parse.c (argp_def): Use gettext wrappers
62062         (argp_default_parser): Use __argp_base_name
62063         * lib/argp-pin.c: New file. Defines program_invocation_name and
62064         program_invocation_short_name on systems that lack them.
62065
62066 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62067
62068         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
62069         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62070         porting problem reported by Georg Schwarz in
62071         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62072
62073 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62074
62075         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
62076         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62077         porting problem reported by Georg Schwarz in
62078         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62079
62080 2005-12-05  Bruno Haible  <bruno@clisp.org>
62081
62082         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
62083         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
62084         Reported by Mark Junker <mjscod@gmx.de>.
62085
62086 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
62087
62088         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
62089         Use implementation from Albert Chin, with some
62090         comments/corrections by Stepan Kasal and myself.
62091
62092 2005-12-02  Bruno Haible  <bruno@clisp.org>
62093
62094         * gnulib-tool (func_import): Accept GPLed build tool modules when
62095         --lgpl is given.
62096         * modules/csharpcomp-script: New file.
62097         * modules/csharpcomp: Depend on it.
62098         * modules/javacomp-script: New file.
62099         * modules/javacomp: Depend on it.
62100         Suggested by Simon Josefsson.
62101
62102 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62103
62104         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
62105         statement, to work around an HP-UX 10.20 compiler bug reported by
62106         Peter O'Gorman.
62107
62108 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62109
62110         * modules/savedir (Depends-on): Add openat.
62111
62112 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62113
62114         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
62115         (uintmax_t) [defined uintmax_t]: Do not declare.
62116         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
62117         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
62118         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
62119         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
62120         sake of portability to weird hosts that C allows (though we don't
62121         know of any practical examples).
62122
62123         * lib/savedir.h (fdsavedir): New decl.
62124         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
62125         contains most of the former guts of savedir.
62126         (savedir): Use savedirstream.
62127         Include "openat.h".
62128
62129 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62130
62131         * modules/obstack (Files): Add m4/ulonglong.m4.
62132         Problem reported by Davide Angelocola.
62133
62134 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62135
62136         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
62137         coreutils no longer futzes with rounding modes.
62138
62139 2005-11-14  Jim Meyering  <jim@meyering.net>
62140
62141         * lib/mkstemp-safer.c: Include <config.h>, required for possible
62142         replacement of mkstemp.
62143
62144 2005-11-10  Simon Josefsson  <jas@extundo.com>
62145
62146         * lib/readline.c: Remove EOL.
62147
62148 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62149
62150         * modules/gethrxtime (Depends-on): Add gettime.
62151
62152 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62153
62154         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
62155         or gettimeofday; no longer needed.
62156
62157 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62158
62159         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
62160         time business.
62161         (gethrxtime) [! (HAVE_NANOUPTIME
62162         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
62163         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
62164         our own approximation.
62165
62166 2005-11-08  Eric Blake  <ebb9@byu.net>
62167
62168         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62169
62170 2005-11-08  Eric Blake  <ebb9@byu.net>
62171
62172         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62173
62174 2005-11-04  Bruno Haible  <bruno@clisp.org>
62175
62176         * gnulib-tool: Implement --update mode.
62177
62178 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62179
62180         Fix porting problem reported by Theodoros V. Kalamatianos.
62181         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
62182         Don't assume that futimes failing means we must fail.
62183
62184 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62185
62186         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
62187         variables to suggest the intended function of the PATH_MAX check.
62188
62189 2005-10-30  Kean Johnston  <jkj@sco.com>
62190
62191         Trivial changes to support SCO systems.
62192         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
62193         as PATH_MAX.
62194         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
62195         where __ptr is null when no I/O is pending.
62196
62197 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62198
62199         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
62200         leave errno alone.  Problem reported by Dmitry V. Levin.
62201
62202 2005-10-28  Simon Josefsson  <jas@extundo.com>
62203
62204         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
62205         Test more.
62206
62207         * tests/test-gc-md2.c, tests/test-md2.c: New files.
62208
62209         * modules/md2, modules/md2-tests: New files.
62210
62211 2005-10-28  Simon Josefsson  <jas@extundo.com>
62212
62213         * m4/inet_ntop.m4: More tests.
62214
62215         * m4/gc-md2.m4, md2.m4: New file.
62216
62217 2005-10-28  Simon Josefsson  <jas@extundo.com>
62218
62219         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
62220         "restrict" keywords, as per POSIX.  Protect the function
62221         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
62222         Don't use K&R prototypes.  Check the sprintf return values.
62223         Re-define EAFNOSUPPORT if not present.  Indent.
62224
62225         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
62226         suggested by Bruno Haible <bruno@clisp.org>.
62227
62228         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
62229
62230         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
62231
62232         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
62233         libgcrypt).
62234
62235         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
62236
62237         * lib/md2.h, lib/md2.c: New files.
62238
62239 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
62240
62241         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
62242         errno alone.  Problem reported by Frederic Jolliton.
62243
62244 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62245
62246         * modules/verify (License): Change from GPL to LGPL.  This is a
62247         tiny module and there are apparently near-equivalents that are
62248         under the BSD license.
62249
62250 2005-10-24  Simon Josefsson  <jas@extundo.com>
62251
62252         * modules/sha1: Relicense to LGPL.
62253
62254 2005-10-24  Simon Josefsson  <jas@extundo.com>
62255
62256         * lib/md4.h: Shrink buffer size, now that we changed the type.
62257
62258 2005-10-23  Simon Josefsson  <jas@extundo.com>
62259
62260         * gnulib-tool (func_import): Fix --tests-base.
62261
62262 2005-10-22  Simon Josefsson  <jas@extundo.com>
62263
62264         * modules/arcfour (Depends-on): Need stdint.
62265
62266 2005-10-22  Simon Josefsson  <jas@extundo.com>
62267
62268         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
62269         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
62270
62271 2005-10-22  Simon Josefsson  <jas@extundo.com>
62272
62273         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
62274         suggested by Bruno Haible <bruno@clisp.org>.
62275
62276 2005-10-22  Simon Josefsson  <jas@extundo.com>
62277
62278         * lib/crc.h: Include stddef.h, for size_t.
62279
62280 2005-10-22  Simon Josefsson  <jas@extundo.com>
62281
62282         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
62283         arcfour_context struct (simplify test vector testing in GNU
62284         Shishi).
62285
62286 2005-10-21  Simon Josefsson  <jas@extundo.com>
62287
62288         * modules/des, modules/des-tests: New files.
62289
62290         * modules/gc-des, modules/gc-des-tests: New files.
62291
62292         * tests/test-des.c, tests/test-gc-des.c: New file.
62293
62294 2005-10-21  Simon Josefsson  <jas@extundo.com>
62295
62296         * modules/arctwo, modules/arctwo-tests: New files.
62297
62298         * tests/test-arctwo.c: New file.
62299
62300         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
62301
62302         * tests/test-gc-arctwo.c: New file.
62303
62304 2005-10-21  Simon Josefsson  <jas@extundo.com>
62305
62306         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
62307         Bruno Haible <bruno@clisp.org>.
62308
62309         * m4/gc-des.m4: New file.
62310
62311 2005-10-21  Simon Josefsson  <jas@extundo.com>
62312
62313         * m4/arctwo.m4: New file.
62314
62315         * m4/gc-arctwo.m4: New file.
62316
62317 2005-10-21  Simon Josefsson  <jas@extundo.com>
62318
62319         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
62320         block.
62321
62322 2005-10-21  Simon Josefsson  <jas@extundo.com>
62323
62324         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
62325         <bruno@clisp.org>.
62326
62327         * lib/hmac-sha1.c (hmac_sha1): Likewise.
62328
62329         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
62330         Bruno Haible <bruno@clisp.org>.
62331
62332         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
62333         <bruno@clisp.org>.
62334
62335 2005-10-21  Simon Josefsson  <jas@extundo.com>
62336
62337         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
62338
62339 2005-10-21  Simon Josefsson  <jas@extundo.com>
62340
62341         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
62342
62343 2005-10-21  Simon Josefsson  <jas@extundo.com>
62344
62345         * lib/des.h, lib/des.c: New files.
62346
62347         * lib/gc-gnulib.c: Support DES.c
62348
62349 2005-10-21  Simon Josefsson  <jas@extundo.com>
62350
62351         * lib/arctwo.h, lib/arctwo.c: New files.
62352
62353         * lib/gc-gnulib.c: Support ARCTWO.
62354
62355 2005-10-21  Simon Josefsson  <jas@extundo.com>
62356
62357         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
62358         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62359
62360 2005-10-21  Simon Josefsson  <jas@extundo.com>
62361
62362         * gnulib-tool (func_import, func_create_testdir): Define automake
62363         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
62364         Makefile.am snippet),
62365         suggested by Bruno Haible <bruno@clisp.org>.
62366
62367         * modules/gc (Makefile.am): Use it.
62368
62369 2005-10-21  Bruno Haible  <bruno@clisp.org>
62370
62371         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
62372         patch.
62373
62374 2005-10-19  Simon Josefsson  <jas@extundo.com>
62375
62376         * tests/test-gc-rijndael.c: New file.
62377
62378         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
62379
62380 2005-10-19  Simon Josefsson  <jas@extundo.com>
62381
62382         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
62383         interface too.
62384
62385 2005-10-19  Simon Josefsson  <jas@extundo.com>
62386
62387         * tests/test-gc-arcfour.c: New file.
62388
62389         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
62390
62391 2005-10-19  Simon Josefsson  <jas@extundo.com>
62392
62393         * modules/gc-md4, modules/gc-md4-tests: New file.
62394
62395         * tests/test-gc-md4.c: New file.
62396
62397 2005-10-19  Simon Josefsson  <jas@extundo.com>
62398
62399         * m4/gc-md4.m4: New file.
62400
62401 2005-10-19  Simon Josefsson  <jas@extundo.com>
62402
62403         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
62404         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
62405         <kasal@ucw.cz>.
62406
62407 2005-10-19  Simon Josefsson  <jas@extundo.com>
62408
62409         * m4/gc-arcfour.m4: New file.
62410
62411         * m4/gc-rijndael.m4: New file.
62412
62413 2005-10-19  Simon Josefsson  <jas@extundo.com>
62414
62415         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
62416
62417 2005-10-19  Simon Josefsson  <jas@extundo.com>
62418
62419         * lib/gc-gnulib.c: Support ARCFOUR.
62420
62421 2005-10-19  Simon Josefsson  <jas@extundo.com>
62422
62423         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
62424         support.
62425
62426         * lib/gc.h: Add ECB enum type.
62427
62428         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
62429
62430 2005-10-18  Simon Josefsson  <jas@extundo.com>
62431
62432         * tests/test-md5.c: New file.
62433
62434         * modules/md5-tests: New file.
62435
62436 2005-10-18  Simon Josefsson  <jas@extundo.com>
62437
62438         * tests/test-md4.c: New file.
62439
62440         * modules/md4, modules/md4-tests: New files.
62441
62442 2005-10-18  Simon Josefsson  <jas@extundo.com>
62443
62444         * m4/md4.m4: New file.
62445
62446 2005-10-18  Simon Josefsson  <jas@extundo.com>
62447
62448         * lib/md4.h, lib/md4.c: New files, based on md5.?.
62449
62450 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
62451
62452         * gnulib-tool (func_create_testdir): Omit the second check whether
62453         BUILT_SOURCES in nonempty.
62454
62455 2005-10-17  Simon Josefsson  <jas@extundo.com>
62456
62457         * tests/test-rijndael.c: New file.
62458
62459 2005-10-17  Simon Josefsson  <jas@extundo.com>
62460
62461         * modules/sha1: Depend on stdint instead of md5.
62462
62463         * modules/md5: Depend on stdint, remove uint32_t.
62464
62465 2005-10-17  Simon Josefsson  <jas@extundo.com>
62466
62467         * modules/gc-sha1-tests: New file.
62468
62469         * tests/test-gc-sha1.c: New file.
62470
62471 2005-10-17  Simon Josefsson  <jas@extundo.com>
62472
62473         * m4/md5.m4: Remove call to uint32_t.m4.
62474
62475 2005-10-17  Simon Josefsson  <jas@extundo.com>
62476
62477         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
62478
62479         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
62480         md5.h.
62481
62482         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
62483
62484         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
62485
62486 2005-10-17  Simon Josefsson  <jas@extundo.com>
62487
62488         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
62489
62490 2005-10-17  Simon Josefsson  <jas@extundo.com>
62491
62492         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
62493
62494 2005-10-17  Simon Josefsson  <jas@extundo.com>
62495
62496         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
62497
62498         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
62499
62500 2005-10-17  Bruno Haible  <bruno@clisp.org>
62501
62502         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
62503         that it can also be used in a test.
62504
62505 2005-10-16  Bruno Haible  <bruno@clisp.org>
62506
62507         * gnulib-tool (func_emit_tests_Makefile_am): Also define
62508         TESTS_ENVIRONMENT, so that individual tests can augment it.
62509
62510         * gnulib-tool (func_create_testdir): Use an intermediate target for
62511         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
62512         macros, like $(ALLOCA_H), which cannot be passed through the command
62513         line.
62514
62515 2005-10-15  Simon Josefsson  <jas@extundo.com>
62516
62517         * modules/rijndael-tests: New file.
62518
62519         * modules/rijndael: New file.
62520
62521 2005-10-15  Simon Josefsson  <jas@extundo.com>
62522
62523         * m4/rijndael.m4: New file.
62524
62525 2005-10-15  Simon Josefsson  <jas@extundo.com>
62526
62527         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
62528
62529         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
62530
62531 2005-10-14  Simon Josefsson  <jas@extundo.com>
62532
62533         * tests/test-arcfour.c: New file.
62534
62535         * modules/arcfour, modules/arcfour-tests: New files.
62536
62537 2005-10-14  Simon Josefsson  <jas@extundo.com>
62538
62539         * m4/arcfour.m4: New file.
62540
62541 2005-10-14  Simon Josefsson  <jas@extundo.com>
62542
62543         * lib/arcfour.h, lib/arcfour.c: New files.
62544
62545 2005-10-14  Roland McGrath  <roland@redhat.com>
62546
62547         Import from libc.  [BZ #1331]
62548         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
62549         macro argument.
62550         Reported by Matej Vela <vela@debian.org>.
62551
62552 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62553
62554         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
62555         include <wchar.h>; no longer needed.
62556
62557 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62558
62559         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
62560
62561 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
62562         and  Ulrich Drepper  <drepper@redhat.com>
62563
62564         Import from libc.
62565         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
62566         instead of inline stream orientation test and two separate
62567         function calls.  Pay no attention to USE_IN_LIBIO.
62568
62569 2005-10-13  Simon Josefsson  <jas@extundo.com>
62570
62571         * modules/gc-hmac-md5-tests: New file.
62572
62573         * tests/test-gc-hmac-sha1.c: New file.
62574
62575         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
62576
62577         * modules/gc-hmac-md5-tests: New file.
62578
62579         * tests/test-gc-md5.c: New file.
62580
62581         * modules/gc-md5-tests: New file.
62582
62583 2005-10-13  Simon Josefsson  <jas@extundo.com>
62584
62585         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
62586         Move memory allocation outside of loop.
62587
62588 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
62589
62590         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
62591         intermediate directory is in a read-only file system.  Problem
62592         reported by Eric Blake.
62593
62594 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
62595
62596         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
62597
62598 2005-10-12  Simon Josefsson  <jas@extundo.com>
62599
62600         * tests/test-hmac-sha1.c: New file.
62601
62602         * modules/hmac-sha1-tests: New file.
62603
62604         * modules/hmac-sha1: New file.
62605
62606 2005-10-12  Simon Josefsson  <jas@extundo.com>
62607
62608         * modules/gc-sha1: New file.
62609
62610 2005-10-12  Simon Josefsson  <jas@extundo.com>
62611
62612         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
62613
62614         * tests/test-gc-pbkdf2-sha1.c: New file.
62615
62616 2005-10-12  Simon Josefsson  <jas@extundo.com>
62617
62618         * modules/gc-md5, modules/gc-hmac-md5: New files.
62619
62620         * modules/gc (Files): Remove md5, memxor and hmac files.
62621
62622 2005-10-12  Simon Josefsson  <jas@extundo.com>
62623
62624         * m4/gc-pbkdf2-sha1.m4: New file.
62625
62626         * m4/gc-hmac-sha1.m4: New file.
62627
62628         * m4/gc-sha1: New file.
62629
62630         * m4/hmac-sha1.m4: New file.
62631
62632 2005-10-12  Simon Josefsson  <jas@extundo.com>
62633
62634         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
62635
62636         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
62637
62638 2005-10-12  Simon Josefsson  <jas@extundo.com>
62639
62640         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
62641         suggested by Bruno Haible <bruno@clisp.org>.
62642
62643 2005-10-12  Simon Josefsson  <jas@extundo.com>
62644
62645         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
62646
62647 2005-10-12  Simon Josefsson  <jas@extundo.com>
62648
62649         * lib/gc-pbkdf2-sha1.c: New file.
62650
62651         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
62652
62653 2005-10-12  Simon Josefsson  <jas@extundo.com>
62654
62655         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
62656
62657         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
62658
62659 2005-10-12  Simon Josefsson  <jas@extundo.com>
62660
62661         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
62662         GC_USE_HMAC_MD5, respectively.
62663
62664         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
62665         (gc_md5): Fix typo.
62666
62667         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
62668
62669         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
62670
62671         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
62672
62673 2005-10-12  Bruno Haible  <bruno@clisp.org>
62674
62675         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
62676         Reported by Stepan Kasal <kasal@ucw.cz>.
62677
62678 2005-10-11  Simon Josefsson  <jas@extundo.com>
62679
62680         * tests/test-crc.c: New file.
62681
62682         * modules/crc, modules/crc-tests: New files.
62683
62684 2005-10-11  Simon Josefsson  <jas@extundo.com>
62685
62686         * m4/crc.m4: New file.
62687
62688 2005-10-11  Simon Josefsson  <jas@extundo.com>
62689
62690         * lib/gc.h: Add gc_hash and gc_hash_buffer.
62691
62692         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
62693
62694         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
62695
62696 2005-10-11  Simon Josefsson  <jas@extundo.com>
62697
62698         * lib/crc.h, lib/crc.c: New files.
62699
62700         * lib/gc.h (gc_hash_buffer): Add doc.
62701
62702 2005-10-11  Bruno Haible  <bruno@clisp.org>
62703
62704         * modules/c-strcasestr: New file.
62705         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
62706
62707 2005-10-11  Bruno Haible  <bruno@clisp.org>
62708
62709         * modules/c-strcase: New file.
62710         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
62711
62712 2005-10-11  Bruno Haible  <bruno@clisp.org>
62713
62714         * lib/strcasecmp.c: Include limits.h.
62715         (strcasecmp): Avoid integer overflow on exotic platforms.
62716         * lib/strncasecmp.c: Include limits.h.
62717         (strncasecmp): Avoid integer overflow on exotic platforms.
62718         Reported by Paul Eggert.
62719
62720 2005-10-11  Bruno Haible  <bruno@clisp.org>
62721
62722         * lib/c-strcasestr.h: New file, from GNU gettext.
62723         * lib/c-strcasestr.c: New file, from GNU gettext.
62724
62725 2005-10-11  Bruno Haible  <bruno@clisp.org>
62726
62727         * lib/c-strcase.h: New file, from GNU gettext.
62728         * lib/c-strcasecmp.c: New file, from GNU gettext.
62729         * lib/c-strncasecmp.c: New file, from GNU gettext.
62730
62731 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62732
62733         * modules/mempcpy (License): GPL -> LGPL.
62734         * modules/strchrnul (License): Likewise.
62735         * modules/sysexits (License): Likewise.
62736
62737 2005-10-08  Simon Josefsson  <jas@extundo.com>
62738
62739         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
62740
62741 2005-10-07  Simon Josefsson  <jas@extundo.com>
62742
62743         * m4/memxor.m4: Remove gl_C_RESTRICT call.
62744
62745 2005-10-06  Simon Josefsson  <jas@extundo.com>
62746
62747         * tests/test-hmac-md5.c: New file.
62748
62749         * modules/hmac-md5-tests: New file.
62750
62751         * modules/hmac-md5: New file.
62752
62753 2005-10-06  Simon Josefsson  <jas@extundo.com>
62754
62755         * m4/hmac-md5.m4: New file.
62756
62757         * m4/memxor.m4: Require gl_C_RESTRICT.
62758
62759 2005-10-06  Simon Josefsson  <jas@extundo.com>
62760
62761         * lib/memxor.c (memxor): Avoid casts and warnings.
62762
62763 2005-10-06  Simon Josefsson  <jas@extundo.com>
62764
62765         * lib/hmac-md5.c: New file.
62766
62767         * lib/hmac.h: New file.
62768
62769 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62770
62771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
62772         promotes to int, not unsigned int, to catch the AIX 5.3
62773         compiler bug.
62774
62775 2005-10-05  Simon Josefsson  <jas@extundo.com>
62776
62777         * modules/memxor: New file.
62778
62779         * modules/iconv (Files): Move config.rpath to havelib, it is used
62780         there.
62781
62782         * modules/havelib (Files): Add config.rpath.
62783
62784 2005-10-05  Simon Josefsson  <jas@extundo.com>
62785
62786         * m4/memxor.m4: New file.
62787
62788 2005-10-05  Simon Josefsson  <jas@extundo.com>
62789
62790         * lib/memxor.c (memxor): Fix compiler error.
62791
62792         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
62793         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
62794
62795         * lib/memxor.h, lib/memxor.c: New files.
62796
62797         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62798         we assume all systems have it, suggested by Jim Meyering
62799         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62800         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62801         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62802         same reasons.
62803
62804 2005-10-05  Simon Josefsson  <jas@extundo.com>
62805
62806         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62807
62808 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62809
62810         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62811         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62812         needed, since the source code now assumes these .h files.
62813
62814 2005-10-05  Derek Price  <derek@ximbiot.com>
62815
62816         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62817
62818 2005-10-05  Bruno Haible  <bruno@clisp.org>
62819
62820         * modules/stdint (License): Change to LGPL.
62821
62822 2005-10-04  Simon Josefsson  <jas@extundo.com>
62823
62824         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62825         D. Baushke" <mdb@gnu.org>.
62826
62827 2005-10-04  Bruno Haible  <bruno@clisp.org>
62828
62829         * lib/verify.h (verify_true): Provide alternative definition for C++.
62830
62831 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62832
62833         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62834         (SSIZE_MAX): New macro, if not already defined.
62835         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62836         than 2 GiB.
62837
62838 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62839
62840         Sync from coreutils.
62841         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62842         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62843         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62844         ULLONG_MAX doesn't work with 2.7.2.1.
62845
62846 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62847
62848         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62849         From Ben Pfaff.
62850
62851         * modules/exclude (Depends-on): Depend on verify.
62852         * modules/strtoimax (Depends-on): Likewise.
62853         * modules/utimecmp (Depends-on): Likewise.
62854
62855 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62856
62857         * lib/exclude.c: Include verify.h.
62858         (verify): Remove.  All callers changed to use verify.h's version.
62859         * lib/strtoimax.c: Likewise.
62860         * lib/utimecmp.c: Likewis.e
62861
62862         Sync from coreutils.
62863         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62864         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62865         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62866         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62867         bother returning ENOSYS if settimeofday or stime fails; just let
62868         them return whatever errno they want to return.
62869         * lib/utimens.c: Include unistd.h, for dup2.
62870         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62871         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62872
62873 2005-10-02  Jim Meyering  <jim@meyering.net>
62874
62875         Sync from coreutils.
62876         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62877         from glibc-2.2.5 that fails for read-only files.
62878
62879 2005-10-02  Jim Meyering  <jim@meyering.net>
62880
62881         Sync from coreutils.
62882         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62883         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62884         `#if HAVE_CONFIG_H'.
62885         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62886         Remove AT_FDCWD test.
62887         Do not consume the fd unless successful.
62888         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62889         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62890         block, so that we don't even try to compile it if settimeofday is
62891         available.  This works around a compilation failure on OSF1 V5.1,
62892         due to stime requiring a `long int*' while tv_sec is `int'.
62893
62894 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62895
62896         Sync from coreutils.
62897         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62898         against `yes', rather than just testing for nonempty.
62899
62900 2005-10-01  Simon Josefsson  <jas@extundo.com>
62901
62902         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62903         and Darwin.
62904
62905         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62906         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62907         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62908         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62909         Check if struct addrinfo is declared.
62910
62911 2005-10-01  Simon Josefsson  <jas@extundo.com>
62912
62913         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62914         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62915         AI_* and EAI_* definitions.  Protect function declarations.
62916
62917 2005-10-01  Jim Meyering  <jim@meyering.net>
62918
62919         Sync from coreutils.
62920
62921         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62922         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62923         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62924         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62925         in the inet and nsl libraries.  Required on Solaris 5.7.
62926
62927 2005-10-01  Jim Meyering  <jim@meyering.net>
62928
62929         Sync from coreutils.
62930         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62931         in the inet and nsl libraries.  Required on Solaris 5.7.
62932
62933 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62934
62935         * lib/getdelim.c (getdelim): Remove unused variables.
62936
62937 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62938
62939         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62940         so that the code works even with ancient cpp.  Portability problem
62941         with GCC 2.7.2.1 reported by Thomas M.Ott.
62942
62943 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62944
62945         * modules/regex (Depends-on): Add strcase.
62946
62947         * modules/gethostname (Licence): Change from GPL to LGPL, since
62948         gethostname.c is a trivial implementation of a standard library
62949         function.
62950         * modules/poll (License): Change from GPL to LGPL, since it's
62951         derived from LGPL code.
62952
62953 2005-09-27  Jim Meyering  <jim@meyering.net>
62954
62955         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62956         HAVE_CONFIG_H.
62957
62958         * lib/intprops.h (signed_type_or_expr__): Define.
62959         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62960         for unsigned types.
62961
62962 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62963
62964         * lib/verify.h (verify_expr): Remove, replacing with:
62965         (verify_true): New macro that returns true instead of void.
62966         (verify_type__): Remove.
62967         (verify): Use verify_true rather than verify_type__.
62968
62969 2005-09-26  Bruno Haible  <bruno@clisp.org>
62970
62971         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62972         is necessary.
62973         (lib_SOURCES): Remove mbchar.c.
62974         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62975         (Files): Add m4/mbrtowc.m4.
62976         * modules/mbiter: Likewise.
62977         * modules/mbuiter: Likewise.
62978
62979 2005-09-26  Bruno Haible  <bruno@clisp.org>
62980
62981         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62982         compile mbchar.c if they are not both present.
62983         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62984         * m4/mbiter.m4 (gl_MBITER): Likewise.
62985         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62986         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62987         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62988
62989 2005-09-25  Jim Meyering  <jim@meyering.net>
62990
62991         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62992         also uses socklen_t.
62993
62994 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62995
62996         * lib/utimens.c (ENOSYS): Define if not already defined.
62997         (futimens): Support having a null PATH if the file descriptor
62998         is nonnegative.
62999
63000         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
63001         Remove.
63002         (__attribute): Define to empty unless GCC 3.1 or later.
63003         This works around a core dump on OpenBSD 3.4, which has GCC
63004         2.95.3, which dumps core when given __attribute__(()).  It also
63005         simplifies other tests, since we really don't want to bother with
63006         worrying about which ancient version of GCC supported what.
63007         Original problem reported by Yoann Vandoorselaere, with part of
63008         the fix suggested by Derek Price.
63009
63010 2005-09-24  Jim Meyering  <jim@meyering.net>
63011
63012         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
63013         so we can once again use a positive bitfield width of 1 -- now we
63014         don't have to explain why we were using a bitfield width of 2.
63015
63016 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
63017
63018         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
63019         and similarly for the other external symbols.  Problem reported
63020         by James Gallager.
63021
63022         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
63023         bug reported by Jim Meyering.
63024
63025         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
63026         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
63027         not needed, since socklen is a prerequisite module.
63028
63029 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
63030
63031         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
63032         Problem reported by Eric Blake.
63033         (getaddrinfo): Initialize se so that it's not garbage.
63034         Redo internal storage allocation so that it doesn't make unportable
63035         assumptions about alignment.
63036         Fix a memory leak.
63037
63038         * lib/utimens.c (futimens): Use futimesat if available.
63039         Prefer it to futimes since it doesn't have the futimes bug.
63040
63041         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
63042         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
63043         Instead, declare a function that returns a pointer to an array,
63044         and use verify_type__ to declare the size of the array.
63045         Problem and germ of a solution reported by Bruno Haible.
63046         (verify_type__): Use 2, not 1, for bitfield size, to avoid
63047         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
63048
63049 2005-09-23  Jim Meyering  <jim@meyering.net>
63050
63051         Sync from coreutils.
63052         Correct build failure (socklen_t not defined) on at least
63053         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
63054         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
63055
63056 2005-09-23  Jim Meyering  <jim@meyering.net>
63057
63058         * modules/getaddrinfo (Depends-on): Add socklen.
63059
63060 2005-09-23  Bruno Haible  <bruno@clisp.org>
63061
63062         * tests/test-verify.c: New file.
63063
63064 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63065
63066         Sync from coreutils.
63067
63068         * modules/argmatch (Depends-on): Add verify.
63069         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
63070         unistd-safer.
63071         * modules/save-cwd (Depends-on): Likewise.
63072
63073         * modules/openat (Files): Add lib/openat-die.c.
63074         (Depends-on): Remove error, exitfail.
63075         Add dirname.
63076
63077         * modules/verify: New file.
63078         * MODULES.html.sh (Diagnostics <assert.h>): New section,
63079         with "verify" module.
63080
63081 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63082
63083         Sync from coreutils.
63084
63085         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
63086         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
63087         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
63088         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
63089         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
63090         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
63091         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
63092         Don't bother checking for string.h, stdlib.h, unistd.h.
63093         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
63094         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
63095         module's job.
63096         * m4/jm-macros.m4 (gl_MACROS): Likewise.
63097         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
63098
63099         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
63100         (gl_GETDATE): Use it.
63101
63102         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
63103
63104 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63105
63106         Sync from coreutils.
63107
63108         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
63109         stat-time.h.
63110         * lib/argmatch.h: Include verify.h
63111         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
63112         (ARGMATCH_ASSERT): Remove; unused.
63113         * lib/canonicalize.c: Assume STDC_HEADERS.
63114         * lib/exclude.c: Include "strcase.h".
63115         * lib/regex_internal.h [!defined _LIBC]: Likewise.
63116         * lib/getusershell.c: Include stdio--.h rather than stdio.h
63117         and stdio-safer.h.
63118         (getusershell): Call fopen, not fopen_safer.
63119         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
63120         Do not include unistd-safer.h.
63121         (save_cwd): Don't call fd_safer; no longer needed
63122         now that we include fcntl--.h.
63123
63124         * lib/getdate.y (relative_time): New type.
63125         (RELATIVE_TIME_0): New constant.
63126         (parser_control): Use relative_time instead of doing it ourselves.
63127         (%union): Add new relative_time rel member.
63128         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
63129         Now typeless.
63130         (relunit, relunit_snumber): Now of type rel.
63131         (zone, rel, relunit, get_date): Adjust to above changes.
63132
63133         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
63134         Do not include unistd-safer.h.
63135         (getloadavg): Don't call fd_safer; no longer needed
63136         now that we include fcntl--.h.
63137
63138         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
63139         (make_dir_parents): Treat ENOSYS like EEXIST.
63140
63141         Improve quality of diagnostics on restore_cwd failure.
63142         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
63143         (make_dir_parents): Last arg is now int * (for errno), not bool *.
63144         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
63145         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
63146         each time through the loop.  Do not diagnose restore_cwd failure;
63147         that is the caller's job (and perhaps the caller does not care).
63148
63149         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
63150         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
63151         If the file already exists but is not a directory, don't bother
63152         to try to make its parents.
63153         Close potential file descriptor leak if we can't chdir("/") (!).
63154         Don't always return true if chdir($PWD) fails; return true only
63155         if the requested action was done successfully (except for the
63156         chdir($PWD)).
63157         Don't log final directory unless we actually made it.
63158         Refactor to avoid duplicate code to fix up permissions.
63159         Don't attempt to fix up parent permissions if chdir($PWD) fails.
63160
63161         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
63162         to make it a bit faster and (I hope) clearer.
63163         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
63164         Fix bug in formats like %2N.
63165
63166         * lib/verify.h: New file.
63167
63168 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63169
63170         Sync from coreutils.
63171         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
63172
63173 2005-09-22  Jim Meyering  <jim@meyering.net>
63174
63175         Sync from coreutils.
63176
63177         * m4/lstat.m4 (gl_FUNC_LSTAT):
63178         Use AC_LIBSOURCES to require lstat.c and lstat.h.
63179         Remove obsolete comment.
63180         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
63181         * m4/xstrtod.m4: Likewise.
63182
63183         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
63184
63185 2005-09-22  Jim Meyering  <jim@meyering.net>
63186
63187         Sync from coreutils.
63188
63189         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
63190
63191         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
63192         the .tm_year member, since otherwise gcc-4.0 would now warn about
63193         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
63194
63195         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
63196         order to avoid an unsuppressible warning from gcc on 64-bit systems.
63197
63198         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
63199         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
63200         when run in a time zone for which daylight savings time is in effect
63201         for the starting date.
63202
63203         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
63204         stop us from restricting permissions of just-created absolute-named
63205         directories.
63206         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
63207         to restore initial working directory.
63208         * lib/mkdir-p.c (make_dir_parents): New parameter:
63209         different_working_dir, to tell caller if/when we change the working
63210         directory and are unable to return to the initial one.
63211         * lib/mkdir-p.h (make_dir_parents): Update prototype.
63212         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
63213         `return false'.  This fixes a bug introduced on 2004-07-30.
63214
63215         * lib/openat.c (fdopendir): Be sure to close the supplied
63216         file descriptor before returning.  This makes our replacement
63217         implementation a little closer to Solaris's, where fdopendir
63218         ties the file descriptor to the returned DIR* pointer.
63219         * lib/openat.c (unlinkat): New function.
63220         * lib/openat.h (unlinkat): Add prototype.
63221         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
63222         (openat_restore_fail): Rename from openat_restore_die.
63223         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
63224
63225         Provide an alternative to exiting immediately upon save_cwd or
63226         restore_cwd failure.  Now, an application can arrange e.g.,
63227         to perform a longjump in that case.
63228         * lib/openat.c: Include dirname.h.
63229         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
63230         (rpl_openat, fdopendir, fstatat): Call openat_save_die
63231         and openat_restore_die rather than calling error directly.
63232         Don't include "error.h" or "exitfail.h"; they're no longer needed.
63233
63234         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
63235         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
63236         define.
63237
63238         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
63239         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
63240                             int utc, int nanoseconds);
63241         Background:
63242         date should not have to allocate a megabyte of virtual memory to
63243         handle a format argument like +%1048575T.  When implemented with
63244         strftime, it must allocate such a buffer, use strftime to fill it
63245         in, print it, then free it.
63246         With fprintftime, it simply prints everything and exits.
63247         With no need for memory allocation, that's one fewer way to fail.
63248         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
63249         optional field width, not before, so we accept %9:z, not %:9z.
63250         (my_strftime): Be sure to use L_('x') for literals.
63251
63252         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
63253         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
63254         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
63255         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
63256         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
63257         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
63258         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
63259         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
63260         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
63261         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
63262         * lib/xgethostname.c, lib/xreadlink.c:
63263         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
63264
63265         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
63266         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
63267         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
63268         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63269         and don't include <sys/file.h>).
63270
63271 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
63272
63273         Sync from coreutils.
63274
63275         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
63276         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
63277         [!LDAV_DONE]: Avoid unused variable warning.
63278
63279 2005-09-21  Bruno Haible  <bruno@clisp.org>
63280
63281         * lib/unicodeio.h (unicode_to_mb): New declaration.
63282
63283 2005-09-20  Derek Price  <derek@ximbiot.com>
63284
63285         * lib/getaddrinfo.c: Don't include <netdb.h> included from
63286         getaddrinfo.h.
63287
63288 2005-09-20  Bruno Haible  <bruno@clisp.org>
63289
63290         * gnulib-tool: Remove trailing slashes from the values specified for
63291         --source-base, --m4-base, --tests-base, --aux-dir.
63292         Suggested by Simon Josefsson <jas@extundo.com>.
63293
63294 2005-09-20  Bruno Haible  <bruno@clisp.org>
63295
63296         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
63297         func_modules_to_filelist, func_import, func_create_testdir): Make all
63298         sorting results locale-independent, so that gnulib-cache.m4 doesn't
63299         change when gnulib-tool is invoked in a different locale.
63300
63301 2005-09-19  Simon Josefsson  <jas@extundo.com>
63302
63303         * m4/socklen.m4: Fix typo.
63304
63305 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63306
63307         Use a consistent style for including <config.h>.
63308         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
63309         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
63310         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
63311         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
63312         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
63313         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
63314         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
63315         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
63316         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
63317         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
63318         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
63319         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
63320         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
63321         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
63322         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
63323         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
63324         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
63325         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
63326         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
63327         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
63328         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
63329         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
63330         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
63331         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
63332         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
63333         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
63334         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
63335         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
63336         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
63337         lib/xstrtoumax.c, lib/yesno.c:
63338         Standardize inclusion of config.h.
63339         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
63340         lib/inttostr.h:  Removed inclusion of config.h from header files.
63341         * lib/inttostr.c:  Adjusted in-tree users.
63342         * lib/timespec.h: Remove superfluous warning to include config.h.
63343         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
63344         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
63345         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
63346         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
63347         config.h with HAVE_CONFIG_H.
63348
63349 2005-09-19  Jim Meyering  <jim@meyering.net>
63350
63351         * modules/pathmax (License): Change to LGPL.
63352
63353 2005-09-19  Derek Price  <derek@ximbiot.com>
63354
63355         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
63356
63357 2005-09-19  Bruno Haible  <bruno@clisp.org>
63358
63359         * gnulib-tool (import): Provide default for --tests-base.
63360
63361 2005-09-19  Bruno Haible  <bruno@clisp.org>
63362
63363         * doc/quote.texi: New file, extracted from gnulib.texi.
63364         * doc/ctime.texi: New file, extracted from gnulib.texi.
63365         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
63366         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
63367         * doc/gnulib.texi: Include them.
63368
63369 2005-09-18  Bruno Haible  <bruno@clisp.org>
63370
63371         Portability fix.
63372         * gnulib-tool (func_readlink): New function.
63373         (func_ln_if_changed): Use it.
63374
63375 2005-09-18  Bruno Haible  <bruno@clisp.org>
63376
63377         * gnulib-tool: Support --with-tests also with --import.
63378         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
63379         (func_import): Use variables $testsbase and $inctests. Emit a
63380         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
63381         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
63382         SUBDIRS += $testsdir.
63383         (func_create_testdir): Update.
63384
63385 2005-09-18  Bruno Haible  <bruno@clisp.org>
63386
63387         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
63388         instead of $dry_run.
63389         (func_cp_if_changed, func_mv_if_changed): Remove functions.
63390         (func_ln_if_changed): Don't handle dry-run here.
63391         (func_import): In dry-run mode, detect more precisely which actions
63392         would be performed, and don't use "...ing" verbs.
63393
63394 2005-09-18  Bruno Haible  <bruno@clisp.org>
63395
63396         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
63397         (func_import): Use join on two temporary files instead of three nested
63398         loops, in order to determine which files are new or old.
63399
63400 2005-09-18  Bruno Haible  <bruno@clisp.org>
63401
63402         * gnulib-tool (func_import): Comment out code that spits out the
63403         new files with --dry-run.
63404
63405 2005-09-18  Bruno Haible  <bruno@clisp.org>
63406
63407         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
63408
63409 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63410
63411         * lib/stat-time.h: New file.
63412         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
63413         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
63414         in a different way.
63415         (timespec_cmp): New function.
63416         * lib/utimecmp.c: Include stat-time.h.
63417         (SYSCALL_RESOLUTION): Depend on whether various struct stat
63418         members exist, not on the obsolescent ST_MTIM_NSEC.
63419         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
63420
63421 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63422
63423         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
63424
63425 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63426
63427         * MODULES.html.sh (File system functions): Add stat-time.
63428         * modules/stat-time: New file.
63429         * modules/timespec (Files): Remove m4/st_mtim.m4; this
63430         is now done in a different way, by the stat-time module.
63431         * modules/utimecmp (Depends-on): Add stat-time.
63432
63433 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63434
63435         * m4/st_mtim.m4: Remove.  Superseded by...
63436         * m4/stat-time.m4: New file.
63437         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
63438         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
63439
63440 2005-09-15  Derek Price  <derek@ximbiot.com>
63441
63442         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
63443
63444 2005-09-15  Derek Price  <derek@ximbiot.com>
63445
63446         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
63447         * lib/regex_internal.c: Ditto, using this...
63448         (__GNUC_PREREQ): ...new macro.
63449         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
63450         using...
63451         (__GNUC_PREREQ): ...this new macro.
63452
63453         * lib/strstr.h: Include string.h. Define strstr as a macro here.
63454
63455 2005-09-15  Derek Price  <derek@ximbiot.com>
63456             Paul Eggert  <eggert@cs.ucla.edu>
63457
63458         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
63459         changes, consolidating in...
63460         * lib/regex_internal.h: ...this file.
63461
63462 2005-09-13  Jim Meyering  <jim@meyering.net>
63463
63464         * lib/canon-host.c: Filter through gnu indent and reword comments
63465         slightly.
63466         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
63467
63468 2005-09-13  Derek Price  <derek@ximbiot.com>
63469
63470         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
63471         failure.
63472         Reported by Jim Meyering  <jim@meyering.net>.
63473
63474 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63475
63476         * lib/base64.c: Typo.
63477         (base64_encode): Put b64str in initialized data section.
63478
63479 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
63480
63481         Merge glibc and coreutils changes into gnulib, plus a few
63482         extra fixes.
63483         * lib/md5.c: Use #error rather than a string.
63484         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
63485         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
63486         (__attribute__): Define to empty for non recent-GCC.
63487         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
63488         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
63489         Renamed from their non-__ counterparts, with new macros replacing
63490         them if not _LIBC.  Add __THROW attribute.
63491         (rol): Remove.
63492         (struct md5_ctx): Align buffer if using GCC.
63493         * lib/sha1.h (struct sha1_ctx): Likewise.
63494         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
63495         The old name was backwards.
63496         (NOTSWAP): Remove; not used.
63497         (rol): New macro, moved here from md5.h.
63498         (sha1_process_block): Remove a FIXME that doesn't make sense.
63499
63500 2005-09-12  Derek Price  <derek@ximbiot.com>
63501
63502         Return usable errors from canon-host.
63503         * lib/canon-host.h: New file.
63504         * lib/canon-host.c (canon_host): Wrap...
63505         (canon_host_r): ...this new function, which now relies exclusively on
63506         getaddrinfo.
63507         (ch_strerror): New function.
63508         (last_cherror): New global.
63509         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
63510         interface.
63511         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
63512         void *.
63513         (freeaddrinfo): Free ai->ai_canonname when set.
63514
63515 2005-09-12  Derek Price  <derek@ximbiot.com>
63516
63517         Make canon-host require getaddrinfo.
63518         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
63519         AC_LIBSOURCE canon-host.h.  Call...
63520         (gl_PREREQ_CANON_HOST): ...this new function, which requires
63521         gl_GETADDRINFO.
63522         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
63523
63524 2005-09-12  Derek Price  <derek@ximbiot.com>
63525
63526         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
63527         LGPL.
63528         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
63529
63530 2005-09-12  Derek Price  <derek@ximbiot.com>
63531
63532         * lib/gai_strerror.c: Include config.h when available.  Include
63533         getaddrinfo.h before other headers to test interface.
63534         Reported by Larry Jones <lawrence.jones@ugs.com>.
63535
63536 2005-09-12  Derek Price  <derek@ximbiot.com>
63537             Paul Eggert  <eggert@cs.ucla.edu>
63538
63539         * modules/glob (Files): Add glob-libc.h.
63540
63541 2005-09-12  Derek Price  <derek@ximbiot.com>
63542             Paul Eggert  <eggert@cs.ucla.edu>
63543
63544         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
63545         glob_.h, glob-libc.h.
63546         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
63547
63548 2005-09-12  Derek Price  <derek@ximbiot.com>
63549             Paul Eggert  <eggert@cs.ucla.edu>
63550
63551         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
63552         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
63553         protecting things that should be done only in gnulib contexts.
63554         * lib/glob_.h: New file, containing only the glob things needed for
63555         gnulib.
63556         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
63557         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
63558         (glob, globfree, glob_pattern_p): Now defined simply in terms of
63559         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
63560         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
63561         and to respect the namespace rules better.
63562
63563 2005-09-08  Simon Josefsson  <jas@extundo.com>
63564
63565         * modules/socklen: New file.
63566
63567 2005-09-08  Simon Josefsson  <jas@extundo.com>
63568
63569         * m4/socklen.m4: New file.
63570
63571 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63572
63573         * modules/utimens (Files): Add m4/utimbuf.m4, since
63574         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
63575         Reported by Sergey Poznyakoff.
63576
63577 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63578
63579         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
63580         definitions, since that's the preferred style in glibc.
63581         Fix a minor spacing issue, and update copyright notice to match
63582         glibc's.
63583
63584 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63585
63586         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
63587
63588 2005-09-06  Simon Josefsson  <jas@extundo.com>
63589
63590         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
63591         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
63592
63593 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63594
63595         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
63596         warning.
63597
63598 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63599
63600         * config/srclist.txt: Add glibc bug 1302.
63601
63602 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
63603
63604         Change bitset word type from unsigned int to unsigned long int,
63605         as this has better performance on typical 64-bit hosts.
63606         Port bitset code to hosts with unusual word sizes.
63607         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
63608         (build_collating_symbol):
63609         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
63610         argument is a bitset.  This is merely a style issue, but it makes
63611         it clearer that an entire array is expected.
63612         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
63613         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
63614         Port to the case where bitset_word is not the same as unsigned int.
63615         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63616         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
63617         Likewise.
63618         * lib/regexec.c (check_dst_limits_calc_pos_1,
63619         check_subexp_matching_top):
63620         (build_trtable, group_nodes_into_DFAstates):
63621         Likewise.
63622         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
63623         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
63624         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
63625         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
63626         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
63627         * lib/regcomp.c (optimize_subexps, lower_subexp):
63628         Work even if bitset_word has holes in its bitwise representation.
63629         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
63630         * lib/regexec.c (check_dst_limits_calc_pos_1,
63631         check_subexp_matching_top):
63632         Likewise.
63633         * lib/regex_internal.c (re_string_reconstruct):
63634         Don't assume UCHAR_MAX == 255.
63635         * lib/regex_internal.h (bitset_set_all): Likewise.
63636         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
63637         All uses changed.
63638         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
63639         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
63640         All uses changed.
63641         (BITSET_WORD_MAX): New macro.
63642         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
63643         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
63644         (bitset_empty, bitset_copy):
63645         Prefer sizeof (bitset) to multiplying it out ourselves.
63646         (bitset_not_merge): Remove; unused.
63647         (bitset_contain): Return bool, not unsigned int with one bit on.
63648         All callers changed.
63649         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
63650         alignment than re_node_set; do this by defining a new internal
63651         type struct dests_alloc and using it to allocate memory.
63652
63653 2005-09-05  Bruno Haible  <bruno@clisp.org>
63654
63655         * gnulib-tool (func_import): Fix comparison in handling of symbolic
63656         links.
63657
63658 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
63659
63660         * modules/size_max (Makefile.am): Add size_max.h
63661
63662 2005-09-04  Derek Price  <derek@ximbiot.com>
63663
63664         * gnulib-tool (func_import): Fix reversed $symbolic logic.
63665
63666 2005-09-03  Simon Josefsson  <jas@extundo.com>
63667
63668         * gnulib-tool: Fix typo.
63669
63670 2005-09-03  Simon Josefsson  <jas@extundo.com>
63671
63672         * config/srclist.txt: Add glibc bug 1293.
63673
63674 2005-09-03  Derek Price  <derek@ximbiot.com>
63675
63676         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
63677         From Larry Jones <lawrence.jones@ugs.com>.
63678
63679 2005-09-02  Simon Josefsson  <jas@extundo.com>
63680
63681         * modules/socklen: New file.
63682
63683 2005-09-02  Simon Josefsson  <jas@extundo.com>
63684
63685         * modules/havelib: New module.
63686
63687         * modules/gettext, modules/iconv, modules/lock, modules/readline:
63688         Use havelib.
63689
63690 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63691
63692         Check for arithmetic overflow when calculating sizes, to prevent
63693         some buffer-overflow issues.  These patches are conservative, in the
63694         sense that when I couldn't determine whether an overflow was possible,
63695         I inserted a run-time check.
63696         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
63697         macros.
63698         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
63699         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
63700         (re_xnrealloc, re_x2nrealloc): New inline functions.
63701         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
63702         parse_bracket_exp):
63703         (build_equiv_class, build_charclass): Check for arithmetic overflow
63704         in size expression calculations.
63705         * lib/regex_internal.c (re_string_realloc_buffers):
63706         (build_wcs_upper_buffer, re_node_set_add_intersect):
63707         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
63708         (re_dfa_add_node, register_state): Likewise.
63709         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
63710         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
63711         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
63712         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
63713
63714 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63715
63716         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
63717         m4/ulonglong.m4.  Problem reported by Martin Lambers.
63718
63719 2005-09-02  Bruno Haible  <bruno@clisp.org>
63720
63721         Support for lib vs. lib64 distinction on biarch platforms.
63722         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
63723         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
63724         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
63725
63726 2005-09-02  Bruno Haible  <bruno@clisp.org>
63727
63728         * gnulib-tool (import): In the other first-use case, provide defaults
63729         as well.
63730
63731 2005-09-02  Bruno Haible  <bruno@clisp.org>
63732
63733         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
63734         patches not yet found in the latest gettext release.
63735
63736 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63737
63738         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
63739         to avoid a collision with bits/local_lim.h in glibc.
63740         All uses changed.  Problem reported by Dmitry V. Levin in
63741         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
63742
63743         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
63744         bugs in int versus size_t comparisons.
63745         (re_string_context_at): Fix bug where the code assumed that
63746         Idx is signed.
63747
63748         Use bool where appropriate.
63749         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
63750         All callers changed.
63751         (calc_eclosure_iter): Likewise, for ROOT arg.
63752         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
63753         (build_charclass_op): Likewise, for NON_MATCH arg.
63754         * lib/regex_internal.c (re_string_allocate, re_string_construct):
63755         (re_string_construct_common): Likewise, for ICASE arg.
63756         * lib/regexec.c (re_search_2_stub, re_search_stub):
63757         Likewise, for RET_LEN arg.
63758         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
63759         (set_regs): Likewise, for FL_BACKTRACK arg.
63760         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
63761         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
63762         (calc_eclosure_iter, parse_bracket_exp):
63763         Use bool for internal variables that are booleans.
63764         * lib/regexec.c (re_search_internal, check_matching,
63765         proceed_next_node):
63766         (set_regs, build_sifted_states, sift_states_bkref):
63767         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
63768         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63769         (find_collation_sequence_value):
63770         Likewise.
63771         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
63772         (re_node_set_compare):
63773         Return bool, not int. All callers changed.
63774         * lib/regexec.c (check_halt_node_context, check_dst_limits):
63775         (build_trtable, check_node_accept): Likewise.
63776         * lib/regex_internal.h: Include stdbool.h.
63777
63778         Fix bugs uncovered when converting to bool.
63779         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
63780         failure instead of charging ahead blindly.
63781         * lib/regex_internal.c (register_state): Likewise.
63782         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
63783         for freeing internal storage.
63784         (group_nodes_into_DFA_states): Use unsigned int, not int, for
63785         bitset pieces used as boolean, to avoid undefined behavior
63786         on hosts that do int overflow checking.
63787
63788 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63789
63790         * config/srclist.txt: Add glibc bugs 1285-1287.
63791
63792 2005-09-01  Jim Meyering  <jim@meyering.net>
63793
63794         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
63795         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
63796         Require gl_STAT_MACROS, too.
63797
63798 2005-09-01  Bruno Haible  <bruno@clisp.org>
63799
63800         * gnulib-tool (import): In the first-use case, provide defaults.
63801
63802 2005-09-01  Bruno Haible  <bruno@clisp.org>
63803
63804         * gnulib-tool (func_import): Remove the .tmp files.
63805
63806 2005-09-01  Bruno Haible  <bruno@clisp.org>
63807
63808         * gnulib-tool (func_import): Fix handling of symbolic links.
63809
63810 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63811
63812         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63813         old glibc regex code mishandles strings longer than 2**31 bytes.
63814         This patch fixes this when the regex code is used in gnulib
63815         (i.e., outside glibc).
63816
63817         This patch should not affect the use of the regex code inside
63818         glibc.  No doubt this problem also needs to be handled for glibc
63819         as well, but the result will be an incompatible change to the
63820         glibc ABI, and the old ABI will have to be supported too.  That
63821         can be the the subject for another patch.
63822
63823         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63824         governing whether the rest of this patch is active.  By default,
63825         the macro is disabled and the patch has no effect.
63826         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63827         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63828         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63829         (re_match_2, re_set_registers): Use the new types.
63830         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63831         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63832         New macros.
63833         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63834         (re_string_context_at, bin_tree_t, re_dfastate_t):
63835         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63836         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63837         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63838         (re_string_char_size_at, re_string_wchar_at):
63839         (re_string_elem_size_at):
63840         Use the new types and macros to port to 64-bit hosts.
63841         Use unsigned types for internal values, so that the code
63842         mostly works even for arrays larger than SSIZE_MAX.
63843         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63844         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63845         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63846         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63847         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63848         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63849         (calc_inveclosure, parse_dup_op, build_range_exp):
63850         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63851         (fetch_number, create_token_tree, mark_opt_subexp):
63852         Likewise.
63853         * lib/regex_internal.c (re_string_construct_common,
63854         create_ci_newstate):
63855         (create_cd_newstate, re_string_allocate, re_string_construct):
63856         (re_string_realloc_buffers, build_wcs_upper_buffer):
63857         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63858         (re_string_reconstruct, re_string_peek_byte_case):
63859         (re_string_fetch_byte_case, re_string_context_at):
63860         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63861         (re_node_set_init_copy, re_node_set_add_intersect):
63862         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63863         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63864         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63865         (re_acquire_state, re_acquire_state_context, register_state):
63866         Likewise.
63867         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63868         search_cur_bkref_entry):
63869         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63870         (re_search_internal, re_search_2_stub, re_search_stub)
63871         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63872         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63873         (update_cur_sifted_state, check_dst_limits):
63874         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63875         (check_subexp_limits, sift_states_bkref, merge_state_array):
63876         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63877         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63878         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63879         (expand_bkref_cache, check_node_accept_bytes):
63880         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63881         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63882         (acquire_init_state_context, check_halt_node_context):
63883         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63884         (sift_states_backward, clean_state_log_if_needed):
63885         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63886         (find_recover_state, transit_state_sb, transit_state_mb):
63887         (transit_state_bkref, build_trtable, match_ctx_clean):
63888         Likewise.
63889         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63890         to work around an assumption that REG_MISSING is negative.
63891
63892         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63893         (seek_collating_symbol_entry) [defined _LIBC]:
63894         (lookup_collation_sequence_value) [defined _LIBC]:
63895         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63896         Use prototypes rather than old-style function definitions.
63897         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63898         (transit_state_sb) [0]:
63899         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63900
63901         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63902         rm_eo.
63903
63904         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63905         (optimize_subexps, lower_subexp):
63906         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63907         since the signed shift might overflow.  Use 1u<<31 instead.
63908         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63909         Likewise.
63910         * lib/regexec.c (check_dst_limits_calc_pos_1,
63911         check_subexp_matching_top): Likewise.
63912
63913         * lib/regcomp.c (optimize_subexps, lower_subexp):
63914         Use CHAR_BIT rather than 8, for clarity.
63915         * lib/regexec.c (check_dst_limits_calc_pos_1):
63916         (check_subexp_matching_top): Likewise.
63917         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63918         have to worry about portability issues when shifting it left.
63919         Remove no-longer-needed test for table_size > 0.
63920         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63921         in a word, as the resulting behavior is undefined.
63922         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63923         in one case, a <= should have been an <, and in another case the
63924         whole test was missing.
63925         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63926         the standard name CHAR_BIT.
63927         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63928         this is not true on one's complement and signed-magnitude hosts.
63929
63930         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63931         next_last_offset.
63932         (struct re_dfa_t): Remove unused member states_alloc.
63933         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63934
63935 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63936
63937         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63938         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63939         and large-file glibc and in 32-bit large-file Solaris.
63940
63941 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63942
63943         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63944         lengths fit in regoff_t; this isn't true if regoff_t is the same
63945         width as size_t.
63946         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63947         (= START + RANGE) instead of RANGE.  This avoids overflow
63948         problems when regoff_t is the same width as size_t.
63949         All callers changed.
63950         (re_search_2_stub): Check for overflow when adding the
63951         sizes of the two strings.
63952         (re_search_stub): Check for overflow when adding START
63953         to RANGE; if it occurs, substitute the extreme value.
63954
63955 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63956
63957         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63958
63959 2005-08-31  Jim Meyering  <jim@meyering.net>
63960
63961         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63962         a pointer-to-const.
63963         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63964         (register_state): Likewise.
63965         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63966         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63967         (group_nodes_into_DFAstates): Likewise.
63968
63969 2005-08-31  Jim Meyering  <jim@meyering.net>
63970
63971         * check-module: Add a FIXME comment.
63972
63973 2005-08-31  Eric Blake  <ebb9@byu.net>
63974
63975         * modules/unistd-safer (Files): Add unistd--.h.
63976         * modules/stdio-safer (Files): Add stdio--.h.
63977
63978 2005-08-31  Derek Price  <derek@ximbiot.com>
63979
63980         * lib/getdelim.c (getdelim): Return EOF on EOF.
63981         Reported by Larry Jones <lawrence.jones@ugs.com>.
63982
63983 2005-08-31  Bruno Haible  <bruno@clisp.org>
63984
63985         Avoid unnecessary diffs in the generated lib/Makefile.am.
63986         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63987         the generated files.
63988         (func_import): Don't set cmd.
63989
63990 2005-08-31  Bruno Haible  <bruno@clisp.org>
63991
63992         * lib/strstr.c: Include <stddef.h>, for NULL.
63993         * lib/strcasestr.c: Likewise.
63994         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63995
63996 2005-08-31  Bruno Haible  <bruno@clisp.org>
63997
63998         * gnulib-tool: New option --macro-prefix.
63999         (func_import): Use macro_prefix.
64000         (import): Handle option --macro-prefix.
64001
64002 2005-08-31  Bruno Haible  <bruno@clisp.org>
64003
64004         * gnulib-tool (import): Rename most ac_* variables to cached_*.
64005         Also use new variables cached_lgpl, cached_libtool.
64006
64007 2005-08-31  Bruno Haible  <bruno@clisp.org>
64008
64009         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
64010         always instantiating them.
64011
64012 2005-08-31  Bruno Haible  <bruno@clisp.org>
64013
64014         * gnulib-tool (func_import): Read the previous cached settings
64015         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
64016         earlier added by gnulib but are now dropped. Warn when a gnulib file
64017         overwrites a non-gnulib file.
64018
64019 2005-08-31  Bruno Haible  <bruno@clisp.org>
64020
64021         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
64022         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
64023         projects that don't keep autogenerated files in CVS. Put into
64024         actioncmd only the specified modules, not the transitive closure.
64025
64026 2005-08-31  Bruno Haible  <bruno@clisp.org>
64027
64028         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
64029         Create directories that shall be filled.
64030         (import): Don't look for gl_* macros in configure.ac. Recurse across
64031         all directories containing a gnulib-cache.m4 files, if meaningful.
64032
64033 2005-08-31  Bruno Haible  <bruno@clisp.org>
64034
64035         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
64036         (import): Set seen_libtool when we see gl_LIBTOOL.
64037
64038 2005-08-31  Bruno Haible  <bruno@clisp.org>
64039
64040         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
64041         declaration macro definitions from generated gnulib.m4.
64042
64043 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
64044
64045         * lib/iconvme.h: Add prototype for iconv_alloc.
64046
64047 2005-08-29  Simon Josefsson  <jas@extundo.com>
64048
64049         * lib/iconvme.c: Fix errno.
64050
64051 2005-08-29  Bruno Haible  <bruno@clisp.org>
64052
64053         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
64054         that it works when the directory contains spaces.
64055
64056 2005-08-29  Bruno Haible  <bruno@clisp.org>
64057
64058         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
64059
64060 2005-08-29  Bruno Haible  <bruno@clisp.org>
64061
64062         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
64063         Emit more advice.
64064
64065 2005-08-29  Bruno Haible  <bruno@clisp.org>
64066         and Stepan Kasal  <kasal@ucw.cz>
64067
64068         * check-module: If more parameters are given, check each of them
64069         separately; add more exceptions, as noted by Jim Meyering.
64070         (check_module): New procedure.
64071         (%exempt_header): Now contains all exceptions.
64072
64073 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
64074
64075         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
64076
64077 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
64078
64079         * lib/iconvme.c: Split iconv_string into iconv_alloc.
64080
64081 2005-08-28  Bruno Haible  <bruno@clisp.org>
64082
64083         * m4/gnulib-tool.m4: New file.
64084
64085 2005-08-27  Jim Meyering  <jim@meyering.net>
64086
64087         * modules/unistd-safer (Files): Add pipe-safer.c.
64088         * modules/fcntl-safer (Files): Add creat-safer.c.
64089
64090 2005-08-27  Jim Meyering  <jim@meyering.net>
64091
64092         * m4/stdlib-safer.m4: New file.  From coreutils.
64093         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
64094         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
64095         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
64096         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
64097         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
64098
64099 2005-08-27  Jim Meyering  <jim@meyering.net>
64100
64101         * lib/fopen-safer.c: Merge minor changes from coreutils.
64102         * lib/dup-safer.c: Likewise.
64103         * lib/fd-safer.c: Likewise.
64104
64105         Merge from coreutils.
64106         * lib/stdio--.h: New file.
64107         * lib/stdlib--.h: New file.
64108         * lib/mkstemp-safer.c: New file.
64109
64110         GNU tar needs these.
64111         * lib/pipe-safer.c: New file.
64112         * lib/creat-safer.c: New file.
64113         * lib/fcntl--.h (creat): Define to creat_safer.
64114         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
64115         * lib/unistd--.h (pipe): Define to pipe_safer.
64116         * lib/unistd-safer.h: Declare pipe_safer.
64117
64118 2005-08-26  Simon Josefsson  <jas@extundo.com>
64119
64120         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
64121         Haible <bruno@clisp.org>.
64122
64123 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
64124
64125         * lib/regex_internal.h: Remove all references to
64126         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
64127         or better.
64128         (bitset_not, bitset_merge, bitset_not_merge):
64129         (bitset_mask, re_string_allocate, re_string_construct):
64130         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
64131         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
64132         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
64133         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
64134         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64135         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64136         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
64137         (re_acquire_state_context):
64138         Remove unnecessary forward decls.
64139         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
64140         Put __attribute at function definition,
64141         now that the function decl has been removed.
64142         * lib/regex_internal.c (re_string_peek_byte_case):
64143         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
64144         Likewise.
64145
64146 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
64147
64148         * m4/regex.m4: Add AC_PREREQ(2.50).
64149         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
64150
64151 2005-08-25  Simon Josefsson  <jas@extundo.com>
64152
64153         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
64154         __fsetlocking.
64155
64156 2005-08-25  Simon Josefsson  <jas@extundo.com>
64157
64158         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
64159         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
64160         GLIBC specific code.
64161
64162 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64163
64164         Make regex safe for g++.  This fixes one real bug (an "err"
64165         that should have been "*err").  g++ problem reported by
64166         Sam Steingold.
64167         * lib/regex_internal.h (re_calloc): New macro, consistent with
64168         re_malloc etc.  All callers of calloc changed to use re_calloc.
64169         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
64170         not int.  All callers changed.
64171         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
64172         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
64173         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
64174         (find_recover_state): Change "err" to "*err"; this fixes what
64175         appears to be a real bug.
64176         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
64177         versus int.
64178
64179 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64180
64181         * modules/regex (Depends-on): Add malloc, since the code
64182         assumes that !malloc(0) means failure.
64183
64184 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64185
64186         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
64187
64188         alloca modernization/simplification for regex.
64189         * lib/regex.c: Remove portability cruft for alloca.  This no longer
64190         needs to be at the start of the file, and can be moved into
64191         regex_internal.h and simplified.
64192         * lib/regex_internal.h: Include <alloca.h>.
64193         (__libc_use_alloca) [!defined _LIBC]: New macro.
64194         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
64195         now works outside glibc.
64196
64197 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64198
64199         * config/srclist.txt: Add glibc bugs 1241, 1245.
64200
64201 2005-08-25  Jim Meyering  <jim@meyering.net>
64202
64203         * lib/open-safer.c: Include <config.h>.
64204         Otherwise, we'd lose LARGEFILE support in any file using
64205         e.g. "fcntl--.h"
64206
64207 2005-08-25  Bruno Haible  <bruno@clisp.org>
64208
64209         * m4/minmax.m4: Require autoconf 2.52.
64210         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
64211         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
64212         alternatives of translit over the alphabet.
64213         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
64214
64215 2005-08-24  Simon Josefsson  <jas@extundo.com>
64216
64217         * tests/test-getpass.c: New file.
64218
64219 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64220
64221         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
64222         for GNU regex features.
64223
64224 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64225
64226         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
64227         * lib/regex.h (regerror): Likewise.
64228
64229         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
64230         requires this.  (The code never needed it.)
64231
64232         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
64233         All uses of recently-renamed identifiers changed to use the new,
64234         POSIX-compliant names.  The code will build and run just fine
64235         without these changes, but it's better to eat our own dog food
64236         and use the standard-conforming names.
64237
64238         * lib/regex.h: Fix a multitude of POSIX name space violations.
64239         These changes have an effect only for programs that define
64240         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
64241         do not change anything for programs compiled in the normal way.
64242         Also, there is no effect on the ABI.
64243
64244         (_REGEX_SOURCE): New macro.
64245         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
64246         defined and _GNU_SOURCE is not; this fixes a name space violation.
64247
64248         Rename the following macros to obey POSIX requirements.
64249         The old names are still visible as macros if _REGEX_SOURCE is defined.
64250         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
64251         RE_BACKSLASH_ESCAPE_IN_LISTS.
64252         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
64253         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
64254         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
64255         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
64256         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
64257         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
64258         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
64259         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
64260         (REG_INTERVALS): renamed from RE_INTERVALS.
64261         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
64262         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
64263         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
64264         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
64265         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
64266         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
64267         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
64268         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
64269         RE_UNMATCHED_RIGHT_PAREN_ORD.
64270         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
64271         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
64272         (REG_DEBUG): renamed from RE_DEBUG.
64273         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
64274         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
64275         unusual, since we can't clash with the POSIX REG_ICASE.
64276         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
64277         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
64278         (REG_NO_SUB): renamed from RE_NO_SUB.
64279         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
64280         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
64281         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
64282         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
64283         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
64284         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
64285         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
64286         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
64287         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
64288         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
64289         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
64290         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
64291         RE_SYNTAX_POSIX_MINIMAL_BASIC.
64292         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
64293         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
64294         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
64295         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
64296         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
64297         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
64298         (REG_FIXED): Renamed from REGS_FIXED.
64299         (REG_NREGS): Renamed from RE_NREGS.
64300
64301         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
64302         of other REG_* macros, since POSIX says the user is allowed to
64303         #undef these macros selectively.
64304
64305         (reg_errcode_t): Update comment stating what other tables need
64306         to be consistent.
64307
64308         Rename the following enum values to obey POSIX requirements.
64309         The old names are still visible as macros.
64310         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
64311         is not defined, since GNU is supposed to be a superset of POSIX as
64312         much as possible, and since we want reg_errcode_t to be a signed
64313         type for implementation consistency.
64314         (_REG_NOERROR): Renamed from REG_NOERROR.
64315         (_REG_NOMATCH): Renamed from REG_NOMATCH.
64316         (_REG_BADPAT): Renamed from REG_BADPAT.
64317         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
64318         (_REG_ECTYPE): Renamed from REG_ECTYPE.
64319         (_REG_EESCAPE): Renamed from REG_EESCAPE.
64320         (_REG_ESUBREG): Renamed from REG_ESUBREG.
64321         (_REG_EBRACK): Renamed from REG_EBRACK.
64322         (_REG_EPAREN): Renamed from REG_EPAREN.
64323         (_REG_EBRACE): Renamed from REG_EBRACE.
64324         (_REG_BADBR): Renamed from REG_BADBR.
64325         (_REG_ERANGE): Renamed from REG_ERANGE.
64326         (_REG_ESPACE): Renamed from REG_ESPACE.
64327         (_REG_BADRPT): Renamed from REG_BADRPT.
64328         (_REG_EEND): Renamed from REG_EEND.
64329         (_REG_ESIZE): Renamed from REG_ESIZE.
64330         (_REG_ERPAREN): Renamed from REG_ERPAREN.
64331         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
64332         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
64333         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
64334         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
64335
64336         (_REG_RE_NAME, _REG_RM_NAME): New macros.
64337         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
64338         changed.  But support the old name if the new one is not defined
64339         and if _REGEX_SOURCE.
64340
64341         Change the following member names in struct re_pattern_buffer.
64342         The old names are still supported if !_REGEX_SOURCE.
64343         The new names are always supported, regardless of _REGEX_SOURCE.
64344         (re_buffer): Renamed from buffer.
64345         (re_allocated): Renamed from allocated.
64346         (re_used): Renamed from used.
64347         (re_syntax): Renamed from syntax.
64348         (re_fastmap): Renamed from fastmap.
64349         (re_translate): Renamed from translate.
64350         (re_can_be_null): Renamed from can_be_null.
64351         (re_regs_allocated): Renamed from regs_allocated.
64352         (re_fastmap_accurate): Renamed from fastmap_accurate.
64353         (re_no_sub): Renamed from no_sub.
64354         (re_not_bol): Renamed from not_bol.
64355         (re_not_eol): Renamed from not_eol.
64356         (re_newline_anchor): Renamed from newline_anchor.
64357
64358         Change the following member names in struct re_registers.
64359         The old names are still supported if !_REGEX_SOURCE.
64360         The new names are always supported, regardless of _REGEX_SOURCE.
64361         (rm_num_regs): Renamed from num_regs.
64362         (rm_start): Renamed from start.
64363         (rm_end): Renamed from end.
64364
64365         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
64366         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
64367         Prepend __ to parameter names.
64368
64369         Undo yesterday's changes.
64370
64371 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64372
64373         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
64374         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
64375         lib/regex.c.
64376
64377 2005-08-24  Jim Meyering  <jim@meyering.net>
64378
64379         Sync from coreutils.
64380         * m4/fcntl-safer.m4: New file.
64381
64382         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
64383         and object files for this module.
64384
64385 2005-08-24  Jim Meyering  <jim@meyering.net>
64386
64387         Sync from coreutils.
64388         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
64389
64390 2005-08-24  Jim Meyering  <jim@meyering.net>
64391
64392         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
64393         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
64394
64395 2005-08-24  Jim Meyering  <jim@meyering.net>
64396
64397         * modules/fcntl-safer: New module.
64398         * modules/fts (Depends-on): Add fcntl-safer.
64399         * MODULES.html.sh (File descriptor based Input/Output):
64400         Add fcntl-safer.
64401
64402 2005-08-24  Bruno Haible  <bruno@clisp.org>
64403
64404         Support for unit test modules.
64405         * modules/README: Mention tests modules.
64406         * modules/TEMPLATE-TESTS: New file.
64407         * gnulib-tool: New options --extract-tests-module, --with-tests and
64408         --tests-base (unused for the moment).
64409         (testsbase, inctests): New variables.
64410         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
64411         (func_verify_module): Exclude TEMPLATE-TESTS.
64412         (func_verify_nontests_module, func_verify_tests_module): New functions.
64413         (func_get_dependencies): Add implicit dependency for tests modules.
64414         (func_get_tests_module): New function.
64415         (func_modules_transitive_closure): When --with-tests was specified,
64416         include the unit tests as well, unless explicitly avoided.
64417         (func_emit_lib_Makefile_am): Ignore the tests modules here.
64418         (func_emit_tests_Makefile_am): New function.
64419         (func_create_testdir): When --with-tests was specified, emit a
64420         tests/ directory.
64421         * MODULES.html.sh (Future developments): Update.
64422
64423 2005-08-24  Bruno Haible  <bruno@clisp.org>
64424
64425         * modules/tls-tests: New file.
64426         * tests/test-tls.c: New file, from GNU gettext.
64427
64428 2005-08-24  Bruno Haible  <bruno@clisp.org>
64429
64430         * modules/lock-tests: New file.
64431         * tests/test-lock.c: New file, from GNU gettext.
64432
64433 2005-08-24  Bruno Haible  <bruno@clisp.org>
64434
64435         * lib/lock.h: Add multiple inclusion guard.
64436         * lib/tls.h: Add multiple inclusion guard.
64437
64438 2005-08-24  Bruno Haible  <bruno@clisp.org>
64439
64440         * gnulib-tool: Add support for the --aux-dir option to
64441         --create-testdir, --create-megatestdir, --test, --megatest.
64442         (func_create_testdir, func_create_megatestdir): Optionally emit a
64443         AC_CONFIG_AUX_DIR directive.
64444         (create-testdir, create-megatestdir, test, megatest): Provide a
64445         default value for $auxdir.
64446
64447 2005-08-24  Bruno Haible  <bruno@clisp.org>
64448
64449         * gnulib-tool (import): Use compound statement instead of subshell
64450         where possible.
64451
64452 2005-08-24  Bruno Haible  <bruno@clisp.org>
64453
64454         * gnulib-tool (import): Change --aux-dir default to "build-aux".
64455
64456 2005-08-24  Bruno Haible  <bruno@clisp.org>
64457
64458         * gnulib-tool (func_version): Update.
64459
64460 2005-08-24  Bruno Haible  <bruno@clisp.org>
64461
64462         * gnulib-tool (func_import, func_create_testdir,
64463         func_create_megatestdir): Quote all autoconf macro arguments.
64464
64465 2005-08-24  Bruno Haible  <bruno@clisp.org>
64466
64467         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
64468         option --force, because --force causes the aclocal.m4 of each
64469         subdirectory to be newer than the corresponding config.h.in.
64470
64471 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64472
64473         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
64474         All contents moved to gl_REGEX.
64475         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
64476         assume that it does.
64477
64478 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64479
64480         * lib/regex.h (REG_NOSYS)
64481         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
64482         Define, since POSIX requires it as of 2001.
64483         (_REG_ENOSYS)
64484         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
64485         New private symbol, used to keep the enum signed in all cases.
64486         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
64487         Youngman in
64488         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
64489
64490         * lib/regex_internal.c (re_string_skip_chars, register_state):
64491         (calc_state_hash):
64492         Remove forward decls; no longer needed now that we use prototypes.
64493         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
64494         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
64495         (clean_state_log_if_needed): Likewise.
64496
64497 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64498
64499         * config/srclist.txt: Add glibc bugs 1231-1233.
64500
64501 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64502
64503         Fix problems reported by Sam Steingold in
64504         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
64505         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
64506         assumed that reg_errcode_t is a signed type, which is not
64507         necessarily true if _XOPEN_SOURCE is not defined.
64508         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
64509         since some compilers warn about it otherwise.
64510
64511 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64512
64513         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
64514         (init_word_char, create_initial_state, duplicate_node_closure):
64515         (fetch_token, peek_token_bracket, build_range_exp):
64516         (build_collating_symbol): Remove forward decls; no longer needed
64517         now that we use prototypes.
64518
64519         * lib/regcomp.c:
64520         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
64521         (re_compile_fastmap_iter, regcomp, regerror, regfree):
64522         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
64523         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
64524         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
64525         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
64526         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
64527         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
64528         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
64529         (build_range_exp, build_collating_symbol, parse_bracket_exp):
64530         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
64531         (build_charclass, build_charclass_op, fetch_number, create_tree):
64532         (create_token_tree, mark_opt_subexp, duplicate_tree):
64533         Use prototypes rather than old-style definitions.
64534
64535         * lib/regex_internal.c:
64536         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
64537         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
64538         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64539         (re_string_reconstruct, re_string_peek_byte_case):
64540         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
64541         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64542         (re_node_set_init_copy, re_node_set_add_intersect):
64543         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64544         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64545         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64546         (re_acquire_state, re_acquire_state_context, register_state):
64547         (create_ci_newstate, create_cd_newstate, free_state):
64548         Likewise.
64549         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
64550         re_search_2):
64551         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
64552         (re_search_internal, prune_impossible_nodes):
64553         (acquire_init_state_context, check_matching, static):
64554         (check_halt_node_context, check_halt_state_context, proceed_next_node):
64555         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
64556         (update_regs, sift_states_backward, build_sifted_states):
64557         (clean_state_log_if_needed, merge_state_array):
64558         (update_cur_sifted_state, add_epsilon_src_nodes):
64559         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
64560         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
64561         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
64562         (find_recover_state, check_subexp_matching_top, transit_state_mb):
64563         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
64564         (check_arrival, check_arrival_add_next_nodes):
64565         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64566         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64567         (check_node_accept_bytes, check_node_accept, extend_buffers):
64568         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
64569         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
64570         (sift_ctx_init):
64571         Likewise.
64572
64573         * lib/regex_internal.h:
64574         (re_string_allocate, re_string_construct, re_string_reconstruct):
64575         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
64576         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
64577         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
64578         (re_string_context_at, re_string_peek_byte_case):
64579         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
64580         is defined, since we now use prototypes always.
64581
64582         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
64583         C89 or better.  All uses removed.
64584
64585 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64586
64587         * config/srclist.txt: Add glibc bugs 1220-1227.
64588
64589 2005-08-20  Jim Meyering  <jim@meyering.net>
64590
64591         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
64592         of unused local, dfa.
64593
64594 2005-08-20  Bruno Haible  <bruno@clisp.org>
64595
64596         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
64597
64598 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64599
64600         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
64601         (re_node_set_insert_last, re_dfa_add_node):
64602         Rename local variables to avoid GCC shadowing warnings.
64603
64604 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64605
64606         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
64607         [defined lint]: Suppress bogus uninitialized-variable warnings.
64608
64609         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
64610         and let the caller return REG_ESPACE if out of space.  This
64611         removes an uninitialied-variable warning with GCC 4.0.1, and also
64612         avoids taking the address of a local variable.  All callers
64613         changed.
64614
64615 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64616
64617         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
64618         $LIBCSRC/posix/regexec.c.
64619         Add glibc bug 1217 for regcomp.c.
64620
64621 2005-08-19  Jim Meyering  <jim@meyering.net>
64622
64623         * lib/regexec.c (proceed_next_node): Redo local variables to
64624         avoid GCC shadowing warnings.
64625
64626 2005-08-18  Bruno Haible  <bruno@clisp.org>
64627
64628         * lib/strstr.c (strstr): Fix return value in multibyte case.
64629         * lib/strcasestr.c (strcasestr): Likewise.
64630
64631 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64632
64633         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
64634
64635 2005-08-17  Jim Meyering  <jim@meyering.net>
64636
64637         Make the %s format (seconds since the epoch) work for a negative
64638         number and when used with a zero-padded field width, e.g. %015s.
64639
64640         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
64641         label so that it precedes the code to set `digits'.  Otherwise,
64642         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
64643         print `00-22'.  Now, it prints `-0022', as it should.
64644
64645 2005-08-17  Bruno Haible  <bruno@clisp.org>
64646
64647         * modules/strstr (Files): Add m4/mbrtowc.m4.
64648         (Depends-on): Add mbuiter.
64649
64650 2005-08-17  Bruno Haible  <bruno@clisp.org>
64651
64652         * modules/strcasestr: New file.
64653         * MODULES.html.sh (String handling, based on ANSI C 89): Add
64654         strcasestr.
64655
64656 2005-08-17  Bruno Haible  <bruno@clisp.org>
64657
64658         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
64659
64660 2005-08-17  Bruno Haible  <bruno@clisp.org>
64661
64662         * modules/mbuiter: New file.
64663         * MODULES.html.sh (Extended multibyte and wide character utilities):
64664         Add mbuiter.
64665
64666 2005-08-17  Bruno Haible  <bruno@clisp.org>
64667
64668         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
64669         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
64670
64671 2005-08-17  Bruno Haible  <bruno@clisp.org>
64672
64673         * m4/strcasestr.m4: New file.
64674
64675 2005-08-17  Bruno Haible  <bruno@clisp.org>
64676
64677         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
64678         * lib/strstr.c: Completely rewritten, with multibyte locale support.
64679
64680 2005-08-17  Bruno Haible  <bruno@clisp.org>
64681
64682         * lib/strcasestr.h: New file.
64683         * lib/strcasestr.c: New file.
64684
64685 2005-08-17  Bruno Haible  <bruno@clisp.org>
64686
64687         * lib/strcasecmp.c: Use mbuiter.h.
64688
64689 2005-08-17  Bruno Haible  <bruno@clisp.org>
64690
64691         * lib/mbuiter.h: New file.
64692
64693 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64694
64695         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
64696         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
64697         and gl_GETOPT are both invoked via different paths (as happens
64698         with GNU tar CVS because it uses both argp and getopt), the former
64699         wins.
64700
64701 2005-08-16  Bruno Haible  <bruno@clisp.org>
64702
64703         * modules/tls: New file.
64704         * MODULES.html.sh (Multithreading): Add tls.
64705
64706 2005-08-16  Bruno Haible  <bruno@clisp.org>
64707
64708         * modules/strnlen1: New file.
64709         * MODULES.html.sh (String handling): Add strnlen1.
64710
64711 2005-08-16  Bruno Haible  <bruno@clisp.org>
64712
64713         * modules/strcase (Files): Add m4/mbrtowc.m4.
64714         (Depends-on): Add strnlen1, mbchar.
64715
64716 2005-08-16  Bruno Haible  <bruno@clisp.org>
64717
64718         * modules/mbiter: New file.
64719         * MODULES.html.sh (Extended multibyte and wide character utilities):
64720         Add mbiter.
64721
64722 2005-08-16  Bruno Haible  <bruno@clisp.org>
64723
64724         * modules/mbfile: New file.
64725         * MODULES.html.sh (Extended multibyte and wide character utilities):
64726         Add mbfile.
64727
64728 2005-08-16  Bruno Haible  <bruno@clisp.org>
64729
64730         * modules/mbchar: New file.
64731         * MODULES.html.sh (Extended multibyte and wide character utilities):
64732         New section.
64733
64734 2005-08-16  Bruno Haible  <bruno@clisp.org>
64735
64736         * m4/tls.m4: New file, from GNU gettext.
64737
64738 2005-08-16  Bruno Haible  <bruno@clisp.org>
64739
64740         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
64741         always.
64742         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
64743
64744 2005-08-16  Bruno Haible  <bruno@clisp.org>
64745
64746         * m4/mbiter.m4: New file.
64747
64748 2005-08-16  Bruno Haible  <bruno@clisp.org>
64749
64750         * m4/mbfile.m4: New file.
64751
64752 2005-08-16  Bruno Haible  <bruno@clisp.org>
64753
64754         * m4/mbchar.m4: New file.
64755
64756 2005-08-16  Bruno Haible  <bruno@clisp.org>
64757
64758         * lib/tls.h: New file, from GNU gettext.
64759         * lib/tls.c: New file, from GNU gettext.
64760
64761 2005-08-16  Bruno Haible  <bruno@clisp.org>
64762
64763         * lib/strnlen1.h: New file.
64764         * lib/strnlen1.c: New file.
64765
64766 2005-08-16  Bruno Haible  <bruno@clisp.org>
64767
64768         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
64769         (mbi_init): Update.
64770         (mbi_avail, mbi_advance): Let the iteration end before the terminating
64771         NUL byte, not after it.
64772
64773 2005-08-16  Bruno Haible  <bruno@clisp.org>
64774
64775         * lib/strcase.h (strcasecmp): Add note in comments.
64776         * lib/strncasecmp.c: Use code from strcasecmp.c.
64777         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
64778         (strcasecmp): Work correctly in multibyte locales.
64779
64780 2005-08-16  Bruno Haible  <bruno@clisp.org>
64781
64782         * lib/mbiter.h: New file.
64783
64784 2005-08-16  Bruno Haible  <bruno@clisp.org>
64785
64786         * lib/mbfile.h: New file.
64787
64788 2005-08-16  Bruno Haible  <bruno@clisp.org>
64789
64790         * lib/mbchar.h: New file.
64791         * lib/mbchar.c: New file.
64792
64793 2005-08-16  Bruno Haible  <bruno@clisp.org>
64794
64795         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
64796         the valid ones. Makes the comparison operations transitive:
64797         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64798         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64799
64800 2005-08-15  Simon Josefsson  <jas@extundo.com>
64801
64802         * modules/ssize_t (License): Change to 'unlimited'.
64803
64804         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64805
64806 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64807
64808         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64809         Add comments for each pending glibc patch.
64810
64811 2005-08-15  Bruno Haible  <bruno@clisp.org>
64812
64813         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64814         __cplusplus is defined.
64815
64816 2005-08-14  Jim Meyering  <jim@meyering.net>
64817
64818         Sync from coreutils.
64819
64820         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64821         Use the hash-table-based cycle-detection code not just when
64822         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64823         Reported by James Youngman in
64824         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64825         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64826         FTS_TIGHT_CYCLE_CHECK.
64827         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64828         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64829         once again.
64830         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64831         * lib/fts.c (fd_safer): Remove decl.
64832         Include fcntl--.h rather than unistd-safer.h
64833         (fts_safe_changedir): Don't call fd_safer; no longer needed
64834         now that we include fcntl--.h.
64835
64836 2005-08-12  Simon Josefsson  <jas@extundo.com>
64837
64838         * modules/getndelim2: Use ssize_t module.
64839         * modules/getnline: Likewise.
64840         * modules/safe-read: Likewise.
64841         * modules/xreadlink: Likewise.
64842
64843         * modules/ssize_t: New file.
64844
64845 2005-08-12  Simon Josefsson  <jas@extundo.com>
64846
64847         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64848
64849 2005-08-12  Simon Josefsson  <jas@extundo.com>
64850
64851         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64852         ssize_t.
64853
64854 2005-08-12  Simon Josefsson  <jas@extundo.com>
64855
64856         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64857         readline, getdelim and check_version.
64858         (Support for systems lacking ISO C 99: Sizes of integer types):
64859         Add size_max.
64860
64861 2005-08-12  Bruno Haible  <bruno@clisp.org>
64862
64863         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64864
64865 2005-08-11  Simon Josefsson  <jas@extundo.com>
64866
64867         * modules/readline: New file.
64868
64869         * modules/strnlen (Files): Add strnlen.h.
64870
64871 2005-08-11  Simon Josefsson  <jas@extundo.com>
64872
64873         * m4/readline.m4: New file.
64874
64875 2005-08-11  Simon Josefsson  <jas@extundo.com>
64876
64877         * lib/readline.h, readline.c: New file.
64878
64879 2005-08-11  Simon Josefsson  <jas@extundo.com>
64880
64881         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64882         gl_AVOID.
64883
64884 2005-08-11  Bruno Haible  <bruno@clisp.org>
64885
64886         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64887
64888 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64889
64890         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64891
64892 2005-08-10  Simon Josefsson  <jas@extundo.com>
64893
64894         * tests/test-iconvme.c: New file.
64895
64896 2005-08-10  Simon Josefsson  <jas@extundo.com>
64897
64898         * m4/strnlen.m4: New file.
64899
64900         * m4/strndup.m4: Don't check for strnlen declaration, done in
64901         strnlen.m4.
64902
64903 2005-08-10  Simon Josefsson  <jas@extundo.com>
64904
64905         * lib/strndup.c: Use strnlen.h.
64906
64907         * lib/strnlen.h: New file.
64908
64909 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64910
64911         * README: Typos.
64912
64913 2005-08-02  Simon Josefsson  <jas@extundo.com>
64914
64915         * modules/readline: New file.
64916
64917 2005-08-02  Simon Josefsson  <jas@extundo.com>
64918
64919         * modules/getdelim: New file.
64920
64921         * modules/getline: Rewrite, don't use getndelim2.
64922
64923 2005-08-02  Simon Josefsson  <jas@extundo.com>
64924
64925         * m4/getline.m4: Separate out getdelim stuff into separate module.
64926
64927         * m4/getdelim.m4: New file.
64928
64929 2005-08-02  Simon Josefsson  <jas@extundo.com>
64930
64931         * lib/getline.h, getline.c: Rewrite.
64932
64933         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64934
64935 2005-07-31  Bruno Haible  <bruno@clisp.org>
64936
64937         * lib/lock.h (gl_lock_initializer): New macro.
64938         (gl_lock_define_initialized): Use it.
64939         (gl_rwlock_initializer): New macro.
64940         (gl_rwlock_define_initialized): Use it.
64941         (gl_recursive_lock_initializer): New macro.
64942         (gl_recursive_lock_define_initialized): Use it.
64943
64944 2005-07-30  Karl Berry  <karl@gnu.org>
64945
64946         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64947         Report from Ben Pfaff, regarding getopt.
64948
64949 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64950
64951         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64952         normal way.
64953         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64954         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64955         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64956         (gl_GETOPT): Use the new macros.  Most of the implementation
64957         is moved to the new macros.  This is for programs like Emacs
64958         that don't want all the functionality of gl_GETOPT.
64959
64960 2005-07-26  Bruno Haible  <bruno@clisp.org>
64961
64962         * m4/lock.m4: Update from GNU gettext.
64963
64964 2005-07-26  Bruno Haible  <bruno@clisp.org>
64965
64966         * lib/lock.h: Update from GNU gettext.
64967         * lib/lock.c: Update from GNU gettext.
64968
64969 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64970
64971         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64972         obsolescent AC_TRY_RUN.  Include the default includes files, for
64973         'exit'.
64974
64975 2005-07-24  Bruno Haible  <bruno@clisp.org>
64976
64977         * modules/visibility: New file.
64978         * MODULES.html.sh (Misc): Add visibility.
64979
64980 2005-07-24  Bruno Haible  <bruno@clisp.org>
64981
64982         * m4/visibility.m4: New file.
64983
64984 2005-07-24  Bruno Haible  <bruno@clisp.org>
64985
64986         * doc/visibility.texi: New file.
64987
64988 2005-07-22  Bruno Haible  <bruno@clisp.org>
64989
64990         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64991         $(ALLOCA_H), redundant through BUILT_SOURCES.
64992         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64993         redundant through BUILT_SOURCES.
64994         * modules/byteswap (Makefile.am): Remove explicit dependency on
64995         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64996         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64997         $(FNMATCH_H), redundant through BUILT_SOURCES.
64998         * modules/getopt (Makefile.am): Remove explicit dependency on
64999         $(GETOPT_H), redundant through BUILT_SOURCES.
65000         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
65001         redundant through BUILT_SOURCES.
65002         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
65003         redundant through BUILT_SOURCES.
65004         * modules/stdbool (Makefile.am): Remove explicit dependency on
65005         $(STDBOOL_H), redundant through BUILT_SOURCES.
65006         * modules/stdint (Makefile.am): Remove explicit dependency on
65007         $(STDINT_H), redundant through BUILT_SOURCES.
65008         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
65009         Remove explicit dependency on $(SYSEXITS_H).
65010         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
65011
65012 2005-07-18  Simon Josefsson  <jas@extundo.com>
65013
65014         * lib/check-version.c (check_version): Accept identical versions too.
65015
65016 2005-07-18  Bruno Haible  <bruno@clisp.org>
65017
65018         * modules/lock: New file.
65019         * MODULES.html.sh (Multithreading): New section.
65020
65021 2005-07-18  Bruno Haible  <bruno@clisp.org>
65022
65023         * m4/lock.m4: New file, from GNU gettext.
65024
65025 2005-07-18  Bruno Haible  <bruno@clisp.org>
65026
65027         * lib/lock.h: New file, from GNU gettext.
65028         * lib/lock.c: New file, from GNU gettext.
65029
65030 2005-07-18  Bruno Haible  <bruno@clisp.org>
65031
65032         * lib/lock.h (gl_once_t): New type.
65033         (gl_once_define, gl_once): New macros.
65034         * lib/lock.c (fresh_once): New variable.
65035         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
65036         functions.
65037
65038 2005-07-16  Simon Josefsson  <jas@extundo.com>
65039
65040         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
65041         workaround, suggested by Bruno.
65042
65043 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65044
65045         * modules/xalloc (Depends-on): Add xalloc-die.
65046         * modules/xvasprintf (Depends-on): Add xalloc-die.
65047
65048 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65049
65050         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
65051         with a minor change.
65052
65053 2005-07-15  Bruno Haible  <bruno@clisp.org>
65054
65055         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
65056         When using lib/poll.c, define poll as rpl_poll.
65057
65058 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
65059
65060         * modules/argp (Depends-on): Remove unlocked-io.
65061
65062 2005-07-14  Derek Price  <derek@ximbiot.com>
65063
65064         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
65065         for glob symlink bug.
65066
65067 2005-07-14  Bruno Haible  <bruno@clisp.org>
65068
65069         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
65070         Instead, test for *_unlocked function declarations directly.
65071
65072 2005-07-11  Simon Josefsson  <jas@extundo.com>
65073
65074         * modules/size_max: New file.
65075
65076         * modules/xsize: Depend on size_max module for size_max.m4.
65077
65078 2005-07-11  Simon Josefsson  <jas@extundo.com>
65079
65080         * lib/size_max.h: New file.
65081
65082 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
65083
65084         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
65085         copyright symbol and the year.
65086         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
65087         (version_etc_va): Use parameterized copyright notice.
65088         Reword to conform to the current GNU coding standards.
65089
65090 2005-07-11  Karl Berry  <karl@gnu.org>
65091
65092         * doc/gnulib.texi (Quoting): new node.
65093         (Initial import): more info, from Patrice.
65094
65095 2005-07-11  Bruno Haible  <bruno@clisp.org>
65096
65097         * gnulib-tool (func_usage): Document option --avoid.
65098         (Command line options): Handle --avoid.
65099         (func_acceptable): New function.
65100         (func_modules_transitive_closure): Use it.
65101
65102 2005-07-11  Bruno Haible  <bruno@clisp.org>
65103
65104         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
65105         Reported by Jim Meyering.
65106
65107 2005-07-10  Bruno Haible  <bruno@clisp.org>
65108
65109         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
65110         Needed when size_t is smaller than 'unsigned int'.
65111         Reported by Paul Eggert.
65112
65113 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65114
65115         * modules/argp (Depends-on): Add unlocked-io
65116
65117 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65118
65119         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
65120         block of defines.
65121
65122 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65123
65124         * config/srclist.txt: Comment out regcomp.c, since we have a porting
65125         fix now.
65126
65127 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
65128         and Paul Eggert  <eggert@cs.ucla.edu>
65129
65130         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
65131         in wint_t, not wchar_t.  Remove now-unnecessary cast.
65132
65133 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65134
65135         * modules/regex (Files): Add lib/regex_internal.c,
65136         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
65137         (Depends-on): Add extensions.
65138         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
65139
65140 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65141
65142         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
65143         pathconf.
65144         * m4/same.m4 (gl_SAME): Likewise.
65145         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
65146
65147         * m4/regex.m4: Adjust to new libc regex implementation.
65148         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
65149         all the .c and .h parts of (the new) regex.
65150         Quote the m4 stuff better.
65151         Check for RE_ICASE bug of old gnulib.
65152         Check for REG_STARTEND of recent libc.
65153         Rename local variables from jm_* to gl_*.
65154         Quote operand of "test -f".
65155         Say "recent enough" version of libc, not "version 2".
65156         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
65157         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
65158         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
65159         Remove check for btowc, isascii.
65160         Require AM_LANGINFO_CODESET.
65161
65162 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65163
65164         * lib/regex.c, regex.h: Sync from libc.
65165         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
65166         * lib/regexec.c:
65167         New files, synced from libc, except that regex_internal.h
65168         currently has a small porting fix.
65169
65170 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65171
65172         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
65173         regex_internal.c, regexec.c.
65174         Add regex_internal.h too, but as a comment, since the libc version
65175         is currently broken in gnulib mode.
65176
65177 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65178
65179         Support programs like Emacs that use gnulib but not gettext.
65180         * MODULES.html.sh (Internationalization functions): Add gettext-h.
65181         * modules/gettext-h: New file.
65182         * modules/gettext (Files): Remove lib/gettext.h.
65183         (Depends-on): Add gettext-h.
65184         (Makefile.am): Remove lib_SOURCES.
65185         * modules/argmatch, modules/c-stack, modules/closeout:
65186         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
65187         * modules/execute, modules/file-type, modules/getaddrinfo:
65188         * modules/getopt, modules/human, modules/javacomp:
65189         * modules/javaexec, modules/mkdir-p, modules/obstack:
65190         * modules/openat, modules/pagealign_alloc, modules/pipe:
65191         * modules/quotearg, modules/regex, modules/rpmatch:
65192         * modules/unicodeio, modules/userspec, modules/version-etc:
65193         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
65194         * modules/xsetenv:
65195         Depend on gettext-h, not gettext.
65196
65197 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65198
65199         * gnulib-tool (func_import): Add support for 'public domain' license.
65200         * modules/alloca, modules/atexit, modules/memmove:
65201         Now public domain, not GPL.
65202         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
65203         * modules/realloc, modules/strerror, modules/strtod:
65204         Now LGPL, not GPL.
65205
65206 2005-07-05  Bruno Haible  <bruno@clisp.org>
65207
65208         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
65209         autoconf CVS. Needed for mingw.
65210
65211 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65212
65213         Remove the dependency of the strftime module on the tzset module.
65214         * modules/strftime (Depends-on): Remove dependency on tzset.
65215
65216 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65217
65218         Remove the dependency of the strftime module on the tzset module.
65219         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
65220         gl_FUNC_TZSET_CLOBBER.
65221
65222 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65223
65224         Remove the dependency of the strftime module on the tzset module.
65225         * lib/strftime.c (my_strftime)
65226         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
65227         Copy the input structure, to work around some of the bug with
65228         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
65229         Solaris releases, you should also use the tzset module, but we won't
65230         require it as a dependency any more since we don't want LGPLed code
65231         to depend on GPLed code.
65232
65233 2005-07-02  Jim Meyering  <jim@meyering.net>
65234
65235         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
65236         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
65237         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
65238         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
65239
65240 2005-07-02  Jim Meyering  <jim@meyering.net>
65241
65242         * lib/backupfile.c (backup_args): Change a `0' to NULL.
65243
65244 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65245
65246         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
65247         declares only 'struct timespec;' (!).
65248
65249 2005-07-01  Jim Meyering  <jim@meyering.net>
65250
65251         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
65252         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
65253         * lib/save-cwd.c, tempname.c:
65254         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65255         and don't include <sys/file.h>).
65256
65257 2005-06-29  Jim Meyering  <jim@meyering.net>
65258
65259         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
65260         type name.  Use the variable name instead.
65261         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
65262         Likewise.
65263
65264 2005-06-28  Simon Josefsson  <jas@extundo.com>
65265
65266         * modules/check-version (Files): Add check-version.m4.
65267
65268 2005-06-28  Simon Josefsson  <jas@extundo.com>
65269
65270         * m4/check-version.m4: New file, suggested by Jim Meyering
65271         <jim@meyering.net>.
65272
65273 2005-06-28  Simon Josefsson  <jas@extundo.com>
65274
65275         * lib/check-version.h, lib/check-version.c: New files.
65276
65277 2005-06-28  Simon Josefsson  <jas@extundo.com>
65278
65279         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
65280         collision with global variable.  Better indentation.  Don't
65281         increment buffer pointer beyond buffer end.  Based on comments
65282         from Paul Eggert <eggert@cs.ucla.edu>.
65283
65284         * lib/base64.h: Indent.
65285
65286 2005-06-28  Simon Josefsson  <jas@extundo.com>
65287
65288         * doc/gnulib.texi (Library version handling): New section.
65289
65290 2005-06-28  Jim Meyering  <jim@meyering.net>
65291
65292         * check-module (find_included_lib_files): Hard-code another
65293         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
65294         but modules/fts-lgpl (correctly) does not list those files.
65295
65296         * modules/canonicalize (Files): Add lib/pathmax.h.
65297
65298 2005-06-25  Simon Josefsson  <jas@extundo.com>
65299
65300         * modules/check-version: New file.
65301
65302 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
65303
65304         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
65305         initializer of struct addrinfo, as an indication that we don't
65306         care how many members the structure has.
65307
65308 2005-06-24  Derek Price  <derek@ximbiot.com>
65309         and Bruno Haible  <bruno@clisp.org>
65310
65311         Remove stat module & update lstat.
65312         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
65313         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65314         * m4/stat.m4: Remove this file.
65315
65316 2005-06-24  Derek Price  <derek@ximbiot.com>
65317         and Bruno Haible  <bruno@clisp.org>
65318
65319         Remove stat module & update lstat.
65320         * lib/stat.c: Remove this file...
65321         (slash_aware_lstat): ...moving this content and its support...
65322         * lib/lstat.c (rpl_lstat): ...into here.
65323         * lib/lstat.h: New file.
65324
65325 2005-06-24  Derek Price  <derek@ximbiot.com>
65326         and Bruno Haible  <bruno@clisp.org>
65327
65328         Remove stat module & update lstat.
65329         * config/srclist.txt (libc sources): Remove stat.
65330
65331 2005-06-24  Derek Price  <derek@ximbiot.com>
65332         and Bruno Haible  <bruno@clisp.org>
65333
65334         Remove stat module & update lstat.
65335         * MODULES.html.sh (stat): Remove.
65336         * MODULES.html: Regenerated.
65337         * modules/lstat (Description): Correct function name.
65338         (Files): Add "lstat.h".
65339         (Depends-on): Remove stat, add xalloc, stat-macros.
65340         * modules/stat: Remove this file.
65341         (Include): Add "lstat.h", remove <sys/stat.h>.
65342
65343 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65344
65345         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
65346         (ranged_convert): Don't save conversion in a temporary struct.
65347         This causes a warning with GCC 4.0.0, and anyway in the typical
65348         case it's not worth the extra 100 bytes or so of code.
65349         (ranged_convert, __mktime_internal): When calling a function via a
65350         pointer P, use P () rather than (*P) (), as we now assume C89 or
65351         better.
65352
65353 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65354
65355         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
65356         "who -r" failed to give output.  Problem reported by Tim Waugh.
65357
65358         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
65359         (xcalloc): Use it to avoid needless tests.
65360         Problem reported by Jim Meyering.
65361
65362 2005-06-20  Derek Price  <derek@ximbiot.com>
65363
65364         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
65365         unnecessary for Autoconfs > 2.59c.
65366
65367 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65368
65369         * lib/argp.h (__option_is_short): Check upper limit of
65370         __key. Isprint() requires its argument to have the value
65371         of an unsigned char or EOF.
65372
65373 2005-06-16  Jim Meyering  <jim@meyering.net>
65374
65375         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
65376         when either N or S is zero.
65377
65378 2005-06-16  Derek Price  <derek@ximbiot.com>
65379
65380         * m4/bison.m4: Declare YACC & YFLAGS precious.
65381
65382 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
65383
65384         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
65385         multibyte string or pattern, fall back on unibyte matching.
65386         Problem reported by James Youngman.
65387
65388 2005-06-08  Bruno Haible  <bruno@clisp.org>
65389
65390         * modules/csharpcomp: New file.
65391         * MODULES.html.sh (C#): Add csharpcomp.
65392
65393 2005-06-08  Bruno Haible  <bruno@clisp.org>
65394
65395         * m4/csharpcomp.m4: New file, from GNU gettext.
65396
65397 2005-06-08  Bruno Haible  <bruno@clisp.org>
65398
65399         * lib/csharpcomp.h: New file, from GNU gettext.
65400         * lib/csharpcomp.c: New file, from GNU gettext.
65401         * lib/csharpcomp.sh.in: New file, from GNU gettext.
65402
65403 2005-06-08  Bruno Haible  <bruno@clisp.org>
65404
65405         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
65406         warning on mingw.
65407
65408 2005-06-07  Derek Price  <derek@ximbiot.com>
65409
65410         Sync from CVS.
65411         * lib/glob_.h: Indent nested #ifdef.
65412
65413 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65414
65415         Sync from coreutils.
65416         Use "file name" when talking about file names, instead of "filename"
65417         or "path", as per the GNU coding standards.
65418         * lib/mkdir-p.c: Renamed from makepath.c.
65419         (make_dir_parents): Renamed from make_path.  All callers changed.
65420         * lib/mkdir-p.h: Likewise.  All includers changed.
65421         * lib/filenamecat.c: Renamed from path-concat.c.
65422         (file_name_concat): Renamed from path_concat.  All callers changed.
65423         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
65424         * lib/filenamecat.h: Likewise.  All includers changed.
65425         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
65426         in comments or local variable names.
65427         * lib/basename.c: Likewise.
65428         * lib/canonicalize.c, canonicalize.h: Likewise.
65429         * lib/dirname.c, dirname.h: Likewise.
65430         * lib/euidaccess.c: Likewise.
65431         * lib/exclude.c: Likewise
65432         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
65433         * lib/fsusage.c, fsuage.h: Likewise.
65434         * lib/fts.c, fts_.h: Likewise.
65435         * lib/getcwd.c: Likewise.
65436         * lib/getloadavg.c: Likewise.
65437         * lib/mkstemp.c: Likewise.
65438         * lib/mountlist.c, mountlist.h: Likewise.
65439         * lib/openat.c, openat.h: Likewise.
65440         * lib/readlink-stub.c: Likewise.
65441         * lib/readutmp.c, readutmp.h: Likewise.
65442         * lib/rename.c: Likewise.
65443         * lib/rmdir.c: Likewise.
65444         * lib/same.c: Likewise.
65445         * lib/savedir.c: Likewise.
65446         * lib/stripslash.c: Likewise.
65447         * lib/tempname.c: Likewise.
65448         * lib/xreadlink.c: Likewise.
65449         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
65450         All uses changed.
65451         * lib/exclude.h: Likewise.
65452
65453         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
65454         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65455         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
65456         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65457         * lib/pathmax.h: Include <limits.h> unconditionally, since other
65458         files have been getting away with it for years (MORE/BSD 4.3
65459         is extinct now).
65460         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
65461         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65462
65463         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
65464         Define to 256, not 255, as per modern POSIX.
65465
65466 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65467
65468         Sync from coreutils.
65469         Use "file name" when talking about file names, instead of "filename"
65470         or "path", as per the GNU coding standards.
65471         * MODULES.html.sh: mkdir-p renamed from makepath.
65472         filenamecat renamed from path-concat.
65473         * modules/filenamecat: Renamed from modules/path-concat.
65474         (Files): filenamecat.h and filenamecat.c renamed from
65475         path-concat.h and path-concat.c.
65476         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
65477         (Include): filenamecat.h, not path-concat.h.
65478         * modules/mkdir-p: Renamed from modules/makepath.
65479         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
65480         makepath.c.
65481         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
65482         (Include): mkdir-p.h, not makepath.h.
65483
65484 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65485
65486         Sync from coreutils.
65487         * m4/mkdir-p.m4: Renamed from makepath.m4.
65488         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
65489         Rename files from makepath.c to mkdir-p.c, and from
65490         makepath.h to mkdir-p.h.
65491         * m4/filenamecat.m4: Renamed from path-concat.m4.
65492         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
65493         Rename files from path-concat.c to filenamecat.c,
65494         and from path-concat.h to filenamecat.h.
65495         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
65496         "file name" in local variables or comments.
65497         * m4/rename.m4: Likewise.
65498
65499 2005-06-01  Bruno Haible  <bruno@clisp.org>
65500
65501         * modules/csharpexec: New file.
65502         * MODULES.html.sh (C#): New section.
65503
65504 2005-06-01  Bruno Haible  <bruno@clisp.org>
65505
65506         * m4/csharp.m4: New file, from GNU gettext.
65507         * m4/csharpexec.m4: New file, from GNU gettext.
65508
65509 2005-06-01  Bruno Haible  <bruno@clisp.org>
65510
65511         * lib/csharpexec.h: New file, from GNU gettext.
65512         * lib/csharpexec.c: New file, from GNU gettext.
65513         * lib/csharpexec.sh.in: New file, from GNU gettext.
65514
65515 2005-05-31  Derek Price  <derek@ximbiot.com>
65516             Paul Eggert  <eggert@cs.ucla.edu>
65517
65518         Sync from cvs.
65519         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65520
65521 2005-05-31  Derek Price  <derek@ximbiot.com>
65522             Paul Eggert  <eggert@cs.ucla.edu>
65523
65524         Sync from cvs.
65525         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65526
65527 2005-05-29  Derek Price  <derek@ximbiot.com>
65528
65529         * config/srclist.txt (glob_.h, glob.c): Add these files.
65530
65531 2005-05-29  Derek Price  <derek@ximbiot.com>
65532
65533         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
65534         * modules/glob: New file.
65535         * modules/getlogin_r: Add link to POSIX spec in description.
65536
65537 2005-05-29  Derek Price  <derek@ximbiot.com>
65538             Paul Eggert  <eggert@cs.ucla.edu>
65539
65540         * m4/glob.m4: New file.
65541
65542 2005-05-29  Derek Price  <derek@ximbiot.com>
65543             Paul Eggert  <eggert@cs.ucla.edu>
65544
65545         * lib/glob_.h, lib/glob.c: New files.
65546
65547 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65548
65549         * modules/fts (Files): Remove m4/inttypes-pri.m4.
65550         * modules/fts-lgpl (Depends-on): Remove gettext.
65551
65552 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65553
65554         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
65555         and don't require gt_INTTYPES_PRI.
65556
65557 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65558
65559         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
65560
65561         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
65562         the configuration hassle isn't worth it.
65563         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
65564         (LONGEST_MODIFIER, PRIuMAX): Remove.
65565
65566 2005-05-27  Bruno Haible  <bruno@clisp.org>
65567
65568         * lib/getlogin_r.h: Remove second include of <stddef.h>.
65569
65570 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65571
65572         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
65573         _POSIX_PTHREAD_SEMANTICS for Solaris.
65574
65575 2005-05-25  Derek Price  <derek@ximbiot.com>
65576
65577         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
65578
65579 2005-05-25  Derek Price  <derek@ximbiot.com>
65580             Paul Eggert  <eggert@cs.ucla.edu>
65581
65582         * modules/getlogin_r, m4/getlogin_r.m4: New files.
65583         * lib/getlogin_r.c, getlogin_r.h: New files.
65584
65585 2005-05-25  Bruno Haible  <bruno@clisp.org>
65586             Derek Price  <derek@ximbiot.com>
65587
65588         * lib/getlogin_r.h: Simplify API documentation.
65589
65590 2005-05-23  Derek Price  <derek@ximbiot.com>
65591
65592         * modules/minmax (Files): Add m4/minmax.m4.
65593         (configure.ac): Add gl_MINMAX.
65594
65595 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65596
65597         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
65598         so that unistd-safer.h (GPL'ed code) need not be included.
65599
65600 2005-05-22  Bruno Haible  <bruno@clisp.org>
65601
65602         * m4/minmax.m4: New file.
65603         Based on a patch by Derek Price <derek@ximbiot.com>.
65604
65605 2005-05-22  Bruno Haible  <bruno@clisp.org>
65606
65607         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
65608         (INT64_MIN): Fix definition.
65609         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
65610
65611         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
65612         NEED_SIGNED_INT_TYPES.
65613
65614         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
65615         HAVE_SYSTEM_INTTYPES.
65616
65617 2005-05-22  Bruno Haible  <bruno@clisp.org>
65618
65619         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
65620         Also include <sys/param.h> if it defines MIN, MAX.
65621         Based on a patch by Derek Price <derek@ximbiot.com>.
65622
65623 2005-05-21  Jim Meyering  <jim@meyering.net>
65624
65625         * modules/fts (Files): Add m4/inttypes-pri.m4.
65626         (Depends-on): Add lstat and remove gettext.  Alphabetize.
65627
65628 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65629
65630         New fts module.
65631         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
65632         (setup_dir, free_dir): New functions.
65633         (enter_dir, leave_dir): Define trivial
65634         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
65635         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
65636         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
65637         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
65638         Move to fts-cycle.c.
65639         (fts_open): Use setup_dir.
65640         (fts_close): Use free_dir.
65641         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
65642         This adds a label and some gotos, but the alternatives were messier.
65643         Check for memory allocation failure when entering a dir.
65644         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
65645         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
65646         (FTS): New member fts_cycle, that is a union that contains the
65647         old active_dir_ht and cycle_state.  All uses changed to mention
65648         fts_cycle.ht and fts_cycle.state.
65649         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
65650         fts.c, with the following changes:
65651         (setup_dir, free_dir): New functions.
65652         (enter_dir): Now returns bool.  Return true if successful, false
65653         if memory exhausted.  All callers changed.
65654         Do not bother partly cleaning up on
65655         memory allocation failure; that is free_dir's job.
65656         However, free ad if hash_insert fails, to avoid memory leak.
65657         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
65658         fts->fts_options to see which union member to use.
65659
65660 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65661
65662         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
65663         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
65664
65665 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65666
65667         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
65668
65669 2005-05-20  Jim Meyering  <jim@meyering.net>
65670
65671         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
65672         Now a macro, to pacify GCC.
65673
65674 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65675
65676         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
65677         of -1.
65678
65679 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65680
65681         * lib/chown.c (rpl_chown): Return -1 on failure.
65682
65683 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65684
65685         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
65686         Don't check for stddef.h.
65687         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
65688         don't use its results.
65689         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
65690         since we include them unconditionally.  Don't require
65691         AM_STDBOOL_H, since stdbool is a prerequisite.
65692         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
65693         since we assume C89 or better.
65694         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
65695         as we don't use their results.
65696         Don't check for fchdir, memmove, memset, strrchr, as we use
65697         them unconditionally.
65698         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
65699         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
65700
65701 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65702
65703         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
65704         Include <stddef.h> unconditionally, since we assume C89 now.
65705         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
65706         * lib/fts.c: Include fts_.h first, to check interface.
65707         Do not include intprops.h; no longer needed.
65708         Include cycle-check.h and hash.h, since fts_.h no longer does.
65709         Remove unnecessary casts of closedir to void.
65710         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
65711         decide whether to decrement nlinks.
65712         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
65713         (FTS): Use struct hash_table * instead of Hash_table, so that
65714         we no longer need to include hash.h here.
65715
65716 2005-05-18  Jim Meyering  <jim@meyering.net>
65717
65718         * modules/dirfd (License): Change to LGPL.  Most of the code
65719         is already in the public domain.
65720
65721 2005-05-18  Jim Meyering  <jim@meyering.net>
65722
65723         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
65724         Reported by Yoann Vandoorselaere.
65725
65726 2005-05-17  Jim Meyering  <jim@meyering.net>
65727
65728         * m4/fts.m4: New file, from coreutils.
65729
65730 2005-05-17  Jim Meyering  <jim@meyering.net>
65731
65732         * lib/fts.c, lib/fts_.h: New files, from coreutils.
65733
65734 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65735
65736         Sync from coreutils.
65737         * m4/unlinkdir.m4: New file.
65738
65739 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65740
65741         Sync from coreutils.
65742         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
65743         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
65744         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
65745         White space changes only.
65746         * lib/makepath.c (make_path): Port to hosts where leading "//" is
65747         special.
65748         * lib/yesno.c: Include getline.h, not ctype.h.
65749         (yesno): Don't remove leading white space; POSIX doesn't allow it.
65750         Use getline to remove arbitrary restriction on response length.
65751
65752 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65753
65754         * config/srclist-update: Spell out "Street" in FSF postal
65755         mail address; this is the style the FSF seems to prefer.
65756
65757         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
65758         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
65759         this updates FSF postal mail address.
65760
65761         Sync from coreutils.
65762         * modules/unlinkdir: New file.
65763         * modules/yesno (Depends-on): Add getline.
65764         * MODULES.html.sh (File system functions): Add unlinkdir.
65765
65766 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65767
65768         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
65769         lib/strsep.h:
65770         Change the initial comment to refer to GPL, not LGPL.
65771         gnulib-tool will change it to LGPL as needed.
65772
65773         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
65774         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
65775         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
65776         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
65777         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
65778         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
65779         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
65780         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
65781         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
65782         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
65783         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
65784         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
65785         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
65786         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
65787         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
65788         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
65789         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
65790         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
65791         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
65792         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
65793         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
65794         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
65795         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
65796         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65797         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65798         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65799         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65800         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65801         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65802         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65803         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65804         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65805         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65806         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65807         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65808         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65809         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65810         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65811         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65812         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65813         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65814         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65815         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65816         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65817         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65818         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65819         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65820         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65821         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65822         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65823         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65824         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65825         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65826         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65827         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65828         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65829         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65830         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65831         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65832         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65833         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65834         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65835         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65836         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65837         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65838         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65839         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65840         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65841         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65842         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65843         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65844         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65845         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65846         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65847         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65848         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65849         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65850         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65851         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65852         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65853         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65854         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65855         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65856         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65857         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65858         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65859         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65860         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65861         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65862         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65863         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65864         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65865         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65866         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65867         lib/yesno.c, lib/yesno.h:
65868         Update FSF postal mail address.
65869
65870 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65871
65872         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65873         tests/test-memmem.c, tests/test-stpncpy.c:
65874         Update FSF postal mail address.
65875
65876 2005-05-13  Bruno Haible  <bruno@clisp.org>
65877
65878         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65879         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65880         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65881         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65882         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65883         Add support for 64-bit integers in the MSVC compiler.
65884
65885 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65886
65887         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65888
65889 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65890
65891         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65892
65893 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65894
65895         * doc/getdate.texi (General date syntax): Don't say that date
65896         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65897         Problem reported by Nic Ferrier.
65898
65899 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65900
65901         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65902         specified in ai_socktype. Fix invalid ai_protocol
65903         check. ai_protocol is usually set to 0 or depending on
65904         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65905         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65906         ai_socktype / ai_protocol in the returned addrinfo structure.
65907
65908 2005-05-10  Simon Josefsson  <jas@extundo.com>
65909
65910         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65911         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65912
65913 2005-05-10  Karl Berry  <karl@gnu.org>
65914
65915         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65916         (from http://www.gnu.org/licenses).
65917         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65918         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65919         fdl.texi suffices.
65920
65921 2005-05-10  Karl Berry  <karl@gnu.org>
65922
65923         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65924         (COPYING.DOC): remove.
65925
65926         * config/srclist-update: new FSF address.
65927
65928 2005-05-10  Derek Price  <derek@ximbiot.com>
65929
65930         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65931         possible.
65932
65933 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65934             Bruno Haible  <bruno@clisp.org>
65935
65936         * modules/inet_ntop: New file.
65937         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65938         inet_ntop.
65939
65940 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65941             Bruno Haible  <bruno@clisp.org>
65942
65943         * m4/inet_ntop.m4: New file.
65944
65945 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65946             Bruno Haible  <bruno@clisp.org>
65947
65948         * lib/inet_ntop.h: New file.
65949         * lib/inet_ntop.c: New file, from glibc with modifications.
65950
65951 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65952
65953         * modules/time_r (License): Change to LGPL.
65954         * modules/extensions (License): Change to LGPL.  Actually,
65955         the license is more permissive than that, but currently gnulib-tool
65956         doesn't know how to handle more-permissive licenses.
65957
65958         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65959         Problem reported by Dave Love.
65960
65961 2005-05-08  Jim Meyering  <jim@meyering.net>
65962
65963         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65964         blank.
65965
65966 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65967
65968         * modules/argmatch (Depends-on): Add stdbool.
65969         * modules/backupfile (Depends-on): Likewise.
65970         * modules/chdir-long (Depends-on): Likewise.
65971         * modules/closeout (Depends-on): Likewise.
65972         * modules/cycle-check (Depends-on): Likewise.
65973         * modules/dirname (Depends-on): Likewise.
65974         * modules/fnmatch (Depends-on): Likewise.
65975         * modules/fsusage (Depends-on): Likewise.
65976         * modules/fwriteerror (Depends-on): Likewise.
65977         * modules/getcwd (Depends-on): Likewise.
65978         * modules/getloadavg (Depends-on): Likewise.
65979         * modules/hard-locale (Depends-on): Likewise.
65980         * modules/makepath (Depends-on): Likewise.
65981         * modules/mountlist (Depends-on): Likewise.
65982         * modules/nanosleep (Depends-on): Likewise.
65983         * modules/posixtm (Depends-on): Likewise.
65984         * modules/quotearg (Depends-on): Likewise.
65985         * modules/readtokens (Depends-on): Likewise.
65986         * modules/readtokens0 (Depends-on): Likewise.
65987         * modules/readutmp (Depends-on): Likewise.
65988         * modules/save-cwd (Depends-on): Likewise.
65989         * modules/strftime (Depends-on): Likewise.
65990         * modules/userspec (Depends-on): Likewise.
65991         * modules/utimecmp (Depends-on): Likewise.
65992         * modules/xgetcwd (Depends-on): Likewise.
65993         * modules/xnanosleep (Depends-on): Likewise.
65994         * modules/xstrtod (Depends-on): Likewise.
65995         * modules/yesno (Depends-on): Likewise.
65996
65997 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65998
65999         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
66000         needless checks.
66001
66002 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66003
66004         Merge from coreutils.  Among other things,
66005         add bulletproofing for cases where stdin, stdout, or stderr are closed.
66006         * lib/fd-safer.c: New file.
66007         * lib/fcntl-safer.h, open-safer.c: Remove.
66008         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
66009         * lib/dup-safer.c: Include unistd-safer.h first.
66010         Don't include errno.h.
66011         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
66012         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
66013         * lib/file-type.c: Rely on file-type.h change.
66014         * lib/getloadavg.c: Include unistd-safer.h.
66015         (getloadavg): Use safer open.
66016         * lib/getusershell.c: Include "stdio-safer.h".
66017         (getusershell): Use safer fopen.
66018         * lib/long-options.c (long_options): Use NULL rather than 0.
66019         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
66020         'free'.
66021         * lib/modechange.c: Likewise.
66022         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
66023         (MODE_DONE): New constant.
66024         (struct mode_change): Remove 'next' member.
66025         (make_node_op_equals): New function; like the old one of the
66026         same name, except it allocates an array.
66027         (mode_compile, mode_create_from_ref): Use it.
66028         (mode_compile): Allocate result as an array, not a linked list.
66029         Parse octal string ourself, so that we catch mistakes like "+0".
66030         (mode_adjust): Arg is an array, not a linked list.
66031         * lib/modechange.c: Include stat-macros.h, xalloc.h.
66032         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
66033         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
66034         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
66035         Remove.  This is now stat-macros.h's job.
66036         (talloc): Remove.  All callers replaced by xalloc, so that
66037         our invokers don't have to worry about reporting memory failures.
66038         (make_node_op_equals): Remove.
66039         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66040         New constants.
66041         (struct mode_change): Moved here from modechange.h.
66042         (mode_append_entry): Remove.
66043         (mode_compile): Remove MASKED_OPS arg, since it encouraged
66044         apps to have incorrect behavior.  Use simpler algorithm for head
66045         and tail.  Don't futz with umask; that's now the job of mode_adjust.
66046         Detect more invalid usages rather than having somewhat-random behavior.
66047         Don't insert an "a=" action, as that leads to incorrect behavior.
66048         (mode_compile, mode_create_from_ref): Return NULL on error instead
66049         of an enum, since now there's only one way to have an error.  All
66050         callers changed.
66051         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
66052         at the correct time.  Simplify calculation of "+u" and its ilk.
66053         Don't mishandle "+X".
66054         (mode_free): Remove "register" and localize decls.
66055         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66056         (struct mode_change): Move to modechange.c; callers don't
66057         need to see this stuff.
66058         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
66059         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
66060         (mode_change, mode_adjust): Reflect the new signatures noted above.
66061         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
66062         that might redefine system include files.
66063         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
66064         (my_usleep): Use NULL rather than (void *) 0.
66065         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
66066         Use siginterrupt to specify that system calls should be interrupted.
66067         (rpl_nanosleep): Move initialization of suspended closer to call of
66068         my_usleep.
66069         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
66070         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
66071         (desirable_utmp_entry): New function.
66072         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
66073         using x2nrealloc, to simplify logic.
66074         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
66075         size calculation.  Do not assume utmp file is a regular file.
66076         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
66077         (READ_UTMP_CHECK_PIDS): New constant.
66078         * lib/save-cwd.c: Include unistd-safer.h.
66079         (save_cwd): Use fd_safer.
66080         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
66081         [!_LIBC] Include "stat-macros.h" instead.
66082         * lib/unistd-safer.h (fd_safer): New decl.
66083
66084 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66085
66086         * modules/getloadavg (Depends-on): Add unistd-safer.
66087         * modules/getusershell (Depends-on): Add stdio-safer.
66088         * modules/lstat (Depends-on): Remove xalloc.
66089         * modules/mkstemp (Depends-on): Add stat-macros.
66090         * modules/modechange (Depends-on): Remove xstrtol.
66091         Add stat-macros, xalloc.
66092         * modules/save-cwd (Depends-on): Add unistd-safer.
66093         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
66094         * modules/unistd-safer (Files): Add lib/fd-safer.c
66095         (Makefile.am): Remove lib_SOURCES.
66096
66097         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
66098         Remove fcntl-safer; unistd-safer supersedes it.
66099
66100 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66101
66102         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
66103         AC_HEADER_STAT.
66104         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
66105         (gl_PREREQ_CHOWN): Remove.
66106         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
66107         it.  Don't require AC_HEADER_STAT.
66108         (gl_PREREQ_LSTAT): Remove.
66109         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
66110         Don't require AC_HEADER_STAT.
66111         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
66112         (gl_PREREQ_RMDIR): Remove.
66113         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
66114         mention stat-macros.h or AC_HEADER_STAT, since we'll make
66115         the stat-macros module a prerequisite.
66116         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
66117         * m4/filemode.m4 (gl_FILEMODE): Likewise.
66118         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
66119         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
66120         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
66121         variable names.
66122         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
66123         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
66124         variable prefixes.
66125         * m4/fcntl-safer.m4: Remove.
66126         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
66127         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
66128         Invoke gl_PREREQ_FD_SAFER.
66129         (gl_PREREQ_FD_SAFER): New macro.
66130         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
66131         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
66132         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
66133         Remove duplicate call to AC_LIBOBJ(readutmp).
66134         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
66135
66136         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
66137         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
66138
66139 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66140
66141         * MODULES.html.sh (Misc): Add byteswap.
66142
66143 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66144
66145         * modules/getcwd (Depends-on): Add extensions.
66146         * modules/openat (Depends-on): Likewise.
66147
66148 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66149
66150         * modules/byteswap: New file.
66151
66152 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66153
66154         * m4/byteswap.m4: New file.
66155
66156 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66157
66158         * lib/byteswap_.h: New file.
66159
66160 2005-04-25  Karl Berry  <karl@gnu.org>
66161
66162         * m4/gettext.m4: Update from GNU gettext 0.14.4.
66163
66164 2005-04-25  Albert Chin  <china@thewrittenword.com>
66165
66166         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
66167         Toolkit C bug.
66168
66169 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
66170
66171         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
66172         (func_ln_if_changed) Remove forcibly for no error message
66173         in case file does not exist.
66174
66175 2005-04-19  Simon Josefsson  <jas@extundo.com>
66176
66177         * gnulib-tool (Options): Make --symlink mean --symbolic.
66178
66179 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
66180
66181         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
66182
66183 2005-04-16  Simon Josefsson  <jas@extundo.com>
66184
66185         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
66186
66187 2005-04-15  Simon Josefsson  <jas@extundo.com>
66188
66189         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
66190
66191 2005-04-15  Simon Josefsson  <jas@extundo.com>
66192
66193         * gnulib-tool: Rename --symlink to --symbolic.
66194
66195 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
66196
66197         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
66198         symbolic links to files instead of copying/moving.  Add --aux-dir,
66199         specifying directory relative --dir where auxiliary build tools
66200         are placed.
66201
66202 2005-04-14  Bruno Haible  <bruno@clisp.org>
66203
66204         * modules/allocsa (License): Change to LGPL.
66205         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
66206
66207 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66208
66209         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
66210         that "UTC +1 second" continues to work.  Problem reported
66211         by Dmitry V. Levin.
66212         (relunit_snumber): New rule.
66213         (relunit): Use it.
66214
66215 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66216
66217         * lib/getdate.y (universal_time_zone_table): New constant.
66218         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
66219         universal_time_zone_table.
66220         (lookup_zone): Prefer universal_time_zone_table to
66221         local_time_zone_table, so that "GMT" time stamps are allowed in
66222         London during the summer.  Problem reported by Ian Abbott.
66223
66224 2005-04-12  Jim Meyering  <jim@meyering.net>
66225
66226         * lib/human.c (humblock): Set *options even when returning due to
66227         xstrtoumax conversion failure.  Thanks to a used-uninitialized
66228         warning from gcc-4.
66229
66230 2005-04-09  Jim Meyering  <jim@meyering.net>
66231
66232         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
66233         -Wuninitialized: initialize tm0.tm_year.
66234
66235 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66236
66237         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
66238         count, since there's no maximum.  All uses changed.
66239         Add member dsts_seen.
66240         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
66241         not being INT_MAX.
66242         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
66243         Use pc_rels_seen to decide whther a date is absolute.
66244
66245         * lib/getdate.y (number): Don't overwrite year.
66246         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
66247         check.
66248
66249 2005-04-02  Simon Josefsson  <jas@extundo.com>
66250
66251         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
66252         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
66253
66254 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
66255
66256         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
66257         where no absolute path name can be longer than PATH_MAX.
66258
66259 2005-03-27  Jim Meyering  <jim@meyering.net>
66260
66261         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
66262
66263 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66264
66265         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
66266         "one's complement" -> "ones' complement" in comment, as per Knuth.
66267         "value of type" -> "type or expression" in comment.
66268         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
66269
66270 2005-03-26  Jim Meyering  <jim@meyering.net>
66271
66272         Comment nits.
66273         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
66274         Correct typos: s/or/of/.
66275
66276 2005-03-26  Jim Meyering  <jim@meyering.net>
66277
66278         * modules/check-include-files: Move to ../ and rename to...
66279         * check-module: ...this.
66280
66281 2005-03-25  Jim Meyering  <jim@meyering.net>
66282
66283         * modules/xvasprintf (Files): Add xalloc.h.
66284
66285 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66286
66287         * modules/gettext (Files): config/config.rpath ->
66288         build-aux/config.rpath
66289         * modules/iconv (Files): Likewise.
66290         Problem reported by Oskar Liljeblad.
66291
66292 2005-03-23  Jim Meyering  <jim@meyering.net>
66293
66294         * modules/check-include-files: New script to check for
66295         missing dependencies, multiple includes, etc.
66296
66297         * modules/c-strtold (Depends-on): Add xalloc.
66298         * modules/c-strtod (Depends-on): Add xalloc.
66299         * modules/hash (Depends-on): Add xalloc.
66300         (Files): Remove lib/xalloc.h.
66301
66302         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
66303         * modules/userspec (Files): Add lib/inttostr.h.
66304
66305 2005-03-23  Jim Meyering  <jim@meyering.net>
66306
66307         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
66308
66309 2005-03-22  Jim Meyering  <jim@meyering.net>
66310
66311         * modules/stat-macros: New module.
66312         * modules/canonicalize, modules/euidaccess, modules/file-type,
66313         * modules/filemode, modules/lchown, modules/makepath,
66314         * modules/rmdir, modules/stat: Depend on new stat-macros module
66315         rather than listing lib/stat-macros.h manually.
66316         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
66317
66318 2005-03-22  Jim Meyering  <jim@meyering.net>
66319
66320         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
66321
66322 2005-03-22  Bruno Haible  <bruno@clisp.org>
66323
66324         * config/srclist.txt: Replace target directory 'config' with
66325         'build-aux'.
66326         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
66327         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
66328         ../build-aux/.
66329
66330 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         * modules/chdir-long (Depends-on): Add mempcpy.
66333
66334         * modules/acl, modules/backupfile, modules/c-strtod,
66335         modules/c-strtold, modules/canon-host, modules/canonicalize,
66336         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
66337         modules/exclude, modules/exitfail, modules/file-type,
66338         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
66339         modules/getdate, modules/getline, modules/getpagesize,
66340         modules/getpass, modules/getugroups, modules/group-member,
66341         modules/hard-locale, modules/hash, modules/human, modules/idcache,
66342         modules/inttostr, modules/long-options, modules/makepath,
66343         modules/md5, modules/memcasecmp, modules/memcoll,
66344         modules/modechange, modules/mountlist, modules/path-concat,
66345         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
66346         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
66347         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
66348         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
66349         modules/strftime, modules/strndup, modules/strverscmp,
66350         modules/timespec, modules/unlocked-io, modules/userspec,
66351         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
66352         modules/yesno:
66353         Remove lib_SOURCES line from Makefile.am section, as this is now
66354         done automatically by the corresponding Autoconf macro.
66355
66356 2005-03-21  Jim Meyering  <jim@meyering.net>
66357
66358         Changes imported from coreutils.
66359
66360         * lib/cycle-check.c: Don't include xalloc.h.
66361
66362         * lib/path-concat.c: Don't include assert.h.
66363         (path_concat): Remove assertion that would have triggered
66364         for ABASE starting with more than one slash.
66365         Reported by Andreas Schwab.
66366
66367         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
66368         properly when ABASE is an absolute file name.
66369         Correct the description of this function.
66370         Include <assert.h>.
66371         Add an assertion and a test driver.
66372         This fixes a bug introduced on 2004-07-02.
66373         Andreas Schwab reported the resulting failure of cp --parents:
66374         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
66375
66376 2005-03-21  Jim Meyering  <jim@meyering.net>
66377
66378         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
66379         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
66380
66381 2005-03-21  Jim Meyering  <jim@meyering.net>
66382         and  Paul Eggert  <eggert@cs.ucla.edu>
66383
66384         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
66385         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
66386         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
66387         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
66388         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
66389         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
66390         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
66391         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
66392         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
66393         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
66394         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
66395         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
66396         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
66397         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
66398         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
66399         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
66400         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
66401         for these modules.
66402
66403 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
66404
66405         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
66406         (which shouldn't happen), generate nothing instead of returning 0
66407         immediately, so that nstrftime (NULL, ...) doesn't return 0.
66408
66409 2005-03-16  Bruno Haible  <bruno@clisp.org>
66410
66411         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
66412         HAVE_LONGLONG_64BIT.
66413
66414 2005-03-16  Bruno Haible  <bruno@clisp.org>
66415
66416         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
66417         HAVE_LONGLONG_64BIT.
66418
66419 2005-03-16  Bruno Haible  <bruno@clisp.org>
66420
66421         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
66422         HAVE_LONGLONG_64BIT.
66423
66424 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66425
66426         * lib/strftime.c (my_strftime): Prepend space to format so that we can
66427         reliably distinguish strftime failure from empty output on POSIX
66428         hosts.
66429
66430 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66431
66432         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
66433         (iconv_string): Don't guess a size-zero buffer, as that might cause
66434         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
66435         result would be 'too large', where 'too large' is (heuristically)
66436         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
66437         overflow concerns.  This will prevent some unwanted malloc failures
66438         when the inputs are very large.
66439
66440 2005-03-15  Karl Berry  <karl@gnu.org>
66441
66442         * config/srclist.txt (config.rpath): from gettext.
66443         * config/config.rpath: update.
66444
66445 2005-03-15  Bruno Haible  <bruno@clisp.org>
66446
66447         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
66448         to 'negate'.
66449
66450         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
66451         variable.
66452
66453         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
66454         results.
66455
66456 2005-03-14  Simon Josefsson  <jas@extundo.com>
66457
66458         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
66459         <fx@gnu.org>.
66460
66461 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
66462
66463         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
66464         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
66465         intprops.h.
66466         * lib/strtol.c: Likewise.
66467
66468 2005-03-14  Jim Meyering  <jim@meyering.net>
66469
66470         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
66471         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
66472         to be nonzero so that we (and caller) can detect the difference
66473         between a valid zero-length expansion and an error return, even
66474         when the underlying strftime fails before writing anything into
66475         that location.
66476
66477 2005-03-14  Bruno Haible  <bruno@clisp.org>
66478
66479         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
66480         Update from GNU gettext 0.14.3.
66481
66482 2005-03-10  Jim Meyering  <jim@meyering.net>
66483
66484         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
66485
66486 2005-03-10  Jim Meyering  <jim@meyering.net>
66487
66488         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
66489         so that this module works on systems without fchdir.
66490
66491 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
66492
66493         Factor int-properties macros into a single file, except for
66494         glibc-related files.
66495         * lib/intprops.h: New file.
66496         * lib/getloadavg.c: Include it instead of limits.h.
66497         (INT_STRLEN_BOUND): Remove.
66498         * lib/human.c: Include intprops.h.
66499         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
66500         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
66501         302/1000.
66502         * lib/inttostr.h: Include intprops.h instead of limits.h.
66503         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
66504         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
66505         for consistency with intprops.h.
66506         (time_t_is_integer, twos_complement_arithmetic): Use them.
66507         * lib/sig2str.h: Include <signal.h>, intprops.h.
66508         (INT_STRLEN_BOUND): Remove.
66509         * lib/strftime.c (TYPE_SIGNED): Remove.
66510         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
66511         * lib/strtol.c: Adjust comments to match intprops.h.
66512         * lib/userspec.c: Include intprops.h.
66513         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
66514         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
66515         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
66516         instead of rolling our own expressions.
66517         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
66518
66519         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
66520         instead of int.
66521         (my_strftime): Do not mishandle years close to INT_MAX, by doing
66522         the right thing even if adding 1900 would overflow.  Similarly
66523         for tm_mon + 1 and tm_yday + 1.
66524         Make %Y always equivalent to %C%y, and similarly for %G and %g.
66525         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
66526         (DO_SIGNED_NUMBER): New macro.
66527         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
66528
66529 2005-03-07  Bruno Haible  <bruno@clisp.org>
66530
66531         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
66532
66533 2005-03-07  Bruno Haible  <bruno@clisp.org>
66534
66535         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
66536
66537 2005-03-04  Derek R. Price  <derek@ximbiot.com>
66538
66539         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
66540         (func_import): Only replace files via --import when they have actually
66541         changed.
66542
66543 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66544
66545         * m4/mmap-anon.m4: New file.
66546         * m4/pagealign_alloc.m4: New file.
66547
66548 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66549             Bruno Haible  <bruno@clisp.org>
66550
66551         * modules/pagealign_alloc: New file.
66552         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
66553
66554 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66555             Bruno Haible  <bruno@clisp.org>
66556
66557         * lib/pagealign_alloc.h: New file.
66558         * lib/pagealign_alloc.c: New file.
66559
66560 2005-03-03  Bruno Haible  <bruno@clisp.org>
66561
66562         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
66563         Use an all-permissive copyright notice, recommended by RMS.
66564
66565 2005-03-02  Bruno Haible  <bruno@clisp.org>
66566
66567         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
66568         of AIX, the replacement has to be done only after <string.h> is
66569         included, therefore not in config.h. stpncpy.h does the replacement,
66570         and stpncpy.c uses it.
66571
66572 2005-03-02  Bruno Haible  <bruno@clisp.org>
66573
66574         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
66575         stpncpy.c uses it.
66576
66577 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66578
66579         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
66580         The workaround isn't strictly needed for POSIX conformance, and
66581         it's too much of a pain to configure and maintain.  We'll ask
66582         people to fix their kernels instead.
66583         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
66584         (NANOSLEEP_BUG_WORKAROUND): Remove.
66585         (xnanosleep): Remove the workaround.
66586
66587 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66588
66589         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
66590         Reported by Derek Price.
66591         (Include): Add "timespec.h".
66592
66593         * modules/xnanosleep (Depends-on): Remove gethrxtime.
66594
66595 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66596
66597         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
66598         to detect nanosleep bug.
66599
66600 2005-03-01  Bruno Haible  <bruno@clisp.org>
66601
66602         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
66603
66604 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
66605
66606         * modules/gethrxtime: New file.
66607         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
66608         (Depends-on): Add gethrxtime.
66609         (configure.ac): Add gl_XNANOSLEEP.
66610         (Makefile.am): Remove lib_SOURCES line.
66611
66612 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66613
66614         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
66615         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
66616
66617 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66618
66619         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
66620         * lib/timespec.h (gettime): Return void, since it always
66621         succeeds now.  All uses changed.
66622         * lib/gettime.c (gettime) Likewise.
66623         [HAVE_NANOTIME]: Prefer nanotime.
66624         Assume gettimeofday succeeds, as POSIX requires.
66625         Assime time () succeeds, since other code already does.
66626         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
66627         (timespec_subtract): Remove.
66628         (NANOSLEEP_BUG_WORKAROUND): New constant.
66629         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
66630         things considerably.  Use it only on GNU/Linux hosts, since the
66631         workaround shouldn't be needed elsewhere.
66632
66633 2005-02-24  Bruno Haible  <bruno@clisp.org>
66634
66635         * modules/gettext (Files): Add m4/glibc2.m4.
66636
66637 2005-02-24  Bruno Haible  <bruno@clisp.org>
66638
66639         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
66640         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
66641         * m4/progtest.m4:
66642         Update from GNU gettext 0.14.2.
66643         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
66644
66645 2005-02-24  Bruno Haible  <bruno@clisp.org>
66646
66647         * lib/localcharset.c: Update from GNU gettext 0.14.2.
66648         * lib/config.charset: Update from GNU gettext 0.14.2.
66649
66650 2005-02-24  Bruno Haible  <bruno@clisp.org>
66651
66652         * lib/gettext.h: Update from GNU gettext 0.14.2.
66653
66654 2005-02-23  Simon Josefsson  <jas@extundo.com>
66655
66656         * m4/iconvme.m4: New file.
66657
66658 2005-02-23  Jim Meyering  <jim@meyering.net>
66659
66660         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
66661         change.
66662         Thanks to Bruno Haible for catching it.
66663
66664 2005-02-22  Simon Josefsson  <jas@extundo.com>
66665
66666         * modules/iconvme: New file.
66667
66668         * MODULES.html.sh: Add iconvme.
66669
66670 2005-02-22  Simon Josefsson  <jas@extundo.com>
66671
66672         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
66673
66674 2005-02-22  Simon Josefsson  <jas@extundo.com>
66675
66676         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
66677
66678 2005-02-22  Jim Meyering  <jim@meyering.net>
66679
66680         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
66681         s/ifndef/ifdef/.
66682
66683 2005-02-20  Neil Conway  <neilc@samurai.com>
66684
66685         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
66686         returned by OSX/Darwin if the specified buffer is not large
66687         enough for the hostname.
66688
66689 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66690
66691         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
66692         pass it to _help, otherwise the latter coredumps trying to
66693         dereference state.root_argp.
66694
66695 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66696
66697         * modules/chdir-long (Depends-on): Add memrchr.
66698         * modules/memrchr (Files): Add lib/memrchr.h.
66699         (Include): "memrchr.h".
66700
66701 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66702
66703         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
66704
66705 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66706
66707         * lib/memrchr.h: New file.
66708         * lib/chdir-long.c: Include it.
66709         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
66710         Don't bother including stddef.h.
66711
66712 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66713
66714         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
66715         inclusion.
66716         Include <sys/types.h>, for dev_t.
66717         (ME_DUMMY, ME_REMOTE): Move from here....
66718         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
66719         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
66720         Dmitry V. Levin.
66721         Include mountlist.h first, to test the interface.
66722
66723 2005-01-29  Bruno Haible  <bruno@clisp.org>
66724
66725         * lib/progname.c (program_name): Initialize.
66726         Needed when linking statically on MacOS X.
66727
66728 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66729
66730         Sync from coreutils.
66731         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
66732         (Depends-on): Add c-strtod.
66733         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
66734
66735 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66736
66737         Sync from coreutils.
66738         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
66739
66740         Remove files that are specific to coreutils.
66741         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
66742
66743 2005-01-28  Bruno Haible  <bruno@clisp.org>
66744
66745         * modules/javacomp: New file.
66746         * MODULES.html.sh (Java): Add javacomp.
66747
66748 2005-01-28  Bruno Haible  <bruno@clisp.org>
66749
66750         * m4/javacomp.m4: New file, from GNU gettext.
66751
66752 2005-01-28  Bruno Haible  <bruno@clisp.org>
66753
66754         * lib/javacomp.sh.in: New file, from GNU gettext.
66755         * lib/javacomp.h: New file, from GNU gettext.
66756         * lib/javacomp.c: New file, from GNU gettext.
66757
66758 2005-01-26  Simon Josefsson  <jas@extundo.com>
66759
66760         * lib/gai_strerror.c: Use GPL in header.
66761
66762 2005-01-26  Bruno Haible  <bruno@clisp.org>
66763
66764         * modules/javaexec: New file.
66765         * MODULES.html.sh (Java): Add javaexec.
66766
66767 2005-01-26  Bruno Haible  <bruno@clisp.org>
66768
66769         * m4/javaexec.m4: New file, from GNU gettext.
66770
66771 2005-01-26  Bruno Haible  <bruno@clisp.org>
66772
66773         * lib/javaexec.sh.in: New file, from GNU gettext.
66774         * lib/javaexec.h: New file, from GNU gettext.
66775         * lib/javaexec.c: New file, from GNU gettext.
66776
66777 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66778
66779         * modules/lchown (Depends-on): Remove lchown.h
66780
66781 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66782
66783         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
66784         must be defined if the header file was not found, in order
66785         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
66786
66787 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66788
66789         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
66790         initializers for struct pentry_state.
66791         (__argp_error): Check return value of __asprintf
66792         (__argp_failure): Translate error message
66793
66794         * lib/argp-parse.c: Removed braces around the expansion of N_()
66795
66796 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66797
66798         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66799         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66800         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66801         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66802         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66803         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66804         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66805         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66806         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66807         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66808         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66809         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66810         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66811         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66812         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66813         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66814         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66815         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66816         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66817         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66818         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66819         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66820         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66821         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66822         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66823         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66824         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66825         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66826         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66827         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66828         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66829         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66830         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66831         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66832         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66833         Use an all-permissive copyright notice, recommended by RMS.
66834
66835 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66836
66837         * modules/chdir-long (Depends-on): Remove mempcpy.
66838
66839 2005-01-21  Jim Meyering  <jim@meyering.net>
66840
66841         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66842         same value as for Solaris 9.
66843
66844         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66845         component length.  This included changing the parameter to be
66846         of type `char *' rather than `char const *'.
66847         * lib/chdir-long.h (chdir_long): Update prototype.
66848
66849         * lib/openat.c (fdopendir, fstatat): New functions.
66850         * lib/openat.h: Include headers required for use of DIR and struct
66851         stat.
66852         [AT_SYMLINK_NOFOLLOW]: Define.
66853         (fdopendir, fstatat): Add prototypes.
66854
66855 2005-01-21  Bruno Haible  <bruno@clisp.org>
66856
66857         * modules/classpath: New file.
66858         * MODULES.html.sh (Java): Add classpath.
66859
66860 2005-01-21  Bruno Haible  <bruno@clisp.org>
66861
66862         * lib/classpath.h: New file, from GNU gettext.
66863         * lib/classpath.c: New file, from GNU gettext.
66864
66865 2005-01-20  Simon Josefsson  <jas@extundo.com>
66866
66867         * modules/version-etc-fsf: New file.
66868
66869 2005-01-20  Simon Josefsson  <jas@extundo.com>
66870
66871         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66872         * lib/version-etc.c: Remove version_etc_copyright.
66873         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66874         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66875
66876 2005-01-20  Simon Josefsson  <jas@extundo.com>
66877
66878         * lib/base64.h (isbase64): Add.
66879
66880         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66881         using a unsigned prototype, don't inline.
66882         (base64_decode): Use it.
66883
66884 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66885
66886         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66887         it.
66888
66889 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66890
66891         * lib/save-cwd.c (save_cwd): Remove code to support the case
66892         where fchdir is missing or flaky.
66893
66894 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66895
66896         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66897
66898 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66899
66900         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66901         AC_LIBSOURCES now does this.
66902         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66903         with new ullong_max module.
66904
66905 2005-01-19  Bruno Haible  <bruno@clisp.org>
66906
66907         * modules/sh-quote: New file.
66908         * MODULES.html.sh (Executing programs): Add sh-quote.
66909
66910 2005-01-19  Bruno Haible  <bruno@clisp.org>
66911
66912         * lib/sh-quote.h: New file, from GNU gettext.
66913         * lib/sh-quote.c: New file, from GNU gettext.
66914
66915 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66916
66917         Merge from coreutils.
66918         * m4/ullong_max.m4: New file.
66919         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66920         (gl_MACROS): Assume localeconv exists.
66921
66922 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66923
66924         Merge changes from coreutils, as described below in several
66925         changelogs dated today.
66926
66927         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66928         (O_DIRECTORY): Remove; not needed here, since "." must be
66929         a directory.  All uses removed.
66930         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66931         universal on Suns, and we also need to test for IRIX.
66932         Revamp code to use 'if' rather than '#if'.
66933         Avoid unnecessary comparison of cwd->desc to 0.
66934
66935         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66936         for known valid error numbers rather than observed invalid ones.
66937
66938 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66939
66940         * modules/ullong_max: New file.
66941
66942         * modules/chdir-long, modules/openat: New files.
66943         * modules/save-cwd (Depends-on): Depend on chdir-long.
66944         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66945
66946 2005-01-18  Jim Meyering  <jim@meyering.net>
66947
66948         Merge from coreutils.
66949         * m4/chdir-long.m4, m4/openat.m4: New files.
66950         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66951         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66952         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66953         is sane and DOES follow symlinks.  Besides, testing 20 different
66954         systems found no broken chown implementations.
66955         Prompted by a change in rsync's copy of this macro.
66956         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66957
66958         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66959
66960         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66961         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66962         NULL-means-set-to-current-time semantics.
66963         Remove temporary file immediately, rather than waiting
66964         for configure's at-exit trap code to do it.
66965
66966 2005-01-18  Jim Meyering  <jim@meyering.net>
66967
66968         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66969
66970         * lib/utimens.c (futimens): Account for the fact that futimes
66971         can also fail with errno == ENOSYS or errno == ENOENT.
66972         Patch from Dmitry V. Levin.
66973
66974         Change the name of the robust chdir function from chdir to chdir_long.
66975         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66976         (restore_cwd): Use chdir_long, not chdir.
66977         * lib/chdir-long.c: Renamed from chdir.c.
66978         * lib/chdir-long.h: Renamed from chdir.h.
66979         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66980         Hurd.
66981
66982 2005-01-18  Bruno Haible  <bruno@clisp.org>
66983
66984         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66985         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66986         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66987         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66988         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66989         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66990         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66991         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66992         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66993         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66994         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66995         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66996         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66997         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66998         Use an all-permissive copyright notice, recommended by RMS.
66999
67000 2005-01-18  Bob Proulx  <bob@proulx.com>
67001
67002         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
67003         simplify offsetof() macro construct to avoid compile failure with
67004         native HP-UX 11.0 ANSI C compiler.
67005
67006 2005-01-17  Bruno Haible  <bruno@clisp.org>
67007
67008         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
67009         redundant because stpncpy.m4 takes care of it.
67010
67011 2005-01-17  Bruno Haible  <bruno@clisp.org>
67012
67013         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
67014
67015 2005-01-17  Bruno Haible  <bruno@clisp.org>
67016
67017         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
67018         used.
67019
67020 2005-01-17  Bruno Haible  <bruno@clisp.org>
67021
67022         * lib/fwriteerror.h (fwriteerror): Change specification to include
67023         fclose.
67024         * lib/fwriteerror.c: Include <stdbool.h>.
67025         (fwriteerror): At the end, close the file stream. Record whether
67026         stdout was already closed.
67027
67028 2005-01-17  Bruno Haible  <bruno@clisp.org>
67029
67030         * lib/execute.c (environ): Declare if needed.
67031         * lib/pipe.c (environ): Likewise.
67032         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
67033
67034 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67035
67036         * modules/argp: Depend on vsnprintf
67037
67038 2005-01-10  Jim Meyering  <jim@meyering.net>
67039
67040         * modules/closeout (Depends-on): Add atexit.
67041
67042 2005-01-06  Bruno Haible  <bruno@clisp.org>
67043
67044         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
67045
67046 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67047
67048         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
67049         definitions to be after all include files, to avoid collisions.
67050         Problem reported by Bob Proulx.
67051
67052 2005-01-04  Jim Meyering  <jim@meyering.net>
67053
67054         Changes imported from coreutils.
67055         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
67056         as the mkstemp template, use a temporary directory and an
67057         8.3-friendly template to avoid trouble on systems like DJGPP.
67058         Reported by Juan M. Guerrero via Stepan Kasal.
67059         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
67060         close. Remove the temporary directory right away, rather than waiting
67061         for configure's at-exit trap code to do it.
67062         Suggestion from Stepan Kasal.
67063
67064 2005-01-01  Simon Josefsson  <jas@extundo.com>
67065
67066         * gnulib-tool: Print #include directives when --import'ing.
67067
67068 2004-12-28  Simon Josefsson  <jas@extundo.com>
67069
67070         * tests/test-base64.c: Include required header files.  Remove
67071         unused variables.
67072
67073 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67074
67075         * modules/error (Depends-on): Remove gettext.
67076
67077 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67078
67079         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
67080         not needed.  This removes a dependency on the gettext module.
67081         [defined _LIBC]: Do not include <libintl.h>; not needed.
67082
67083 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67084
67085         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
67086         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
67087
67088 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67089
67090         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
67091         HAVE_DECL_STRTOLD.
67092
67093 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67094
67095         * modules/getdate (Depends-on): Remove alloca-opt.
67096
67097 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67098
67099         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
67100
67101 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67102
67103         * lib/argp-parse.c: Include <stddef.h>.
67104         (alignof, alignto): New macros.
67105         (parser_init): Don't assume that void * is aligned sufficiently
67106         for struct option.
67107
67108         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
67109         need to extend the stack.
67110         (YYINITDEPTH): New macro, so that the initial stack isn't overly
67111         large.
67112
67113 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67114
67115         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
67116
67117 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67118
67119         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
67120         (2004-10-24) change.  Apparently this was a false alarm.
67121
67122         * modules/getdate: Depend on alloca-opt, not alloca.
67123
67124 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67125
67126         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
67127         Remove now-obsolete comment about AIX.
67128         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
67129         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
67130         (YYMAXDEPTH): New macro.
67131
67132 2004-12-18  Simon Josefsson  <jas@extundo.com>
67133
67134         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
67135
67136 2004-12-18  Bruno Haible  <bruno@clisp.org>
67137
67138         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
67139
67140 2004-12-18  Bruno Haible  <bruno@clisp.org>
67141
67142         * lib/fatal-signal.c (fatal_signals): Make non-const.
67143         (init_fatal_signals): New function.
67144         (uninstall_handlers, install_handlers): Ignore signals that were set to
67145         SIG_IGN.
67146         (at_fatal_signal): Call init_fatal_signals.
67147         (init_fatal_signal_set): Likewise. Ignore signals that were set to
67148         SIG_IGN.
67149         Reported by Paul Eggert.
67150
67151 2004-12-18  Bruno Haible  <bruno@clisp.org>
67152
67153         * doc/alloca.texi: New file.
67154         * doc/alloca-opt.texi: New file.
67155
67156 2004-12-17  Jim Meyering  <jim@meyering.net>
67157
67158         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
67159         Otherwise, install-sh could exit with improper exit status when
67160         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
67161
67162 2004-12-16  Simon Josefsson  <jas@extundo.com>
67163
67164         * tests/test-base64.c: Add license.
67165
67166 2004-12-15  Stepan Kasal  <address@hidden>
67167
67168         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
67169
67170 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
67171
67172         * modules/getcwd (Files): Add m4/d-ino.m4.
67173         Suggested by Mark D. Baushke.
67174
67175 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67176
67177         * lib/getdate.y (textint): New member "negative".
67178         (time_zone_hhmm): New function.
67179         Expect 14 shift-reduce conflicts, not 13.
67180         (o_colon_minutes): New rule.
67181         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
67182         (yylex): Set the "negative" member of signed numbers.
67183
67184 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67185
67186         * doc/getdate.texi (Time of day items, Time zone items):
67187         Describe new formats +00:00, UTC+00:00.
67188
67189 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67190
67191         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
67192         spurious "-l"s.  Problem reported by Stepan Kasal.
67193
67194 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
67195
67196         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
67197         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
67198
67199 2004-12-04  Simon Josefsson  <jas@extundo.com>
67200
67201         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
67202         Vandoorselaere <yoann@prelude-ids.org>.
67203
67204 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67205
67206         Changes imported from coreutils.
67207         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
67208         exist.
67209         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
67210
67211 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67212
67213         Changes imported from coreutils.
67214         * lib/hard-locale.c: Assume <locale.h> exists.
67215         Include "strdup.h".
67216         (GLIBC_VERSION): New macro.
67217         (hard_locale): Assume setlocale exists.
67218         Rewrite to avoid #ifdef.
67219         Use strdup rather than malloc + strcpy.
67220         * lib/human.c: Assume <locale.h> exists.
67221         (human_readable): Assume localeconv exists.
67222
67223 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67224
67225         * modules/hard-locale (Depends-on): Add strdup.
67226
67227 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67228
67229         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
67230         convert T2, not T.  (Imported from libc.)
67231
67232 2004-11-30  Simon Josefsson  <jas@extundo.com>
67233
67234         * modules/restrict (License): Change to LGPL.
67235
67236 2004-11-30  Simon Josefsson  <jas@extundo.com>
67237
67238         * m4/restrict.m4: Add copyright and copying conditions.
67239
67240 2004-11-30  Simon Josefsson  <jas@extundo.com>
67241
67242         * m4/base64.m4: New file.
67243
67244 2004-11-30  Simon Josefsson  <jas@extundo.com>
67245
67246         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
67247         base64.
67248
67249         * tests/test-base64.c: New file.
67250
67251         * modules/base64: New file.
67252
67253 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67254
67255         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
67256         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
67257
67258         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
67259
67260 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67261
67262         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
67263         (__getcwd.c): Don't restore errno; glibc doesn't.
67264         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
67265         first, falling back to our code only if its results look suspicious.
67266         Ensure that the resulting buffer is only as large as necessary.
67267
67268         * lib/readutmp.c: Include readutmp.h first.
67269         Include <errno.h>, since readutmp.h no longer does that.
67270         * lib/readutmp.h: Don't include <errno.h>,
67271         <sys/param.h>, <time.h>; not needed to establish interface.
67272         (errno): Remove decl.
67273         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
67274         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
67275         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
67276
67277 2004-11-28  Simon Josefsson  <jas@extundo.com>
67278
67279         * lib/base64.h, base64.c: New file.
67280
67281 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67282
67283         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
67284
67285 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67286
67287         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
67288         (Depends-on): Remove pathmax, same.  Add mempcpy.
67289         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
67290         (Makefile.am): Append getcwd.h to lib_SOURCES.
67291         (Include): Add getcwd.h.
67292         (Maintainer): Change from Jim Meyering to "all, glibc",
67293         since getdate now uses intended-for-glibc code.
67294         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
67295         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
67296
67297 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67298
67299         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
67300         HP's ANSI C compiler.
67301         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
67302         Declaring int functions causes warnings on some modern systems and
67303         shouldn't be needed to compile on ancient ones.
67304         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
67305         defined.
67306
67307         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
67308         with the following changes.
67309         (__set_errno): Parenthesize properly.
67310         Include <stdbool.h>.
67311         (MIN, MAX, MATCHING_INO): New macros.
67312         (__getcwd): Define with prototype, not K&R form.
67313         Use heuristics to allocate default buffer on stack if possible.
67314         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
67315         behavior, and to avoid the PATH_MAX limit when computing
67316         ../../../../...
67317         Use MATCHING_INO to compare inode number to file.
67318         Check for arithmetic overflow in size calculations.
67319         Fix bug in reallocation of dot array that caused getcwd to fail
67320         on directories nested deeper than 75.
67321         Be more careful about saving errno on error.
67322         Do not use realloc; use only free+malloc, as this is a bit
67323         more flexible and avoids a needless copy operation.
67324         Do not inspect st_dev and st_ino for symbolic links; POSIX
67325         doesn't specify the latter.
67326         Check for closedir errors.
67327         Avoid needless casts.
67328         Use "#ifdef weak_alias" around weak_alias, to be like other
67329         glibc code.
67330         The following changes to getcwd.c have effect only when used in
67331         gnulib; they have no effect inside glibc proper.
67332         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
67333         as alloca isn't used.
67334         (alloca, __alloca): Likewise.
67335         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
67336         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67337         unconditionally, as gnulib assumes C89 or better.
67338         Do not include <sys/param.h>.
67339         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
67340         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
67341         better.
67342         (NULL) [!defined NULL]: Remove; we assume C89 or better.
67343         Include <dirent.h> in a way that is compatible with modern Autoconf.
67344         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
67345         New macros, if not already defined.
67346         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
67347         Use "_LIBC", not "defined _LIBC", for consistency.
67348         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
67349         a mempcpy module.
67350         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
67351         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
67352         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
67353         credit only to Jim Meyering and adjust the copyright dates.
67354         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
67355         <stdlib.h>, <unistd.h>, "pathmax.h".
67356         Instead, include "xgetcwd.h" (first) and "getcwd.h".
67357         (INITIAL_BUFFER_SIZE): Remove.
67358         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
67359
67360 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67361
67362         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
67363         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
67364         Use the _ONCE methods, for efficiency.
67365         Check for fcntl.h.  In test program, include <errno.h>
67366         and <fcntl.h> if available.  Remove old K&R cruft from
67367         test program.  Check for common errors in GNU/Linux,
67368         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
67369         don't do AC_LIBOBJ, as that's getcwd.m4's job.
67370         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
67371         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
67372         name accordingly.
67373         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
67374         accommodate new getcwd.c.
67375         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
67376         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
67377         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
67378         that's all we need now.
67379
67380 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67381
67382         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
67383         argp-parse.c depends on getopt internals, that means we should
67384         always use our getopt, to be on the safe side.
67385         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
67386         order not to spoil the result of an eventual previous invocation
67387         of gl_GETOPT_SUBSTITUTE.
67388
67389 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67390
67391         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
67392         redefinition warnings. To avoid them, include the defines
67393         in `#if !defined __need_getopt ... #endif'. The only place
67394         where __getopt_argv_const is used is in definitions
67395         of getopt_long and getopt_long_only below, which are as well
67396         protected by `#ifndef __need_getopt'.
67397         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
67398         __need_getopt after including <stdio.h> and <unistd.h> These
67399         headers might have defined it.
67400
67401 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67402
67403         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
67404
67405 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67406
67407         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
67408         (futimens): New function, which uses futimes if available.
67409         (futimens, utimens): Support timespec==NULL, with same semantics
67410         as utime and utimens.
67411         * lib/utimens.h (futimens): New decl.
67412
67413 2004-11-23  Jim Meyering  <jim@meyering.net>
67414
67415         * lib/getopt_.h: Remove trailing blanks.
67416
67417 2004-11-23  Jim Meyering  <jim@meyering.net>
67418
67419         * lib/__fpending.c: Add comment.
67420
67421 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
67422
67423         * modules/canonicalize (Depends-on): Add xreadlink.
67424         Problem reported by James Youngman.
67425
67426 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67427
67428         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
67429         New macros.
67430         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
67431         optopt): Use them instead of invoking ## directly; otherwise, the
67432         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
67433
67434 2004-11-19  Bruno Haible  <bruno@clisp.org>
67435
67436         * lib/strtok_r.c: Move comments from here...
67437         * lib/strtok_r.h: ... to here.
67438
67439 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67440
67441         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
67442         implementations that mishandle size_t overflow.
67443
67444 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67445
67446         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
67447         might fail.  Problem reported by Yoann Vandoorselaere.
67448         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
67449         implementations that mishandle size_t overflow.
67450
67451 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67452
67453         * modules/canon-host (Depends-on): Add strdup.
67454
67455 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67456
67457         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
67458
67459 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67460
67461         * lib/canon-host.c: Include "strdup.h".
67462         (canon_host): Use getaddrinfo if available, so that IPv6 works.
67463         Use strdup instead of malloc/strcpy to duplicate strings.
67464
67465         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
67466         (human_space_before_unit): New constant.
67467         * lib/human.c (human_readable): Support it.
67468
67469         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
67470         (xgetcwd): Set errno correctly when failing.
67471         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
67472         the failure is actually due to a PATH_MAX problem.
67473
67474         Further getopt changes to make it more likely that glibc will
67475         buy the changes back.
67476         * lib/getopt.c (POSIXLY_CORRECT): New constant.
67477         (getopt): Use it, so to preserve glibc semantic
67478         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
67479         when compiling for libc.
67480         * lib/getopt_.h (__getopt_argv_const): Bring it back.
67481         (getopt_long, getopt_long_only): Use it.
67482
67483         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67484         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
67485         (getopt): Argv is now char * const *, as per standard.
67486         (_getopt_internal_r, _getopt_internal): Argv is now char **,
67487         not char *__getopt_argv_const *.
67488         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67489         _getopt_long_only_r): Likewise.
67490         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
67491         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67492         _getopt_long_r, _getopt_long_only_r): Likewise.
67493         * lib/getopt_.h (__getopt_argv_const): Remove.
67494         (getopt): Argv is now char * const *, as per standard.
67495
67496         * lib/getdate.y (tORDINAL): New token.
67497         (day, relunit): Allow it for relative times.
67498         (relative_time_table): Use tORDINAL for ordinals.
67499
67500 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67501
67502         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
67503         Document that "second" isn't allowed as an ordinal number.
67504
67505 2004-11-16  Jim Meyering  <jim@meyering.net>
67506
67507         * modules/closeout (Depends-on): Add fpending.
67508
67509 2004-11-15  Jim Meyering  <jim@meyering.net>
67510
67511         * lib/closeout.c: Include "__fpending.h" once again.
67512         Include <stdbool.h>.
67513         (close_stdout): Don't fail just because stdout was closed initially,
67514         since some programs don't write to stdout in the normal course of
67515         operation (other than --version and --help), and we don't want this
67516         function to make e.g. `touch file >&-' fail.
67517         But do fail if it was closed and someone has tried to write to it.
67518         E.g., `printf foo >&-' must fail.
67519
67520 2004-11-13  Jim Meyering  <jim@meyering.net>
67521
67522         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
67523
67524 2004-11-12  Simon Josefsson  <jas@extundo.com>
67525
67526         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
67527         small doc fix is still pending.
67528
67529 2004-11-11  Simon Josefsson  <jas@extundo.com>
67530
67531         * modules/strtok_r: New file.
67532
67533         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67534         strtok_r.
67535
67536 2004-11-11  Simon Josefsson  <jas@extundo.com>
67537
67538         * m4/strtok_r.m4: New file.
67539
67540         * m4/getopt.m4: Replace opterr.
67541
67542 2004-11-11  Simon Josefsson  <jas@extundo.com>
67543
67544         * lib/strtok_r.h, strtok_r.c: New file.
67545
67546 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67547
67548         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
67549         of replacing opterr, getopt, etc.  This should handle the
67550         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
67551
67552 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67553
67554         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
67555         we can stop lying to compilers about the constness of argv when we
67556         are compiled outside glibc.
67557         (getopt, getopt_long, getopt_long_only): Use it.
67558         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67559         _getopt_internal, getopt): Likewise.
67560         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67561         _getopt_long_only_r): Likewise.
67562         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67563         _getopt_long_r, _getopt_long_only_r): Likewise.
67564
67565         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
67566         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
67567         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
67568         the other external symbols.
67569         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
67570         declaration, since the above renaming now works around collisions.
67571
67572 2004-11-11  Jim Meyering  <jim@meyering.net>
67573
67574         * lib/linebreak.c: Remove trailing blanks.
67575         * lib/alloca_.h: Likewise.
67576         * lib/acosl.c: Likewise.
67577         * lib/euidaccess.c: Likewise.
67578         * lib/allocsa.h: Likewise.
67579
67580 2004-11-10  Simon Josefsson  <jas@extundo.com>
67581
67582         * m4/getaddrinfo.m4: New file.
67583
67584 2004-11-10  Simon Josefsson  <jas@extundo.com>
67585
67586         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
67587
67588 2004-11-10  Simon Josefsson  <jas@extundo.com>
67589
67590         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67591         getaddrinfo.
67592
67593         * modules/getaddrinfo: New file.
67594
67595 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67596
67597         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
67598
67599 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67600
67601         * lib/mktime.c (SHR): New macro, which is a portable
67602         substitute for >> that should work even on Crays.
67603         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
67604         Problem reported by Mark D. Baushke in
67605         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
67606         * lib/getdate.y (SHR): Likewise.
67607         (tm_diff): Use it.
67608         * lib/strftime.c (SHR): Likewise.
67609         (tm_diff): Use it.
67610         * lib/quotearg.c (struct quoting_options): Use unsigned int for
67611         quote_these_too, so that right shifts are well defined.  All uses
67612         changed.
67613
67614 2004-11-10  Jim Meyering  <jim@meyering.net>
67615
67616         Ensure that no close failure goes unreported.
67617         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
67618         return early when it seems there's nothing to flush.
67619         Don't include __fpending.h.
67620
67621 2004-11-10  Jim Meyering  <jim@meyering.net>
67622
67623         * modules/closeout (Depends-on): Remove fpending.
67624
67625 2004-11-10  Jim Meyering  <jim@meyering.net>
67626
67627         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
67628
67629 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67630
67631         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
67632         gl_FUNC_STRFTIME.
67633         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
67634         and AC_REQUIRE when possible, to avoid duplicate checks.
67635         Check for <wchar.h>.
67636
67637 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67638
67639         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
67640
67641 2004-11-09  Bruno Haible  <bruno@clisp.org>
67642
67643         * m4/sockpfaf.m4: New file.
67644
67645 2004-11-05  Bruno Haible  <bruno@clisp.org>
67646
67647         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
67648         Reported by Mark D. Baushke <mdb@cvshome.org>.
67649
67650 2004-11-04  Bruno Haible  <bruno@clisp.org>
67651
67652         2004-09-11  Bruno Haible  <bruno@clisp.org>
67653                 * allocsa.valgrind: New file.
67654         2004-02-06  Bruno Haible  <bruno@clisp.org>
67655                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
67656                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
67657                 Reported by Christopher Seip <chris.seip@hp.com>.
67658
67659 2004-11-04  Bruno Haible  <bruno@clisp.org>
67660
67661         * modules/allocsa (Files): Add lib/allocsa.valgrind.
67662         (Makefile.am): Distribute it.
67663
67664 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
67665
67666         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
67667         with errno == ERANGE if the buffer is too small.
67668         Problem reported by Mark D. Baushke.
67669
67670 2004-11-03  Albert Chin  <china@thewrittenword.com>
67671             Paul Eggert  <eggert@cs.ucla.edu>
67672
67673         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
67674         equivalent, substitute $ac_type for equivalent type rather than
67675         blindly using uint32_t *always* which won't work if uint32_t is not
67676         available.  Define _UINT32_T to work around typedef of uint32_t if
67677         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
67678         2.5.1.
67679
67680 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67681
67682         * m4/jm-macros.m4: Sync from coreutils.
67683         (gl_MACROS): Check for mbrlen, for pathchk.
67684         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
67685
67686 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67687
67688         * lib/xreadlink.c (MAXSIZE): New macro.
67689         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
67690         size does not exceed MAXSIZE.  Avoid cast.
67691         As suggested by Mark D. Baushke in
67692         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
67693         if readlink fails with buffer size just under MAXSIZE, try again
67694         with MAXSIZE.
67695
67696 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67697
67698         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
67699
67700 2004-11-02  Derek R. Price  <derek@ximbiot.com>
67701         and  Paul Eggert  <eggert@cs.ucla.edu>
67702
67703         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
67704         (get_date): Overparenthesize to avoid GCC warning.
67705
67706 2004-11-02  Bruno Haible  <bruno@clisp.org>
67707
67708         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
67709         returns void.
67710
67711 2004-11-02  Bruno Haible  <bruno@clisp.org>
67712
67713         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
67714         function returns void.
67715
67716 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67717
67718         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
67719         fflush_unlocked, flockfile, funlockfile, funlockfile,
67720         fputs_unlocked, putc_unlocked.
67721
67722 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67723
67724         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67725         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
67726         already declared.
67727
67728 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67729
67730         * modules/getdate (Files): Add doc/getdate.texi.
67731         (Depends-on): Add setenv, xalloc.
67732
67733 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67734
67735         * lib/getdate.y: Add support for TZ="foo" within a date string.
67736         Fix some bugs near time_t boundaries.  Reject dates with
67737         out-of-range components, e.g., "Sept 31".
67738         Include <stdlib.h>, "setenv.h", "xalloc.h".
67739         (ISDIGIT_LOCALE): Remove; unused.
67740         Note that the TZ and time functions used here are not reentrant.
67741         (mktime_ok, get_tz): New functions.
67742         (TZBUFSIZE): New constant.
67743         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
67744         This requires that we sometimes generate our own TZ="XXX..." setting.
67745
67746 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67747
67748         * doc/getdate.texi: New file, from coreutils with modifications for
67749         the new TZ parsing.
67750
67751 2004-10-27  Derek R. Price  <derek@ximbiot.com>
67752
67753         * lib/mktime.c (not_equal_tm): Remove redundant check.
67754
67755 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67756
67757         * modules/regex (lib_SOURCES): Add regex.c.
67758         Reported by James Youngman in
67759         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
67760
67761 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67762
67763         * lib/getdate.y: Use Bison 1.875 features, and some minor
67764         code cleanups.  This change does not affect semantics.
67765         Don't include <stdlib.h>; no longer needed.
67766         Don't include unlocked-io.h; only the "#if TEST" code uses
67767         stdio, and performance isn't crucial there.
67768         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
67769         Bison 1.875 features as described below.
67770         All uses of "PC." replaced by "pc->".
67771         (YYSTYPE): Add a forward declaration.
67772         (yylex, yyerror): Use full prototypes in forward decls.
67773         Use "%pure-parser" rather than obsolescent "%pure_parser".
67774         Use %parse-param and %lex-param instead of obsolescent
67775         YYPARSE_PARAM and YYLEX_PARAM.
67776         (meridian_table, month_and_day_table, time_units_table,
67777         relative_time_table, time_zone_table, military_table,
67778         lookup_zone, lookup_word, get_date):
67779         Use NULL instead of 0 where appropriate.
67780         (to_hour): Avoid abort (), to avoid a dependency on
67781         stdlib.h.
67782         (yyerror, yylex): Now accepts parser_control * arg.
67783         (main) [TEST]: Use '\0' rather than 0 for char.
67784
67785 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67786
67787         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
67788
67789 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67790
67791         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
67792         It's now the caller's responsibility to handle the case where
67793         !HAVE_GETPAGESIZE && !defined getpagesize.
67794
67795         * lib/mktime.c (leapyear): Arg is long int, not int.
67796
67797 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67798
67799         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67800
67801 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67802
67803         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67804         missing.  Problem reported by James Youngman.
67805
67806 2004-10-16  Simon Josefsson  <jas@extundo.com>
67807
67808         * gnulib-tool: Fix comments.  Fix parse problem.
67809         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67810
67811 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67812
67813         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67814         implementation of getopt_long.  Problem reported by Alexander Taler in:
67815         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67816
67817 2004-10-15  Bruno Haible  <bruno@clisp.org>
67818
67819         * gnulib-tool: Untabify. Initialize supplied_libname.
67820         (func_usage): More homogenous output.
67821         (func_modules_transitive_closure, func_modules_to_filelist,
67822         func_emit_lib_Makefile_am): New functions.
67823         (func_import): New function, extracted from big case statement. Use
67824         func_get_license, func_modules_transitive_closure,
67825         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67826         opt_lgpl. Don't use test -a, as it's not portable.
67827         (func_create_testdir): Use func_modules_transitive_closure,
67828         func_modules_to_filelist, func_emit_lib_Makefile_am.
67829
67830 2004-10-15  Bruno Haible  <bruno@clisp.org>
67831
67832         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67833
67834 2004-10-15  Bruno Haible  <bruno@clisp.org>
67835
67836         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67837         the portions belonging to each module.
67838         Suggested by Derek Robert Price <derek@ximbiot.com>.
67839
67840 2004-10-12  Simon Josefsson  <jas@extundo.com>
67841
67842         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67843         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67844         to real functions.
67845
67846 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67847
67848         * modules/vsnprintf: New file.
67849
67850 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67851
67852         * m4/vsnprintf.m4: New file.
67853
67854 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67855
67856         * lib/vsnprintf.h: New file.
67857         * lib/vsnprintf.c: New file.
67858
67859 2004-10-11  Bruno Haible  <bruno@clisp.org>
67860
67861         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67862         vsnprintf.
67863
67864 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67865
67866         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67867
67868 2004-10-07  Bruno Haible  <bruno@clisp.org>
67869
67870         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67871         fits into the provided buffer.
67872
67873 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67874
67875         * lib/diacrit.c, diacrit.h: Add GPL notice.
67876
67877         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67878         notice.
67879         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67880         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67881         This avoids a potential constant-folding bug.
67882
67883 2004-10-05  Bruno Haible  <bruno@clisp.org>
67884
67885         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67886         for the declaration of strsep.
67887
67888 2004-10-05  Bruno Haible  <bruno@clisp.org>
67889
67890         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67891
67892 2004-10-04  Simon Josefsson  <jas@extundo.com>
67893
67894         * modules/memmem: New file.
67895         * tests/test-memmem.c: New file.
67896         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67897
67898 2004-10-04  Simon Josefsson  <jas@extundo.com>
67899
67900         * m4/memmem.m4: New file.
67901
67902 2004-10-04  Simon Josefsson  <jas@extundo.com>
67903
67904         * lib/memmem.h: New file.
67905         * lib/memmem.c: New file, taken from glibc.
67906
67907 2004-10-04  Simon Josefsson  <jas@extundo.com>
67908
67909         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67910         '#ifdef USE_UNLOCKED_IO'.
67911
67912 2004-10-04  Simon Josefsson  <jas@extundo.com>
67913
67914         * config/srclist.txt: Add memmem from glibc.
67915
67916 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67917
67918         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67919
67920         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67921         modules/exclude, modules/getdate, modules/getline,
67922         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67923         modules/getusershell, modules/linebuffer, modules/md5,
67924         modules/mountlist, modules/posixtm, modules/readtokens,
67925         modules/readutmp, modules/regex, modules/sha1,
67926         modules/version-etc, modules/yesno:
67927         Remove dependency on unlocked-io.
67928
67929 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67930
67931         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67932
67933         * m4/unlocked-io.m4: Add copyright notice.
67934         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67935
67936 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67937
67938         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67939         * lib/xmalloc.c (xmemdup): Likewise.
67940         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67941         XFREE): Remove these long-obsolescent macros.
67942         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67943         * lib/xstrdup.c: Remove.
67944
67945         * lib/regex.c (re_comp): Cast gettext return value to char *,
67946         Problem reported by Martin Neitzel via Mark D. Baushke.
67947
67948 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67949
67950         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67951         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67952         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67953         regex.c, sha1.c, version-etc.c, yesno.c:
67954         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67955         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67956         the includer's responsibility.
67957
67958         Sync from coreutils.
67959
67960         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67961         points to the start of a string, as the C Standard says the
67962         resulting behavior is undefined.
67963
67964         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67965         simple -> simple_backups, numbered_existing ->
67966         numbered_existing_backups, numbered -> numbered_backups
67967         to avoid shadowing problems.  All uses changed.
67968         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67969         * lib/backupfile.c (check_extension, numbered_backup):
67970         Rename locals to avoid shadowing 'basename'.
67971         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67972         once.
67973
67974         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67975         * lib/.cvsignore: Add getopt.h.
67976
67977 2004-10-04  Bruno Haible  <bruno@clisp.org>
67978
67979         * modules/README: New file.
67980         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67981         not a module.
67982
67983 2004-10-02  Jim Meyering  <jim@meyering.net>
67984
67985         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67986
67987 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67988
67989         * modules/strsep: New file.
67990
67991 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67992
67993         * m4/strsep.m4: New file.
67994
67995 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67996
67997         * lib/strsep.h: New file.
67998         * lib/strsep.c: New file.
67999
68000 2004-10-01  Simon Josefsson  <jas@extundo.com>
68001
68002         * lib/snprintf.c (snprintf): Handle size==0.
68003
68004 2004-10-01  Simon Josefsson  <jas@extundo.com>
68005             Bruno Haible  <bruno@clisp.org>
68006
68007         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
68008         (snprintf): Declare 'args'.
68009
68010 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
68011
68012         * lib/snprintf.c: Remove comments as to why each header is needed.
68013
68014 2004-10-01  Bruno Haible  <bruno@clisp.org>
68015
68016         * MODULES.html.sh: Add strsep.
68017
68018 2004-09-30  Simon Josefsson  <jas@extundo.com>
68019
68020         * modules/snprintf: New file.
68021
68022 2004-09-30  Simon Josefsson  <jas@extundo.com>
68023
68024         * m4/snprintf.m4: New file.
68025
68026 2004-09-30  Simon Josefsson  <jas@extundo.com>
68027
68028         * lib/snprintf.h, lib/snprintf.c: New files.
68029
68030 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68031
68032         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
68033         (hol_entry_help): Never translate an empty string.
68034         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
68035         * lib/argp.h (OPTION_NO_TRANS): New option.
68036
68037 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68038
68039         * modules/argp (Maintainer): Replace Simon Josefsson
68040         by Sergey Poznyakoff.
68041
68042 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
68045         changes merged back into glibc.
68046
68047 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68048
68049         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
68050
68051 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68052
68053         * lib/xvasprintf.c: Include xalloc.h.
68054         (xvasprintf): Use xalloc_die, not xmalloc_die.
68055
68056 2004-09-29  Bruno Haible  <bruno@clisp.org>
68057
68058         * modules/alloca-opt: New file, derived from modules/alloca.
68059         * modules/allocsa: Depend on alloca-opt instead of alloca.
68060         * modules/setenv: Likewise.
68061         * modules/vasnprintf: Likewise.
68062         * MODULES.html.sh: Add alloca-opt.
68063
68064 2004-09-28  Simon Josefsson  <jas@extundo.com>
68065
68066         * gnulib-tool: New parameter --lgpl, to asseert that modules are
68067         LGPL, and to replace license template from GPL to LGPL.
68068
68069 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68070
68071         * modules/dummy: Change license to LGPL.
68072
68073 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68074
68075         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
68076
68077 2004-09-24  Simon Josefsson  <jas@extundo.com>
68078
68079         * modules/minmax (License): Change from GPL to LGPL.
68080
68081 2004-09-23  Simon Josefsson  <jas@extundo.com>
68082
68083         * gnulib-tool (--import): Typo.
68084
68085 2004-09-23  Simon Josefsson  <jas@extundo.com>
68086
68087         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
68088
68089 2004-09-22  Bruno Haible  <bruno@clisp.org>
68090
68091         * modules/*: Add 'License' field.
68092         * gnulib-tool: Accept --extract-license option.
68093         (func_get_license): New function.
68094
68095 2004-09-21  Bruno Haible  <bruno@clisp.org>
68096
68097         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
68098         Reported by Simon Josefsson.
68099
68100 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68101
68102         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
68103         gl_AC_TYPE_LONG_LONG.
68104
68105 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68106
68107         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
68108
68109 2004-09-18  Simon Josefsson  <jas@extundo.com>
68110         and  Paul Eggert  <eggert@cs.ucla.edu>
68111
68112         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
68113         calls with autoreconf.  Define GL_LIB.
68114
68115 2004-09-14  Karl Berry  <karl@gnu.org>
68116
68117         * config/srclist.txt: unsync setenv.c, sigh.
68118
68119 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68120
68121         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
68122         Problem reported by Bruno Haible in:
68123         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
68124
68125 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68126
68127         * config/srclist.txt: Comment out argp-pvh.c.
68128
68129 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
68130
68131         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
68132         in case some system header has #define'd it.  Problem reported by
68133         Soeren D. Schulze in
68134         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
68135
68136 2004-09-09  Karl Berry  <karl@gnu.org>
68137
68138         * regex.[ch]: delete from the root.  These were supposed to be
68139                 synced with emacs cvs, but this has not happened for about
68140                 a year, and anyway nothing else uses emacs regex.[ch].
68141                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
68142                 lib/regex[.ch] is untouched.
68143
68144 2004-09-09  Bruno Haible  <bruno@clisp.org>
68145
68146         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
68147
68148 2004-09-09  Bruno Haible  <bruno@clisp.org>
68149
68150         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
68151         modifications.
68152         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
68153
68154 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68155
68156         * modules/xvasprintf: New file.
68157         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
68158
68159 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68160
68161         * lib/xvasprintf.h: New file.
68162         * lib/xvasprintf.c: New file.
68163         * lib/xasprintf.c: New file.
68164
68165 2004-09-08  Bruno Haible  <bruno@clisp.org>
68166
68167         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
68168
68169 2004-09-08  Bruno Haible  <bruno@clisp.org>
68170
68171         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
68172         length is > INT_MAX.
68173         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
68174         more.
68175
68176 2004-09-08  Bruno Haible  <bruno@clisp.org>
68177
68178         * lib/stdint_.h: New file, taken from GNU clisp.
68179
68180 2004-09-08  Bruno Haible  <bruno@clisp.org>
68181             Oskar Liljeblad  <oskar@osk.mine.nu>
68182
68183         * modules/stdint: New file.
68184         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
68185
68186 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         Import from coreutils.
68189         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
68190         strings on unbounded length.  alloca's performance benefits aren't
68191         that important here.
68192         (V_STRDUP): Remove.
68193         (parse_with_separator): New function, with most of the internals
68194         of the old parse_user_spec.  Allow user to omit both user and group,
68195         for compatibility with FreeBSD.
68196         Clone only the user name, not the entire spec.
68197         Do not set *uid, *gid unless entirely successful.
68198         Avoid memory leak in some failing cases.
68199         Fix regression for USER.GROUP reported by Dmitry V. Levin in
68200         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
68201         (parse_user_spec): Rewrite to use parse_with_separator.
68202
68203 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68204
68205         * modules/userspec: Don't depend on alloca.
68206
68207 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68208
68209         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
68210
68211 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68212
68213         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
68214         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
68215         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
68216
68217 2004-08-16  Simon Josefsson  <jas@extundo.com>
68218
68219         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
68220         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
68221         Add --dry-run for --import.
68222         Let user provided command line parameters override configure.ac
68223         settings.
68224
68225 2004-08-12  Simon Josefsson  <jas@extundo.com>
68226
68227         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
68228         as discussed with Paul Eggert in threads rooted at
68229         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
68230         and
68231         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
68232         Before, the test was empty, and relied on ELIDE_CODE in source
68233         code.)
68234         (gl_PREREQ_GETOPT): New macro.
68235         (gl_GETOPT): Use them.
68236
68237 2004-08-12  Simon Josefsson  <jas@extundo.com>
68238
68239         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
68240         * lib/getopt_.h: Renamed from getopt.h.
68241
68242 2004-08-12  Simon Josefsson  <jas@extundo.com>
68243
68244         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
68245         Change default library name from libfoo to libgnu.
68246         Now, if you have a configure.ac that says:
68247                 gl_SOURCE_BASE(gl)
68248                 gl_M4_BASE(gl/m4)
68249                 gl_MODULES(error getopt etcetera)
68250                 gl_INIT
68251         you can import all you need by running:
68252                 ../gnulib/gnulib-tool --import
68253
68254         * modules/getopt (Files): Rename getopt.h to getopt_.h.
68255         (Makefile.am): Rewrite, use logic from argz.
68256         (Include): Use <getopt.h> instead of "getopt.h".
68257
68258 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68259
68260         * modules/argp (Files): Add m4/unlocked-io.m4.
68261         (Depends-on): Add extensions.
68262
68263 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68264
68265         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
68266         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
68267         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
68268         Check for program_invocation_name, program_invocation_short_name,
68269         flockfile, funlockfile, features.h, _getopt_long_only_r.
68270
68271 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68272
68273         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
68274         its complicated substitute.
68275         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
68276         and program_invocation_name.
68277         (__argp_basename) [!_LIBC]: Remove; the only use was
68278         replaced by its body.
68279         (__argp_short_program_name): Change condition from
68280         !defined __argp_short_program_name to
68281         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
68282         to match argp-namefrob.h.
68283         (__argp_failure): Don't assume strerror_r returns char *.
68284         * lib/argp-parse.c (N_): Define unconditionally.
68285         (argp_default_options): Fill out initializers with 0 to avoid
68286         gcc warnings.
68287
68288 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68289
68290         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
68291         getopt1.c.
68292
68293 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68294
68295         Merge from coreutils.
68296
68297         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
68298
68299         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
68300         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
68301
68302 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68303
68304         Merge from coreutils.
68305
68306         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
68307         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
68308         for Reliant Unix 5.43.
68309
68310         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
68311         (union fooround): Use uintmax_t, not long int.
68312         The rest is a merge from libc:
68313         [defined _LIBC]: Include <shlib-compat.h>.
68314         (_obstack) [defined _LIBC]: Remove after 2.3.4.
68315
68316         * lib/settime.c (settime): Recode to avoid warning with
68317         Sun Forte C 6U2.
68318
68319         * lib/strverscmp.c: Convert to UTF-8.
68320
68321 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68322
68323         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68324         m4/uintmax_t.m4.
68325
68326 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68327
68328         * modules/xalloc-die: New file.
68329         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
68330
68331         * modules/md5 (Files): Add m4/uint32_t.m4.
68332         * modules/sha1: Renamed from modules/sha.
68333         (Files):
68334         Rename lib/sha.h to lib/sha1.h.
68335         Rename lib/sha.c to lib/sha1.c.
68336         Rename m4/sha.m4 to m4/sha1.m4.
68337         (lib_SOURCES): Likewise.
68338         (configure.ac): Rename gl_SHA to gl_SHA1.
68339         (Include): sha.h -> sha1.h.
68340
68341 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68342
68343         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
68344         * m4/sha1.m4: Renamed from sha.m4.
68345         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
68346
68347 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68348
68349         * lib/obstack.h (obstack_empty_p):
68350         Don't assume that chunk->contents is suitably aligned.
68351         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
68352         Likewise. Problem reported by Benno in
68353         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
68354
68355         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
68356         readable.  This could be improved further but it'd take some work.
68357
68358 2004-08-08  Simon Josefsson  <jas@extundo.com>
68359
68360         * modules/xgethostname (Depends-on): Remove exit and error (not
68361         used).
68362
68363         * modules/getpass-gnu: Add getpass.h.
68364         (Depends-on): Add stdbool.
68365         * modules/getpass: Add getpass.h.
68366
68367 2004-08-08  Simon Josefsson  <jas@extundo.com>
68368
68369         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
68370         Check getpass declaration.
68371
68372 2004-08-08  Simon Josefsson  <jas@extundo.com>
68373
68374         * lib/xgethostname.c: Don't include error.h (not used).
68375
68376         * lib/getpass.h: Add.
68377         * lib/getpass.c: Include getpass.h first.
68378
68379 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
68380
68381         * lib/xalloc-die.c: New file.
68382         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
68383         All uses removed.
68384         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
68385         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
68386         xalloc-die.c.
68387         (_, N_, xalloc_die): Move to xalloc-die.c.
68388         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
68389         so that we needn't mess with xalloc_msg_memory_exhausted.
68390
68391         * lib/sha1.h: Renamed from sha.h.
68392         (SHA1_H): Renamed from _SHA_H.
68393         (sha1_ctx): Renamed from sha_ctx.
68394         (sha1_init_ctx): Renamed from sha_init_ctx.
68395         (sha1_process_block): Renamed from sha_process_block.
68396         (sha1_process_bytes): Renamed from sha_process_bytes.
68397         (sha1_finish_ctx): Renamed from sha_finish_ctx.
68398         (sha1_read_ctx): Renamed from sha_read_ctx.
68399         (sha1_stream): Renamed from sha_stream.
68400         (sha1_buffer): Renamed from sha_buffer.
68401         * lib/sha1.c: Likewise; renamed from sha.c.
68402         Do not include <sys/types.h>.
68403         Include <stddef.h> rather than <stdlib.h>.
68404
68405 2004-08-08  Bruno Haible  <bruno@clisp.org>
68406
68407         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
68408         FILESYSTEM_PREFIX_LEN.
68409         * lib/progreloc.c: Likewise.
68410         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
68411
68412 2004-08-06  Simon Josefsson  <jas@extundo.com>
68413
68414         * modules/progname (Depends-on): Don't depend on stdbool.
68415
68416 2004-08-06  Simon Josefsson  <jas@extundo.com>
68417
68418         * modules/getsubopt: New file.
68419         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68420         getsubopt.
68421
68422 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68423
68424         More merge from coreutils.
68425
68426         * m4/utimens.m4, m4/utimecmp.m4: New files.
68427         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
68428         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
68429         prereq.m4, sha.m4: Import changes from coreutils.
68430
68431 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68432
68433         More merge from coreutils.
68434         * modules/raise, modules/readtokens0, modules/utimens:
68435         * modules/utimecmp, module/xnanosleep: New files.
68436         * modules/strftime: Add lib/strftime.h.
68437         Change include from <time.h> to "strftime.h".
68438         * modules/yesno: Add lib/yesno.h.
68439         * modules/backupfile: Remove lib/addext.c.
68440         * modules/euidaccess: Add stat-macros.h.
68441         * modules/canonicalize, modules/euidaccess,
68442         modules/filemode, modules/lchown, modules/makepath,
68443         modules/rmdir, modules/stat: Likewise.
68444
68445 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68446
68447         Merge from tar.
68448         * lib/argp-help.c (make_hol, hol_append): Don't assume that
68449         SIZE_MAX is a valid preprocessor constant.
68450         (__argp_basename): Change from "#ifndef _LIBC"
68451         to "#ifndef __argp_short_program_name", so that
68452         we don't compile these functions for tar.
68453
68454         More merges from coreutils.
68455         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
68456         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
68457         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
68458         * lib/addext.c: Remove; no longer needed.
68459         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
68460         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
68461         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
68462         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
68463         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
68464         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
68465         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
68466         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
68467         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
68468         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
68469         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
68470         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
68471         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
68472         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
68473         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
68474         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
68475         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
68476         Import changes from coreutils.
68477
68478 2004-08-05  Simon Josefsson  <jas@extundo.com>
68479
68480         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
68481
68482 2004-08-05  Simon Josefsson  <jas@extundo.com>
68483
68484         * m4/getsubopt.m4: New file.
68485
68486 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68487
68488         Merge from coreutils.
68489
68490         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
68491         * m4/getcwd-path-max.m4: New files.
68492
68493         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
68494         FILESYSTEM_PREFIX_LEN ->
68495         FILE_SYSTEM_PREFIX_LEN.
68496         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
68497         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
68498         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
68499         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
68500
68501         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
68502         prerequisite modules now handle the DOS stuff.
68503         Don't check for unistd.h.
68504
68505 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68506
68507         Merge from coreutils.
68508
68509         * lib/.gdb-history: Remove; this doesn't belong here.
68510
68511         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
68512         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
68513         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
68514         * lib/getcwd.c: New files.
68515
68516         * lib/dirname.h: Include <stdbool.h>.
68517         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
68518         for consistency with POSIX terminology.  All uses changed.
68519         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
68520         (strip_trailing_slashes): Use bool for booleans.
68521         * lib/stripslash.c (strip_trailing_slashes): Likewise.
68522
68523         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
68524         sometimes returns a positive errno value even when it succeeds.
68525         (print_errno_message) [!LIBC]: Fall back on strerror if
68526         __strerror_r fails.
68527
68528         * lib/path-concat.c (mempcpy): Don't define if a system header defines
68529         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
68530         (longest_relative_suffix): New function.
68531         (path_concat): Use it.  Assume first argument is not NULL.
68532         Port to DOS.  Omit redundant separators.
68533         Report an error instead of returning NULL.
68534         Use mempcpy instead of memcpy.
68535         (xpath_concat): Remove: not declared or used.
68536
68537         * lib/same.h: Include <stdbool.h>
68538         (same_name): Return bool, not int.
68539         * lib/same.c (same_name): Likewise.
68540         (errno): Don't declare; we assume C89 or better now.
68541
68542         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
68543         if not already defined.
68544
68545         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
68546         * lib/dup-safer.c (errno): Likewise.
68547
68548 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68549
68550         Merge from coreutils.
68551         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
68552         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
68553         * modules/path-concat: Don't depend on strdup.
68554
68555 2004-08-03  Simon Josefsson  <jas@extundo.com>
68556
68557         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
68558         * lib/progname.h: Don't include stdbool.h.
68559
68560 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68561
68562         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
68563         * MODULES.html.sh (func_all_modules): Remove fatal.
68564
68565 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68566
68567         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
68568
68569 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68570
68571         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
68572         working.
68573
68574 2004-08-02  Simon Josefsson  <jas@extundo.com>
68575
68576         * lib/getsubopt.h: New file, with comments from Bruno Haible.
68577         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
68578         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
68579
68580 2004-08-01  Simon Josefsson  <jas@extundo.com>
68581
68582         * lib/xgetdomainname.c: Include stdlib.h, for free().
68583
68584 2004-07-19  Bruno Haible  <bruno@clisp.org>
68585
68586         * MODULES.html.sh (func_all_modules): Add dummy.
68587
68588 2004-07-16  Simon Josefsson  <jas@extundo.com>
68589
68590         * modules/dummy: New file.
68591
68592 2004-07-16  Simon Josefsson  <jas@extundo.com>
68593
68594         * lib/dummy.c: New file.
68595
68596 2004-07-16  Bruno Haible  <bruno@clisp.org>
68597
68598         * lib/backupfile.h: Add extern "C" for C++.
68599         * lib/closeout.h: Likewise.
68600         * lib/copy-file.h: Likewise.
68601         * lib/findprog.h: Likewise.
68602         * lib/full-write.h: Likewise.
68603         * lib/pathname.h: Likewise.
68604         * lib/progname.h: Likewise.
68605         * lib/stpcpy.h: Likewise.
68606         * lib/stpncpy.h: Likewise.
68607         * lib/strcase.h: Likewise.
68608         * lib/strstr.h: Likewise.
68609         * lib/xalloc.h: Likewise.
68610
68611         * lib/mbswidth.h: Add extern "C" for C++.
68612         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
68613
68614 2004-07-13  Robert Millan  <robertmh@gnu.org>
68615
68616         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
68617
68618 2004-07-09  Simon Josefsson  <jas@extundo.com>
68619
68620         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
68621         failed without this.)
68622
68623 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68624
68625         * modules/chown (Files): Add lib/fchown-stub.c, since
68626         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
68627
68628 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68629
68630         * lib/fchown-stub.c: New file.
68631
68632 2004-06-24  Jim Meyering  <jim@meyering.net>
68633
68634         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
68635
68636 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68637
68638         * modules/argz: Omit "#include".
68639
68640         * MODULES.html.sh (func_all_modules): Add calloc, to match
68641         2004-06-01 addition of calloc module.
68642
68643 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68644
68645         * m4/argz.m4: New file, which is autoupdated from libtool.
68646
68647 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68648
68649         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
68650         libtool.
68651
68652 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68653
68654         * config/srclist-update: Don't insist on "USA." before the
68655         close-comment, as libtool omits the period and puts the */ on a
68656         separate line.
68657         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
68658         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
68659
68660 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
68661
68662         * modules/argz: New file.
68663         * MODULES.html.sh (func_all_modules): Add argz.
68664
68665 2004-06-12  Jim Meyering  <jim@meyering.net>
68666         and  Paul Eggert  <eggert@cs.ucla.edu>
68667
68668         * modules/hash (Files): Add lib/xalloc.h.
68669         * modules/pipe (Depends-on): Add wait-process.
68670         * modules/stat (Depends-on): Add xalloc.
68671         * modules/userspec (Files): Add lib/userspec.h.
68672         * modules/xstrto
68673
68674         Upgrade from gettext-0.13.
68675         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
68676         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
68677         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
68678
68679 2004-06-10  Jim Meyering  <jim@meyering.net>
68680
68681         * lib/calloc.c: New file.
68682
68683 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68684
68685         * lib/getdate.y (yylex): Allow space between sign and number.
68686         Problem reported by Dan Jacobson.
68687
68688 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68689
68690         Merge from coreutils CVS.
68691
68692         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
68693         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
68694         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
68695         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
68696         xstrtol.m4: Fix copyright date and/or serial number.
68697
68698         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
68699         See if we need an fchown replacement.
68700         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
68701         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
68702         and use the replacement function if we detect either defect.
68703
68704         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
68705         gl_UTIMECMP.
68706
68707 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68708         and  Jim Meyering  <jim@meyering.net>
68709
68710         Merge from coreutils CVS.
68711
68712         * lib/stat-macros.h: New file, with contents from file-type.h
68713         and coreutils' system.h.
68714         * lib/file-type.c: Include "stat-macros.h".
68715         * lib/file-type.h (file_type): Move all macro definitions to new file,
68716         stat-macros.h.
68717
68718         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
68719         Wrap old code with this conditional.
68720         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
68721         function that does not dereference symlinks.
68722         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
68723
68724         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
68725         dependency problems.
68726         (xreadlink): Accept new arg SIZE, for efficiency.
68727         All decls and uses changed.
68728         * lib/xreadlink.h: Include <stddef.h>, for size_t.
68729
68730         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
68731         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
68732
68733         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
68734         sysexits.h.
68735
68736 2004-06-01  Jim Meyering  <jim@meyering.net>
68737
68738         * m4/calloc.m4: New file.
68739
68740 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
68741
68742         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
68743         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
68744         Also, fix a typo in a diagnostic.
68745
68746 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68747
68748         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
68749         or AC_FUNC_REALLOC.
68750
68751 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68752
68753         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
68754         macros to be defined.
68755         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
68756         the allocator returns NULL because the requested size is zero.
68757
68758 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68759
68760         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
68761         var.  Add comment explaining why libc still defines it.  This
68762         merges the following patch from glibc:
68763         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
68764
68765 2004-05-20  Andreas Schwab  <schwab@suse.de>
68766
68767         * m4/free.m4: Replace free if it not known to work, not the other
68768         way round.
68769
68770 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68771
68772         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
68773         present in glibc since revision 1.1 of this file.
68774         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
68775         obstack_alignment_mask, obstack_alloc, obstack_base,
68776         obstack_blank, obstack_blank_fast, obstack_chunk_size,
68777         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
68778         obstack_grow0, obstack_init, obstack_int_grow,
68779         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
68780         obstack_next_free, obstack_object_size, obstack_ptr_grow,
68781         obstack_ptr_grow_fast, obstack_room): Remove declarations of
68782         nonexistent functions.
68783
68784 2004-05-18  Karl Berry  <karl@gnu.org>
68785
68786         * config/srclist.txt: break link for vasnprintf.c.
68787
68788 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68789
68790         Port obstack to the AS/400, where pointers are 16 bytes wide and
68791         you cannot cast an integer to a valid pointer.  This patch is
68792         currently waiting to be integrated into glibc; see
68793         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
68794
68795         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
68796         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68797         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68798         (struct obstack): temp member is now a union of a pointer and
68799         an integer, instead of an integer.  All integer uses changed.
68800         This does not affect the physical layout of struct obstack,
68801         except on hosts (like the AS/400) where the size or alignment of
68802         void * is greater than that of ptrdiff_t.
68803         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68804         __STDC__)]: Store temporary in pointer member of union, not
68805         integer member.
68806         * lib/obstack.c: Include <stddef.h>, for offsetof.
68807         (struct fooalign): Remove; it doesn't need a name.
68808         (union fooround): Change double to long double, and add void *.
68809         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68810         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68811         not a macro.  Hence the values are always int; so remove all
68812         casts-to-int in uses.
68813
68814 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68815
68816         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68817         we can get this patch merged into glibc.
68818
68819 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68820             Paul Eggert  <eggert@cs.ucla.edu>
68821
68822         * m4/argp: Depend on alloca.
68823
68824 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68825             Paul Eggert  <eggert@cs.ucla.edu>
68826
68827         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68828         freecoding.
68829
68830 2004-05-17  Bruno Haible  <bruno@clisp.org>
68831
68832         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68833         precision that consists of a '.' followed by an empty digit string.
68834         Patch by Tor Lillqvist <tml@iki.fi>.
68835
68836 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68837
68838         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68839         for backward compatibility with older code.  We need our own
68840         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68841         it under some other name, and our alloca.h will define it.
68842
68843 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68844             Derek Price  <derek@ximbiot.com>
68845
68846         * lib/alloca.c: Include <alloca.h>, to get our interface.
68847         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68848         include <alloca.h> first.  Use C89 prototype for alloca; this
68849         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68850         Use #elif for simplicity, since we can assume C89 now.
68851         Don't try to source the system alloca.h since it will not be found
68852         and to prevent recursively including its replacement.
68853         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68854         * lib/regex.c: Likewise.
68855
68856 2004-05-16  Derek Price  <derek@ximbiot.com>
68857             Paul Eggert  <eggert@cs.ucla.edu>
68858
68859         getline cleanup.  This changes the getndelim2 API: both order of
68860         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68861         no delimiter).
68862
68863         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68864         interface does that.
68865         (getline): Always use getdelim, so that we don't have two
68866         copies of this code.
68867         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68868         if available.
68869         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68870         (GETNDELIM2_MAXIMUM): New macro.
68871         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68872         instead of the old practice of delim2==0.  All callers changed.
68873         Return -1 on overflow, instead of returning junk.
68874         Do not set *linesize unless allocation succeeds.
68875         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68876         that we include sys/types.h.
68877         * lib/getnline.h: Likewise.
68878         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68879         (getndelim2): Reorder arguments.
68880         * lib/getnline.c (getnline, getndelim):
68881         Don't discard the NMAX argument.
68882         (getnline): Invoke getndelim, to avoid code duplication.
68883         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68884         of (size_t) -1 by callers of the getnline family.
68885
68886 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68887
68888         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68889         Check for gettimeofday.
68890         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68891         Check for settimeofday, stime.
68892
68893 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68894
68895         * lib/nanosleep.c (suspended): Change its type from int to
68896         sig_atomic_t volatile.
68897         (first_call): Make it private to rpl_nanosleep, and have it
68898         be zero initially as that's a bit faster.
68899         (my_usleep): Round up fractional times instead of truncating them,
68900         as this is the usual meaning for 'sleep'.
68901
68902         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68903         doesn't work.
68904         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68905         (ENOSYS): Define if not defined.
68906         (settime): Fall back on stime if it exists and settimeofday fails.
68907         But don't bother with fallbacks if a method fails with errno == EPERM.
68908
68909 2004-05-11  Jim Meyering  <jim@meyering.net>
68910
68911         Prior to this change, the save_cwd caller required read access to the
68912         current directory on most systems (ones with the fchdir function).
68913
68914         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68915         fails, try write-only, and finally, resort to using xgetcwd.
68916
68917 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68918
68919         * lib/obstack.c, obstack.h: Import changes from libc.
68920
68921 2004-04-28  Bruno Haible  <bruno@clisp.org>
68922
68923         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68924         also implicitly appends .exe to executables.
68925         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68926         accepts Windows pathnames.
68927         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68928         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68929         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68930         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68931         Reported by Derek Robert Price <derek@ximbiot.com>.
68932
68933 2004-04-21  Karl Berry  <karl@gnu.org>
68934
68935         * config/srclist.txt (localcharset.c): break sync.
68936
68937 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68938
68939         * m4/host-os.m4: Add a copyright notice.
68940
68941 2004-04-20  Jim Meyering  <jim@meyering.net>
68942
68943         Change UTILS_ to gl_ in AC_DEFINE'd names.
68944         Change utils_- and jm_-prefixed variables, too.
68945         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68946         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68947         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68948
68949         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68950         Don't emit trailing blanks.
68951         Also rename jm_-prefixed variables to have gl_ prefix.
68952
68953         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68954         Also rename jm_-prefixed variables to have gl_ prefix.
68955
68956         * m4/jm-macros.m4: Reflect the renamings.
68957         * m4/prereq.m4: Likewise.
68958
68959 2004-04-20  Jim Meyering  <jim@meyering.net>
68960
68961         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68962         memory.
68963
68964 2004-04-20  Jim Meyering  <jim@meyering.net>
68965             Bruno Haible  <bruno@clisp.org>
68966
68967         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68968         memory when realloc fails.
68969
68970 2004-04-19  Jim Meyering  <jim@meyering.net>
68971
68972         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68973         now that readutmp.c may call `free (0)'.
68974
68975 2004-04-19  Bruno Haible  <bruno@clisp.org>
68976
68977         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68978         * m4/inttypes_h.m4: Likewise.
68979         * m4/stdint_h.m4: Likewise.
68980         * m4/intmax_t.m4: Likewise.
68981         * m4/uintmax_t.m4: Likewise.
68982
68983 2004-04-18  Jim Meyering  <jim@meyering.net>
68984
68985         * m4/prereq.m4: Don't forbid jm_ prefix.
68986
68987         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68988         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68989         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68990         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68991         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68992         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68993         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68994         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68995         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68996         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68997         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68998         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68999         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
69000         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
69001         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
69002         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
69003         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
69004         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
69005         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
69006
69007 2004-04-18  Jim Meyering  <jim@meyering.net>
69008
69009         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
69010         failure, don't leak memory and do call END_UTMP_ENT.
69011
69012 2004-04-16  Jim Meyering  <jim@meyering.net>
69013
69014         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
69015         coreutils' stat program.
69016         (gl_PREREQ): Don't require jm_PREREQ_STAT.
69017
69018 2004-04-11  Paul Eggert  <eggert@twinsun.com>
69019
69020         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
69021         C89.
69022         (CHAR_BIT): Remove, since we assume C89.
69023         Include <stdint.h> if available, as per current Autoconf CVS advice.
69024
69025 2004-03-31  Jim Meyering  <jim@meyering.net>
69026
69027         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
69028         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
69029         * m4/xalloc.m4: Likewise.
69030
69031 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69032
69033         Merge from coreutils.
69034
69035         * m4/inttostr.m4: New file.
69036         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
69037         Require AM_STDBOOL_H and gl_TIMESPEC instead.
69038         Require gl_CLOCK_TIME.
69039         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
69040
69041 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69042
69043         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
69044         not bool, to be more consistent with Unix conventions.
69045         Suggested by Bruno Haible.
69046
69047         Merge from coreutils.
69048
69049         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
69050         * lib/umaxtostr.c: New files.
69051
69052         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
69053         the usual <time.h> dance.
69054         (get_date): Change signature to support fractional time stamps.
69055         All callers changed.
69056         * lib/getdate.y: Include "getdate.h" first, as we can now
69057         assume C89 and don't need to worry about 'const'.
69058         Similarly, include "unlocked-io.h" near start, not in middle.
69059         Include <limits.h>.
69060         (textint.value): Use long int rather than int.
69061         (textint.digits): Use size_t rather than int.
69062         (BILLION, LOG10_BILLION): New constants.
69063         (parser_control): New member rel_ns.  Members day_ordinal,
69064         time_zone, month, day, hour, minutes, rel_year, rel_month,
69065         rel_day, rel_hour, rel_minutes, rel_seconds
69066         are now long int, not int.  Member seconds is now struct timespec,
69067         not int.  New member timespec_seen.  Members dates_seen, days_seen,
69068         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
69069         not int.
69070         (%union.intval): Now long int, not int.
69071         New member timespec.
69072         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
69073         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
69074         (spec): Now is a timespec or an item list.
69075         (timespec, items): New nonterminals.
69076         (time, rel, relunit, number, get_date):
69077         Add support for fractional seconds.
69078         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
69079         (gmtime, localtime, mktime): Remove decls; not needed with C89.
69080         (to_hour): First arg is now long int, not int.
69081         (to_year): Returns long int, not int.
69082         Don't treat year -70 like 70.
69083         (tm_diff): Returns long int, not int.
69084         (lookup_word): Use bool instead of int when appropriate.
69085         (yylex): Use size_t for count, not int.
69086         Detect overflow when parsing large integer constants.
69087         Add support for fractions.
69088         (get_date): Make pointers 'const' if possible.
69089         Use more-portable code to detect integer overflow.
69090         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
69091         Don't use ctime; it's not reliable if the year has >4 digits.
69092
69093         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
69094         This is for compatibility with BSD.
69095
69096         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
69097         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
69098         From coreutils' system.h.
69099
69100         * lib/userspec.c: Don't include "posixver.h".
69101         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
69102         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
69103         compatible extension.  Simplify code by removing a boolean int
69104         that was always nonzero if a string was nonnull.
69105
69106 2004-03-30  Jim Meyering  <jim@meyering.net>
69107
69108         Merge from coreutils.
69109
69110         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
69111         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
69112         on some systems one must include <grp.h> before it.
69113         Reported by Christian Krackowizer.
69114
69115 2004-03-30  Jim Meyering  <jim@meyering.net>
69116
69117         Merge from coreutils.
69118
69119         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
69120
69121         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
69122         an empty input stream.
69123
69124         * lib/readtokens.c: Include <stdbool.h>.
69125         (readtoken): Use `size_t' rather than int/long.
69126         All callers adjusted.
69127         Use `bool' rather than `int' where appropriate.
69128         Use memset rather than an explicit loop.
69129         Use x2nrealloc rather than xrealloc.
69130         Allow the use of `\0' as a delimiter.
69131         (readtokens): Likewise.
69132         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
69133
69134 2004-03-30  Jim Meyering  <jim@meyering.net>
69135
69136         * m4/realloc.m4: Remove file, since now it does no more than
69137         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
69138         the `configure.ac' section of module/realloc.
69139         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
69140
69141 2004-03-30  Bruno Haible  <bruno@clisp.org>
69142
69143         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
69144         nonnull.
69145
69146 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69147
69148         Merge changes to getloadavg.c from coreutils and Emacs.
69149
69150         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
69151         Define to an expression, not to the empty string.
69152         Include cloexec.h and xalloc.h.
69153         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
69154         Use set_cloexec_flag rather than rolling our own.
69155         * lib/cloexec.c, lib/cloexec.h: New files.
69156
69157 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69158
69159         * m4/cloexec.m4: New file.
69160
69161 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69162
69163         * lib/getopt.h: Sync with libc CVS.
69164
69165 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69166             Bruno Haible  <bruno@clisp.org>
69167
69168         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
69169         mbswidth.
69170
69171 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69172             Bruno Haible  <bruno@clisp.org>
69173
69174         * lib/mbswidth.h: Include <wchar.h> only if
69175         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
69176         <wchar.h>.
69177         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
69178
69179 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69180
69181         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
69182         Sync with libc CVS.
69183         * lib/getopt_int.h: New file, also synced from libc.
69184
69185 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69186
69187         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
69188         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
69189         Bring back getopt.c, getopt.h, getopt1.c.
69190
69191 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69192
69193         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
69194         All uses changed.  Check for sa_sigaction member; this fixes
69195         a bug first reported by Jason Andrade in
69196         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69197
69198 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69199
69200         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
69201         '#if' expressions.  Unlike the code it replaces, it does not
69202         depend on (defined _SC_PAGESIZE).  However, it does depend on
69203         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
69204         first reported by Jason Andrade in
69205         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69206
69207 2004-02-25  Simon Josefsson  <jas@extundo.com>
69208
69209         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
69210
69211 2004-02-25  Simon Josefsson  <jas@extundo.com>
69212
69213         * lib/strdup.h: New file.
69214         * lib/strdup.c: Include it.
69215         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
69216         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
69217
69218 2004-02-23  Karl Berry  <karl@gnu.org>
69219
69220         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
69221         (from fencepost.gnu.org:/gd/gnuorg).
69222
69223 2004-02-23  Karl Berry  <karl@gnu.org>
69224
69225         * config/srclistvars.sh (GNUORG) [karl]: redefine.
69226         * config/srclist.txt: add maintain/standards documents.
69227
69228 2004-02-18  Bruno Haible  <bruno@clisp.org>
69229
69230         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
69231         Reported by Derek Robert Price <derek@ximbiot.com>.
69232
69233 2004-02-16  Karl Berry  <karl@gnu.org>
69234
69235         * config/mkinstalldirs, install-sh: update from automake.
69236
69237 2004-02-06  Karl Berry  <karl@gnu.org>
69238
69239         * m4/po.m4: update from gettext 0.14.1.
69240
69241 2004-02-06  Karl Berry  <karl@gnu.org>
69242
69243         * lib/config.charset: update from gettext 0.14.1.
69244
69245 2004-02-05  Paul Eggert  <eggert@twinsun.com>
69246
69247         Add comments and code, prompted by suggestions from Bruno Haible
69248         for sh-quote.
69249         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
69250         describing the enum quoting_style values.
69251         * lib/quotearg.c (quotearg_alloc): New function.
69252         (quotearg_buffer_restyled): Treat lone { and } as special.
69253         Treat = as special.  Work around bug with older shells
69254         that "see" a '\' that is really the 2nd byte of a multibyte char.
69255         Quote empty string with shell_quoting_style.
69256
69257 2004-02-03  Bruno Haible  <bruno@clisp.org>
69258
69259         * m4/pipe.m4: New file, from GNU gettext.
69260
69261 2004-02-03  Bruno Haible  <bruno@clisp.org>
69262
69263         * lib/pipe.h: New file, from GNU gettext.
69264         * lib/pipe.c: New file, from GNU gettext.
69265
69266 2004-01-27  Bruno Haible  <bruno@clisp.org>
69267
69268         * m4/execute.m4: New file, from GNU gettext.
69269
69270 2004-01-27  Bruno Haible  <bruno@clisp.org>
69271
69272         * lib/execute.h: New file, from GNU gettext.
69273         * lib/execute.c: New file, from GNU gettext.
69274         * lib/w32spawn.h: New file, from GNU gettext.
69275
69276 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69277
69278         Merge from diffutils.
69279
69280         * lib/file-type.c (file_type): Add typed memory objects.
69281         * lib/file-type.h (S_TYPEISTMO): New macro.
69282
69283         * lib/c-stack.h (c_stack_action): Remove argv argument.
69284         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
69285         (die): Don't calculate message unless segv_action returns.
69286         (get_stack_location, min_address_from_argv, max_address_from_argv,
69287         volatile stack_base, volatile_stack_size): Remove.
69288         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
69289         that every segmentation violation is a stack overflow.  (Ouch!)
69290         See Debian bug 136249 (still outstanding) for more info about why
69291         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
69292
69293 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69294
69295         Exit-status fix from coreutils.
69296
69297         Use exit_failure consistently in place of EXIT_FAILURE,
69298         so that program exit statuses are consistent on failure.
69299
69300         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
69301         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
69302         * lib/argmatch.h: Comment fix to match the above.
69303         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
69304         Now a macro referring to exit_failure, instead of a separate
69305         variable.  Include "exitfail.h" to get it.
69306         * lib/xstrtol.h: Include "exitfail.h".
69307         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
69308
69309         * lib/long-options.c (parse_long_options): Use prototype
69310         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
69311         for clarity.
69312
69313 2004-01-21  Jim Meyering  <jim@meyering.net>
69314
69315         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
69316         so as not to conflict with a different-sized __mktime_internal
69317         function in GNU libc.
69318         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
69319         Problem building statically-linked `ls' reported by Michael Brunnbauer.
69320
69321 2004-01-20  Karl Berry  <karl@gnu.org>
69322
69323         * config/config.guess: update from config.
69324
69325         * config/srclistvars.sh: GNUWWWLICENSES for karl.
69326
69327 2004-01-20  Bruno Haible  <bruno@clisp.org>
69328
69329         Safer stack allocation.
69330         * lib/setenv.c: Include allocsa.h.
69331         (alloca): Remove fallback definition.
69332         (freea): Remove macro.
69333         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
69334         instead of freea.
69335
69336 2004-01-20  Bruno Haible  <bruno@clisp.org>
69337
69338         * m4/eealloc.m4: New file, from GNU gettext.
69339
69340 2004-01-20  Bruno Haible  <bruno@clisp.org>
69341
69342         * m4/allocsa.m4: New file, from GNU gettext.
69343
69344 2004-01-20  Bruno Haible  <bruno@clisp.org>
69345
69346         * lib/xallocsa.h: New file, from GNU gettext.
69347         * lib/xallocsa.c: New file, from GNU gettext.
69348
69349 2004-01-20  Bruno Haible  <bruno@clisp.org>
69350
69351         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
69352
69353 2004-01-20  Bruno Haible  <bruno@clisp.org>
69354
69355         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
69356         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
69357         specially.
69358
69359 2004-01-20  Bruno Haible  <bruno@clisp.org>
69360
69361         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
69362         patch.
69363
69364 2004-01-20  Bruno Haible  <bruno@clisp.org>
69365
69366         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
69367
69368 2004-01-20  Bruno Haible  <bruno@clisp.org>
69369
69370         * lib/eealloc.h: New file.
69371
69372 2004-01-20  Bruno Haible  <bruno@clisp.org>
69373
69374         * lib/binary-io.h: Avoid warnings on Cygwin.
69375
69376 2004-01-20  Bruno Haible  <bruno@clisp.org>
69377
69378         * lib/allocsa.h: New file, from GNU gettext.
69379         * lib/allocsa.c: New file, from GNU gettext.
69380
69381 2004-01-18  Karl Berry  <karl@gnu.org>
69382
69383         * doc/gpl.texi, doc/lgpl.texi: new files.
69384
69385 2004-01-18  Karl Berry  <karl@gnu.org>
69386
69387         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
69388         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
69389
69390 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69391
69392         Merge from coreutils.
69393
69394         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
69395         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
69396         (gl_DEFAULT_POSIX2_VERSION): Move
69397         the documentation from 'configure' into 'config.hin',
69398         so that 'configure --help' isn't burdened by it and
69399         we don't have to worry about its formatting there.
69400         Reword the documentation so that it's more succinct
69401         and can be run together into a single paragraph.
69402         * m4/same.m4 (gl_SAME): Check for pathconf.
69403
69404 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69405
69406         Merge from coreutils.
69407
69408         * lib/posixver.c: Include posixver.h.
69409
69410         * lib/same.c: Include <stdbool.h>, <limits.h>.
69411         (_POSIX_NAME_MAX): Define if not defined.
69412         (MIN): New macro.
69413         (same_name): If file names are silently truncated, report
69414         that the file names are the same if they are the same after
69415         the silent truncation.
69416
69417         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
69418         conversion function.
69419         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
69420         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
69421         longer needed.
69422
69423 2004-01-15  Jim Meyering  <jim@meyering.net>
69424
69425         Merge from coreutils.
69426
69427         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
69428         if no library is required.
69429         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
69430         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
69431         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
69432         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
69433         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
69434         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
69435         value, $ac_cv_search_crypt, if it's "none required".
69436         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
69437         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
69438         not gl_FUNC_GETLOADAVG.
69439         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
69440         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
69441
69442 2004-01-15  Jim Meyering  <jim@meyering.net>
69443
69444         Merge from coreutils.
69445
69446         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
69447         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
69448         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
69449
69450         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
69451         optional configure-time default.
69452
69453         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69454
69455         * lib/xreadlink.c (xreadlink): Correct outdated comment.
69456
69457 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
69458
69459         Merge from coreutils.
69460
69461         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
69462         value, $ac_cv_search_nanosleep, if it's "none required".
69463
69464 2004-01-14  Paul Eggert  <eggert@twinsun.com>
69465
69466         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
69467         with like-named macro in fnmatch.c.
69468         (EXT): Use an internal constant instead.
69469
69470         Merge fnmatch patches from glibc.
69471         * lib/fnmatch.c (mbsinit): Remove define.
69472         Add libc_hidden_ver (__fnmatch, fnmatch).
69473         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
69474         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
69475
69476 2004-01-14  Karl Berry  <karl@gnu.org>
69477
69478         * config/install-sh: update from automake.
69479
69480 2004-01-13  Karl Berry  <karl@gnu.org>
69481
69482         * config/install-sh: update from automake.
69483
69484 2004-01-09  Karl Berry  <karl@gnu.org>
69485
69486         * config/install-sh: update from automake.
69487
69488 2004-01-05  Karl Berry  <karl@gnu.org>
69489
69490         * config/config.{sub,guess}: update from config.
69491
69492 2003-12-31  Karl Berry  <karl@gnu.org>
69493
69494         * config/depcomp: update from automake.
69495
69496 2003-12-14  Karl Berry  <karl@gnu.org>
69497
69498         * lib/config.charset: update from gettext-runtime.
69499
69500 2003-12-03  Paul Eggert  <eggert@twinsun.com>
69501
69502         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
69503         Bug reported by Alfred M. Szmidt.
69504
69505 2003-12-03  Bruno Haible  <bruno@clisp.org>
69506
69507         * m4/gettext.m4: Upgrade from gettext-0.13.
69508         * m4/po.m4: Upgrade from gettext-0.13.
69509         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
69510         * m4/intmax.m4: New file, from gettext-0.13.
69511         * m4/printf-posix.m4: New file, from gettext-0.13.
69512
69513 2003-11-29  Karl Berry  <karl@gnu.org>
69514
69515         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
69516
69517 2003-11-25  Paul Eggert  <eggert@twinsun.com>
69518             Bruno Haible  <bruno@clisp.org>
69519
69520         * lib/printf-parse.h: Don't include sys/types.h.
69521         (ARG_NONE): New macro.
69522         (char_directive): Change type of *arg_index fields to size_t.
69523         * lib/printf-parse.c: Don't include sys/types.h.
69524         (SSIZE_MAX): Remove macro.
69525         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
69526         Remove unnecessary overflow check.
69527         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
69528         fields.
69529
69530 2003-11-25  Bruno Haible  <bruno@clisp.org>
69531
69532         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
69533
69534 2003-11-25  Bruno Haible  <bruno@clisp.org>
69535
69536         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
69537         gt_TYPE_SSIZE_T.
69538
69539 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69540
69541         * modules/alloca: Remove dependency on xalloc.
69542
69543 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69544
69545         * lib/alloca.c: Remove dependency on xalloc module.
69546         (xalloc_die): Remove.
69547         (memory_full) [!defined emacs]: New macro.
69548         [!defined emacs]: Don't include xalloc.h.
69549         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
69550         address arithmetic overflows.  Change datatypes a bit to avoid
69551         unnecessary casts.
69552
69553 2003-11-22  Jim Meyering  <jim@meyering.net>
69554
69555         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
69556         s/size/size_t/.
69557
69558 2003-11-21  Karl Berry  <karl@gnu.org>
69559
69560         * config/config.{sub,guess}: update from config.
69561
69562 2003-11-18  Karl Berry  <karl@gnu.org>
69563
69564         * config/config.{sub,guess}: update from config.
69565
69566         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
69567
69568 2003-11-17  Paul Eggert  <eggert@twinsun.com>
69569
69570         * README: Mention that S+T cannot overflow if S is the size of
69571         an existing object and T is sufficiently small.
69572
69573 2003-11-17  Jim Meyering  <jim@meyering.net>
69574
69575         On systems without utime and without a utimes function capable of
69576         dealing with a NULL struct utimbuf* argument, this utime replacement
69577         could -- in unusual circumstances -- leak a file descriptor.
69578         * lib/utime.c: Include <unistd.h> and <errno.h>.
69579         (utime_null): Be sure to close `fd' and to preserve errno.
69580         Reported by Geoff Collyer via Arnold Robbins.
69581
69582 2003-11-17  Bruno Haible  <bruno@clisp.org>
69583
69584         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
69585         (Depends-on): Add xsize.
69586
69587 2003-11-17  Bruno Haible  <bruno@clisp.org>
69588
69589         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
69590
69591 2003-11-17  Bruno Haible  <bruno@clisp.org>
69592
69593         * lib/vasnprintf.c (alloca): Remove fallback definition.
69594         (freea): Remove definition.
69595         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
69596         Reported by Paul Eggert.
69597
69598 2003-11-16  Paul Eggert  <eggert@twinsun.com>
69599             Bruno Haible  <bruno@clisp.org>
69600
69601         Protect against address arithmetic overflow.
69602         * lib/printf-args.h: Include stddef.h.
69603         (arguments): Change type of field 'count' to size_t.
69604         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
69605         'unsigned int' where appropriate.
69606         * lib/printf-parse.h: Include sys/types.h.
69607         (char_directive): Change type of *arg_index fields to ssize_t.
69608         (char_directives): Change type of fields 'count', max_*_length to
69609         size_t.
69610         * lib/printf-parse.c: Include sys/types.h and xsize.h.
69611         (SSIZE_MAX): Define fallback value.
69612         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
69613         instead of 'int' where appropriate. Check a_allocated, d_allocated
69614         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
69615         * lib/vasnprintf.c: Include xsize.h.
69616         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
69617         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
69618         overflow. Avoid wraparound when converting a width or precision from
69619         decimal to binary.
69620
69621 2003-11-16  Bruno Haible  <bruno@clisp.org>
69622
69623         Update from GNU gettext.
69624         * lib/printf-parse.c: Generalize to it can be compiled for wide
69625         strings.
69626         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
69627         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
69628         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
69629         SNPRINTF): New macros.
69630         Don't include <alloca.h> if the file is used inside libintl.
69631         (local_wcslen): New function, for Solaris 2.5.1.
69632         (VASNPRINTF): Use it instead of wcslen.
69633
69634 2003-11-16  Bruno Haible  <bruno@clisp.org>
69635
69636         * lib/xsize.h (xmax): New function.
69637         (xsum, xsum3, xsum4): Declare as "pure" functions.
69638
69639 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69640
69641         * modules/xalloc (Files): Undo latest change, since xalloc.h
69642         no longer needs SIZE_MAX or PTRDIFF_MAX.
69643
69644 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69645
69646         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
69647         gl_PTRDIFF_MAX.
69648
69649 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69650
69651         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
69652         "return", to pacify some unknown compiler.  Problem reported
69653         by Joerg Schilling.
69654
69655 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69656
69657         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
69658         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
69659         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
69660         heuristic is just as accurate as far as we know, and it removes a
69661         dependency on size_max.m4 and ptrdiff_max.m4.
69662
69663 2003-11-11  Bruno Haible  <bruno@clisp.org>
69664
69665         * modules/xsize (Files): Add m4/size_max.m4.
69666         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
69667
69668 2003-11-11  Bruno Haible  <bruno@clisp.org>
69669
69670         * m4/size_max.m4: New file.
69671         * m4/ptrdiff_max.m4: New file.
69672         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
69673         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
69674         (gl_XALLOC): Invoke it.
69675
69676 2003-11-11  Bruno Haible  <bruno@clisp.org>
69677
69678         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
69679         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
69680         defined.
69681
69682 2003-11-10  Paul Eggert  <eggert@twinsun.com>
69683
69684         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
69685         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
69686         rejected some allocations of exactly SIZE_MAX - 2 bytes.
69687         From Bruno Haible.
69688         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
69689         not (size_t) -1, since it's defined here.
69690
69691 2003-11-09  Karl Berry  <karl@gnu.org>
69692
69693         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
69694
69695 2003-11-06  Paul Eggert  <eggert@twinsun.com>
69696
69697         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
69698         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
69699         Reject sizes of exactly SIZE_MAX bytes.
69700         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
69701         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
69702
69703 2003-11-05  Bruno Haible  <bruno@clisp.org>
69704
69705         * lib/xsize.h: Include limits.h, to avoid a possible collision with
69706         SIZE_MAX defined in <limits.h> on Solaris.
69707
69708 2003-11-04  Jim Meyering  <jim@meyering.net>
69709
69710         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
69711         variable names, rather than @VAR@.
69712         * modules/poll: Likewise.
69713
69714 2003-11-04  Bruno Haible  <bruno@clisp.org>
69715
69716         * modules/xsize: New file.
69717         * modules/linebreak: Depend on xsize.
69718         * MODULES.html.sh (func_all_modules): Add xsize.
69719
69720 2003-11-04  Bruno Haible  <bruno@clisp.org>
69721
69722         * m4/xsize.m4: New file.
69723
69724 2003-11-04  Bruno Haible  <bruno@clisp.org>
69725
69726         * lib/xsize.h: New file.
69727         * lib/linebreak.c: Include xsize.h.
69728         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
69729         argument for overflow.
69730         Suggested by Paul Eggert.
69731
69732 2003-11-03  Karl Berry  <karl@gnu.org>
69733
69734         * config/config.{guess,sub}: update from config.
69735
69736 2003-11-03  Jim Meyering  <jim@meyering.net>
69737
69738         * modules/userspec (lib_SOURCES): Add userspec.h.
69739         (Include): Add "userspec.h".
69740         Improve description.
69741
69742 2003-11-03  Jim Meyering  <jim@meyering.net>
69743
69744         * lib/userspec.c: Include "userspec.h".
69745         * lib/userspec.h: New file.
69746
69747 2003-11-03  Bruno Haible  <bruno@clisp.org>
69748
69749         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
69750
69751 2003-11-03  Bruno Haible  <bruno@clisp.org>
69752
69753         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
69754         available, to avoid (extremely rare) race condition.
69755         Suggested by Paul Eggert.
69756
69757 2003-11-02  Karl Berry  <karl@gnu.org>
69758
69759         * config/srclist.txt (vasprintf.c): sync broken, sigh.
69760
69761 2003-10-31  Paul Eggert  <eggert@twinsun.com>
69762
69763         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
69764         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
69765         (read_filesystem_list): Set and use me_type_malloced.
69766         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
69767         whatever the type happens to be), for brevity and consistency.
69768         Check for size calculation overflow on Alphas running OSF/1.
69769
69770 2003-10-31  Jim Meyering  <jim@meyering.net>
69771
69772         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
69773
69774         * lib/linebuffer.c: Include <string.h> for declaration of memset.
69775
69776 2003-10-30  Paul Eggert  <eggert@twinsun.com>
69777             Bruno Haible  <bruno@clisp.org>
69778
69779         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
69780         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
69781
69782 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69783
69784         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
69785         netbsd*-gnu*.  Suggested by Robert Millan.
69786
69787 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69788
69789         * modules/group-member: Depend on stdbool.
69790
69791 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69792
69793         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
69794
69795 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69796
69797         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69798         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69799         after the 'gnu' in these cases.  This fixes some bugs in the
69800         previous change, and is based on suggestions by Robert Millan.
69801
69802 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69803
69804         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69805         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69806         no longer needed.
69807         * lib/quotearg.c (quotearg_n_options): Use it.
69808         * lib/group-member.c: Include <stdbool.h>.
69809         (free_group_info): Arg is now const *; don't free arg.
69810         (get_group_info): Now returns bool and accepts struct group_info *,
69811         rather than returning a malloc'ed struct group_info *.
69812         All uses changed.  Check for overflow in internal size calculation.
69813
69814         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69815         rather than xmalloc/xrealloc.
69816         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69817         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69818         conformance bug: the old code used a pointer after freeing the
69819         storage that it addressed.
69820         * lib/hash.c (hash_initialize): Simplify the code by using
69821         xalloc_oversized rather than doing it by hand.
69822         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69823         the buffer preserved.  Use free and xmalloc instead.
69824         * lib/quotearg.c (quotearg_n_options): Likewise.
69825         Use a simpler test for size overflow.  Don't use xalloc_oversized
69826         because unsigned int might be wider than size_t (!); this suggests
69827         that we should switch from unsigned int to size_t for slot numbers.
69828
69829 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69830
69831         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69832         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69833         NetBSD kernels.  Requested by Richard Stallman.
69834
69835 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69836
69837         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69838         to allocate the returned structure.  Do not allocate a subarray,
69839         as x2nrealloc will do that.
69840         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69841         instead of xnrealloc.
69842         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69843
69844 2003-10-27  Bruno Haible  <bruno@clisp.org>
69845
69846         * lib/stdbool_.h: Better support for BeOS.
69847
69848 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69849
69850         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69851         now uses inline.
69852
69853 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69854
69855         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69856         callers that want to do their own size-overflow checking.  Include
69857         <stdbool.h>, since xalloc_oversized returns bool.
69858         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69859         to use xalloc_oversized.
69860
69861         Add two functions x2realloc, x2nrealloc, for programs that grow
69862         arrays dynamically by doubling their sizes.
69863         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69864         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69865         New functions.
69866
69867         Port to C99 semantics for 'inline' of external functions.
69868         Bug reported by Bruno Haible.
69869         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69870         with the old contents of xnmalloc.
69871         (xnmalloc, xmalloc): Use it.
69872         (xnrealloc_inline): New static inline function,
69873         with the old contents of xnrealloc.
69874         (xnrealloc, xrealloc): Use it.
69875
69876         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69877         that.
69878
69879 2003-10-26  Karl Berry  <karl@gnu.org>
69880
69881         * config/srclist.txt (COPYING.DOC): no longer available from
69882         /gd/gnuorg; don't know where the ultimate source is.
69883
69884 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69885
69886         Fix several address-calculation bugs in the hash modules,
69887         plus some minor code cleanup.
69888
69889         * lib/hash.h: Include <stdbool.h>, for bool.
69890         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69891         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69892         hash_get_n_entries, hash_get_max_bucket_length,
69893         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69894         hash_rehash): Use size_t rather than unsigned.
69895         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69896         hash_get_n_buckets_used, hash_get_n_entries,
69897         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69898         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69899         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69900         Likewise.
69901         (SIZE_MAX): Define if not defined.
69902         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69903         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69904         hash_print):
69905         Use const * when possible.
69906         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69907         (check_tuning): Fix bug: if tuning parameters were very close to
69908         0 or 1, rounding errors could have caused subscript violations.
69909         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69910         (hash_initialize): Add 'fail:' label
69911         to free table and return NULL, and use it to simplify code.
69912         Use calloc rather than clearing the storage ourself.
69913         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69914         buffer size calculations.
69915         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69916         Include <stddef.h>, for size_t.
69917         * lib/hash-pjw.c (hash_pjw): Likewise.
69918         Switch to method described by Bruno Haible.
69919         Include <limits.h>, for CHAR_BIT.
69920         (SIZE_BITS): New macro.
69921
69922 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69923
69924         * m4/getline.m4 (AM_FUNC_GETLINE):
69925         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69926         hosts.  Problem reported by Derek Robert Price in
69927         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69928         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69929         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69930
69931 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69932
69933         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69934         ceiling the allocation at NMAX bytes rather than silently
69935         discarding input bytes before NMAX is reached.  This makes
69936         a difference only if NMAX exceeds SIZE_MAX / 2.
69937
69938         * lib/obstack.c: Merge from glibc.
69939         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69940         Add libc_hidden_def (_obstack_newchunk).
69941         (_obstack_free) [! defined _LIBC]: Remove.
69942         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69943         a clone of the function body.
69944         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69945         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69946
69947         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69948         glibc.
69949         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69950         arg to memcpy.
69951
69952         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69953         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69954         Don't use lvalue casts, as GCC plans to remove support for them
69955         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69956         was also present in the non-GCC version, indicating that this
69957         code had always been buggy and had never been widely used.
69958         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69959         Use the fast variant of each macro, rather than copying the
69960         definiens of the fast variant; that way, we'll be more likely to
69961         catch future bugs in the fast variants.
69962
69963 2003-10-20  Bruno Haible  <bruno@clisp.org>
69964
69965         * modules/wait-process: New file.
69966         * MODULES.html.sh (func_all_modules): Add wait-process.
69967
69968 2003-10-20  Bruno Haible  <bruno@clisp.org>
69969
69970         * m4/wait-process.m4: New file.
69971
69972 2003-10-20  Bruno Haible  <bruno@clisp.org>
69973
69974         * lib/wait-process.h: New file, from GNU gettext.
69975         * lib/wait-process.c: New file, from GNU gettext.
69976
69977 2003-10-19  Jim Meyering  <jim@meyering.net>
69978
69979         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69980         HPUX 10.20.
69981
69982 2003-10-18  Karl Berry  <karl@gnu.org>
69983
69984         * config/config.guess: update from config.
69985
69986 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69987
69988         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69989         (getgroups): First arg is int, not size_t.
69990         Don't let 'free' mangle errno.
69991
69992 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69993
69994         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69995
69996 2003-10-16  Karl Berry  <karl@gnu.org>
69997
69998         * config/config.{guess,sub}: update from config.
69999
70000 2003-10-16  Jim Meyering  <jim@meyering.net>
70001
70002         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
70003         memcpy.
70004
70005 2003-10-15  Paul Eggert  <eggert@twinsun.com>
70006
70007         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
70008         (SIZE_MAX): Remove.
70009         (new_exclude, add_exclude_file): Initial size no longer needs to
70010         be a power of 2.
70011         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
70012         our own address arithmetic overflow checking.
70013
70014         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
70015         (fnmatch): Do not alloca more than 2000 wide characters;
70016         instead, use malloc for large buffers.
70017         Check for address arithmetic overflow, and return -1
70018         with errno set to ENOMEM in that case.
70019         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
70020         (NEW_PATTERN): Do not alloca more than 8000 bytes;
70021         instead, return -1.  Check for address arithmetic overflow.
70022
70023 2003-10-14  Paul Eggert  <eggert@twinsun.com>
70024
70025         Handle invalid suffixes and overflow independently, so that
70026         callers can treat them independently as needed.  Fix some bugs in
70027         suffix handling, e.g., "100k@" was not diagnosed as an invalid
70028         suffix for a human-readable blocksize.  The major caller-visible
70029         change is the addition of a new
70030         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
70031         that both overflow and suffix chars were found.
70032
70033         * lib/human.c (humblock): Don't check separately for invalid suffix
70034         char; that is xstrtoumax's job (now that its bug is fixed).
70035         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
70036         INTMAX_MAX]: New macros.
70037         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
70038         TYPE_MAXIMUM): New macros.
70039         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
70040         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
70041         if overflow occurs, as it's what __strtol does and it's more useful
70042         in practice.
70043         (__xstrtol): If __strtol reports some error other than ERANGE,
70044         reflect it to the caller as LONGINT_INVALID.  If it reports
70045         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
70046         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
70047         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
70048         value.
70049         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
70050         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
70051         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
70052         [defined UINTMAX_MAX]: New macros.
70053
70054 2003-10-14  Bruno Haible  <bruno@clisp.org>
70055
70056         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
70057
70058 2003-10-14  Bruno Haible  <bruno@clisp.org>
70059
70060         * m4/sig_atomic_t: New file, from GNU gettext.
70061         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
70062
70063 2003-10-14  Bruno Haible  <bruno@clisp.org>
70064
70065         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
70066         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
70067         Also use volatile where needed.
70068
70069 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70070
70071         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
70072         Change maintainer from Bruno Haible to 'all'.
70073
70074 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70075
70076         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
70077
70078 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70079
70080         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
70081         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
70082         and define in terms of the other primitives.
70083         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
70084         (SIZE_MAX): Define if not already defined.
70085         (array_size_overflow): New function.
70086         (xalloc_die): Abort instead of exiting if 'error' returns.
70087         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
70088         (xmalloc, xrealloc): Use them.
70089         (xcalloc): Check for address arithmetic overflow.
70090         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
70091         a bit faster than strcpy.
70092
70093 2003-10-10  Simon Josefsson  <jas@extundo.com>
70094
70095         * modules/argp (Depends-on): Add restrict and strcase.
70096
70097 2003-10-10  Simon Josefsson  <jas@extundo.com>
70098
70099         * m4/argp.m4: Add AC_C_INLINE.
70100
70101 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70102
70103         Merge getpass from libc, plus a few fixes.
70104
70105         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
70106         Include <stdbool.h>.
70107         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
70108         __fsetlocking to empty.
70109         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
70110         do include <bits/libc-lock.h>.
70111         Do not include <fcntl.h>; not needed.
70112         [_LIBC]: Include <wchar.h>.
70113         (NOTCANCEL_MODE): New macro.
70114         (flockfile, funlockfile) [_LIBC]: New macros.
70115         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
70116         [!_LIBC]: New macros.
70117         (call_fclose): New function.
70118         (getpass): Use it.  Save tty stream separately; this simplifies the
70119         code and makes it more reliable if stdin happens to equal stdout.
70120         Invoke __fsetlocking on tty.
70121         Handle thread cancellation if needed.
70122         Namespace cleanup (use __tcgetattr, __getline).
70123         Use bool for Booleans.
70124         [USE_IN_LIBIO]: Handle wide streams.
70125         [!_LIBC]: Unconditionally do the fseek, since we don't know what
70126         stream might go where.
70127
70128         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
70129         doesn't have to include <stdio.h> before us.
70130         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
70131         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
70132         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
70133         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
70134         if not declared, so that we can use getpass.c code from libc without
70135         rewriting it.
70136         (flockfile, ftrylockfile, funlockfile): New macros.
70137
70138 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70139
70140         * modules/getpass: Depend on stdbool.
70141
70142 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70143
70144         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
70145
70146 2003-10-07  Karl Berry  <karl@gnu.org>
70147
70148         * config/config.{guess,sub}: update from config.
70149
70150 2003-10-06  Jim Meyering  <jim@meyering.net>
70151             Bruno Haible  <bruno@clisp.org>
70152
70153         This lets translators provide better translations for the
70154         "Written by ..." part of --version output.
70155         * lib/version-etc.h: Include stdarg.h.
70156         (version_etc_copyright): Declare as readonly.
70157         (version_etc): Make this function variadic with a NULL-terminated list
70158         of author name strings.
70159         (version_etc_va): New declaration.
70160         * lib/version-etc.c: Include stdarg.h, stdlib.h.
70161         (version_etc_copyright): Declare as readonly.
70162         (version_etc_va): New function. Provide a different translatable string
70163         for each possible number of authors < 10. Abbreviate when there are 10
70164         authors or more.
70165         (version_etc): Make this function variadic. Call version_etc_va.
70166         Suggestion from Gary V. Vaughan.
70167
70168         * lib/long-options.h (parse_long_options): Change prototype: the
70169         authors string is moved to the end and becomes variadic.
70170         * lib/long-options.c: Include stdarg.h.
70171         (parse_long_options): Make this function variadic, too.
70172         Call version_etc_va, not version_etc.
70173
70174 2003-10-06  Bruno Haible  <bruno@clisp.org>
70175
70176         * modules/version-etc-2: Remove file.
70177         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
70178
70179 2003-10-06  Bruno Haible  <bruno@clisp.org>
70180
70181         * modules/fatal-signal: New file.
70182         * MODULES.html.sh (func_all_modules): Add fatal-signal.
70183
70184 2003-10-06  Bruno Haible  <bruno@clisp.org>
70185
70186         * m4/fatal-signal.m4: New file.
70187         * m4/signalblocking.m4: New file, from GNU gettext.
70188
70189 2003-10-06  Bruno Haible  <bruno@clisp.org>
70190
70191         * lib/version-etc-2.h: Remove file.
70192         * lib/version-etc-2.c: Remove file.
70193
70194 2003-10-06  Bruno Haible  <bruno@clisp.org>
70195
70196         * lib/fatal-signal.h: New file, from GNU gettext.
70197         * lib/fatal-signal.c: New file, from GNU gettext.
70198
70199 2003-10-05  Paul Eggert  <eggert@twinsun.com>
70200
70201         * README: Rework advice for preventing empty .o files.
70202         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
70203         not <sys/types.h>.
70204
70205 2003-10-04  Karl Berry  <karl@gnu.org>
70206
70207         * lib/argp*: update from libc.
70208
70209 2003-10-04  Karl Berry  <karl@gnu.org>
70210
70211         * config/config.{guess,sub}: update from config.
70212
70213 2003-10-02  Bruno Haible  <bruno@clisp.org>
70214
70215         * modules/lchown (Include): Add lchown.h.
70216         * modules/time_r (Include): Use "..." syntax.
70217         * modules/xgetdomainname (Include): Add xgetdomainname.h.
70218
70219 2003-10-01  Simon Josefsson  <jas@extundo.com>
70220
70221         * MODULES.html.sh (func_all_modules): Move gethostname from section
70222         'based on' to section 'lacking' POSIX:2001.
70223
70224 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
70225
70226         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
70227         to output mode on the same stream.
70228
70229 2003-09-29  Paul Eggert  <eggert@twinsun.com>
70230
70231         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
70232         Fix arg typo in previous patch.
70233
70234 2003-09-28  Jim Meyering  <jim@meyering.net>
70235
70236         * lib/error.c: Correct cpp indentation.
70237
70238 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70239
70240         * modules/free: New file.
70241
70242 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70243
70244         * m4/free.m4: New file.
70245
70246 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70247
70248         * lib/minmax.h (MIN, MAX)
70249         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
70250         Omit the special code that used __typeof__, since we worry that
70251         it could be more trouble than it's worth.  See:
70252         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
70253         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
70254
70255         * lib/free.c: New file.
70256
70257 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
70258
70259         Trivial fixes to Makefile.am parts of module listings.
70260         * modules/strstr: Append strstr.h to lib_SOURCES.
70261         * modules/strcase: Likewise, for strcase.h.
70262
70263 2003-09-27  Karl Berry  <karl@gnu.org>
70264
70265         * config/mkinstalldirs: update from automake.
70266
70267 2003-09-26  Paul Eggert  <eggert@twinsun.com>
70268
70269         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
70270         (error_tail): Do not loop, reallocating temporary buffer, since
70271         the output cannot contain more wide characters than the input
70272         contains bytes, the size must be big enough already.  This avoids
70273         one potential size overflow calculation.  Check for size overflow
70274         when calculating temporary buffer size.  Free temporary buffer
70275         when done, if it was allocated with malloc; this plugs a memory
70276         leak.  Remove casts from void * to pointers, that are no longer
70277         needed now that we're assuming C89 or better.
70278
70279         Merge error changes from glibc.
70280
70281         * lib/error.c, error.h: Update copyright notice header to match glibc.
70282         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
70283         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
70284         Disable cancellation while printing error.
70285         * lib/error.h: Prepend __ to parameter names.
70286
70287 2003-09-26  Jim Meyering  <jim@meyering.net>
70288
70289         * lib/error.c (error_tail): Move some declarations
70290         into inner scope where the local variables are used.
70291
70292 2003-09-26  Bruno Haible  <bruno@clisp.org>
70293
70294         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
70295         stpncpy().
70296         Don't define stpncpy through config.h; it's now done through stpncpy.h.
70297
70298 2003-09-26  Bruno Haible  <bruno@clisp.org>
70299
70300         * lib/stpncpy.h (gnu_stpncpy): New declaration.
70301         (stpncpy): Define as alias for gnu_stpncpy.
70302         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
70303
70304 2003-09-25  Simon Josefsson  <jas@extundo.com>
70305
70306         * lib/xgetdomainname.h: New file.
70307         * lib/xgetdomainname.c: New file.
70308
70309 2003-09-25  Simon Josefsson  <jas@extundo.com>
70310             Bruno Haible  <bruno@clisp.org>
70311
70312         * modules/getdomainname: New file.
70313         * modules/xgetdomainname: New file.
70314         * MODULES.html.sh (func_all_modules): Add getdomainname,
70315         xgetdomainname.
70316
70317 2003-09-25  Simon Josefsson  <jas@extundo.com>
70318             Bruno Haible  <bruno@clisp.org>
70319
70320         * m4/getdomainname.m4: New file.
70321
70322 2003-09-25  Simon Josefsson  <jas@extundo.com>
70323             Bruno Haible  <bruno@clisp.org>
70324
70325         * lib/getdomainname.h: New file.
70326         * lib/getdomainname.c: New file.
70327
70328 2003-09-25  Karl Berry  <karl@gnu.org>
70329
70330         * lib/argp-fmtstream.c, argp-help.c: update from libc.
70331
70332 2003-09-25  Karl Berry  <karl@gnu.org>
70333
70334         * config/install-sh: update from automake.
70335
70336 2003-09-25  Bruno Haible  <bruno@clisp.org>
70337
70338         * modules/version-etc-2: New file, from modules/version-etc with
70339         modifications.
70340         * MODULES.html.sh (func_all_modules): Add version-etc-2.
70341
70342 2003-09-25  Bruno Haible  <bruno@clisp.org>
70343
70344         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
70345         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
70346
70347 2003-09-24  Simon Josefsson  <jas@extundo.com>
70348
70349         * modules/xgethostname: Add xgethostname.h.
70350
70351 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70352
70353         * lib/linebuffer.c (freebuffer): Don't free the argument, just
70354         the buffer associated with the argument.  Bug reported by
70355         Simon Josefsson.
70356
70357 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70358
70359         * README: Document assumptions that 'int' is at least 32 bits
70360         wide, that integer arithmetic is 2's complement without overflow,
70361         that there are no holes in integer values, that adding sizes of
70362         two nonoverlapping objects can't overflow, and that all-bits-zero
70363         yields scalar zero.  Fix spelling and capitalization typos.
70364
70365 2003-09-19  Karl Berry  <karl@gnu.org>
70366
70367         * lib/argp.h: update from libc.
70368
70369 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70370
70371         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
70372         to avoid spurious warnings like "AC_RUN_IFELSE was called before
70373         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
70374
70375 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70376
70377         * gnulib-tool: Use "test -h", not "test -L", for portability
70378         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
70379         (tags_regexp): Remove, since \| doesn't conform to POSIX.
70380         (sed_extract_prog): Issue s commands one-by-one, rather than
70381         using \| in one s command.
70382
70383 2003-09-16  Paul Eggert  <eggert@twinsun.com>
70384
70385         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
70386         input error, instead of returning NULL the next time we are called
70387         (and therefore losing track of errno).
70388
70389 2003-09-16  Bruno Haible  <bruno@clisp.org>
70390
70391         * gnulib-tool (func_create_testdir): Warn about duplicated
70392         dependencies.
70393
70394 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70395
70396         * modules/argmatch, modules/fatal, modules/obstack,
70397         modules/xalloc, modules/xgethostname: Sort dependencies by
70398         importance, not alphabetically.
70399
70400 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70401
70402         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
70403         fails, so that the caller gets the proper errno.
70404
70405         * lib/readutmp.c (read_utmp): Likewise.
70406         Check for fstat error.  Close stream and free storage
70407         when failing.
70408
70409 2003-09-14  Karl Berry  <karl@gnu.org>
70410
70411         * config/srclist.txt (strdup.c): disable for c89 changes.
70412
70413 2003-09-14  Jim Meyering  <jim@meyering.net>
70414
70415         * lib/getloadavg.c: Correct cpp indentation.
70416         * lib/strdup.c: Likewise.
70417         * lib/vasnprintf.c: Likewise.
70418
70419 2003-09-14  Bruno Haible  <bruno@clisp.org>
70420
70421         * modules/fwriteerror: New file.
70422         * MODULES.html.sh (func_all_modules): Add fwriteerror.
70423
70424 2003-09-14  Bruno Haible  <bruno@clisp.org>
70425
70426         * lib/fwriteerror.h: New file.
70427         * lib/fwriteerror.c: New file.
70428
70429 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70430
70431         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
70432         modules/xgethostname, modules/xalloc: Depend on exit.
70433
70434 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70435
70436         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
70437
70438         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
70439         and AC_MINIX, too, so that their extensions are available.
70440
70441         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
70442         This macro has been superseded by gl_BACKUPFILE.
70443
70444         More patches to assume C89 or better.
70445
70446         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
70447
70448         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
70449         unconditionally.
70450         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
70451         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
70452         Include <string.h>, <stdlib.h> unconditionally.
70453         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
70454         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
70455         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
70456         headers or for string.h.
70457         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
70458         or strtoul.
70459
70460         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
70461         headers.
70462         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
70463         * m4/userspec.m4 (gl_USERSPEC): Likewise.
70464         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
70465         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
70466         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70467         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
70468         memcpy, memset.
70469         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
70470         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
70471         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
70472         strtol.
70473         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
70474         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
70475         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
70476         strtoul.
70477
70478 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70479
70480         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
70481         * lib/obstack.c [!defined _LIBC]: Likewise.
70482         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
70483         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
70484         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
70485
70486         More changes to assume C89 or better.
70487
70488         * lib/error.c (error_tail): Assume vprintf.
70489
70490         * lib/argmatch.c (getenv): Remove decl.
70491         * lib/progreloc.c (get_full_program_name): Define via prototype.
70492         * lib/setenv.c (clearenv): Likewise.
70493         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
70494         needed.
70495         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
70496         (malloc, memcpy): Remove decls.
70497         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
70498         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
70499         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70500         (memcpy): Remove macro.
70501         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
70502         (__P): Remove.  All uses removed.
70503         (PTR): Remove.  All uses changed to void *.
70504         (CHAR_BIT, NULL): Remove.
70505         (spaces, zeros, memset_space, memset_zero)
70506         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
70507         Remove.
70508         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
70509         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
70510         Define with prototype.
70511         Remove now-unnecessary prototype decl.
70512         (extra_args_spec): Assume ANSI C.  All uses changed.
70513         (extra_args_spec_iso): Remove.
70514         (my_strftime, emacs_strftimeu): Define via prototype.
70515         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
70516         unconditionally.
70517         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
70518         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
70519         (strtoul, strtol): Remove decls.
70520         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
70521         LONG_MAX): Remove.
70522         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70523         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
70524         (LOCALE_PARAM_PROTO): New macro.
70525         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
70526         (INTERNAL (strtol), strtol): Define with a prototype.
70527         (PARAMS): Remove.  All uses removed.
70528         * lib/tempname.c: Include <string.h> unconditionally.
70529         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
70530         * lib/xgethostname.c (main): Define with a prototype.
70531         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
70532         Include <stdlib.h> unconditionally.
70533         (calloc, malloc, realloc, free): Remove decls.
70534         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
70535         Include <stdlib.h> unconditionally.  Sort include file names.
70536         (strtod): Remove.
70537         (xstrtod): Define with a prototype.
70538         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
70539         (strtol, strtoul): Remove decls.
70540
70541 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70542
70543         More patches to assume C89 or better.
70544         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
70545         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
70546         string.h, memchr, STDC_HEADERS.
70547
70548 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70549
70550         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
70551         Include <stdlib.h>, <string.h> unconditionally.
70552         Remove now-unnecessary cast to char *.
70553         * lib/strnlen.c: Include <string.h> unconditionally.
70554         * lib/yesno.c (yesno): Define with a prototype.
70555
70556 2003-09-11  Bruno Haible  <bruno@clisp.org>
70557
70558         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
70559
70560 2003-09-10  Jim Meyering  <jim@meyering.net>
70561
70562         * lib/error.c: Correct indentation of cpp directives.
70563
70564 2003-09-10  Bruno Haible  <bruno@clisp.org>
70565
70566         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
70567         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
70568         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
70569         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
70570         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
70571         <stdlib.h> and <string.h> checks.
70572         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
70573         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
70574
70575 2003-09-10  Bruno Haible  <bruno@clisp.org>
70576
70577         * lib/strcspn.c: Include <string.h> unconditionally.
70578         * lib/strpbrk.c: Include <string.h> unconditionally.
70579         * lib/strstr.c: Include <string.h> unconditionally.
70580         * lib/unicodeio.c: Include <string.h> unconditionally.
70581         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
70582         * lib/unsetenv.c: Likewise.
70583         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
70584         * lib/yesno.c: Include <stdlib.h> unconditionally.
70585         (rpmatch): Add prototype.
70586
70587 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70588
70589         More patches to assume C89 or better.
70590         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
70591         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
70592         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
70593         or for string.h.
70594         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
70595         stdlib.h.
70596         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
70597         C headers.
70598         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
70599         string.h.
70600         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
70601         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
70602         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
70603         or for string.h.
70604         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
70605         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
70606         C headers.
70607         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
70608         memcpy.
70609         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
70610         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
70611         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
70612         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
70613         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
70614         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
70615         string.h, free.
70616         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
70617         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
70618         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
70619         C headers, or for string.h.
70620         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
70621         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
70622         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
70623         headers, memory.h, stdlib.h, string.h, strings.h.
70624         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
70625         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
70626         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
70627         strchr.
70628         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
70629         headers, memory.h, string.h.
70630         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
70631         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
70632         free.
70633         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
70634         headers.
70635         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
70636         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
70637         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
70638         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
70639         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
70640
70641 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70642
70643         More K&R removal.
70644
70645         * lib/acosl.c (main): Use a prototype.
70646         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
70647         tanl.c: Likewise.
70648
70649         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
70650
70651         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
70652         (getopt, etopt_long, getopt_long_only, _getopt_internal)
70653         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
70654         with a prototype.
70655         * lib/getopt.c (const): Remove macro.
70656         Include <string.h> unconditionally.
70657         (my_index): Remove; all uses changed to strchr.
70658         (strlen): Remove decl.
70659         (exchange): Remove forward decl; no longer needed.
70660         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
70661         Define with prototype.
70662         * lib/getopt1.c (const): Remove macro.
70663         (getopt_long, getopt_long_only, main): Define with prototype.
70664
70665         * lib/getugroups.c: Include <string.h> unconditionally.
70666
70667         * lib/getusershell.c: Include <stdlib.h> unconditionally.
70668         (getusershell, setusershell, endusershell, readname, main):
70669         Define with prototypes.
70670
70671         * lib/group-member.c: Include group-member.h first.
70672         Include <stdlib.h> unconditionally.
70673
70674         * lib/hard-locale.c: Include hard-locale.h first.
70675         Include <stdlib.h>, <string.h> unconditionally.
70676
70677         * lib/hash.c (free, malloc): Remove decls.
70678         Include <stdlib.h> unconditionally.
70679
70680         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
70681         (getenv): Do not declare.
70682
70683         * lib/idcache.c: Include <string.h> unconditionally.
70684
70685         * lib/long-options.c: Include long-options.h first, to test interface.
70686         Include <stdlib.h> unconditionally.
70687
70688         * lib/makepath.c: Include makepath.h first, to test interface.
70689         Include <stdlib.h> and <string.h> unconditionally.
70690
70691         * lib/linebuffer.c: Include <stdlib.h>.
70692         (free): Remove decl.
70693
70694         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
70695         stddef.h. rpl_malloc returns void *, not char *.
70696         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
70697         prototype.
70698
70699         * lib/md5.h: Include <limits.h> unconditionally.
70700         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
70701         (__P): Remove; all uses removed.
70702         * lib/md5.c: Include "md5.h" first.
70703         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
70704         md5_buffer, md5_process_bytes, md5_process_block):
70705         Define with prototypes.
70706         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
70707         * lib/sha.c: Include "sha.h" first.
70708         Include <stdlib.h>, <string.h> unconditionally.
70709
70710         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
70711         * lib/memcmp.c (__ptr_t): Likewise.
70712         * lib/memrchr.c (__ptr_t): Likewise.
70713         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
70714         Include <string.h> unconditionally.
70715         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
70716         * lib/memchr.c: Include <stdlib.h> unconditionally.
70717         * lib/memchr.c (LONG_MAX): Remove.
70718         * lib/memrchr.c (LONG_MAX): Likewise.
70719         * lib/memchr.c (__memchr): Define via a prototype.
70720         * lib/memrchr.c (__memrchr): Likewise.
70721         * lib/memcmp.c (__P): Remove, and remove all uses.
70722         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
70723         Remove forward decls; no longer needed.
70724         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
70725         Use types required by C89 in prototype.
70726
70727         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
70728         * lib/savedir.c: Likewise.
70729         * lib/mkdir.c (free): Remove decl.
70730         * lib/rmdir.c (rmdir): Define with a prototype.
70731         * lib/savedir.c: Include savedir.h first, to test interface.
70732
70733         * lib/mktime.c (STDC_HEADERS): Remove.
70734         Include <stdlib.h>, <string.h> unconditionally.
70735
70736         * lib/modechange.c: Include <stdlib.h> unconditionally.
70737         (malloc): Remove decl.
70738
70739         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
70740         (free): Remove decl.
70741
70742         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
70743         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
70744         (This type really should be intptr_t, but that's a C99ism.)
70745         (_obstack_memcpy): Remove: all uses changed to memcpy.
70746         Include <string.h> unconditionally.
70747         (struct obstack): Assume __STDC__ for types of members
70748         chunkfun, freefun, extra_arg.
70749         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
70750         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
70751         obstack_begin, obstack_specify_allocation,
70752         obstack_specify_allocation_with_arg, obstack_chunkfun,
70753         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
70754         Remove unprototyped decls and the macros that use them.
70755         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
70756         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
70757         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
70758         (defined __STDC__ && __STDC__)]:
70759         Remove nonprototyped code.
70760         Include <stdlib.h> unconditionally.
70761         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
70762         _obstack_allocated_p, _obstack_free, obstack_free,
70763         _obstack_memory_used, print_and_abort):
70764         Define using prototypes.
70765         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
70766         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
70767         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
70768         obstack_next_free, obstack_object_size, obstack_room) [0]:
70769         Remove unused, unprototyped code.
70770
70771         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
70772
70773         * lib/physmem.c (physmem_total, physmem_available, main): Define
70774         with prototypes.
70775
70776         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
70777         (main): Define with a prototype.
70778
70779         * lib/posixver.c (getenv): Remove decl.
70780
70781         * lib/putenv.c (malloc): Returns void *, not char *.
70782         Include <string.h> unconditionally.
70783         (strchr, memcpy, NULL): Do not define.
70784
70785         * lib/readtokens.c: Include readtokens.h first, to test interface.
70786         Include <stdlib.h>, <string.h> unconditionally.
70787         (init_tokenbuffer): Define with a prototype.
70788
70789         * lib/regex.c (PARAMS): Remove.  All uses removed.
70790         All uses of _RE_ARGS removed, too.
70791         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70792         unconditionally.
70793         (bzero): Assume memset exists.
70794         (memcmp, memcpy, NULL): Remove.
70795         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
70796         char, or assignments to local vars of type signed char.
70797         (init_syntax_once, PREFIX(extract_number_and_incr),
70798         PREFIX(print_partial_compiled_pattern),
70799         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70800         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70801         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70802         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70803         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70804         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70805         wcs_compile_range, byte_compile_range, truncate_wchar,
70806         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70807         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70808         count_mbs_length, wcs_re_match_2_internal,
70809         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70810         PREFIX(alt_match_null_string_p),
70811         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70812         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70813         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70814         now-unnecessary declaration, if any.
70815         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70816         regcomp, regexec):
70817         Remove now-unnecessary casts among pointer types.
70818         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70819
70820         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70821         (free): Remove decl.
70822
70823         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70824
70825         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70826         (free): Remove decl.
70827
70828         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70829         * lib/xgetcwd.c: Likewise.
70830
70831         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70832         (free): Remove decl.
70833
70834         * lib/strchrnul.c (strchrnul): Define with a prototype.
70835         Fix bug: c_in was not converted to char before searching.
70836
70837         The following changes are not K&R related:
70838
70839         * lib/group-member.h: Include <sys/types.h>, so that this file is
70840         self-contained.
70841         * lib/makepath.h: Likewise.
70842
70843         * lib/getusershell.c (readname, default_index, line_size, readname):
70844         Use size_t, not int, for sizes.
70845         (readname): If the size overflows, report an error instead of
70846         looping forever.
70847
70848 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70849
70850         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70851         libc.
70852
70853 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70854
70855         * README: New section: portability guidelines.
70856
70857 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70858
70859         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70860         C89 spec.
70861
70862 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70863
70864         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70865
70866 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70867
70868         Assume C89 or better; remove K&R cruft.
70869         A few of these changes were first proposed by Derek Robert Price
70870         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70871
70872         * lib/addext.c: Include <string.h> unconditionally.
70873         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70874         Don't declare getenv or malloc.
70875
70876         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70877         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70878         (NULL): Remove.
70879         (find_stack_direction, alloca): Use prototypes.
70880
70881         * lib/atexit.c (atexit): Define using a prototype.
70882
70883         * lib/basename.c, dirname.c, stripslash.c:
70884         Include <string.h> unconditionally.
70885
70886         * lib/bcopy.c: Include <stddef.h>.
70887         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70888
70889         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70890
70891         * lib/error.h (error, error_at_line, error_print_progname)
70892         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70893         * lib/error.c: Include error.h first, to check interface.
70894         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70895         (VA_START): Remove; all uses changeed to va_start.
70896         (exit, strerror): Remove decls.
70897         (error_print_progname): Prototype uncondionally.
70898         Don't include <errno.h>; no longer needed.
70899         (private_strerror): Remove.
70900         (error_tail): Always define.
70901         (error, error_at_line): Assume C89 or better; always use prototypes.
70902         * lib/fatal.c: Include "fatal.h" first, to test interface.
70903         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70904         (VA_START): Remove; all uses changed to va_start.
70905         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70906         this case.
70907         (exit): Remove decl.
70908         (fatal): Prototype unconditionally.  Assume va_start works.
70909         Abort at end, to pacify gcc.
70910
70911         * lib/euidaccess.c (main): Define with a prototype.
70912
70913         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70914
70915         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70916
70917         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70918         prototypes.
70919         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70920         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70921         (getenv): Remove decl.
70922         (fnmatch): Define using a prototype.
70923         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70924         (FCT): Define using a prototype.
70925
70926         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70927
70928         * lib/gethostname.c: Include <stddef.h>.
70929         (gethostname): Define with prototype.  Length is size_t, not int.
70930
70931 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70932
70933         Assume C89 or better; remove K&R cruft.
70934         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70935         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70936         string.h, getenv, malloc.
70937         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70938         headers.
70939         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70940         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70941         do not check for strerror.
70942         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70943         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70944         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70945         do not check for doprnt or vprintf.
70946         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70947         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70948
70949 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70950
70951         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70952         getversion.c should have been removed then, but was accidentally
70953         preserved.
70954
70955         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70956         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70957
70958 2003-09-08  Karl Berry  <karl@gnu.org>
70959
70960         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70961                 config, forget about prep.
70962
70963         * config/depcomp, missing: update from automake.
70964
70965 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70966
70967         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70968         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70969
70970 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70971
70972         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70973         copy_tm_result.  Bug reported by Simon Josefsson in
70974         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70975
70976 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70977
70978         * m4/time_r.m4: New file.
70979         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70980         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70981         is. Check for timegm declaration.
70982         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70983         Do not check for gmtime_r.
70984         Replace mktime if __mktime_internal does not exist and if mktime
70985         hasn't been replaced already.
70986
70987 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70988
70989         * lib/time_r.c, lib/time_r.h: New files.
70990
70991         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70992         __localtime_r.
70993         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70994         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70995
70996         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70997         __gmtime_r.
70998         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70999         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
71000         Include <time_r.h>.
71001
71002         * lib/timegm.c: Switch to glibc implementation, with the following
71003         changes:
71004         [defined HAVE_CONFIG_H]: Include <config.h>.
71005         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
71006         (__mktime_internal) [!defined _LIBC]: New decl.
71007         (__gmtime_r) [!defined _LIBC]: New macro and function.
71008         (timegm): Use a prototype, since gnulib assumes C89.
71009         Do not bother declaring tmp to be const, as it's not really usefu.
71010         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
71011         (timegm): Declare only if HAVE_DECL_TIMEGM.
71012
71013 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71014
71015         * MODULES.html.sh (func_all_modules): Add time_r.
71016         * modules/time_r: New file.
71017         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
71018         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
71019
71020 2003-09-03  Paul Eggert  <eggert@twinsun.com>
71021
71022         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
71023         Bug reported by Lute Kamstra in
71024         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
71025
71026         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
71027         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
71028         course with correspondingly smaller numbers for tomorrow and
71029         yesterday.  From Tadayoshi Funaba.  Originally installed into
71030         sh-utils on 1999-08-07, but the patch got lost (I guess during the
71031         coreutils merge?).
71032
71033 2003-08-31  Simon Josefsson  <jas@extundo.com>
71034
71035         * modules/timegm: New file.
71036         * MODULES.html.sh (func_all_modules): Add timegm.
71037
71038 2003-08-31  Simon Josefsson  <jas@extundo.com>
71039
71040         * m4/timegm.m4: New file.
71041
71042 2003-08-31  Simon Josefsson  <jas@extundo.com>
71043
71044         * lib/timegm.h: New file.
71045         * lib/timegm.c: New file.  Based on
71046         wget-1.8.2/src/http.c:mktime_from_utc.
71047
71048 2003-08-31  Karl Berry  <karl@gnu.org>
71049
71050         * lib/argp.h: update from libc.
71051
71052 2003-08-28  Bruno Haible  <bruno@clisp.org>
71053
71054         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
71055         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
71056         followed by '#define fnmatch fnmatch_posix' gives an error.
71057
71058 2003-08-28  Bruno Haible  <bruno@clisp.org>
71059
71060         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
71061         warning on QNX, which defines O_BINARY to 000000.
71062
71063 2003-08-27  Jim Meyering  <jim@meyering.net>
71064
71065         * m4/mkstemp.m4: Require that the system mkstemp be able to create
71066         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
71067         would fail after 32.  Reported by Danny Levinson.  Details here:
71068         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
71069
71070 2003-08-24  Bruno Haible  <bruno@clisp.org>
71071
71072         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
71073         MSVC7 <stdio.h> is included later.
71074
71075 2003-08-22  Simon Josefsson  <jas@extundo.com>
71076
71077         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
71078
71079 2003-08-20  Karl Berry  <karl@gnu.org>
71080
71081         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
71082
71083 2003-08-20  Bruno Haible  <bruno@clisp.org>
71084
71085         * modules/progname: New file.
71086         * MODULES.html.sh (func_all_modules): Add progname.
71087
71088 2003-08-20  Bruno Haible  <bruno@clisp.org>
71089
71090         * lib/progname.h: New file, from GNU gettext.
71091         * lib/progname.c: New file, from GNU gettext.
71092         * lib/progreloc.c: New file, from GNU gettext.
71093
71094 2003-08-19  Jim Meyering  <jim@meyering.net>
71095
71096         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
71097         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
71098
71099 2003-08-19  Bruno Haible  <bruno@clisp.org>
71100
71101         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
71102         more.
71103
71104 2003-08-19  Bruno Haible  <bruno@clisp.org>
71105
71106         * lib/xstrdup.c: Assume <string.h> exists.
71107
71108 2003-08-18  Paul Eggert  <eggert@twinsun.com>
71109
71110         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
71111         in makefile rules.
71112
71113 2003-08-18  Jim Meyering  <jim@meyering.net>
71114
71115         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
71116         * m4/lib-ld.m4: Likewise.
71117
71118 2003-08-18  Jim Meyering  <jim@meyering.net>
71119
71120         * lib/setenv.h: Indent nested cpp directive.
71121         * lib/vasnprintf.c: Remove trailing blanks.
71122
71123 2003-08-17  Simon Josefsson  <jas@extundo.com>
71124
71125         * modules/xstrndup: New file.
71126         * MODULES.html.sh (func_all_modules): Add xstrndup.
71127
71128 2003-08-17  Simon Josefsson  <jas@extundo.com>
71129
71130         * modules/argp: Fix autoconf macro name. Add more dependencies.
71131
71132 2003-08-17  Simon Josefsson  <jas@extundo.com>
71133
71134         * m4/xstrndup.m4: New file.
71135
71136 2003-08-17  Simon Josefsson  <jas@extundo.com>
71137
71138         * m4/argp.m4: New file.
71139
71140 2003-08-17  Simon Josefsson  <jas@extundo.com>
71141             Bruno Haible  <bruno@clisp.org>
71142
71143         * lib/xstrndup.h: New file.
71144         * lib/xstrndup.c: New file.
71145
71146 2003-08-17  Bruno Haible  <bruno@clisp.org>
71147
71148         * modules/strndup (Files, Include): Add lib/strndup.h.
71149
71150 2003-08-17  Bruno Haible  <bruno@clisp.org>
71151
71152         * modules/euidaccess (Files): Add lib/euidaccess.h.
71153
71154 2003-08-17  Bruno Haible  <bruno@clisp.org>
71155
71156         * lib/strndup.h: New file.
71157
71158 2003-08-17  Bruno Haible  <bruno@clisp.org>
71159
71160         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
71161         like AC_GNU_SOURCE.
71162         * modules/extensions (configure.ac): Comment out the invocation of
71163         gl_USE_SYSTEM_EXTENSIONS.
71164
71165 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71166
71167         Merges from coreutils, etc.
71168         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
71169         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
71170         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
71171         fixing a typo.
71172         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
71173         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
71174
71175 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71176
71177         Document merge from coreutils.
71178         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
71179         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
71180         * modules/utime: Add m4/utimes-null.m4.
71181
71182 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71183
71184         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
71185         space, undoing this 2003-08-12 change:
71186         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71187
71188 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71189
71190         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
71191         strtoul.c from libc, undoing this 2003-08-12 change:
71192         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71193
71194 2003-08-16  Jim Meyering  <jim@meyering.net>
71195
71196         Merges from coreutils.
71197         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
71198         prefix.  Adjust cache variables similarly.  Create 500 rather than
71199         just 300 files, to exercise bug on Darwin6.5, too.
71200         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
71201         $missing_dir.
71202         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
71203         AM_SYS_POSIX_TERMIOS.
71204         Reported by mkc@mathdogs.com.
71205         Also change use of $am_cv_sys_posix_termios
71206         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
71207         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
71208         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
71209         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
71210         in /proc/mounts until it finds one with matching device number.  This
71211         is unnecessary when the FILE argument *is* a mount point.  No stat call
71212         is necessary in that case.  So, disable the statvfs-testing code on
71213         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
71214         as RedHat bug# 84846.
71215         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71216         to 1MB, so as not to render systems with no stack size limit (e.g.,
71217         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71218         Include <unistd.h>.  On some systems,
71219         it is required for the definition of _SC_PAGESIZE.
71220
71221 2003-08-16  Jim Meyering  <jim@meyering.net>
71222
71223         Merge from coreutils.
71224         * lib/xstrtoimax.c: #else #if -> #elif.
71225         * lib/xstrtoumax.c: Likewise.
71226
71227 2003-08-16  Jim Meyering  <jim@meyering.net>
71228
71229         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
71230         * m4/utimes.m4: Removed.
71231         * m4/utimes-null.m4: Renamed from utimes.m4.
71232
71233         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71234         to 1MB, so as not to render systems with no stack size limit (e.g.,
71235         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71236         Include <unistd.h>.  On some systems,
71237         it is required for the definition of _SC_PAGESIZE.
71238
71239 2003-08-16  Jim Meyering  <jim@meyering.net>
71240         and Paul Eggert  <eggert@cs.ucla.edu>
71241
71242         Merges from coreutils, etc.
71243
71244         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
71245         using the latest version from cvs.  This avoids problems with #line
71246         directives using a vendor (Sun) compiler.
71247         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
71248         Don't set GETGROUPS_LIB here; now it's
71249         done via getgroups.m4's wrapper function.
71250         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
71251         rather than just in sh-util/configure.in, so that the
71252         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
71253         same.
71254         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
71255         AC_FUNC_GETLOADAVG where to find getloadavg.c.
71256         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
71257         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
71258         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
71259         Remove code that is now done by the newly-required macros.
71260         Append $(EXEEXT) to DF_PROG.
71261         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
71262         Do not invoke or require the following here,
71263         since prereq.m4 or some gnulib .m4 now does this for us:
71264         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
71265         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
71266         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
71267         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
71268         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
71269         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
71270         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
71271         AC_FUNC_OBSTACK.
71272         Do not replace the following functions, as this is now the job
71273         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
71274         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
71275         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
71276         atexit getpass, strdup, getpagesize.
71277         Replace 'raise'.
71278         Do not check for the following functions, as this is now the job
71279         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
71280         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
71281         setregid.
71282         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
71283         Check for sys/sysctl.h.
71284         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
71285         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
71286         of checking for ssize_t ourselves.
71287
71288         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
71289         Require every macro that gnulib/modules/* suggests for us.
71290         (jm_PREREQ_ADDEXT): New macro.
71291         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
71292         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
71293
71294         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
71295         (gl_PHYSMEM): Use it.
71296         Also check for `table' function.
71297         Check for new headers and functions.
71298         Add check for sys/sysmp.h.
71299         With suggestions from Kaveh Ghazi.
71300         Ignore headers that are present but cannot be compiled.  This
71301         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
71302         C 5.4.
71303
71304 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71305
71306         Document merge from coreutils.
71307         * modules/userspec: Depend on posixver.
71308         * modules/strftime: Depend on tzset.
71309
71310 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71311
71312         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
71313         rather than tab, after '#' in shell-script copyright notices.
71314         Suggested by Bruno Haible.
71315
71316 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71317
71318         * config/srclist-update: Use three spaces, rather than tab, after '#'
71319         in shell-script copyright notices.  Suggested by Bruno Haible.
71320         Remove unnecessary parenthesization in regular expression.
71321
71322 2003-08-15  Jim Meyering  <jim@meyering.net>
71323
71324         Merge from coreutils.
71325         * lib/xgethostname.c: Include <stdlib.h>.
71326         (xghostname): Don't exit for anything other than memory-related
71327         failure; just return NULL.
71328         * lib/userspec.c: Include "posixver.h".
71329         (parse_user_spec): Accept `.' as a separator only
71330         in pre-POSIX-200112 mode.
71331         * lib/strtoimax.c: Use #elif rather than #else #if.
71332         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
71333         Remove function, now that we can rely on a working tzset function.
71334         [!_LIBC]: Ensure that the required autoconf test has been run.
71335         [!defined _NL_CURRENT && HAVE_STRFTIME]:
71336         Use underlying_strftime for %r.
71337         * lib/sha.c: Merge in some clean-up and optimization changes from
71338         glibc.
71339         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
71340         Ensure that it is a multiple of 64.
71341         Rearrange loop exit tests so as to avoid performing an
71342         additional fread after encountering an error or EOF.
71343         * lib/realloc.c: Update copyright date.
71344
71345 2003-08-15  Jim Meyering  <jim@meyering.net>
71346         and Paul Eggert  <eggert@twinsun.com>
71347
71348         Merge from coreutils.
71349         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
71350         member but strut utmpx does not.  Needed for AIX 4.3.3.
71351         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
71352
71353 2003-08-15  Jim Meyering  <jim@meyering.net>
71354         and Paul Eggert  <eggert@cs.ucla.edu>
71355
71356         Merges from coreutils, etc.
71357         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
71358         Require gl_FUNC_TZSET_CLOBBER.
71359         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
71360         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
71361         members.
71362
71363 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71364
71365         Help the merge from coreutils.
71366         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
71367         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
71368         * m4/tzset.m4: Use it too.
71369
71370 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71371
71372         * modules/tzset: New file.
71373
71374 2003-08-14  Jim Meyering  <jim@meyering.net>
71375
71376         Merges from coreutils.
71377         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
71378         variable names, rather than @FNMATCH_H@.
71379         * modules/alloca: Likewise for $(ALLOCA_H).
71380
71381         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
71382         the three copies of the literal target, `fnmatch.h'.
71383         * modules/alloca (alloca.h): Likewise.
71384
71385 2003-08-14  Jim Meyering  <jim@meyering.net>
71386
71387         Merge from coreutils.
71388         * m4/tzset.m4: New file.
71389         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
71390         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
71391         otherwise, AIX 5.1 systems would end up using the latter.
71392         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
71393         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
71394         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
71395         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
71396
71397 2003-08-14  Jim Meyering  <jim@meyering.net>
71398
71399         Merge from coreutils.
71400         * lib/obstack.h: Whitespace changes.
71401         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
71402         and xcalloc return values.
71403         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
71404         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
71405         hang on OSF/1 5.1 for DIR on both local and remote file systems.
71406         Reported by (and fix confirmed by) Nelson H. F. Beebe.
71407         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71408         error from mntctl.
71409         Use mntctl's return value to drive the entry-processing loop, since
71410         we can't rely on the value of the vmt_length member in the last
71411         entry.  On some systems doing so could result in exhausting
71412         virtual memory.  Based in part on a patch from Mike Jetzer.
71413
71414 2003-08-14  Jim Meyering  <jim@meyering.net>
71415         and Paul Eggert  <eggert@twinsun.com>
71416
71417         Merges from coreutils, plus other fixes.
71418         * lib/physmem.c: Merge in portability changes from gcc/libiberty
71419         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
71420         for credits and details.  Thanks to Kaveh Ghazi for helping
71421         to keep these files in sync.
71422         (ARRAY_SIZE): Define it.
71423         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
71424         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
71425         (memcasecmp): Don't assume size_t fits in unsigned int.
71426         Remove casts and duplicate code.
71427         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
71428         (memcpy): Remove definition.
71429         Merge in some clean-up and optimization changes from glibc.
71430         [BLOCKSIZE]: Move definition to top of file.
71431         Ensure that it is a multiple of 64.
71432         Rearrange loop exit tests so as to avoid performing an
71433         additional fread after encountering an error or EOF.
71434         * lib/md5.h (md5_uintptr): Define.
71435         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
71436         return to the initial working directory.  Preserve errno
71437         for caller.
71438         * lib/idcache.c: Include "xalloc.h".
71439         (xmalloc, xrealloc): Remove decls.
71440         (getuser): Remove casts no longer required in C89.
71441         * lib/human.c: Include stdio.h, for sprintf.
71442         * lib/group-member.c: Include "xalloc.h".
71443         (xmalloc, xrealloc): Remove decls.
71444         (get_group_info): Remove casts no longer required in C89.
71445         * lib/getusershell.c (readname): Remove casts no longer required in
71446         C89.
71447         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
71448         * lib/getline.c: Whitespace fix, from coreutils.
71449
71450 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71451
71452         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
71453         Check for isascii.
71454
71455         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71456         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71457         Undo previous (whitespace-only) change.
71458
71459 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71460
71461         * lib/exclude.c: Include <ctype.h>
71462         (IN_CTYPE_DOMAIN): New macro.
71463         (is_space): New fn.
71464         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
71465         and empty lines.
71466
71467         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71468         Undo previous (whitespace-only) change.
71469
71470 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71471
71472         * config/srclist-update: Change update back to the old behavior,
71473         leaving whitespace alone.  Use one 'sed' command rather than a
71474         pipeline.
71475         (fixlicense): Now a variable, not a function.
71476         (remove_trailing_blanks): Remove.
71477         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
71478         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71479         Undo previous (whitespace-only) change.
71480
71481 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71482
71483         Merge from coreutils.
71484         * modules/euidaccess: Add lib_SOURCES, include for new
71485         file euidaccess.h
71486
71487 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71488
71489         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71490         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71491         Normalize leading white space and remove trailing white space.
71492
71493         Merge from coreutils
71494         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
71495
71496         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
71497         0.12.1.  These files are now being upgraded automatically by
71498         ../config/srclist-update.
71499
71500 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71501
71502         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71503         Normalize leading white space and remove trailing white space.
71504         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
71505         notice, as per ../config/srclist-update.
71506
71507         Merge from coreutils.
71508         * lib/euidaccess.h: New file.
71509         * lib/euidaccess.c: Include it.
71510         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
71511         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
71512         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
71513
71514 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71515
71516         * config/srclist-update: Add copyright notice.
71517         (remove_id_lines, remove_trailing_blanks): New constants.
71518         (fixfile): Use them to normalize spacing a bit in copied files.
71519         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71520         Normalize leading white space and remove trailing white space.
71521
71522         * config/texinfo.tex: Sync with texinfo.
71523
71524         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
71525         strtoul.c from libc, to merge coreutils whitespace changes.
71526
71527         * config/srclist.txt: Get the following m4 files from gettext:
71528         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
71529         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
71530         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
71531         wint_t.m4.
71532
71533 2003-08-12  Karl Berry  <karl@gnu.org>
71534
71535         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
71536         been made.
71537
71538 2003-08-11  Paul Eggert  <eggert@twinsun.com>
71539
71540         * modules/gnu-source, m4/gnu-source.m4:
71541         Remove; we're assuming Autoconf 2.54 or later now.
71542         Suggested by Bruno Haible.
71543         * MODULES.html.sh (func_all_modules): Remove gnu-source.
71544
71545 2003-08-11  Bruno Haible  <bruno@clisp.org>
71546
71547         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
71548
71549 2003-08-11  Bruno Haible  <bruno@clisp.org>
71550
71551         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
71552         (vasnprintf): Use it instead of wcslen.
71553
71554 2003-08-11  Bruno Haible  <bruno@clisp.org>
71555
71556         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
71557         value to ensure that _Bool promotes to int. Use #define for _Bool when
71558         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
71559
71560 2003-08-10  Karl Berry  <karl@gnu.org>
71561
71562         * lib/regex.h: update from libc (whitespace fix).
71563
71564 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71565
71566         Merge some files from coreutils.  These changes were
71567         originally made by Jim Meyering.
71568         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
71569         many older Unixes require this.
71570         * lib/alloca.c (alloca): Remove cast to argument of free;
71571         no longer needed in C89.
71572         * lib/alloca_.h, regex.h: Fix white space to match
71573         what GNU indent does.
71574
71575 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71576
71577         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
71578         apparently Emacs's Unicode mode got confused before my 2003-08-05
71579         checkin.
71580
71581 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71582
71583         * m4/extensions.m4: New file.
71584         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
71585         Require gl_USE_SYSTEM_EXTENSIONS.
71586         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
71587         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
71588
71589 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71590
71591         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
71592         * modules/extensions, modules/gnu-source: New files.
71593         * modules/timespec, modules/unlocked-io: Depend on extensions.
71594
71595 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71596
71597         * modules/restrict: New file.
71598         * MODULES.html.sh (func_all_modules): Add restrict.
71599         * modules/regex: Depend on restrict.
71600
71601 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71602
71603         * m4/restrict.m4: New file.
71604         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
71605
71606 2003-08-07  Bruno Haible  <bruno@clisp.org>
71607
71608         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
71609         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
71610
71611 2003-08-07  Bruno Haible  <bruno@clisp.org>
71612
71613         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
71614         makes the module 'getndelim2' compatible with the module 'getline'.
71615
71616 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71617
71618         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
71619         byte with "\201" to avoid glitches when editing that source file
71620         with multi-gnome-terminal.
71621
71622 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71623
71624         * lib/bumpalloc.h: Remove.
71625
71626 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71627
71628         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
71629         * modules/bumpalloc: Remove.
71630
71631 2003-08-04  Paul Eggert  <eggert@twinsun.com>
71632
71633         * lib/getloadavg.c: Change copyright notice and spacing to conform to
71634         GNU coding style.
71635
71636         Merge from coreutils.
71637         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
71638         1. From glibc.
71639         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
71640         from Karl Berry, implemented by Jim Meyering.
71641         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
71642         from Dmitry V. Levin.
71643         Remove anachronistic cast of xrealloc.
71644         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
71645         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
71646         type. Otherwise, it wouldn't compile with at least /bin/cc on
71647         ymp-cray-unicos9.0.2.X.
71648         Combine two mostly-identical uses of alloca into one.
71649         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
71650
71651 2003-08-04  Dave Love  <d.love@dl.ac.uk>
71652
71653         [From Emacs.]
71654
71655         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
71656         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
71657         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
71658         obsolete NLIST_NAME_UNION.
71659         [__GNU__]: Undef BSD and FSCALE.
71660         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
71661
71662 2003-08-03  Paul Eggert  <eggert@twinsun.com>
71663
71664         * lib/stdbool_.h (_Bool): Make it signed char, instead of
71665         an enum type, so that it's guaranteed to promote to int.  See:
71666         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
71667
71668 2003-08-03  Karl Berry  <karl@gnu.org>
71669
71670         * config/depcomp: update from automake.
71671
71672 2003-07-31  Paul Eggert  <eggert@twinsun.com>
71673
71674         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
71675         (strerror): Don't assume that a printable int fits in 14 bytes.
71676
71677 2003-07-31  Bruno Haible  <bruno@clisp.org>
71678
71679         * modules/getpass-gnu: New file.
71680         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
71681
71682 2003-07-31  Bruno Haible  <bruno@clisp.org>
71683
71684         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
71685
71686 2003-07-24  Karl Berry  <karl@gnu.org>
71687
71688         * config/missing: update from automake.
71689
71690 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
71691             Bruno Haible  <bruno@clisp.org>
71692
71693         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
71694         * lib/getline.c (getline, getdelim): Likewise.
71695         Remove _GNU_SOURCE define; now it's defined in config.h through
71696         m4/getline.m4.
71697
71698 2003-07-23  Karl Berry  <karl@gnu.org>
71699
71700         * config/config.sub: update from prep.
71701
71702 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71703
71704         * modules/xalloc (Depends-on): Add exitfail.
71705         * modules/xmemcoll: Likewise.
71706
71707 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71708
71709         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
71710         over-parenthesization in macros.
71711
71712         Sync with coreutils.
71713
71714         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
71715         required by C99.
71716
71717         Use `exit_failure' for xalloc and xmemcoll instead of their own
71718         private exit-failure variables.
71719         * lib/xalloc.h (xalloc_exit_failure): Remove.
71720         * lib/xmalloc.c: Likewise.  Include exitfail.h.
71721         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
71722         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
71723         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
71724         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
71725
71726 2003-07-20  Jim Meyering  <jim@meyering.net>
71727
71728         * modules/closeout (Depends-on): Add exitfail.
71729         Suggestion from Bruno Haible.
71730
71731 2003-07-19  Karl Berry  <karl@gnu.org>
71732
71733         * config/config.sub: update from prep.
71734
71735 2003-07-18  Paul Eggert  <eggert@twinsun.com>
71736
71737         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
71738         Remove.
71739         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
71740         to test that it can stand by itself.  Include "exitfail.h".
71741         Clients should set exit_failure instead.
71742         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
71743
71744 2003-07-18  Bruno Haible  <bruno@clisp.org>
71745
71746         * modules/getndelim2: New file.
71747         * modules/getline: Share files with module getndelim2.
71748         * modules/getnline: Depend on getndelim2 instead of sharing files with
71749         it. Add getnline.c to lib_SOURCES.
71750         * MODULES.html.sh (func_all_modules): Add getndelim2.
71751
71752 2003-07-18  Bruno Haible  <bruno@clisp.org>
71753
71754         * m4/getndelim2.m4: New file.
71755         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
71756         invoke gl_PREREQ_GETNDELIM2.
71757         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
71758         gl_PREREQ_GETNDELIM2.
71759         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
71760         gl_GETNDELIM2.
71761
71762 2003-07-18  Bruno Haible  <bruno@clisp.org>
71763
71764         * lib/getndelim2.h: New file.
71765         * lib/getndelim2.c: Make into a module of its own. Include config.h,
71766         getndelim2.h.
71767         (getndelim2): Make non-static. Change return type to ssize_t.
71768         * lib/getline.h: Change argument names.
71769         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
71770         * lib/getnline.c: Include getndelim2.h.
71771
71772 2003-07-18  Andreas Schwab  <schwab@suse.de>
71773
71774         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
71775
71776 2003-07-17  Karl Berry  <karl@gnu.org>
71777
71778         * config/config.sub: update from prep.
71779
71780 2003-07-17  Bruno Haible  <bruno@clisp.org>
71781
71782         * modules/getnline: New file.
71783         * modules/getline: Add lib/getndelim2.c to source file list.
71784         * MODULES.html.sh (func_all_modules): Add getnline.
71785
71786 2003-07-17  Bruno Haible  <bruno@clisp.org>
71787
71788         * m4/getnline.m4: New file.
71789
71790 2003-07-17  Bruno Haible  <bruno@clisp.org>
71791
71792         * m4/Makefile.am.in: Remove file.
71793         * m4/Makefile.am: Remove file.
71794         * m4/Makefile.in: Remove file.
71795
71796 2003-07-17  Bruno Haible  <bruno@clisp.org>
71797
71798         * lib/getnline.h: New file.
71799         * lib/getnline.c: New file.
71800         * lib/getndelim2.c: New file, extracted from getline.c.
71801         (getndelim2): Renamed from getdelim2, with added nmax argument.
71802         * lib/getline.c: Include getndelim2.c.
71803         (getdelim2): Moved out to getndelim2.c.
71804         (getline, getdelim): Update.
71805
71806 2003-07-17  Bruno Haible  <bruno@clisp.org>
71807
71808         * lib/Makefile.am: Remove file.
71809         * lib/Makefile.in: Remove file.
71810
71811 2003-07-17  Bruno Haible  <bruno@clisp.org>
71812
71813         * configure.in: Remove file.
71814         * Makefile.in: Remove file.
71815
71816 2003-07-17  Bruno Haible  <bruno@clisp.org>
71817
71818         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71819
71820 2003-07-16  Karl Berry  <karl@gnu.org>
71821
71822         * config/srclist-update: was running fixlicense twice, which caused
71823                 texinfo.tex to be nullified for some reason.  Simplify,
71824                 $gplsrc is no longer needed as far as I can see?
71825
71826 2003-07-16  Jim Meyering  <jim@meyering.net>
71827
71828         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71829
71830 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71831
71832         * config/srclist.txt: Get the following files from gettext-runtime/intl
71833         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71834         ref-del.sin.  From Bruno Haible.
71835         * config/srclist-update (fixfile): Change grep pattern again, since the
71836         previous fix didn't work (there was another trailing $).  Use
71837         '[$]' to escape the $s.
71838
71839 2003-07-15  Karl Berry  <karl@gnu.org>
71840
71841         * lib/vasnprintf.c: update from gettext.
71842
71843 2003-07-15  Karl Berry  <karl@gnu.org>
71844
71845         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71846         gets expanded when surrounded by '$'.
71847
71848 2003-07-15  Jim Meyering  <jim@meyering.net>
71849
71850         * modules/save-cwd: Don't depend on error.  From Derek Price.
71851
71852 2003-07-15  Jim Meyering  <jim@meyering.net>
71853
71854         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71855
71856 2003-07-14  Simon Josefsson  <jas@extundo.com>
71857
71858         * modules/mempcpy: New file.
71859         * MODULES.html.sh (func_all_modules): Add mempcpy.
71860
71861 2003-07-14  Simon Josefsson  <jas@extundo.com>
71862
71863         * m4/mempcpy.m4: New file.
71864
71865 2003-07-14  Simon Josefsson  <jas@extundo.com>
71866
71867         * lib/mempcpy.h: New file.
71868         * lib/mempcpy.c: New file.
71869
71870 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71871
71872         * modules/getdate, modules/posixtm: Depend on mktime.
71873
71874 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71875
71876         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71877         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71878         unicodeio.c, unicodeio.h, unlocked-io.h:
71879         Switch from LGPL to GPL.
71880
71881 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71882
71883         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71884         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71885         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71886         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71887         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71888         updated automatically by ../config/srclist-update.  This changes
71889         their license from LPGL to GPL.
71890
71891 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71892
71893         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71894         assumed to refer to the root of the most recent stable gettext version.
71895         * config/srclistvars.sh: Add defaults for eggert.
71896         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71897         Match "This program" as well as "The program".  This is needed
71898         for gettext.
71899
71900 2003-07-14  Jim Meyering  <jim@meyering.net>
71901
71902         Don't emit diagnostics.  Let callers do that.
71903         * lib/save-cwd.c: Don't include "error.h".
71904         (save_cwd): Don't call error.  Ensure that errno is valid
71905         when returning nonzero.
71906
71907         * lib/save-cwd.h (restore_cwd): Update prototype.
71908         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71909         Simplify.  Don't call error upon failure.  Let callers do that.
71910         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71911         when auditing is enabled.  But don't bother updating the #if.
71912
71913 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71914
71915         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71916         it breaks C++ compilation.
71917         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71918
71919 2003-07-10  Simon Josefsson  <jas@extundo.com>
71920
71921         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71922
71923 2003-07-10  Jim Meyering  <jim@meyering.net>
71924
71925         * m4/clock_time.m4: Remove trailing blank.
71926         * m4/intmax_t.m4: Likewise.
71927
71928 2003-07-10  Jim Meyering  <jim@meyering.net>
71929
71930         * lib/vasnprintf.c: Remove trailing blanks.
71931         Make cpp indentation consistent.
71932
71933 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71934
71935         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71936         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71937         Switch from LGPL to GPL.
71938
71939 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71940
71941         * config/srclist.txt: Sort sublists.  Add
71942         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71943         that differ from gnulib for one reason or another; we'd like this list
71944         to be smaller but for now let's document what we have.
71945
71946 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71947
71948         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71949         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71950         and sweeter "eval x=$x".
71951         * config/srclist.txt: Get lib/argp* from glibc.
71952
71953 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71954
71955         * lib/mktime.c: Fix some boundary cases and remove need for floating
71956         point.
71957
71958         Issue a compile-time diagnostic if time_t is floating point, or if
71959         two's complement arithmetic is not in effect, or if arithmetic
71960         right shift does not propagate the sign.  These assumptions were
71961         all in the original code but they weren't checked.
71962
71963         (TIME_T_MIDPOINT, verify): New macros.
71964         (__isleap): Remove; it has integer overflow problems.
71965         (leapyear): New function, without those problems.
71966         (ydhms_tm_diff): Remove; splitting into two parts.
71967         (ydhms_diff): New function, containing the arithmetic part of
71968         the old ydhms_tm_diff function.  Issue a compile-time
71969         diagnostic if we are not using C99 integer division.
71970         Avoid casts when possible.
71971         (guess_time_tm): New function, containing the checking part of
71972         the old ydhms_tm_diff function.  Return the new value, rather than
71973         the difference between it and the old.  Accept a new argument T
71974         so that *T specifies the old value.  Check for overflow in the result.
71975
71976         (__mktime_internal): Use a time_t offset, not a long int offset.
71977         This undoes the 2003-06-04 change, which is no longer needed now
71978         that we have better overflow checking.
71979         (localtime_offset): Likewise.
71980
71981         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71982         and long are 64-bit but int is only 32-bit.
71983         (ydhms_diff): Use long int to store year1 and yday1.
71984         Issue a compile-time diagnostic if long int is not wide enough.
71985
71986         (__mktime_internal): Use long int to store adjusted year and yday.
71987         Use plain C rather than preprocessor commands, if that doesn't
71988         affect efficiency.
71989         Check for overflow (and try to repair) after each probe
71990         rather than checking only at the very end.  This avoids some bugs
71991         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71992         does not equal GMT offset at maximum time).
71993         Use integer to check for overflow rather than floating point; this
71994         is more portable to non-IEEE hosts, and is a tad faster.
71995         When we detect that we are oscillating between two values,
71996         don't check whether tm_isdst has the requested value, since
71997         we already know the answer.  When tm_isdst has the wrong value,
71998         use a different heuristic to find the right one, based on the
71999         extreme values actually observed in practice in tz2003a,
72000         rather than the (overly optimistic) "previous 3 calendar quarters".
72001
72002         (not_equal_tm, print_tm, check_result): Use "const T" rather than
72003         "T const" to accommodate glibc style.
72004         (check_result): Use less-confusing report format.  "long" -> "long int.
72005         (main): Likewise.
72006         Don't loop if the iteration overflows time_t.
72007         Allow a negative step in the iteration.
72008
72009 2003-07-06  Karl Berry  <karl@gnu.org>
72010
72011         * config/depcomp: update from automake.
72012         * config/config.sub: update from prep.
72013
72014 2003-07-03  Karl Berry  <karl@gnu.org>
72015
72016         * config/config.guess: update from prep.
72017
72018 2003-07-01  Paul Eggert  <eggert@twinsun.com>
72019
72020         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
72021         xreadlink.c now includes it unconditionally.
72022
72023 2003-07-01  Paul Eggert  <eggert@twinsun.com>
72024
72025         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
72026         having it depend on HAVE_SYS_TYPES_H.
72027
72028 2003-07-01  Bruno Haible  <bruno@clisp.org>
72029
72030         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
72031         <sys/types.h> should be sufficient.
72032         Reported by Paul Eggert.
72033
72034 2003-06-26  Karl Berry  <karl@gnu.org>
72035
72036         * config/depcomp: update from automake.
72037
72038 2003-06-26  Bruno Haible  <bruno@clisp.org>
72039
72040         * modules/human: Depend on module stdbool.
72041
72042 2003-06-25  Bruno Haible  <bruno@clisp.org>
72043
72044         * modules/readlink: New file.
72045         * modules/xreadlink: Depend on it.
72046         * MODULES.html.sh (func_all_modules): Add readlink.
72047
72048 2003-06-25  Bruno Haible  <bruno@clisp.org>
72049
72050         * m4/readlink.m4: New file.
72051
72052 2003-06-25  Bruno Haible  <bruno@clisp.org>
72053
72054         * lib/readlink.c: New file.
72055
72056 2003-06-22  Karl Berry  <karl@gnu.org>
72057
72058         * config/srclist.txt: update mkinstalldirs from automake.
72059         * config/mkinstalldirs: update.
72060
72061 2003-06-22  Bruno Haible  <bruno@clisp.org>
72062
72063         Portability to mingw32.
72064         * m4/ssize_t.m4: New file, from GNU gettext.
72065         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
72066         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
72067
72068 2003-06-22  Bruno Haible  <bruno@clisp.org>
72069
72070         * modules/safe-read: Add m4/ssize_t.m4.
72071         * modules/xreadlink: Add m4/ssize_t.m4.
72072
72073 2003-06-20  Bruno Haible  <bruno@clisp.org>
72074
72075         Assume C89, so PARAMS isn't needed.
72076         * lib/unicodeio.h (PARAMS): Remove.
72077         * lib/unicodeio.c: Don't use PARAMS.
72078
72079 2003-06-18  Karl Berry  <karl@gnu.org>
72080
72081         * config/config.{guess,sub}: update from prep.
72082
72083 2003-06-18  Jim Meyering  <jim@meyering.net>
72084
72085         Merge changes from coreutils.
72086         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
72087         Remove explicit declarations of xmalloc and realloc.
72088         Include xalloc.h.
72089         (read_utmp): Remove anachronistic cast of xmalloc.
72090
72091 2003-06-17  Paul Eggert  <eggert@twinsun.com>
72092
72093         Assume C89, so PARAMS isn't needed.
72094         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
72095         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
72096         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
72097         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
72098         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
72099         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
72100         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
72101         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
72102         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
72103         lib/xstrtod.h, lib/xstrtol.h: Likewise.
72104         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
72105         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
72106         no longer needed. Anyway, config.h should always be included before any
72107         other file.
72108
72109 2003-06-11  Simon Josefsson  <jas@extundo.com>
72110
72111         * modules/sysexits: New file.
72112         * MODULES.html.sh (func_all_modules): Add sysexits.
72113
72114 2003-06-11  Simon Josefsson  <jas@extundo.com>
72115
72116         * lib/sysexit_.h: New file.
72117
72118 2003-06-11  Derek Price  <derek@ximbiot.com>
72119
72120         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
72121         necessary.
72122
72123 2003-06-11  Bruno Haible  <bruno@clisp.org>
72124
72125         * m4/sysexits.m4: New file.
72126
72127 2003-06-10  Simon Josefsson  <jas@extundo.com>
72128
72129         * lib/argp.h: New file, from glibc.
72130         * lib/argp-ba.c: New file, from glibc.
72131         * lib/argp-eexst.c: New file, from glibc.
72132         * lib/argp-fmtstream.c: New file, from glibc.
72133         * lib/argp-fmtstream.h: New file, from glibc.
72134         * lib/argp-fs-xinl.c: New file, from glibc.
72135         * lib/argp-help.c: New file, from glibc.
72136         * lib/argp-namefrob.h: New file, from glibc.
72137         * lib/argp-parse.c: New file, from glibc.
72138         * lib/argp-pv.c: New file, from glibc.
72139         * lib/argp-pvh.c: New file, from glibc.
72140         * lib/argp-xinl.c: New file, from glibc.
72141
72142 2003-06-10  Simon Josefsson  <jas@extundo.com>
72143
72144         * modules/strchrnul: New file.
72145
72146 2003-06-10  Simon Josefsson  <jas@extundo.com>
72147
72148         * modules/argp: New file.
72149
72150 2003-06-10  Simon Josefsson  <jas@extundo.com>
72151
72152         * m4/strchrnul.m4: New file.
72153
72154 2003-06-10  Simon Josefsson  <jas@extundo.com>
72155
72156         * lib/strchrnul.h: New file.
72157         * lib/strchrnul.c: New file.
72158
72159 2003-06-10  Bruno Haible  <bruno@clisp.org>
72160
72161         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
72162
72163 2003-06-07  Karl Berry  <karl@gnu.org>
72164
72165         * config/config.{guess,sub}: update from prep.
72166
72167 2003-06-07  Jim Meyering  <jim@meyering.net>
72168
72169         * modules/strtod: Use $(...) notation, not @...@ for
72170         AC_REPLACE'd variables.
72171         * modules/localcharset: Likewise.
72172
72173 2003-06-07  Jim Meyering  <jim@meyering.net>
72174
72175         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
72176         in place of my name in the copyright comment.
72177         Remove definition and uses of __P.
72178
72179         From coreutils.
72180         * lib/stat.c: Don't declare xmalloc explicitly.
72181         Instead, include "xalloc.h".
72182         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
72183         xrealloc, and xcalloc return values.
72184         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
72185         Improve comment.
72186         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
72187
72188 2003-06-07  Bruno Haible  <bruno@clisp.org>
72189
72190         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
72191         avoid AC_CONFIG_LINKS.
72192         * modules/fnmatch (Makefile.am): Use explicit creation rule for
72193         fnmatch.h, to avoid AC_CONFIG_LINKS.
72194         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
72195
72196 2003-06-07  Bruno Haible  <bruno@clisp.org>
72197
72198         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
72199         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
72200         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72201         directory.
72202         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
72203         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72204         directory.
72205
72206 2003-06-06  Jim Meyering  <jim@meyering.net>
72207
72208         Merge from coreutils.
72209         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
72210         Consolidate declarations and initializations of *_base* locals.
72211
72212         Merge from coreutils.
72213         This avoids a core dump on systems without GNU putenv,
72214         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
72215         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
72216         (unsetenv): New static function, from GNU libc.
72217         (rpl_putenv): Use it.
72218
72219         * lib/modechange.c: Remove trailing blanks.
72220
72221         Merge from coreutils.
72222         * lib/fsusage.c: Remove declaration of statfs.
72223         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
72224
72225         * lib/posixtm.c: Include <stdbool.h> unconditionally.
72226
72227 2003-06-06  Jim Meyering  <jim@meyering.net>
72228
72229         * lib/stdbool_.h: Renamed from stdbool.h.in.
72230
72231 2003-06-06  Jim Meyering  <jim@meyering.net>
72232             Bruno Haible  <bruno@clisp.org>
72233
72234         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
72235         Adjust Makefile.am snippet not to redirect directly to target.
72236         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
72237
72238 2003-06-05  Paul Eggert  <eggert@twinsun.com>
72239
72240         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
72241         mismatch, look in future quarters as well as past.  This fixes a
72242         bug when processing fall-backwards gaps immediately after a long
72243         period of daylight-saving time.
72244
72245         * lib/mktime.c: Assume freestanding C89 or better.
72246         (HAVE_LIMITS_H): Remove.  Assume it's 1.
72247         (__P): Remove; not used.
72248         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
72249         (mktime, not_equal_tm, print_tm, check_result,
72250         main): Use prototypes.  Use const * where appropriate.
72251         (main): Fix typo in testing code that uncovered by above changes.
72252         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
72253
72254 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72255
72256         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
72257         locale.h, localeconv.  This merges changes from coreutils.
72258
72259         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
72260         It can be removed after the next Autoconf is released.
72261         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
72262         needed.
72263
72264 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72265
72266         * lib/mktime.c: Fix Debian bug 177940
72267         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
72268         (localtime_offset): Now long int, not time_t, because we want it
72269         to be guaranteed to be signed.  All uses changed.
72270         (__mktime_internal): If overflow would occur when adding offset,
72271         don't add it.
72272
72273         Merge 'human' changes from coreutils.  Rewrite to support
72274         locale-specific notations like thousands separators.
72275         * lib/human.c: Simplify authorship notice.
72276         Include human.h immediately after config.h.
72277         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
72278         <limits.h>: Do not include, since human.h does.
72279         (SIZE_MAX, UINTMAX_MAX): New macros.
72280         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
72281         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
72282         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
72283         (power_letter): Renamed from suffixes.
72284         (generate_suffix_backwards): Remove.
72285         (adjust_value): Now takes int style (because of human.h changes)
72286         and long double value (for greater precision on some platforms).
72287         (group_number): New function.
72288         (human_readable): Use it.  Use integer options, not enum.
72289         Put the options before the sizes in the arg list.
72290         Support all the new options.
72291         The old human_readable function has been removed;
72292         use inttostr.h instead.
72293         (human_readable, default_block_size, humblock):
72294         Use uintmax_t, not int, for block sizes.
72295         (human_readable_inexact, block_size_types): Remove.
72296         (block_size_opts): New constant.
72297         (human_options): Renamed from human_block_size, with new signature
72298         that allows block sizes up to UINTMAX_MAX.  All callers changed.
72299         * lib/human.h: Add copyright and authorship notice.
72300         Include <limits.h> and <stdbool.h> unconditionally.
72301         (PARAMS): Remove.  All uses removed.
72302         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
72303         (enum human_inexact_style): Remove tag; now a nameless enum.
72304         (human_floor, human_ceiling, human_round_to_even): Now have
72305         values 2, 0, 1 rather than -1, 1, 0.
72306         (human_group_digits, human_suppress_point_zero, human_autoscale,
72307         human_base_1024, human_SI, human_B): New constants.
72308         (human_readable_inexact, human_block_size): Remove.
72309         (human_readable): Size args are now uintmax_t, not int.
72310         (human_options): New decl.
72311
72312         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
72313         unnecessary now that we assume C89 or better.  This change
72314         imported from coreutils.
72315
72316         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72317         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
72318         in the 2003-05-30 sync from glibc.
72319
72320         .h files should stand alone, but we shouldn't include <sys/types.h>
72321         if we can get away with just <stddef.h>.
72322
72323         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
72324         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
72325         rather than <sys/types.h>, as we merely need size_t.
72326         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
72327         to get size_t.
72328         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
72329         Include <stdio.h>, to get FILE.
72330         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
72331         memcasecmp.h has included <stddef.h> and all we need is size_t.
72332         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
72333         our interface, instead of including <sys/types.h>
72334
72335 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72336
72337         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
72338         now, as glibc mktime is buggy on non-glibc systems.
72339
72340 2003-06-03  Karl Berry  <karl@gnu.org>
72341
72342         * config/config.sub: update from prep.
72343
72344 2003-06-02  Paul Eggert  <eggert@twinsun.com>
72345
72346         [from coreutils]
72347         Fix some minor time-related bugs with POSIX time arguments.
72348         Some valid time stamps were being rejected (notably -1, and
72349         time stamps before 1900 on 64-bit hosts).  And some invalid
72350         time stamps were being accepted, e.g. September 31.
72351
72352         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
72353         that we can return (time_t) -1 successfully.
72354         * lib/posixtm.c: Likewise.
72355         [HAVE_STDBOOL_H]: Include <stdbool.h>.
72356         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
72357         (t): Remove static var.
72358         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
72359         of static var.  All uses changed.
72360         (year): Do not reject years before 1900; they can occur with
72361         64-bit time_t.
72362         (posix_time_parse): Do not check for out-of-range components;
72363         that is now the caller's responsibility, since our checks were
72364         only approximations.
72365         (posixtime): Use mktime to check for out-of-range components,
72366         since it knows them exactly.
72367         If mktime returns (time_t) -1, check whether an error actually occurred
72368         by invoking localtime on -1.
72369         (main) [TEST_POSIXTIME]: Check for input data errors, and report
72370         posixtime failures better.
72371         Improve the test data (in comments only).
72372
72373 2003-06-02  Karl Berry  <karl@gnu.org>
72374
72375         * config/mkinstalldirs (version): new variable.
72376         (--version): new option.
72377         (usage): improve message.
72378
72379 2003-05-30  Karl Berry  <karl@gnu.org>
72380
72381         * lib/mktime.c: update from libc.
72382
72383 2003-05-30  Bruno Haible  <bruno@clisp.org>
72384
72385         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
72386         * config/config.rpath: Upgrade to gettext-0.12.1.
72387
72388 2003-05-30  Bruno Haible  <bruno@clisp.org>
72389
72390         * m4/gettext.m4: Upgrade to gettext-0.12.1.
72391         * m4/nls.m4: New file, from gettext-0.12.1.
72392         * m4/po.m4: New file, from gettext-0.12.1.
72393         * m4/progtest.m4: Upgrade to gettext-0.12.1.
72394
72395 2003-05-30  Bruno Haible  <bruno@clisp.org>
72396
72397         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
72398         * lib/localcharset.h: Likewise.
72399         * lib/localcharset.c: Likewise.
72400
72401 2003-05-29  Karl Berry  <karl@gnu.org>
72402
72403         * config/config.rpath: update from gettext.
72404
72405 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72406
72407         Assume the headers required for C89 freestanding compilers.
72408         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
72409         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
72410         * m4/human.m4 (gl_HUMAN): Likewise.
72411         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
72412         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
72413         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72414         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
72415         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72416         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
72417
72418 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72419
72420         Assume the headers required for C89 freestanding compilers.
72421         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
72422         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
72423         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
72424         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
72425         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
72426         define, since <limits.h> is guaranteed to do that.
72427         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
72428         * lib/exclude.c: Include <stdbool.h> unconditionally.
72429         * lib/tempname.c: Include <stddef.h> unconditionally.
72430         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
72431         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
72432         <stddef.h> does that.
72433         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
72434         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
72435         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
72436         needed.
72437         * lib/xstrtol.c: Likewise.
72438         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
72439         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
72440
72441         * lib/addext.c (addext): Use assignment rather than cast, to avoid
72442         warnings on some platforms.
72443
72444         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72445         arbitrarily.
72446
72447 2003-05-26  Jim Meyering  <jim@meyering.net>
72448
72449         Merge in a change from coreutils:
72450         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
72451         that is guaranteed to be `no'.  Use `no_such_member' to indicate
72452         that condition, rather than `-1' which is slightly misleading.
72453         Change the name of the cache variable to have the gl_ prefix.
72454         Prompted by a patch from Richard Dawe for DJGPP.
72455
72456 2003-05-24  Karl Berry  <karl@gnu.org>
72457
72458         * config/config.guess: update from prep.
72459
72460 2003-05-22  Karl Berry  <karl@gnu.org>
72461
72462         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
72463
72464 2003-05-20  Karl Berry  <karl@gnu.org>
72465
72466         * config/config.guess: update from prep.
72467
72468 2003-05-18  Karl Berry  <karl@gnu.org>
72469
72470         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
72471         might actually be set by the user.
72472
72473         * config/depcomp, install-sh, mdate-sh: update from automake.
72474
72475 2003-05-17  Bruno Haible  <bruno@clisp.org>
72476
72477         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
72478         invalid expansion for AC_EGREP_CPP.
72479         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
72480         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
72481         Suggested by Akim Demaille <akim@epita.fr> in
72482         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
72483
72484 2003-05-12  Jim Meyering  <jim@meyering.net>
72485
72486         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
72487         the space-padded-by-default conversion specifiers, %e, %k, %l.
72488
72489 2003-05-12  Bruno Haible  <bruno@clisp.org>
72490
72491         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
72492         the string is longer than 4 KB.
72493
72494 2003-05-11  Karl Berry  <karl@gnu.org>
72495
72496         * config/config.{guess,sub}: update from prep.
72497
72498 2003-05-09  Bruno Haible  <bruno@clisp.org>
72499
72500         * modules/error: Add m4/strerror_r.m4 to file list.
72501
72502 2003-05-03  Bruno Haible  <bruno@clisp.org>
72503
72504         Upgrade to Unicode-4.0.
72505         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
72506         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
72507         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
72508         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
72509         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
72510         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
72511         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
72512         Change width of U+E0100..U+E01EF from 1 to 0.
72513
72514 2003-04-25  Jim Meyering  <jim@meyering.net>
72515
72516         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
72517         of type size_t, not int.
72518
72519 2003-04-25  Bruno Haible  <bruno@clisp.org>
72520
72521         * lib/copy-file.c: Include <stddef.h>, for size_t.
72522
72523 2003-04-21  Paul Eggert  <eggert@twinsun.com>
72524
72525         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
72526         code which expansion is under static control.  Patch imported from
72527         Akim Demaille's patch to Bison; see
72528         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
72529
72530 2003-04-14  Bruno Haible  <bruno@clisp.org>
72531
72532         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
72533
72534 2003-04-11  Jim Meyering  <jim@meyering.net>
72535
72536         Merge changes from Coreutils.
72537
72538         2003-03-22  Jim Meyering  <jim@meyering.net>
72539
72540         * lib/strftime.c (widen): Cast alloca return value to proper type.
72541
72542         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
72543
72544         From GNU libc.
72545         * lib/strftime.c (my_strftime): Handle very large width
72546         specifications for numeric values correctly.  Improve checks for
72547         overflow.
72548
72549         2003-01-19  Jim Meyering  <jim@meyering.net>
72550
72551         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
72552         definitions.
72553         (nl_get_alt_digit) [! defined my_strftime]: Define.
72554         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
72555         _nl_get_alt_digit and _nl_get_walt_digit.
72556
72557         * lib/strftime.c (my_strftime): Merge in locale-related changes from
72558         libc. These changes have no effect outside of _LIBC.
72559
72560 2003-04-10  Bruno Haible  <bruno@clisp.org>
72561
72562         * modules/findprog: New file.
72563         * MODULES.html.sh (func_all_modules): Add it.
72564
72565 2003-04-10  Bruno Haible  <bruno@clisp.org>
72566
72567         * m4/findprog.m4: New file.
72568         * m4/eaccess.m4: New file.
72569
72570 2003-04-10  Bruno Haible  <bruno@clisp.org>
72571
72572         * lib/findprog.h: New file, from GNU gettext.
72573         * lib/findprog.c: New file, from GNU gettext.
72574
72575 2003-04-05  Jim Meyering  <jim@meyering.net>
72576
72577         Merge changes from Coreutils.
72578
72579         * lib/exclude.h (PARAMS): Remove definition and uses.
72580         * lib/exclude.c: Remove uses of `PARAMS'.
72581
72582         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
72583         Add test-cases for DOS filenames. Declare program_name.
72584         (main): Set up program_name.  Patch by Rich Dawe.
72585
72586         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72587         error from mntctl.
72588         Use mntctl's return value to drive the entry-processing loop, since
72589         we can't rely on the value of the vmt_length member in the last
72590         entry.  On some systems doing so could result in exhausting
72591         virtual memory.  Based in part on a patch from Mike Jetzer.
72592
72593 2003-04-04  Bruno Haible  <bruno@clisp.org>
72594
72595         * modules/linebreak: New file.
72596         * MODULES.html.sh (func_all_modules): Add it.
72597
72598 2003-04-04  Bruno Haible  <bruno@clisp.org>
72599
72600         * m4/linebreak.m4: New file.
72601
72602 2003-04-04  Bruno Haible  <bruno@clisp.org>
72603
72604         * lib/linebreak.h: New file, from GNU gettext.
72605         * lib/linebreak.c: New file, from GNU gettext with slight
72606         modifications.
72607         * lib/lbrkprop.h: New file, from GNU gettext.
72608
72609 2003-04-03  Bruno Haible  <bruno@clisp.org>
72610
72611         * modules/utf8-ucs4: New file.
72612         * modules/utf16-ucs4: New file.
72613         * modules/ucs4-utf8: New file.
72614         * modules/ucs4-utf16: New file.
72615         * MODULES.html.sh (func_all_modules): Add them.
72616
72617 2003-04-03  Bruno Haible  <bruno@clisp.org>
72618
72619         * m4/utf-ucs4.m4: New file.
72620         * m4/ucs4-utf.m4: New file.
72621
72622 2003-04-03  Bruno Haible  <bruno@clisp.org>
72623
72624         * lib/utf8-ucs4.h: New file, from GNU gettext.
72625         * lib/utf16-ucs4.h: New file, from GNU gettext.
72626         * lib/ucs4-utf8.h: New file, from GNU gettext.
72627         * lib/ucs4-utf16.h: New file, from GNU gettext.
72628
72629 2003-04-02  Bruno Haible  <bruno@clisp.org>
72630
72631         * modules/binary-io: New file.
72632         * MODULES.html.sh (func_all_modules): Add it.
72633
72634 2003-04-02  Bruno Haible  <bruno@clisp.org>
72635
72636         * lib/binary-io.h: New file, from GNU gettext.
72637
72638 2003-04-01  Bruno Haible  <bruno@clisp.org>
72639
72640         * modules/pathname: New file.
72641         * MODULES.html.sh (func_all_modules): Add it.
72642
72643 2003-04-01  Bruno Haible  <bruno@clisp.org>
72644
72645         * lib/pathname.h: New file, from GNU gettext.
72646         * lib/concatpath.c: New file, from GNU gettext.
72647
72648 2003-03-30  Bruno Haible  <bruno@clisp.org>
72649
72650         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
72651
72652 2003-03-30  Bruno Haible  <bruno@clisp.org>
72653
72654         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
72655         function chown() doesn't exist.
72656
72657 2003-03-28  Bruno Haible  <bruno@clisp.org>
72658
72659         * modules/copy-file: New file.
72660         * MODULES.html.sh (func_all_modules): Add it.
72661
72662 2003-03-28  Bruno Haible  <bruno@clisp.org>
72663
72664         * m4/copy-file.m4: New file.
72665
72666 2003-03-28  Bruno Haible  <bruno@clisp.org>
72667
72668         * lib/copy-file.h: New file, from GNU gettext.
72669         * lib/copy-file.c: New file, from GNU gettext.
72670
72671 2003-03-18  Jim Meyering  <jim@meyering.net>
72672
72673         * lib/quote.c (quote_n): Fix typo in comment.
72674
72675 2003-03-18  Bruno Haible  <bruno@clisp.org>
72676
72677         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
72678         checking.
72679         * m4/onceonly_2_57.m4: Likewise.
72680
72681 2003-03-17  Bruno Haible  <bruno@clisp.org>
72682
72683         * m4/onceonly.m4: Require autoconf 2.54 or newer.
72684         (m4_quote): Remove macro.
72685         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
72686
72687 2003-03-14  Jim Meyering  <jim@meyering.net>
72688
72689         Merge changes from Coreutils.
72690         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
72691         to be const, in order to avoid warnings.
72692         (obstack_room): Likewise.
72693         (obstack_empty_p): Likewise.
72694
72695 2003-03-14  Bruno Haible  <bruno@clisp.org>
72696
72697         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
72698         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
72699
72700 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72701
72702         Merge changes from Bison.
72703         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
72704         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
72705         when compiling Bison 1.875's `bitset bset = obstack_alloc
72706         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
72707         * lib/hash.c: Include <stdbool.h> unconditionally.
72708
72709 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72710
72711         * m4/onceonly.m4 (m4_quote): New macro.
72712         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
72713         Quote AC_FOREACH variable-expansions properly.
72714
72715 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72716
72717         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
72718
72719 2003-03-09  Paul Eggert  <eggert@twinsun.com>
72720
72721         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
72722         Reported by Bruce Becker; see:
72723         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
72724
72725 2003-03-03  Paul Eggert  <eggert@twinsun.com>
72726             Bruno Haible  <bruno@clisp.org>
72727
72728         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
72729         Reported by John Hughes, see
72730         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
72731
72732 2003-02-20  Bruno Haible  <bruno@clisp.org>
72733
72734         * MODULES.html.sh (func_all_modules): Add poll.
72735
72736 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72737
72738         * modules/poll: New file.
72739
72740 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72741
72742         * lib/poll_.h: New file.
72743         * lib/poll.c: New file.
72744
72745 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72746
72747         * m4/poll.m4: New file.
72748
72749 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72750
72751         * modules/mathl: New file.
72752
72753 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72754
72755         * lib/mathl.h: New file.
72756         * lib/acosl.c: New file.
72757         * lib/asinl.c: New file.
72758         * lib/atanl.c: New file.
72759         * lib/ceill.c: New file.
72760         * lib/cosl.c: New file.
72761         * lib/expl.c: New file.
72762         * lib/floorl.c: New file.
72763         * lib/frexpl.c: New file.
72764         * lib/ldexpl.c: New file.
72765         * lib/logl.c: New file.
72766         * lib/sincosl.c: New file.
72767         * lib/sinl.c: New file.
72768         * lib/sqrtl.c: New file.
72769         * lib/tanl.c: New file.
72770         * lib/trigl.c: New file.
72771         * lib/trigl.h: New file.
72772
72773 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72774
72775         * m4/mathl.m4: New file.
72776
72777 2003-02-18  Bruno Haible  <bruno@clisp.org>
72778
72779         * MODULES.html.sh (func_all_modules): Add mathl.
72780
72781 2003-02-17  Bruno Haible  <bruno@clisp.org>
72782
72783         * modules/mkdtemp: New module.
72784         * MODULES.html.sh (func_all_modules): Add it.
72785
72786 2003-02-17  Bruno Haible  <bruno@clisp.org>
72787
72788         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
72789
72790 2003-02-17  Bruno Haible  <bruno@clisp.org>
72791
72792         * lib/mkdtemp.h: New file, from GNU gettext.
72793         * lib/mkdtemp.c: New file, from GNU gettext.
72794
72795 2003-02-02  Jim Meyering  <jim@meyering.net>
72796
72797         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72798         e.g. glibc-2.2.93.
72799
72800 2003-01-31  Bruno Haible  <bruno@clisp.org>
72801
72802         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72803         'rpl_rename'.
72804         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72805         'rpl_strnlen'.
72806         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72807         'rpl_strtod'.
72808         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72809         'rpl_utime'.
72810
72811 2003-01-31  Bruno Haible  <bruno@clisp.org>
72812
72813         * lib/rename.c: #undef rename before defining rpl_rename.
72814         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72815
72816 2003-01-30  Bruno Haible  <bruno@clisp.org>
72817
72818         * modules/vasnprintf, modules/vasprintf: New modules.
72819         * MODULES.html.sh (func_all_modules): Add them.
72820
72821 2003-01-30  Bruno Haible  <bruno@clisp.org>
72822
72823         * m4/signed.m4: New file, from GNU gettext.
72824         * m4/longdouble.m4: New file, from GNU gettext.
72825         * m4/wchar_t.m4: New file, from GNU gettext.
72826         * m4/wint_t.m4: New file, from GNU gettext.
72827         * m4/vasnprintf.m4: New file.
72828         * m4/vasprintf.m4: New file.
72829
72830 2003-01-30  Bruno Haible  <bruno@clisp.org>
72831
72832         * lib/printf-args.h: New file, from GNU gettext.
72833         * lib/printf-args.c: New file, from GNU gettext.
72834         * lib/printf-parse.h: New file, from GNU gettext.
72835         * lib/printf-parse.c: New file, from GNU gettext.
72836         * lib/vasnprintf.h: New file, from GNU gettext.
72837         * lib/vasnprintf.c: New file, from GNU gettext.
72838         * lib/asnprintf.c: New file, from GNU gettext.
72839         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72840         * lib/vasprintf.c: New file, from GNU gettext.
72841         * lib/asprintf.c: New file, from GNU gettext.
72842
72843 2003-01-29  Bruno Haible  <bruno@clisp.org>
72844
72845         * modules/stpncpy: New module.
72846         * MODULES.html.sh (func_all_modules): Add it.
72847
72848 2003-01-29  Bruno Haible  <bruno@clisp.org>
72849
72850         * m4/stpncpy.m4: New file.
72851
72852 2003-01-29  Bruno Haible  <bruno@clisp.org>
72853
72854         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72855         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72856
72857 2003-01-28  Bruno Haible  <bruno@clisp.org>
72858
72859         * modules/c-ctype: New module.
72860         * MODULES.html.sh (func_all_modules): Add it.
72861
72862 2003-01-28  Bruno Haible  <bruno@clisp.org>
72863
72864         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72865         Paul Eggert.
72866         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72867         Paul Eggert.
72868
72869 2003-01-27  Bruno Haible  <bruno@clisp.org>
72870
72871         * modules/xsetenv: New module.
72872         * MODULES.html.sh (func_all_modules): Add it.
72873
72874 2003-01-27  Bruno Haible  <bruno@clisp.org>
72875
72876         * lib/xsetenv.h: New file, from GNU gettext.
72877         * lib/xsetenv.c: New file, from GNU gettext.
72878
72879 2003-01-23  Jim Meyering  <jim@meyering.net>
72880
72881         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72882         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72883
72884 2003-01-23  Bruno Haible  <bruno@clisp.org>
72885
72886         * modules/minmax: New module.
72887         * MODULES.html.sh (func_all_modules): Add it.
72888
72889 2003-01-23  Bruno Haible  <bruno@clisp.org>
72890
72891         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72892         Eggert.
72893
72894 2003-01-22  Bruno Haible  <bruno@clisp.org>
72895
72896         * modules/exit: New module.
72897         * MODULES.html.sh (func_all_modules): Add it.
72898
72899 2003-01-22  Bruno Haible  <bruno@clisp.org>
72900
72901         * lib/exit.h: New file, from GNU gettext.
72902
72903 2003-01-19  Bruno Haible  <bruno@clisp.org>
72904
72905         * gnulib-tool: Recognize option --extract-maintainer.
72906         (func_get_maintainer): New function.
72907         * modules/*: Add Maintainer entry.
72908
72909 2003-01-16  Jim Meyering  <jim@meyering.net>
72910
72911         * m4/regex.m4: The `regex' struct is both input and output.
72912         Initialize it before each use.  Patch by Tim Waugh.
72913
72914 2003-01-16  Bruno Haible  <bruno@clisp.org>
72915
72916         * MODULES.html.sh: Add a table of contents. Add the module name as
72917         leftmost column. Add hyperlinks.
72918
72919 2003-01-15  Bruno Haible  <bruno@clisp.org>
72920
72921         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72922
72923 2003-01-15  Bruno Haible  <bruno@clisp.org>
72924
72925         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72926         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72927         suffix.
72928
72929 2003-01-15  Bruno Haible  <bruno@clisp.org>
72930
72931         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72932
72933 2003-01-15  Bruno Haible  <bruno@clisp.org>
72934
72935         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72936         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72937
72938 2003-01-14  Jim Meyering  <jim@meyering.net>
72939
72940         * lib/same.c (same_name): Tweak a comment.
72941
72942 2003-01-14  Bruno Haible  <bruno@clisp.org>
72943
72944         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72945         when a string comparison is sufficient.
72946
72947 2003-01-14  Bruno Haible  <bruno@clisp.org>
72948
72949         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72950         'unsigned int'.
72951
72952 2003-01-14  Bruno Haible  <bruno@clisp.org>
72953
72954         * lib/hash-pjw.c: Add comment about low quality of this function.
72955
72956 2003-01-13  Bruno Haible  <bruno@clisp.org>
72957
72958         * modules/stpcpy: Distribute lib/stpcpy.h.
72959         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72960
72961 2003-01-13  Bruno Haible  <bruno@clisp.org>
72962
72963         * modules/*: Add a description.
72964         * modules/strpbrk: Fix Makefile.am snippet.
72965         * modules/strtoimax: Fix dependencies.
72966         * modules/strtoumax: Likewise.
72967
72968 2003-01-13  Bruno Haible  <bruno@clisp.org>
72969
72970         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72971         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72972         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72973
72974 2003-01-13  Bruno Haible  <bruno@clisp.org>
72975
72976         * gnulib-tool (func_create_testdir): Store config/* files in the main
72977         directory.
72978         * config.rpath: Move to ...
72979         * config/config.rpath: ... here.
72980         * modules/gettext: Contains config/config.rpath, not config.rpath.
72981         * modules/iconv: Likewise.
72982
72983 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72984
72985         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72986         to avoid collisions with libcurses and libreadline.
72987
72988         * m4/getstr.m4: Remove.
72989         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72990
72991 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72992
72993         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72994         to avoid collisions with libcurses and libreadline.
72995
72996         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72997         * lib/getstr.h, getstr.c: Remove.
72998         * lib/getline.c: Include "getline.h", to check interface.
72999         Move body of old getstr.c here: this defines MIN_CHUNK and
73000         declares getdelim2, which is renamed from getstr.
73001         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
73002
73003         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
73004         All uses changed.
73005         * lib/linebuffer.h: Likewise.
73006         (readline): Remove backward-compatibility macro.
73007
73008 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73009
73010         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73011         to avoid collisions with libcurses and libreadline.
73012         * getstr: Remove.
73013         * MODULES.html.sh: Remove getstr.
73014         * modules/getline: Depend on unlocked-io, not getstr.
73015
73016 2003-01-12  Jim Meyering  <jim@meyering.net>
73017
73018         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
73019
73020 2003-01-10  Bruno Haible  <bruno@clisp.org>
73021
73022         * modules/alloca: Change Makefile.am requirements. Simplify Include
73023         requirements. Add lib/alloca_.h to file list.
73024
73025 2003-01-10  Bruno Haible  <bruno@clisp.org>
73026
73027         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
73028
73029 2003-01-10  Bruno Haible  <bruno@clisp.org>
73030
73031         * lib/alloca_.h: New file.
73032         * lib/getdate.y: Unconditionally include alloca.h.
73033         * lib/makepath.c: Likewise.
73034         * lib/setenv.c: Likewise.
73035         * lib/userspec.c: Likewise.
73036
73037 2003-01-09  Karl Berry  <karl@gnu.org>
73038
73039         * MODULES.html.sh: include `dirname $0` in PATH, to find
73040         gnulib-tool.
73041
73042 2003-01-09  Bruno Haible  <bruno@clisp.org>
73043
73044         * modules/stdbool: Change configure.ac, Makefile.am requirements.
73045         Simplify Include requirements. Add lib/stdbool.h.in to file list.
73046
73047 2003-01-09  Bruno Haible  <bruno@clisp.org>
73048
73049         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
73050
73051 2003-01-09  Bruno Haible  <bruno@clisp.org>
73052
73053         * lib/stdbool.h.in: New file.
73054
73055 2003-01-09  Bruno Haible  <bruno@clisp.org>
73056
73057         * gnulib-tool (func_all_modules): Ignore files ending in ~.
73058         * MODULES.html.sh: Likewise.
73059
73060 2003-01-08  Jim Meyering  <jim@meyering.net>
73061
73062         * lib/full-write.c: Undefine and define-away `const' after inclusion
73063         of errno.h, not before.  Suggestion from Bruno Haible.
73064
73065 2003-01-08  Bruno Haible  <bruno@clisp.org>
73066
73067         * modules/full-read: Depend on full-write.
73068
73069 2003-01-08  Bruno Haible  <bruno@clisp.org>
73070
73071         * lib/safe-read.c: Include specification header first, to ensure its
73072         selfcontainedness.
73073         * lib/full-write.c: Likewise.
73074
73075 2003-01-07  Jim Meyering  <jim@meyering.net>
73076
73077         * lib/full-write.c: Rework so that it may serve to define full_read,
73078         too.
73079         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
73080
73081 2003-01-07  Bruno Haible  <bruno@clisp.org>
73082
73083         * lib/strtoimax.c: Include <stdint.h> as an alternative to
73084         <inttypes.h>.
73085         * lib/xstrtol.h: Likewise.
73086         * lib/xstrtoimax.c: Likewise.
73087         * lib/xstrtoumax.c: Likewise.
73088         * lib/human.h: Likewise.
73089
73090         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
73091         on systems that have <inttypes.h> but not <stdint.h>.
73092
73093 2003-01-07  Bruno Haible  <bruno@clisp.org>
73094
73095         * MODULES.html.sh: Add copyright notice.
73096         (missed_files): Omit CVS directory entries.
73097         (func_module): Make it work with sed-3.02.
73098         * MODULES.txt: Remove file.
73099
73100 2003-01-06  Jim Meyering  <jim@meyering.net>
73101
73102         * lib/version-etc.c: Update year in translatable copyright string.
73103
73104 2003-01-03  Karl Berry  <karl@gnu.org>
73105
73106         * config/config.{guess,sub}: update from prep.
73107
73108 2003-01-02  Karl Berry  <karl@gnu.org>
73109
73110         * doc/COPYING.DOC: belatedly updated to 1.2.
73111
73112 2003-01-01  Karl Berry  <karl@gnu.org>
73113
73114         * gnulib-tool (func_verify_module): report module name $module in
73115         error message, not $1.
73116         * gnulib-tool (create-testdir): don't complain if destdir couldn't
73117         be created, only if it doesn't exist.
73118         * gnulib-tool (last_checkin_date): don't expand the $Date here.
73119
73120 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73121
73122         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
73123
73124 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73125
73126         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
73127         memcmp if strcoll doesn't work.
73128
73129 2002-12-31  Bruno Haible  <bruno@clisp.org>
73130
73131         * lib/utime.c (utime_null): No need to call ftruncate if the file was
73132         nonempty.
73133
73134 2002-12-31  Bruno Haible  <bruno@clisp.org>
73135
73136         * lib/memcoll.c (STRCOLL): New macro.
73137         (memcoll): Use it.
73138
73139 2002-12-31  Bruno Haible  <bruno@clisp.org>
73140
73141         * lib/localcharset.h: New file.
73142         * lib/localcharset.c: Include it.
73143         * lib/unicodeio.c: Likewise.
73144
73145 2002-12-31  Bruno Haible  <bruno@clisp.org>
73146
73147         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
73148         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
73149
73150 2002-12-31  Bruno Haible  <bruno@clisp.org>
73151
73152         * lib/getline.h: Include <stddef.h>, for size_t.
73153
73154         * lib/unicodeio.h: Include <stddef.h>, for size_t.
73155         * lib/unicodeio.c: Don't include <stddef.h>.
73156
73157 2002-12-31  Bruno Haible  <bruno@clisp.org>
73158
73159         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
73160         HAVE_TM_ZONE.
73161
73162 2002-12-24  Karl Berry  <karl@gnu.org>
73163
73164         * config/config.guess: update from prep.
73165
73166 2002-12-24  Bruno Haible  <bruno@clisp.org>
73167
73168         General infrasructure.
73169         * m4/README: Rewritten.
73170         * m4/onceonly.m4: New file.
73171         * m4/onceonly_2_57.m4: New file.
73172
73173         Module atexit.
73174         * m4/atexit.m4: New file.
73175
73176         Module strtod.
73177         * m4/strtod.m4: New file.
73178
73179         Module strtol.
73180         * m4/strtol.m4: New file.
73181
73182         Module strtoul.
73183         * m4/strtoul.m4: New file.
73184
73185         Module memchr.
73186         * m4/memchr.m4: New file.
73187
73188         Module memcmp.
73189         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
73190         (jm_FUNC_MEMCMP): Invoke it.
73191
73192         Module memcpy.
73193         * m4/memcpy.m4: New file.
73194
73195         Module memmove.
73196         * m4/memmove.m4: New file.
73197
73198         Module memset.
73199         * m4/memset.m4: New file.
73200
73201         Module strcspn.
73202         * m4/strcspn.m4: New file.
73203
73204         Module strpbrk.
73205         * m4/strpbrk.m4: New file.
73206
73207         Module strstr.
73208         * m4/strstr.m4: New file.
73209
73210         Module strerror.
73211         * m4/strerror.m4: New file.
73212
73213         Module mktime.
73214         * m4/mktime.m4: Renamed from jm-mktime.m4.
73215         (gl_PREREQ_MKTIME): New macro.
73216         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
73217
73218         Module malloc.
73219         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
73220         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
73221         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
73222
73223         Module realloc.
73224         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
73225         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
73226         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
73227
73228         Module strftime.
73229         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
73230         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
73231         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
73232         gl_TM_GMTOFF.
73233         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
73234
73235         Module xalloc.
73236         * m4/xalloc.m4: New file.
73237
73238         Module alloca.
73239         * m4/alloca.m4: New file.
73240
73241         Module putenv.
73242         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
73243         (jm_FUNC_PUTENV): Invoke it.
73244
73245         Module setenv.
73246         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
73247         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
73248         when invoked twice.
73249         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
73250         gt_FUNC_SETENV.
73251
73252         Module memrchr.
73253         * m4/memrchr.m4: New file.
73254
73255         Module stpcpy.
73256         * m4/stpcpy.m4: New file.
73257
73258         Module strcase.
73259         * m4/strcase.m4: New file.
73260
73261         Module strdup.
73262         * m4/strdup.m4: New file.
73263
73264         Module strnlen.
73265         * m4/strnlen.m4: New file.
73266
73267         Module strndup.
73268         * m4/strndup.m4: New file.
73269
73270         Module xstrtod.
73271         * m4/xstrtod.m4: New file.
73272
73273         Module xstrtol.
73274         * m4/xstrtol.m4: New file.
73275
73276         Module getdate.
73277         * m4/getdate.m4: New file.
73278
73279         Module unlocked-io.
73280         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
73281         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
73282         * m4/jm-glibc-io.m4n: Remove file.
73283
73284         Module long-options.
73285         * m4/long-options.m4: New file.
73286
73287         Module md5.
73288         * m4/md5.m4: New file.
73289
73290         Module sha.
73291         * m4/sha.m4: New file.
73292
73293         Module getstr.
73294         * m4/getstr.m4: New file.
73295
73296         Module getline.
73297         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
73298         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
73299         <sys/types.h>, for size_t. Use the function name gnu_getline, not
73300         simply getline. Infoke gl_PREREQ_GETLINE.
73301
73302         Module obstack.
73303         * m4/obstack.m4: New file.
73304
73305         Module hash.
73306         * m4/hash.m4: New file.
73307
73308         Module readtokens.
73309         * m4/readtokens.m4: New file.
73310
73311         Module strverscmp.
73312         * m4/strverscmp.m4: New file.
73313
73314         Module stdbool.
73315         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
73316         OSF/1.
73317
73318         Module strtoll.
73319         * m4/strtoll.m4: New file.
73320
73321         Module strtoull.
73322         * m4/strtoull.m4: New file.
73323
73324         Module strtoimax.
73325         * m4/strtoimax.m4: New file.
73326
73327         Module strtoumax.
73328         * m4/strtoumax.m4: New file.
73329
73330         Module xstrtoimax.
73331         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
73332         jm_AC_PREREQ_XSTRTOIMAX.
73333         Moved the strtol prerequisites to strtol.m4.
73334         Moved the strtoll prerequisites to strtoll.m4.
73335         Moved the strtoimax prerequisites to strtoimax.m4.
73336
73337         Module xstrtoumax.
73338         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
73339         jm_AC_PREREQ_XSTRTOUMAX.
73340         Moved the strtoul prerequisites to strtoul.m4.
73341         Moved the strtoull prerequisites to strtoull.m4.
73342         Moved the strtoumax prerequisites to strtoumax.m4.
73343
73344         Module chown.
73345         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
73346         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
73347
73348         Module dup2.
73349         * m4/dup2.m4: New file.
73350
73351         Module ftruncate.
73352         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
73353         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
73354
73355         Module getgroups.
73356         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
73357         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
73358
73359         Module gettimeofday.
73360         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
73361         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
73362         gl_PREREQ_GETTIMEOFDAY.
73363
73364         Module mkdir.
73365         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
73366         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
73367
73368         Module mkstemp.
73369         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
73370         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
73371         jm_AC_TYPE_UINTMAX_T.
73372         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
73373
73374         Module stat.
73375         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
73376         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
73377
73378         Module lstat.
73379         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
73380         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
73381
73382         Module timespec.
73383         * m4/timespec.m4 (gl_TIMESPEC): New macro.
73384         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
73385         * m4/st_mtim.m4: Indentation.
73386
73387         Module nanosleep.
73388         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
73389         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
73390         gl_PREREQ_NANOSLEEP.
73391
73392         Module regex.
73393         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
73394         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
73395         (gl_REGEX): New macro.
73396
73397         Module rename.
73398         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
73399         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
73400
73401         Module rmdir.
73402         * m4/rmdir.m4: New file.
73403
73404         Module utime.
73405         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
73406         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
73407         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
73408
73409         Module dirname.
73410         * m4/dirname.m4: New file.
73411
73412         Module getopt.
73413         * m4/getopt.m4: New file.
73414
73415         Module unistd-safer.
73416         * m4/unistd-safer.m4: New file.
73417
73418         Module fnmatch.
73419         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
73420         declaration.
73421         (gl_PREREQ_FNMATCH_EXTRA): New macro.
73422         (gl_FUNC_FNMATCH_POSIX): New macro.
73423         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
73424         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
73425         simply fnmatch.
73426
73427         Module exclude.
73428         * m4/exclude.m4: New file.
73429
73430         Module human.
73431         * m4/human.m4: New file.
73432
73433         Module acl.
73434         * m4/acl.m4: Nop.
73435
73436         Module backupfile.
73437         * m4/backupfile.m4: New file.
73438         * m4/d-ino.m4: Indentation.
73439
73440         Module fsusage.
73441         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
73442         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
73443         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
73444
73445         Module dirfd.
73446         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
73447         requirements.
73448
73449         Module euidaccess.
73450         * m4/euidaccess.m4: New file.
73451
73452         Module file-type.
73453         * m4/file-type.m4: New file.
73454
73455         Module fileblocks.
73456         * m4/fileblocks.m4: New file.
73457
73458         Module filemode.
73459         * m4/filemode.m4: New file.
73460
73461         Module isdir.
73462         * m4/isdir.m4: New file.
73463
73464         Module lchown.
73465         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
73466         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
73467
73468         Module makepath.
73469         * m4/makepath.m4: New file.
73470
73471         Module modechange.
73472         * m4/modechange.m4: New file.
73473
73474         Module mountlist.
73475         * m4/mountlist.m4: New file.
73476         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
73477         Indentation.
73478
73479         Module path-concat.
73480         * m4/path-concat.m4: New file.
73481
73482         Module pathmax.
73483         * m4/pathmax.m4: New file.
73484
73485         Module same.
73486         * m4/same.m4: New file.
73487
73488         Module save-cwd.
73489         * m4/save-cwd.m4: New file.
73490
73491         Module savedir.
73492         * m4/savedir.m4: New file.
73493
73494         Module xgetcwd.
73495         * m4/xgetcwd.m4: New file.
73496         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
73497
73498         Module xreadlink.
73499         * m4/xreadlink.m4: New file.
73500
73501         Module safe-read.
73502         * m4/safe-read.m4: New file.
73503
73504         Module safe-write.
73505         * m4/safe-write.m4: New file.
73506
73507         Module closeout.
73508         * m4/closeout.m4: New file.
73509
73510         Module stdio-safer.
73511         * m4/stdio-safer.m4: New file.
73512
73513         Module getpass.
73514         * m4/getpass.m4: New file.
73515
73516         Module getugroups.
73517         * m4/getugroups.m4: New file.
73518
73519         Module group-member.
73520         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
73521         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
73522
73523         Module idcache.
73524         * m4/idcache.m4: New file.
73525
73526         Module userspec.
73527         * m4/userspec.m4: New file.
73528
73529         Module gettime.
73530         * m4/clock_time.m4: New file.
73531         * m4/gettime.m4: New file.
73532
73533         Module settime.
73534         * m4/settime.m4: New file.
73535
73536         Module posixtm.
73537         * m4/posixtm.m4: New file.
73538
73539         Module gethostname.
73540         * m4/gethostname.m4: New file.
73541
73542         Module canon-host.
73543         * m4/canon-host.m4: New file.
73544
73545         Module gettext.
73546         * m4/codeset.m4: New file, from gettext-0.11.5.
73547         * m4/gettext.m4: New file, from gettext-0.11.5.
73548         * m4/glibc21.m4: New file, from gettext-0.11.5.
73549         * m4/iconv.m4: New file, from gettext-0.11.5.
73550         * m4/intdiv0.m4: New file, from gettext-0.11.5.
73551         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
73552         * m4/inttypes.m4: New file, from gettext-0.11.5.
73553         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
73554         * m4/isc-posix.m4: New file, from gettext-0.11.5.
73555         * m4/lcmessage.m4: New file, from gettext-0.11.5.
73556         * m4/lib-ld.m4: New file, from gettext-0.11.5.
73557         * m4/lib-link.m4: New file, from gettext-0.11.5.
73558         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
73559         * m4/progtest.m4: New file, from gettext-0.11.5.
73560         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
73561         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
73562         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
73563
73564         Module localcharset.
73565         * m4/localcharset.m4: New file.
73566
73567         Module hard-locale.
73568         * m4/hard-locale.m4: New file.
73569
73570         Module mbswidth.
73571         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
73572         onceonly macros.
73573         * m4/mbrtowc.m4: Add comment.
73574
73575         Module memcasecmp.
73576         * m4/memcasecmp.m4: New file.
73577
73578         Module memcoll.
73579         * m4/memcoll.m4: New file.
73580
73581         Module unicodeio.
73582         * m4/unicodeio.m4: New file.
73583
73584         Module rpmatch.
73585         * m4/rpmatch.m4: New file.
73586
73587         Module yesno.
73588         * m4/yesno.m4: New file.
73589
73590         Module exitfail.
73591         * m4/exitfail.m4: New file.
73592
73593         Module c-stack.
73594         * m4/c-stack.m4 (gl_C_STACK): New macro.
73595         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
73596
73597         Module error.
73598         * m4/error.m4 (gl_ERROR): New macro.
73599         (jm_PREREQ_ERROR): Use onceonly macros.
73600
73601         Module fatal.
73602         * m4/fatal.m4: New file.
73603
73604         Module getloadavg.
73605         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
73606         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
73607
73608         Module getpagesize.
73609         * m4/getpagesize.m4: New file.
73610
73611         Module getusershell.
73612         * m4/getusershell.m4: New file.
73613
73614         Module physmem.
73615         * m4/physmem.m4: New file.
73616
73617         Module posixver.
73618         * m4/posixver.m4: New file.
73619
73620         Module quotearg.
73621         * m4/quotearg.m4: New file.
73622
73623         Module quote.
73624         * m4/quote.m4: New file.
73625
73626         Module readutmp.
73627         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
73628
73629         Module sig2str.
73630         * m4/sig2str.m4: New file.
73631
73632         Other.
73633         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
73634         ulonglong.m4.
73635         * m4/intmax_t.m4: New file.
73636         * m4/d-type.m4: Indentation.
73637         * m4/jm-macros.m4: Update.
73638         * m4/prereq.m4 (jm_PREREQ): Update.
73639         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
73640         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
73641         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
73642         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
73643         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
73644         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
73645         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
73646         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
73647         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
73648         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
73649         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
73650         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
73651         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
73652         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
73653         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
73654         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
73655         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
73656         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
73657         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
73658
73659 2002-12-24  Bruno Haible  <bruno@clisp.org>
73660
73661         * MODULES.txt: Update according to m4/ changes.
73662
73663         Module gettext.
73664         * config.rpath: New file, from gettext-0.11.5.
73665
73666         * modules/*: New module descriptions.
73667         * gnulib-tool: New file.
73668         * MODULES.html.sh: New file.
73669
73670 2002-12-21  Karl Berry  <karl@gnu.org>
73671
73672         * doc/fdl.texi: update to version 1.2.
73673
73674 2002-12-19  Karl Berry  <karl@gnu.org>
73675
73676         * config/config.guess: update from prep.
73677
73678 2002-12-18  Bruno Haible  <bruno@clisp.org>
73679
73680         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
73681         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
73682
73683 2002-12-17  Bruno Haible  <bruno@clisp.org>
73684
73685         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
73686         stdlib.h, string.h.
73687
73688 2002-12-17  Bruno Haible  <bruno@clisp.org>
73689
73690         * lib/canon-host.c (strdup): Remove unused declaration.
73691
73692         * lib/fsusage.c: Include full_read.h.
73693         (get_fs_usage): Use full_read instead of safe_read.
73694
73695         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
73696
73697 2002-12-12  Karl Berry  <karl@gnu.org>
73698
73699         * config/config.guess: update from prep.
73700
73701 2002-12-11  Bruno Haible  <bruno@clisp.org>
73702
73703         * m4/setenv.m4: New file, from gettext-0.11.5.
73704
73705 2002-12-11  Bruno Haible  <bruno@clisp.org>
73706
73707         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
73708         not unsetenv().
73709         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
73710         modifications:
73711
73712         2002-12-11  Bruno Haible  <bruno@clisp.org>
73713
73714                 * setenv.c (alloca): Fall back to malloc.
73715                 (freea): New macro.
73716                 (setenv): Use freea() to free memory allocated with alloca().
73717
73718         2002-11-13  Bruno Haible  <bruno@clisp.org>
73719
73720                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
73721                 function declarations.
73722                 * unsetenv.c (unsetenv): Likewise.
73723
73724         2002-03-04  Bruno Haible  <bruno@clisp.org>
73725
73726                 Portability to AIX 4.3.3.
73727                 * unsetenv.c: New file, extracted from setenv.c.
73728                 * setenv.c: Move the unsetenv() function to unsetenv.c.
73729
73730         2001-12-20  Bruno Haible  <bruno@clisp.org>
73731
73732                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
73733                 use malloc instead. For SunOS 4.
73734
73735         2001-12-11  Bruno Haible  <bruno@clisp.org>
73736
73737                 * setenv.c: Declare alloca.
73738                 (compar_fn_t): New typedef.
73739                 (KNOWN_VALUE, STORE_VALUE): Use it.
73740
73741         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
73742         setenv.h.
73743
73744 2002-12-10  Paul Eggert  <eggert@twinsun.com>
73745
73746         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
73747         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
73748         Choose values that are less likely to collide with system fnmatch
73749         options.
73750         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
73751         defined (e.g., a pure POSIX system).
73752         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
73753         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
73754
73755 2002-12-06  Paul Eggert  <eggert@twinsun.com>
73756
73757         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
73758         a pain in practice to deal with generated m4 files.  This change
73759         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
73760
73761         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
73762         and jm-glibc-io.m4, as they are no longer a special case.
73763         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
73764         kludge and the auto-generation stuff.  Check only whether the
73765         functions are declared, not whether they exist, since older hosts
73766         that don't declare the functions can't use the optimization anyway.
73767
73768 2002-12-06  Jim Meyering  <jim@meyering.net>
73769
73770         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
73771
73772         Merge in changes from libc's misc/error.c, in preparation
73773         for the merge of gnulib's changes back into libc.
73774
73775         * lib/error.c (_): Define only if not already defined.
73776         Move definition to follow all #include directives.
73777         Include unlocked-io.h only if !_LIBC.
73778         [_LIBC]: Include <libio/libioP.h>.
73779         [USE_IN_LIBIO]: Include <libio/iolibio.h>
73780         (fflush): Tweak definition to use INTUSE.
73781         (putc): Define.
73782
73783 2002-12-05  Paul Eggert  <eggert@twinsun.com>
73784
73785         * lib/alloca.c [defined emacs]: Include "lisp.h".
73786         (xalloc_die) [defined emacs]: New macro.
73787         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
73788         [! defined emacs]: Include <xalloc.h>.
73789         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
73790         (pointer): Typedef to POINTER_TYPE *.
73791         (malloc): Remove decl; we now always use xmalloc.
73792         (alloca): Use old-style definition, since Emacs needs this.
73793         Check for arithmetic overflow when computing combined size.
73794
73795 2002-12-04  Paul Eggert  <eggert@twinsun.com>
73796
73797         Do not generate unlocked-io.h automatically, since it's easier to
73798         maintain it by hand.
73799
73800         * lib/unlocked-io.h: New file, from GNU diffutils,
73801         but with proper copyright notice and attribution.
73802         * lib/gen-uio: Remove.
73803         * lib/Makefile.am: Add copyright notice.
73804         (libfetish_a_SOURCES): Add unlocked-io.h.
73805         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73806         (DISTCLEANFILES, io_functions): Remove macros.
73807         (EXTRA_DIST): Remove gen_uio.
73808         (unlocked-io.h): Remove rule.
73809
73810 2002-12-04  Jim Meyering  <jim@meyering.net>
73811
73812         Reflect the fact that stat.c and lstat.c are no longer generated.
73813         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73814         (DISTCLEANFILES): Likewise.
73815         (EXTRA_DIST): Likewise.
73816         (all_local): Don't depend on stat.c or lstat.c.
73817         (stat.c, lstat.c): Remove rules.
73818         (EXTRA_DIST): Remove xstat.in.
73819
73820         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73821         * lib/stat.c: New file.  Contents mostly from xstat.in.
73822         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73823         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73824
73825         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73826         too.
73827         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73828
73829 2002-12-03  Jim Meyering  <jim@meyering.net>
73830
73831         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73832         but not semantics, to minimize the differences between these two files.
73833         (safe_read): Change comment to mention SAFE_READ_ERROR.
73834
73835         * lib/safe-read.c (IS_EINTR): Define.
73836         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73837
73838 2002-12-02  Jim Meyering  <jim@meyering.net>
73839
73840         * lib/safe-read.c (EINTR): Define.
73841         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73842         (INT_MAX): Provide fallback.
73843         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73844
73845         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73846
73847 2002-12-02  Bruno Haible  <bruno@clisp.org>
73848
73849         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73850         Define, taken from safe-read.c.
73851         (INT_MAX): Provide fallback.
73852         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73853         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73854
73855         * lib/safe-read.c (EINTR): Remove definition.
73856         (safe_read): Don't use EINTR if it is absent.
73857
73858 2002-12-01  Jim Meyering  <jim@meyering.net>
73859
73860         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73861         zero.
73862         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73863
73864 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73865
73866         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73867         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73868         with `if (! (value < limit)) abort ();', for readability.
73869
73870 2002-11-26  Karl Berry  <karl@gnu.org>
73871
73872         * lib/strdup.c: copy from libc again, with jim's ok.
73873         * lib/.cppi-disable: re-add strdup.c
73874
73875 2002-11-25  Karl Berry  <karl@gnu.org>
73876
73877         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73878         instead of "strtol.c".
73879
73880 2002-11-25  Karl Berry  <karl@gnu.org>
73881
73882         * config/install-sh: update from automake for variable quoting, $0 in
73883         error msgs, etc.
73884
73885         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73886         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73887         entry.
73888
73889 2002-11-25  Jim Meyering  <jim@meyering.net>
73890
73891         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73892
73893 2002-11-24  Karl Berry  <karl@gnu.org>
73894
73895         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73896         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73897
73898 2002-11-24  Jim Meyering  <jim@meyering.net>
73899
73900         Update from coreutils:
73901
73902         * lib/mktime.c: Merge in changes from libc.
73903
73904         Avoid a link-time failure on some Linux systems.
73905         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73906         (otherwise).
73907         (__mon_yday): Declare with the STATIC attribute.
73908         (__mktime_internal): Likewise.
73909         Based on a report from Greg Schafer.
73910
73911 2002-11-23  Jim Meyering  <jim@meyering.net>
73912
73913         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73914         Use `unsigned', not `int', as type of index.
73915
73916         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73917
73918         * lib/fsusage.c: Remove unneeded parentheses around operands of
73919         `defined'.
73920
73921 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73922
73923         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73924         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73925         so that we can be included first.
73926         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73927         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73928         No need to include stddef.h or sys/types.h any more.
73929         Surround local include files with "", not "<>".
73930         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73931         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73932         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73933         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73934         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73935         (ISPRINT): Remove; no longer needed now that we assume C89.
73936
73937         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73938         Preserve errno.
73939
73940         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73941         quotearg_char): Use SIZE_MAX rather than
73942         (size_t) -1 when we are talking about "infinity".
73943
73944         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73945
73946 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73947
73948         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73949         hint that one should use `if (! x) abort ();' rather than `assert
73950         (x);', and anyway it's one less thing to worry about configuring.
73951         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73952         hash_rehash, hash_insert): Use abort rather than assert.
73953
73954 2002-11-22  Bruno Haible  <bruno@clisp.org>
73955
73956         * lib/safe-read.h: Assume C89. Add comments.
73957         (safe_read): Change return type to size_t.
73958         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73959         byte counts > SSIZE_MAX correctly.
73960         * lib/safe-write.h: New file.
73961         * lib/safe-write.c: New file.
73962         * lib/full-read.h: New file.
73963         * lib/full-read.c: New file.
73964         * lib/full-write.h: Assume C89. Add comments.
73965         * lib/full-write.c: Include safe-write.h.
73966         (full_write): Rewritten to use safe_write.
73967         Suggested by Jim Meyering and Paul Eggert.
73968
73969 2002-11-21  Jim Meyering  <jim@meyering.net>
73970
73971         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73972
73973         Merge in changes from the coreutils.
73974
73975         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73976         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73977         <stdint.h>.
73978         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73979         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73980         int.  Work more efficiently if X is the same width as uintmax_t.
73981         Do not compare X to -1, to avoid bogus compiler warning.
73982         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73983         Don't assume that f_frsize and f_bsize are the same type.
73984
73985         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73986         warning on FreeBSD.
73987
73988         * lib/makepath.c (make_path): Restore umask *before* creating the final
73989         component.
73990         (make_path): Minor reformatting.
73991
73992         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73993         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73994         HAVE_MALLOC/HAVE_REALLOC.
73995
73996         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73997         dummy ones.  At least on GNU/Linux systems, `auto' means something
73998         else.
73999         From Michael Stone.
74000
74001 2002-11-21  Bruno Haible  <bruno@clisp.org>
74002
74003         Remove case insensitive option matching.
74004         * lib/argmatch.h (argcasematch): Remove declaration.
74005         (ARGCASEMATCH): Remove macro.
74006         (__xargmatch_internal): Remove case_sensitive argument.
74007         (XARGMATCH): Update.
74008         (XARGCASEMATCH): Remove macro.
74009         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
74010         case_sensitive argument.
74011         (argcasematch): Remove function.
74012         (__xargmatch_internal): Remove case_sensitive argument.
74013         (main): Use XARGMATCH instead of XARGCASEMATCH.
74014
74015         * lib/xmalloc.c: Change compile-time error message. Add comment about
74016         required autoconf version.
74017
74018 2002-11-20  Paul Eggert  <eggert@twinsun.com>
74019
74020         Merge argmatch cleanups from Bison.  Assume C89.
74021
74022         * lib/argmatch.c: Include config.h here, not in argmatch.h.
74023         Include stdlib.h, for EXIT_FAILURE.
74024         Always include <string.h>, since we assume C89.
74025         (EXIT_FAILURE): Remove pre-C89 bug workaround.
74026         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
74027         Include <stddef.h> instead, since it's all we need for size_t.
74028         (PARAMS): Remove.  All uses removed.
74029         (ARRAY_CARDINALITY): Do not bother to #undef.
74030         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
74031         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74032         Remove unnecessary parentheses.
74033         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74034         Insert necessary parentheses.
74035         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
74036         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
74037
74038 2002-11-19  Bruno Haible  <bruno@clisp.org>
74039
74040         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
74041         * lib/mbswidth.h: Include <stddef.h>, for size_t.
74042
74043         * lib/mbswidth.h (PARAMS): Remove macro.
74044         (mbswidth, mbsnwidth): Use ANSI C function declarations.
74045         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
74046
74047         * lib/gcd.h (PARAMS): Remove macro.
74048         (gcd): Use ANSI C function declarations.
74049         * lib/gcd.c (gcd): Likewise.
74050
74051 2002-11-15  Bruno Haible  <bruno@clisp.org>
74052
74053         * lib/strcspn.c: Include <stddef.h>.
74054         (strcspn): Use ANSI C function declaration. Change return type to
74055         size_t. Use NULL.
74056         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
74057         (strpbrk): Use NULL.
74058         * lib/strpbrk.h (PARAMS): Remove macro.
74059         (strpbrk): Use ANSI C function declaration.
74060         * lib/strstr.c: Don't include <sys/types.h>.
74061         * lib/strstr.h (PARAMS): Remove macro.
74062         (strstr): Use ANSI C function declarations.
74063
74064 2002-11-14  Karl Berry  <karl@gnu.org>
74065
74066         * config/mkinstalldirs: `do' on separate line, instead of
74067         `for var; do'.
74068
74069 2002-11-06  Bruno Haible  <bruno@clisp.org>
74070
74071         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
74072         * lib/gcd.c (gcd): Likewise.
74073
74074 2002-11-05  Bruno Haible  <bruno@clisp.org>
74075
74076         * lib/gcd.h: New file, from gettext-0.11.5.
74077         * lib/gcd.c: New file, from gettext-0.11.5.
74078
74079 2002-11-05  Bruno Haible  <bruno@clisp.org>
74080
74081         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74082         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74083         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74084         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74085
74086         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
74087         <libintl.h>.
74088         * lib/makepath.c: Include gettext.h instead of <locale.h> and
74089         <libintl.h>.
74090
74091         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
74092         * lib/human.c: Include gettext.h instead of <libintl.h>.
74093         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
74094         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
74095         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
74096         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
74097         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
74098         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
74099         (textdomain): Remove definition.
74100         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
74101
74102         * lib/long-options.c: Remove include of <libintl.h> and definition of
74103         _.
74104         * lib/same.c: Remove include of <libintl.h> and definition of _.
74105
74106 2002-11-04  Owen Taylor  <otaylor@redhat.com>
74107
74108         * lib/config.charset: A few additions for Solaris.
74109
74110 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74111
74112         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
74113         * lib/localcharset.c (locale_charset): Declare as extern "C".
74114
74115 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74116
74117         * lib/config.charset: msdos in uk_UA uses CP1125.
74118
74119 2002-11-04  Bruno Haible  <bruno@clisp.org>
74120
74121         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
74122         * lib/strcase.h: New file, from GNU gettext-0.11.5.
74123         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
74124         * lib/strstr.h: New file, from GNU gettext-0.11.5.
74125         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
74126
74127 2002-11-04  Bruno Haible  <bruno@clisp.org>
74128
74129         * lib/localcharset.c (locale_charset): Don't return an empty string.
74130
74131 2002-11-04  Bruno Haible  <bruno@clisp.org>
74132
74133         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
74134         aliases.
74135
74136 2002-11-04  Bruno Haible  <bruno@clisp.org>
74137
74138         * lib/config.charset: Update for newest glibc. Add canonical names
74139         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
74140
74141 2002-11-04  Bruno Haible  <bruno@clisp.org>
74142
74143         * lib/config.charset: Add support for NetBSD.
74144
74145 2002-11-04  Bruno Haible  <bruno@clisp.org>
74146
74147         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
74148
74149 2002-11-01  Bruno Haible  <bruno@clisp.org>
74150
74151         * configure.in: Add AC_CONFIG_AUX_DIR call.
74152         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
74153         test/Makefile.
74154         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
74155
74156 2002-09-28  Karl Berry  <karl@gnu.org>
74157
74158         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
74159         installed automake until the next release, since changes have been
74160         made.
74161
74162 2002-09-25  Karl Berry  <karl@gnu.org>
74163
74164         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
74165         * lib/getopt*: copy from libc/posix.
74166         * lib/gettext.h: copy from gettext.
74167         * lib/.cppi-disable: add strdup.c, gettext.h.
74168
74169 2002-09-25  Karl Berry  <karl@gnu.org>
74170
74171         * config/srclist.txt: enable gettext.h check.
74172         * config/config.{guess,sub}: update from prep.
74173         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
74174                 from automake 1.6.3.
74175         See srclist*.
74176
74177 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
74178
74179         * regex.c (PATFETCH): Remove the translating fetch.
74180         (PATFETCH_RAW): Rename to PATFETCH.
74181         (set_image_of_range): New fun.
74182         (SET_RANGE_TABLE_WORK_AREA): Use it.
74183         (regex_compile): Don't translate the pattern chars so eagerly.
74184         Only do it when inserting an `exactn' bytecode or when handling
74185         a char-range.
74186         (mutually_exclusive_p): Avoid empty statement.
74187
74188 2002-07-06  Jim Meyering  <meyering@lucent.com>
74189
74190         * m4/README: Don't mention Makefile.am.in.
74191         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
74192
74193 2002-07-01  Jim Meyering  <meyering@lucent.com>
74194
74195         * lib/c-stack.c: Include sys/time.h.
74196         From Volker Borchert.
74197
74198 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74199
74200         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
74201
74202 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74203
74204         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
74205         New macro.  Use it uniformly instead of
74206         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
74207         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
74208         reported by Vin Shelton.
74209
74210 2002-06-22  Paul Eggert  <eggert@twinsun.com>
74211
74212         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
74213         Do not assume SA_SIGINFO behavior.
74214         Bug reported by Jim Meyering on NetBSD 1.5.2.
74215
74216 2002-06-22  Jim Meyering  <meyering@lucent.com>
74217
74218         * m4/c-stack.m4: New file, from diffutils-2.8.2.
74219         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
74220
74221         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
74222         now that configure.ac uses AC_GNU_SOURCE.
74223         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
74224         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
74225
74226         Update to latest tools.  Suggestions from Paul Eggert.
74227         * m4/stdbool.m4: New file, from diffutils-2.8.2.
74228         * m4/gnu-source.m4: Update from diffutils-2.8.2.
74229         * m4/fnmatch.m4: Likewise.
74230         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
74231         to AC_HEADER_STDBOOL
74232
74233 2002-06-22  Jim Meyering  <meyering@lucent.com>
74234
74235         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
74236         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
74237
74238 2002-06-22  Jim Meyering  <meyering@lucent.com>
74239
74240         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
74241
74242         * lib/exitfail.c, exitfail.h: Likewise.
74243         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
74244
74245         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
74246         of fnmatch.h.
74247         (EXTRA_DIST): Add fnmatch_loop.c.
74248         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
74249
74250         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
74251         * lib/fnmatch.c: Update from diffutils-2.8.2.
74252         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
74253         * lib/fnmatch.h: Remove file.
74254
74255 2002-06-21  Jim Meyering  <meyering@lucent.com>
74256
74257         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
74258         * m4/mbrtowc.m4: Likewise.
74259
74260         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
74261         * m4/mbswidth.m4: Reflect name change:
74262         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
74263         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74264
74265         * m4/lib-link.m4: Update from gettext-0.11.2.
74266         * m4/gettext.m4: Likewise.
74267
74268         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
74269         From Alfred M. Szmidt.
74270
74271 2002-06-18  Paul Eggert  <eggert@twinsun.com>
74272
74273         * lib/file-type.h: Report an error if neither S_ISREG nor
74274         S_IFREG is defined, instead of using a test specific to glibc
74275         2.2.  This should be safe, since POSIX requires S_ISREG and
74276         Unix Version 7 had S_IFREG.  We don't need to check for
74277         <sys/types.h> since we don't use any symbols that it defines.
74278
74279 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
74280
74281         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
74282         $@-t, so that each temporary file name is unique and valid in the first
74283         8 characters, for operation under DOS.
74284
74285 2002-06-15  Paul Eggert  <eggert@twinsun.com>
74286
74287         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
74288
74289 2002-06-15  Jim Meyering  <meyering@lucent.com>
74290
74291         Work even with DJGPP 2.03, which lacks support for symlinks.
74292         From Richard Dawe.
74293         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
74294         is defined.
74295         * lib/lchown.c (S_ISLNK): Likewise.
74296
74297 2002-06-15  Jim Meyering  <meyering@lucent.com>
74298
74299         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
74300         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
74301         have been included before this file.
74302
74303 2002-06-14  Jim Meyering  <meyering@lucent.com>
74304
74305         * lib/file-type.h: Use the version from diffutils-2.8.2.
74306         * lib/file-type.c: Likewise.
74307
74308 2002-06-07  Jim Meyering  <meyering@lucent.com>
74309
74310         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
74311         They're needed at least for NetBSD 1.5.2.
74312         ($statxfs_includes): Include those same headers.
74313         ($statxfs_includes): Include sys/vfs.h if available.
74314         ($statxfs_includes): Likewise for sys/statvfs.h.
74315         Check for the following members in both structs statfs and statvfs:
74316         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
74317
74318 2002-06-01  Jim Meyering  <meyering@lucent.com>
74319
74320         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
74321         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
74322
74323 2002-05-28  Jim Meyering  <meyering@lucent.com>
74324
74325         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
74326         Reported by Volker Borchert.
74327
74328 2002-05-27  Jim Meyering  <meyering@lucent.com>
74329
74330         Fix a problem seen only on nonconforming systems whereby ls.c's
74331         use of localtime, and then of gettimeofday would cause trouble:
74332         the localtime call used to initialize rpl_gettimeofday's save
74333         mechanism would clobber ls's current local time information so
74334         that in any long listing the first file would always be listed
74335         with date 1970-01-01.  Analysis by Volker Borchert.
74336
74337         * lib/gettimeofday.c (localtime): Undefine.
74338         (rpl_localtime): New function.
74339
74340 2002-05-27  Jim Meyering  <meyering@lucent.com>
74341
74342         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
74343         localtime.
74344
74345         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
74346         use the replacement function; it wouldn't resolve at link time.
74347         Reported by Volker Borchert.
74348
74349 2002-05-22  Jim Meyering  <meyering@lucent.com>
74350
74351         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
74352         file-type.h.
74353         * lib/file-type.h: New file.
74354         * lib/file-type.c (file_type): New file/function.  Extracted from
74355         diffutils.
74356
74357 2002-04-30  Jim Meyering  <meyering@lucent.com>
74358
74359         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
74360
74361 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74362
74363         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
74364
74365 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74366
74367         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
74368         Do not check for alloca.h (no longer used) or stdbool.h (was never
74369         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
74370
74371 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74372
74373         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
74374
74375 2002-04-29  Jim Meyering  <meyering@lucent.com>
74376
74377         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
74378         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
74379         Use AC_FUNC_STRNLEN here instead.
74380
74381         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
74382         With autoconf-2.53a, it's part of AC_PROG_CC.
74383
74384 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74385
74386         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
74387         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
74388
74389 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74390
74391         * lib/sig2str.h, lib/sig2str.c: New files.
74392         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
74393
74394 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74395
74396         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
74397         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
74398         of 127, since 64 is the largest conceivable number for ancient
74399         nonstandard hosts.
74400         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
74401
74402 2002-04-28  Jim Meyering  <meyering@lucent.com>
74403
74404         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
74405
74406 2002-04-24  Jim Meyering  <meyering@lucent.com>
74407
74408         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
74409         (jm_PREREQ): Use it.
74410
74411         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
74412         mach/mach.h fcntl.h.
74413         Check for this function: setlocale.
74414
74415 2002-04-24  Jim Meyering  <meyering@lucent.com>
74416
74417         * lib/gettext.h: New file, from Gettext.
74418         * lib/Makefile.am (INCLUDES): Remove -I../intl.
74419         (libfetish_a_SOURCES): Add gettext.h.
74420
74421 2002-04-16  Jim Meyering  <meyering@lucent.com>
74422
74423         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
74424         ut_pid, ut_id, ut_exit.
74425
74426 2002-04-16  Jim Meyering  <meyering@lucent.com>
74427
74428         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
74429         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
74430         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
74431
74432 2002-04-12  Jim Meyering  <meyering@lucent.com>
74433
74434         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
74435         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
74436         existence of the getmntinfo function.  Needed for Darwin 5.3.
74437
74438         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
74439         This is necessary at least on Darwin 5.3.
74440
74441         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
74442         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
74443         strnlen.o in the library, and that makes some versions of ranlib
74444         object.
74445
74446 2002-04-12  Jim Meyering  <meyering@lucent.com>
74447
74448         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
74449
74450 2002-04-09  Jim Meyering  <meyering@lucent.com>
74451
74452         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
74453         to be more precise.  Rather than saying we're checking whether the
74454         function `works', say what we're testing.
74455         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
74456         Reported by Bruno Haible.
74457
74458 2002-03-10  Jim Meyering  <meyering@lucent.com>
74459
74460         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
74461         Suggestion from Santiago Vila.
74462
74463 2002-03-08  Jim Meyering  <meyering@lucent.com>
74464
74465         * lib/rename.c: Mention that this wrapper is needed also on
74466         mips-dec-ultrix4.4 systems.
74467
74468 2002-03-02  Jim Meyering  <meyering@lucent.com>
74469
74470         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
74471         not HAVE_CLOCK_SETTIME.
74472
74473 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74474
74475         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
74476         Check for clock_settime.
74477
74478 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74479
74480         * lib/nanosleep.h: Rename to....
74481         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
74482
74483         * lib/gettime.c: New file.
74484         * lib/settime.c: New file.
74485         * lib/stime.c: Remove.
74486
74487         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
74488         timespec.h.  Remove nanosleep.h.
74489
74490 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74491
74492         * m4/acl.m4: New file.
74493         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
74494         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
74495
74496 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74497
74498         * lib/acl.c, lib/acl.h: New files.
74499         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
74500
74501 2002-02-24  Jim Meyering  <meyering@lucent.com>
74502
74503         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
74504         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
74505         cause trouble.  Reported by Nelson Beebe.
74506
74507 2002-02-23  Paul Eggert  <eggert@twinsun.com>
74508
74509         * lib/path-concat.c (xpath_concat): Reorder code to pacify
74510         compilers that don't know that xalloc_die never returns.
74511
74512 2002-02-20  Jim Meyering  <meyering@lucent.com>
74513
74514         * lib/getdate.c: Regenerate using bison-1.33.
74515
74516 2002-02-17  Jim Meyering  <meyering@lucent.com>
74517
74518         * config/config.guess (main): Don't use `head -1'; it's no longer
74519         portable. Use `sed 1q' instead.
74520
74521 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
74522
74523         * m4/codeset.m4: Upgrade to gettext-0.11.
74524         * m4/gettext.m4: Upgrade to gettext-0.11.
74525         * m4/glibc21.m4: Upgrade to gettext-0.11.
74526         * m4/iconv.m4: Upgrade to gettext-0.11.
74527         * m4/isc-posix.m4: Upgrade to gettext-0.11.
74528         * m4/lcmessage.m4: Upgrade to gettext-0.11.
74529         * m4/lib-ld.m4: New file, from gettext-0.11.
74530         * m4/lib-link.m4: New file, from gettext-0.11.
74531         * m4/lib-prefix.m4: New file, from gettext-0.11.
74532         * m4/progtest.m4: Upgrade to gettext-0.11.
74533
74534 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74535
74536         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
74537         (jm_PREREQ): Use it.
74538
74539 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74540
74541         * lib/posixver.c, lib/posixver.h: New files.
74542         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74543
74544 2002-02-02  Paul Eggert  <eggert@twinsun.com>
74545             Bruno Haible  <bruno@clisp.org>
74546
74547         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
74548         (fwrite_success_callback): New declaration.
74549         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
74550         print_unicode_char. Call failure callback instead of error.
74551         (fwrite_success_callback): New function.
74552         (exit_failure_callback): New function.
74553         (fallback_failure_callback): New function.
74554         (print_unicode_char): Call unicode_to_mb.
74555
74556 2002-01-26  Jim Meyering  <meyering@lucent.com>
74557
74558         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
74559         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
74560
74561 2002-01-26  Jim Meyering  <meyering@lucent.com>
74562
74563         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
74564
74565 2002-01-22  Paul Eggert  <eggert@twinsun.com>
74566
74567         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
74568
74569 2002-01-22  Jim Meyering  <meyering@lucent.com>
74570
74571         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
74572         Otherwise, some versions of automake would omit the rule that makes
74573         Makefile from Makefile.in.
74574
74575 2002-01-21  Paul Eggert  <eggert@twinsun.com>
74576
74577         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
74578         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74579         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
74580         (memcoll): Set errno to zero if there is no error.
74581
74582         * lib/quotearg.c (quotearg_buffer_restyled):
74583         Fix bug with quoting buffers containing NUL when backslashing escapes.
74584         This bug was exposed by the other changes in this patch.
74585         (quotearg_n_options): New arg ARGSIZE.
74586         All callers changed.
74587         (quoting_options_from_style): New function.
74588         (quotearg_n_style): Use it.
74589         (quotearg_n_style_mem): New function.
74590
74591         * lib/quotearg.h (quotearg_n_style_mem): New function.
74592
74593 2002-01-19  Jim Meyering  <meyering@lucent.com>
74594
74595         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
74596         Remove useless quotes: DF_PROG="df".
74597         * m4/strnlen.m4: New file.
74598
74599 2002-01-16  Paul Eggert  <eggert@twinsun.com>
74600
74601         * lib/backupfile.c (ISDIGIT): Comment fix.
74602         * lib/getdate.y (ISDIGIT): Likewise.
74603         * lib/posixtm.c (ISDIGIT, year): Likewise.
74604         * lib/strverscmp.c (ISDIGIT): Likewise.
74605         * lib/userspec.c (ISDIGIT): Likewise.
74606
74607 2002-01-16  Jim Meyering  <meyering@lucent.com>
74608
74609         * lib/getdate.y: Add three semicolons, each just before a closing
74610         brace. Bison (as of version 1.31) no longer papers over that mistake.
74611
74612 2002-01-05  Jim Meyering  <meyering@lucent.com>
74613
74614         * lib/version-etc.c (version_etc_copyright): Update copyright year.
74615
74616 2001-12-19  Paul Eggert  <eggert@twinsun.com>
74617
74618         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
74619         not silently exit merely because the output buffer happens to
74620         have nothing pending.
74621
74622 2001-12-18  Paul Eggert  <eggert@twinsun.com>
74623
74624         See the big note in ../ChangeLog.
74625         * lib/human.c (suffixes): Prefer K to k for 1024.
74626         (generate_suffix_backwards): New function.
74627         (human_readable_inexact): Use it.
74628         * lib/xstrtol.c (__xstrtol): If there is no number but there
74629         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
74630         Accept 'K' as well as 'k'.
74631
74632 2001-12-15  Jim Meyering  <meyering@lucent.com>
74633
74634         * lib/regex.h (__restrict_arr): Update from libc.
74635
74636         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
74637         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
74638         (STREQ): Define.
74639
74640 2001-12-14  Jim Meyering  <meyering@lucent.com>
74641
74642         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
74643         Suggestion from Bruno Haible.
74644
74645 2001-12-10  Jim Meyering  <meyering@lucent.com>
74646
74647         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
74648         xrealloc, Instead, include "xalloc.h".
74649         (initbuffer): Don't cast xmalloc return value to char*.
74650         (readline): Reword comment.
74651         Don't cast xrealloc return value to char*
74652         Return NULL, not 0.
74653
74654 2001-12-09  Jim Meyering  <meyering@lucent.com>
74655
74656         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
74657         about `signed and unsigned type in conditional expression'.
74658         * lib/posixtm.c (posix_time_parse): Likewise.
74659
74660         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
74661
74662         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
74663         to avoid a pedantic warning.
74664
74665         * lib/getstr.c: Don't include assert.h.
74666         (getstr): Remove warning-evoking assertions.
74667         Return -1 if offset parameter is out of bounds.
74668         Change the type of a local from int to size_t.
74669
74670         * lib/strftime.c (my_strftime_localtime_r): Include this function
74671         definition in the `#if ! HAVE_TM_GMTOFF' block.
74672
74673         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
74674         Include xalloc.h instead.
74675
74676 2001-12-02  Jim Meyering  <meyering@lucent.com>
74677
74678         * lib/tempname.c: Don't declare getenv, thus reverting the change of
74679         2001-11-18.  It's no longer necessary, now that stdlib.h is always
74680         included.
74681
74682         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
74683         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
74684
74685 2001-11-30  Akim Demaille  <akim@epita.fr>
74686
74687         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
74688         before being defined.
74689
74690 2001-11-27  Paul Eggert  <eggert@twinsun.com>
74691
74692         * lib/quotearg.h (quotearg_n, quotearg_n_style):
74693         First arg is int, not unsigned.
74694         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
74695         (SIZE_MAX, UINT_MAX): New macros.
74696         (quotearg_n_options): Abort if N is negative.
74697         Avoid overflow check on hosts where size_t is 64 bits and int
74698         is 32 bits, as overflow is impossible there.
74699         Fix off-by-one typo that caused unnecessary reallocation.
74700
74701 2001-11-27  Jim Meyering  <meyering@lucent.com>
74702
74703         * lib/tempname.c: Merge with version from libc.
74704         * lib/regex.c: Likewise.
74705
74706         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
74707         systems for which STDC_HEADERS is 0, it was not included, resulting in
74708         a warning about an integer-to-pointer conversion problem with getenv.
74709         Reported by Volker Borchert.
74710
74711 2001-11-26  Jim Meyering  <meyering@lucent.com>
74712
74713         * lib/gtod.h: Remove file.
74714         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
74715         * lib/gettimeofday.c: Don't include gtod.h.
74716         (GTOD_init): Remove function.
74717         (rpl_gettimeofday): Do its job here instead, rather than aborting.
74718         Suggestion from Volker Borchert.
74719
74720 2001-11-23  Jim Meyering  <meyering@lucent.com>
74721
74722         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
74723         it.
74724         * lib/hash.c (struct hash_table): Define it here instead.
74725
74726 2001-11-22  Jim Meyering  <meyering@lucent.com>
74727
74728         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
74729
74730 2001-11-20  Jim Meyering  <meyering@lucent.com>
74731
74732         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
74733         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
74734
74735 2001-11-19  Jim Meyering  <meyering@lucent.com>
74736
74737         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
74738         directory.  Use "conftestXXXXXX" as the template.
74739         Suggestion from Paul Eggert.
74740
74741         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
74742         immediately, so the test doesn't mistakenly hit the max-open-files
74743         limit.
74744
74745 2001-11-18  Paul Eggert  <eggert@twinsun.com>
74746
74747         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
74748         (TEMPORARIES): New macro.
74749         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
74750         removes an artificial limitation (e.g. HP-UX 10.20, where
74751         TMP_MAX is 17576).
74752
74753 2001-11-18  Jim Meyering  <meyering@lucent.com>
74754
74755         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
74756
74757 2001-11-18  Jim Meyering  <meyering@lucent.com>
74758
74759         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
74760         on SunOS 4.
74761
74762         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
74763         files will be created before anything else.
74764
74765 2001-11-17  Paul Eggert  <eggert@twinsun.com>
74766
74767         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
74768         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
74769
74770 2001-11-17  Jim Meyering  <meyering@lucent.com>
74771
74772         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
74773         Prompted by a report from Bob Proulx.
74774
74775         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
74776         Instead, require UTILS_FUNC_MKSTEMP.
74777
74778 2001-11-17  Jim Meyering  <meyering@lucent.com>
74779
74780         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
74781         Now, that's done as part of AC_FUNC_STRTOD.
74782
74783 2001-11-17  Jim Meyering  <meyering@lucent.com>
74784
74785         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
74786         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
74787         rather than group writable.  Patch by Juan F. Codagnone.
74788
74789         * lib/readtokens.c: Remove explicit declarations of xmalloc and
74790         xrealloc, Instead, include "xalloc.h".
74791
74792         * lib/mountlist.c: Include unlocked-io.h after all system headers.
74793         Remove explicit declarations of xmalloc, xrealloc,
74794         and xstrdup.  Instead, include "xalloc.h".
74795
74796         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74797         unlocked-io.h.
74798         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74799         Likewise.
74800         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74801
74802         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74803         Reported by Padraig Brady.
74804
74805         * lib/mkstemp.c: #undef mkstemp.
74806         Include config.h.
74807         (rpl_mkstemp): Rename from mkstemp.
74808         Protoize.
74809
74810 2001-11-16  Jim Meyering  <meyering@lucent.com>
74811
74812         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74813         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74814         determine the amount of total physical memory, use pstat_getstatic.
74815         HPUX-11 doesn't define _SC_PHYS_PAGES.
74816         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74817         If sysconf couldn't be used to determine the amount of available
74818         physical memory, use both pstat_getstatic and pstat_getdynamic.
74819         Based on a patch from Bob Proulx.
74820
74821 2001-11-10  Jim Meyering  <meyering@lucent.com>
74822
74823         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74824         (jm_PREREQ): Use it.
74825
74826 2001-11-09  Jim Meyering  <meyering@lucent.com>
74827
74828         * m4/jm-macros.m4: Require autoconf-2.52f.
74829         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74830         Use these AC_-prefixed names, not the AM_-prefixed ones.
74831
74832         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74833
74834 2001-11-05  Jim Meyering  <meyering@lucent.com>
74835
74836         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74837
74838 2001-11-04  Jim Meyering  <meyering@lucent.com>
74839
74840         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74841         $DEFS.
74842
74843 2001-11-03  Jim Meyering  <meyering@lucent.com>
74844
74845         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74846         of AC_DEFUN.
74847
74848         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74849         know the name of the variable in the macro definition.
74850
74851 2001-11-03  Jim Meyering  <meyering@lucent.com>
74852
74853         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74854         in argmatch_to_argument call.
74855
74856         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74857         argument.
74858
74859         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74860         e.g., a fault due to an attempt to free a NULL pointer.
74861
74862 2001-11-01  Jim Meyering  <meyering@lucent.com>
74863
74864         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74865         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74866
74867 2001-11-01  Jim Meyering  <meyering@lucent.com>
74868
74869         * lib/dirfd.c, lib/dirfd.h: New files.
74870         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74871
74872         * lib/hash.c (hash_print) [TESTING]: Clean up.
74873
74874 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74875
74876         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74877         to avoid a warning if -Wall.
74878
74879 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74880
74881         * README: New file
74882         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74883         (per RMS's instructions, this is now the canonical source)
74884         * lgpl/, gpl/: New directories.
74885
74886 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74887
74888         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74889
74890 2001-10-21  Jim Meyering  <meyering@lucent.com>
74891
74892         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74893         this code would end up calling gettext even in packages built
74894         with --disable-nls.
74895         * lib/getopt.c (_): Likewise.
74896         * lib/regex.c (_): Likewise.
74897
74898 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74899
74900         * m4/error.m4 (jm_PREREQ_ERROR):
74901         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74902         AC_FUNC_STRERROR_R does that.
74903         Check for strerror declaration.
74904
74905         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74906         are supposed to have them these days.
74907         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74908         Merge changes from latest Autoconf CVS.
74909         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74910         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74911         POSIX decided to standardize on the int flavor of strerror_r.
74912
74913 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74914
74915         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74916         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74917         Use strerror_r that is only a macro, even if it is not a function.
74918         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74919         (private_strerror): Use prototypes, not old-style function definition.
74920         (print_errno_message): New function.
74921         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74922         char*-flavored one.
74923         (error_tail, error, error_at_line): Use it.
74924
74925 2001-10-11  Jim Meyering  <meyering@lucent.com>
74926
74927         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74928         and quote_n (1, ... to avoid clobbering a buffer.
74929
74930 2001-10-05  Jim Meyering  <meyering@lucent.com>
74931
74932         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74933         hash-pjw.h.
74934         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74935         * lib/hash-pjw.h: New file.
74936
74937 2001-09-30  Jim Meyering  <meyering@lucent.com>
74938
74939         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74940         `struct fsstat' has the `f_fstypename' member.
74941         Use that to define FS_TYPE, which is now used to make
74942         the getfsstat link test tighter.
74943
74944 2001-09-30  Jim Meyering  <meyering@lucent.com>
74945
74946         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74947         Include <sys/ucred.h>, for Apple Darwin.
74948         Include sys/mount.h and sys/fs_types.h only if available.
74949         (FS_TYPE): Define.
74950         (read_filesystem_list): Use FS_TYPE.
74951
74952 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74953
74954         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74955         a boolean context.
74956
74957 2001-09-29  Jim Meyering  <meyering@lucent.com>
74958
74959         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74960         [one-argument getmntent function]): Include stdio.h before mntent.h.
74961         SunOS 4.1.x needs it for the declaration of `FILE'.
74962         Patch by Volker Borchert.
74963
74964         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74965         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74966         sys/fs_types.h, and make the link-test for getfsstat guard #include
74967         directives with appropriate #if HAVE_*_H tests so that we can
74968         detect getfsstat on Apple Darwin1.3.7 systems.
74969         Reported by Nelson Beebe.
74970         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74971
74972 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74973
74974         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74975         #defines strtoimax.  Also treat the other strto* functions
74976         like strtoimax.
74977
74978         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74979         Check for strtoul and strtoumax,
74980         as those declarations are made even in the signed case.
74981         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74982         Likewise, for strtol and strtoimax.
74983
74984 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74985
74986         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74987         #defines strtoimax.  Also treat the other strto* functions
74988         like strtoimax.
74989
74990         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74991         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74992         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74993
74994 2001-09-26  Jim Meyering  <meyering@lucent.com>
74995
74996         Most macros in unlocked-io.h had the wrong number of arguments.
74997         * lib/gen-uio: New script.
74998         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74999         * lib/unlocked-io.hin: Remove file.
75000         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
75001         rather than trying to embed it here.
75002         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
75003         Reported by Padraig Brady.
75004
75005 2001-09-25  Volker Borchert  <bt@teknon.de>
75006
75007         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
75008         `result'.
75009
75010 2001-09-24  Jim Meyering  <meyering@lucent.com>
75011
75012         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
75013
75014 2001-09-23  Jim Meyering  <meyering@lucent.com>
75015
75016         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
75017         instead of the mere test for existence of mntent.h.  The latter
75018         would get a false-positive on AIX 3.4 systems.
75019         In the outer getmntent if-block, don't die if neither of the getmntent
75020         tests succeeds.  Instead, just fall through and continue with the
75021         remaining tests.
75022
75023 2001-09-23  Jim Meyering  <meyering@lucent.com>
75024
75025         * lib/mountlist.c: Remove useless parentheses in #if directives.
75026         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
75027         the deprecated MOUNTED symbol is no longer defined in mntent.h.
75028
75029 2001-09-22  Jim Meyering  <meyering@lucent.com>
75030
75031         * m4/gettext.m4: New file.  From gettext.
75032         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
75033         * m4/progtest.m4: Likewise
75034         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
75035         * m4/glibc21.m4: Likewise.
75036
75037         * m4/libintl.m4: Remove.  No longer used.
75038
75039 2001-09-22  Jim Meyering  <meyering@lucent.com>
75040
75041         * lib/localcharset.c: Update from latest gettext.
75042         * lib/config.charset: Likewise.
75043
75044 2001-09-20  Jim Meyering  <meyering@lucent.com>
75045
75046         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
75047         strtoimax.
75048         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
75049         strtoumax.
75050
75051 2001-09-20  Jim Meyering  <meyering@lucent.com>
75052
75053         * lib/xstrtol.c (strtoimax): Guard declaration with
75054         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
75055         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
75056         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
75057         (strtoumax): Likewise, for completeness (it wasn't necessary).
75058
75059 2001-09-17  Paul Eggert  <eggert@twinsun.com>
75060
75061         * lib/strtoimax.c (HAVE_LONG_LONG):
75062         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
75063         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
75064         to work around bug in IBM C compiler.
75065
75066 2001-09-17  Jim Meyering  <meyering@lucent.com>
75067
75068         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
75069         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
75070         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
75071         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
75072         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
75073         whenever the right hand side need not be expanded by the shell.
75074
75075 2001-09-16  Paul Eggert  <eggert@twinsun.com>
75076
75077         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
75078         library.  It's not correct, as some older glibcs are buggy.
75079         fnmatch wasn't fixed until glibc 2.2.
75080
75081         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
75082         special shell magic here.
75083
75084 2001-09-16  Jim Meyering  <meyering@lucent.com>
75085
75086         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
75087         * m4/jm-macros.m4: Require it.
75088
75089 2001-09-16  Jim Meyering  <meyering@lucent.com>
75090
75091         * lib/mkdir.c: New file.
75092
75093 2001-09-15  Jim Meyering  <meyering@lucent.com>
75094
75095         * m4/jm-macros.m4: Check for help2man.
75096
75097 2001-09-11  Jim Meyering  <meyering@lucent.com>
75098
75099         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
75100         The body, by Paul Eggert, was moved here from configure.in.
75101         * m4/jm-macros.m4: Require UTILS_HOST_OS.
75102
75103 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75104
75105         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
75106         (jm_PREREQ): Use it.
75107
75108 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75109
75110         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
75111         Use ssize_t, not int, to store result of readlink.
75112         Check for ssize_t overflow as well as size_t overflow,
75113         as POSIX says the result of readlink is implementation-defined
75114         when ssize_t overflows.
75115         Remove unnecessary cast to char*.
75116         Use free+malloc instead of realloc, as the storage doesn't need
75117         to be preserved and it's clearer and can be more efficient that way.
75118         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
75119         * lib/xreadlink.h (xreadlink): Update prototype.
75120
75121 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75122
75123         * lib/xgetcwd.c: Revert some of the previous change; intead,
75124         fix the HAVE_GETCWD_NULL code to behave more like the
75125         !HAVE_GETCWD_NULL code used to.
75126
75127         Include "xalloc.h".
75128         (xgetcwd): Do not return NULL when memory is exhausted; instead,
75129         invoke xalloc_die.
75130
75131 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75132
75133         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
75134         sys/param.h, as pathmax.h includes them.
75135
75136 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75137
75138         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
75139         (jm_PREREQ_XGETCWD): New macro.
75140
75141         * m4/getcwd.m4: New file.
75142
75143 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75144
75145         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
75146         like the HAVE_GETCWD_NULL code.
75147         Include pathmax.h if not HAVE_GETCWD.
75148         Do not include xalloc.h.
75149         (INITIAL_BUFFER_SIZE): New symbol.
75150         Do not use xmalloc / xrealloc, since the caller is responsible for
75151         handling errors.  Preserve errno around `free' during failure.
75152         Do not overrun buffer when using getwd.
75153
75154 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75155
75156         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
75157         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
75158         getcwd (NULL, 0).
75159
75160 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75161
75162         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
75163         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
75164         spotted by Jim Meyering.
75165
75166 2001-09-03  Jim Meyering  <meyering@lucent.com>
75167
75168         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
75169         failure.
75170
75171 2001-09-02  Jim Meyering  <meyering@lucent.com>
75172
75173         * lib/error.c: Update from GNU libc.
75174
75175 2001-09-01  Jim Meyering  <meyering@lucent.com>
75176
75177         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
75178         Used by df.
75179
75180 2001-09-01  Jim Meyering  <meyering@lucent.com>
75181
75182         * lib/xreadlink.c: New file.
75183         * lib/xreadlink.h: New file.
75184         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
75185         xreadlink.h.
75186
75187         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
75188         doesn't conflict with sparc Solaris 7's definition in
75189         /usr/include/sys/int_types.h.
75190
75191         * lib/exclude.c: Use `""', not `<>' to #include non-system header
75192         files.
75193         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
75194         and strncasecmp as r-values.  Unixware didn't have declarations.
75195
75196 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75197
75198         * lib/xstrtol.h: Add copyright notice.
75199         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
75200         LONGINT_INVALID_SUFFIX_CHAR.
75201
75202 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75203
75204         * lib/xstrtol.c (strtoimax): New decl.
75205
75206 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75207
75208         * lib/xgetcwd.c: Don't include pathmax.h.
75209         Include stdlib.h and unistd.h if available.
75210         Include xalloc.h.
75211         (xmalloc, xstrdup, free): Remove decls.
75212         (xgetcwd): Don't assume sizes fit in unsigned.
75213         Check for overflow when computing sizes.
75214         Simplify reallocation code.
75215
75216 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75217
75218         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
75219         a directory's st_size can have an arbitrary value, so the old
75220         usage could waste an arbitrary amount of memory.  All uses
75221         changed.
75222         * lib/savedir.h: Update prototype.
75223
75224 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75225
75226         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
75227
75228         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
75229         old strtoimax.c.
75230
75231         Also, make the following further changes to make this file's
75232         configuration more similar to that of strtol.c:
75233         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
75234         (strtoumax, uintmax_t, strtoull, strtol): Remove.
75235         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
75236         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
75237         changed to signed values.
75238
75239         And make the following changes as well:
75240         Fix copyright notice, as 1999 was missing.
75241         (verify): New macro.
75242         (strtoimax): Check sizes at compile-time, not run-time.
75243         Prefer strtol to strtoll if both work.
75244         (main): Remove; it was not that useful and was a pain to maintain.
75245
75246         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
75247
75248 2001-08-31  Jim Meyering  <meyering@lucent.com>
75249
75250         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
75251         Use an initial, malloc'd, buffer of length 128 rather than
75252         a statically allocated one of length 1024.
75253
75254 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75255
75256         Simplify code, partly by assuming autoconf 2.52 semantics.
75257
75258         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
75259
75260         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
75261         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
75262         All uses removed.
75263         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
75264         Move AC_REQUIRE to next-to-top level, to avoid confusion.
75265         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
75266         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
75267         jm_AC_HEADER_INTTYPES_H.
75268         * m4/jm-macros.m4 (jm_MACROS): Likewise.
75269
75270         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
75271
75272         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75273         Quote first arg of AC_DEFUN.
75274         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
75275         since they are needed to parse the include file even if we need
75276         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
75277         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
75278         but with opposite signedness.
75279
75280 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75281
75282         Merge 'exclude' changes from tar 1.13.22.
75283         This fixes one or two unlikely storage allocation overflow bugs,
75284         but doesn't change user-visible behavior otherwise.
75285
75286 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75287
75288         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
75289         (jm_PREREQ_EXCLUDE): New macro.
75290
75291 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75292
75293         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
75294         tm to be declared.
75295
75296 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75297
75298         * lib/hash.c: Remove '2001' from copyright notice.
75299
75300 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75301
75302         * lib/full-write.h: New file.
75303         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
75304         * lib/full-write.c: Correct credits, as cccp.c no longer
75305         exists and anyway it was so heavily changed from the old cccp
75306         code as to be unrecognizable.  Include full-write.h.
75307         (full_write) Return size_t, with short writes meaning failure.
75308         All callers changed.  This fixes a bug with large buffers
75309         on 64-bit hosts.
75310         * lib/utime.c: Include full-write.h.
75311
75312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75313
75314         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
75315         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
75316         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
75317         Include if available.
75318         (<xalloc.h>): Include
75319         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
75320         (verify): New macro.  Use it to verify that EXCLUDE macros do not
75321         collide with FNM macros.
75322         (struct patopts): New struct.
75323         (struct exclude): Use it, as exclude patterns now come with options.
75324         (new_exclude): Support above changes.
75325         (new_exclude, add_exclude_file):
75326         Initial size must now be a power of two to simplify overflow checking.
75327         (free_exclude, fnmatch_no_wildcards): New function.
75328         (excluded_filename): No longer requires options arg, as the options
75329         are determined by add_exclude.  Now returns bool, not int.
75330         (excluded_filename, add_exclude):
75331         Add support for the fancy new exclusion options.
75332         (add_exclude, add_exclude_file): Now takes int options arg.
75333         Check for arithmetic overflow when computing sizes.
75334         (add_exclude_file): xrealloc might modify errno, so don't
75335         realloc until after errno might be used.
75336
75337         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
75338         New macros.
75339         (free_exclude): New decl.
75340         (add_exclude, add_exclude_file): Now takes int options arg.
75341         (excluded_filename): No longer requires options arg, as the options
75342         are determined by add_exclude.  Now returns bool, not int.
75343
75344 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75345
75346         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
75347
75348 2001-08-27  Jim Meyering  <meyering@lucent.com>
75349
75350         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
75351
75352         * lib/version-etc.c (N_): Remove definition.
75353         Revert most of last change.
75354         Instead, simply don't mark the `Copyright...' string for translation.
75355         Based on advice from Paul Eggert.
75356
75357         * lib/strtoxmax.c: Tweak comment.
75358
75359 2001-08-26  Jim Meyering  <meyering@lucent.com>
75360
75361         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
75362
75363         * m4/xstrtoimax.m4: New file.
75364         * m4/xstrtoumax.m4: Add comments explaining why we
75365         AC_REPLACE_FUNCS(strtol).
75366
75367 2001-08-26  Jim Meyering  <meyering@lucent.com>
75368
75369         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
75370         of copyright with `%s' so translators don't get an untranslated
75371         message in 2002.
75372         (COPYRIGHT_YEAR): Define.
75373         (version_etc): Use fprintf rather than fputs.
75374         Suggestion from Ulrich Drepper.
75375
75376         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
75377
75378         * lib/strtoll.c: New file, from GNU libc.
75379         * lib/xstrtoimax.c: New file.
75380
75381         * lib/xstrtol.h: Add xstrtoimax.
75382         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
75383         * lib/strtoimax.c: New file.  Likewise, but first define
75384         STRTOUXMAX_SIGNED.
75385
75386         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
75387         ...
75388         * lib/strtoxmax.c: ... then renamed to this.
75389
75390 2001-08-18  Paul Eggert  <eggert@twinsun.com>
75391
75392         * m4/inttypes.m4: Add AC_PREREQ(2.13).
75393         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
75394         (jm_AC_TYPE_INTMAX_T): New macro.
75395         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
75396
75397         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
75398
75399         * m4/longlong.m4: Renamed from ulonglong.m4.
75400         * m4/inttypes.m4: Renamed from inttypes_h.m4.
75401         * m4/uintmax_t.m4: Removed.
75402
75403 2001-08-13  Paul Eggert  <eggert@twinsun.com>
75404
75405         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
75406         Port to Solaris 8, where 'sed' requires a space after the 'r'
75407         command, and where sh dislikes "$/".  Clean up the spacing a bit.
75408         Redirect output to $tmp just once.
75409
75410 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
75411
75412         * lib/addext.c (<errno.h>): Include.
75413         (errno): Declare if not defined.
75414         (addext): Work correctly when pathconf returns -1 and leaves
75415         errno alone because there is no limit.  Also, work even if
75416         pathconf returns a value greater than SIZE_MAX.
75417
75418 2001-08-12  Jim Meyering  <meyering@lucent.com>
75419
75420         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
75421         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
75422         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
75423         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
75424         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
75425         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
75426         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
75427         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
75428         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
75429         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
75430         utime.m4, utimes.m4, xstrtoumax.m4:
75431         Quote the first argument in each use of AC_DEFUN.
75432
75433 2001-08-12  Jim Meyering  <meyering@lucent.com>
75434
75435         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
75436         Simply `return getcwd (NULL, 0);'.
75437         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
75438         Use 1300 as initial value for length, not PATH_MAX.
75439
75440         * lib/pathmax.h: Clean up cpp syntax.
75441
75442 2001-08-12  Jim Meyering  <meyering@lucent.com>
75443
75444         * lib/gettimeofday.c: New file.
75445         * lib/gtod.h: New file.
75446         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
75447
75448 2001-08-05  Jim Meyering  <meyering@lucent.com>
75449
75450         * m4/jm-macros.m4: Require autoconf-2.52.
75451
75452 2001-08-04  Jim Meyering  <meyering@lucent.com>
75453
75454         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
75455         stmt, to get in sync with glibc.
75456
75457 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75458
75459         The following changes are from gettext 0.10.39 as maintained by
75460         Bruno Haible.
75461
75462         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
75463         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
75464         with inverted sense.  All uses changed.
75465
75466         * lib/mbswidth.c: Don't include <limits.h>.
75467         Include <stdlib.h> and <string.h> unconditionally.
75468         (iswcntrl, mbsinit, ISCNTRL): New macros.
75469         (mbsnwidth): Use K&R style function declarations.
75470         Don't bother checking for MB_LEN_MAX == 1, since the compiler
75471         can optimize it when MB_CUR_MAX == 1.
75472         The width of control characters is zero, not 1.
75473
75474 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75475
75476         The following changes are from gettext 0.10.39 as maintained by
75477         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
75478
75479         * m4/codeset.m4: Upgrade to serial AM1.
75480         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
75481         all uses changed.  Quote first arg of AC_DEFUN.
75482         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
75483
75484         * m4/iconv.m4: Upgrade to serial AM2.
75485         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
75486         Add --with-libconv-prefix.
75487         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
75488         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
75489         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
75490         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
75491         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
75492
75493         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
75494         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
75495         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
75496         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
75497         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
75498         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
75499         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
75500         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
75501         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75502
75503         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
75504         string.h any more.
75505
75506         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
75507         not the default value.
75508
75509         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
75510         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
75511         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
75512         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
75513         Also check for iswcntrl, used for wcwidth fallback.
75514         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
75515         to Autoconf 2.13.
75516
75517 2001-08-03  Jim Meyering  <meyering@lucent.com>
75518
75519         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
75520         as it was in the original.  Reported by Paul Eggert.
75521
75522 2001-07-16  Jim Meyering  <meyering@lucent.com>
75523
75524         * m4/gettimeofday.m4: New file.
75525         Prompted by a report from Bernhard Baehr.
75526
75527 2001-07-15  Jim Meyering  <meyering@lucent.com>
75528
75529         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
75530         stuff. Now it's in ../Makefile.cfg.
75531
75532 2001-07-15  Jim Meyering  <meyering@lucent.com>
75533
75534         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
75535         (BUILT_SOURCES): Add unlocked-io.h.
75536         (io_functions): Define.
75537         (unlocked-io.h): New rule.
75538         (DISTCLEANFILES): Add unlocked-io.h.
75539         (all-local): Depend on unlocked-io.h, to ensure it is created.
75540
75541         * lib/unlocked-io.hin: New file
75542
75543         * lib/regex.c: Update from glibc.
75544
75545 2001-07-05  Jim Meyering  <meyering@lucent.com>
75546
75547         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
75548         recommendation.
75549         (libfetish_a_SOURCES): Put all .h files here instead.
75550         Remove a thus-exposed (better checks in automake) duplicate and
75551         two unnecessary .h files.
75552
75553 2001-07-04  Jim Meyering  <meyering@lucent.com>
75554
75555         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
75556         that generates jm-glibc-io.m4 so that it doesn't trigger any make
75557         distcheck failure.
75558
75559 2001-07-02  Jim Meyering  <meyering@lucent.com>
75560
75561         The following changes were prompted by suggestions from Bruno Haible.
75562
75563         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
75564         is now generated.
75565         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
75566         definition of EXTRA_DIST.
75567         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
75568         ensure that the generated file is created/updated whenever the list
75569         of $(unlocked_functions) is changed.
75570         (jm-glibc-io.m4): New rule.
75571         (unlocked-io.h): New rule -- currently unused.
75572
75573 2001-06-24  Jim Meyering  <meyering@lucent.com>
75574
75575         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
75576         unmatched right bracket, rather than kludging it with an extra,
75577         falsely-matching quote in a comment.  Patch by Akim Demaille.
75578
75579 2001-06-11  Jim Meyering  <meyering@lucent.com>
75580
75581         * lib/regex.c: Update from GNU libc.
75582
75583 2001-05-27  Jim Meyering  <meyering@lucent.com>
75584
75585         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
75586         Check for ut_type in struct utmp.
75587
75588 2001-05-27  Jim Meyering  <meyering@lucent.com>
75589
75590         * lib/readutmp.h (UT_TYPE): Define.
75591
75592 2001-05-24  Jim Meyering  <meyering@lucent.com>
75593
75594         * lib/argmatch.c: Include "quote.h".
75595         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
75596         quote function.  Reported by Göran Uddeborg.
75597
75598 2001-05-22  Jim Meyering  <meyering@lucent.com>
75599
75600         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
75601         now that we use the package-supplied version unconditionally.
75602         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
75603
75604 2001-05-21  Jim Meyering  <meyering@lucent.com>
75605
75606         * m4/regex.m4: Change a couple backticks to single quotes to avoid
75607         shell syntax errors.
75608
75609 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75610
75611         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
75612
75613 2001-05-20  Paul Eggert  <eggert@twinsun.com>
75614
75615         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
75616         Don't bother to check library strftime, since
75617         we'll be using our own my_strftime function anyway.
75618         Define my_strftime instead of strftime.
75619
75620 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
75621
75622         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
75623         which is not yet declared.
75624
75625 2001-05-15  Jim Meyering  <meyering@lucent.com>
75626
75627         * m4/regex.m4: Use proper quoting so brackets appear in the test
75628         program.
75629         Reported by, and with help from, Bruno Haible.
75630
75631 2001-05-13  Jim Meyering  <meyering@lucent.com>
75632
75633         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
75634         undefined.
75635
75636 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75637
75638         dirname code cleanup.  base_name now behaves more compatibly
75639         with POSIX basename when given file names that have trailing
75640         slashes, and similarly for dir_name.  Add new primitives
75641         base_len and dir_len.  Put the directory-name-related decls
75642         into dirname.h.
75643
75644         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
75645         * lib/backupfile.c (base_name): Likewise.
75646         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
75647         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
75648         * lib/makepath.c (strip_trailing_slashes): Likewise.
75649         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
75650         ISSLASH): Likewise.
75651         * lib/rename.c (strip_trailing_slashes): Likewise.
75652         * lib/same.c (base_name): Likewise.
75653         * lib/stripslash.c (ISSLASH): Likewise.
75654
75655         * lib/addext.c: Include <dirname.h> after size_t is defined.
75656         * lib/backupfile.c: Likewise.
75657
75658         * lib/addext.c (addext): Use base_len to trim redundant
75659         trailing slashes instead of doing it ourselves.
75660         But do not trim the last slash if it is not redundant.
75661
75662         * lib/backupfile.c (find_backup_file_name,
75663         max_backup_version): Use base_len instead of rolling it ourselves.
75664         Handle the case of "" and (on DOS) "C:" correctly.
75665
75666         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
75667         needed. Include <string.h>, <dirname.h>.
75668         (base_name): Allow file names ending in slashes, other than names
75669         that are all slashes.  In this case, return the basename followed
75670         by the slashes.  This is more general, and can be used in places
75671         where the original base_name purposely had an assertion failure.
75672         (base_len): New function.
75673
75674         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
75675         Do not include <assert.h>; no longer needed.
75676         Include xalloc.h.
75677         (memrchr): Remove decl.
75678         (dir_name_r): Remove.
75679         (dir_len): Renamed from dirlen.  All callers changed.
75680         Rewrite in terms of base_name, for simplicity and consistency.
75681         (dir_name): Never return NULL.  All callers changed.
75682         Do not include <stdlib.h> in test program; no longer needed.
75683         return 0; is fine for test program.
75684
75685         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
75686         New macros.
75687         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
75688
75689         * lib/path-concat.c (path_concat): Use base_len to compute
75690         base length, not strlen; this means we cannot rely on memcpy
75691         to null-terminate.
75692
75693         * lib/same.c (STREQ): Remove.
75694         (same_name): Handle the case where the basename ends in trailing '/'.
75695
75696         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
75697         a slash was stripped.  Do not strip the last slash after a
75698         file system prefix.
75699
75700 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75701
75702         * lib/Makefile.am (libfetish_a_SOURCES):
75703         Add strftime.c, since we now compile it on all hosts.
75704
75705         * lib/strftime.c (my_strftime):
75706         Define to nstrftime if emacs, but only if my_strftime is not defined.
75707         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
75708         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
75709         Add one more extra argument: a nanoseconds value.
75710         All uses changed.
75711         (ns): New macro.
75712         (my_strftime function): Add %N format.
75713         (emacs_strftimeu): Renamed from emacs_strftime,
75714         with extra ut argument.
75715
75716 2001-05-09  Paul Eggert  <eggert@twinsun.com>
75717
75718         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
75719
75720 2001-04-21  Jim Meyering  <meyering@lucent.com>
75721
75722         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
75723         doesn't interfere.
75724
75725 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75726
75727         * m4/ftruncate.m4: Check for chsize.
75728         Link with ftruncate.o unconditionally if ftruncate is missing.
75729         This was required when cross-compiling to i586-mingw32msvc.
75730
75731 2001-04-08  Jim Meyering  <meyering@lucent.com>
75732
75733         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
75734         recomputed; that's necessary when the offset spans a DST transition.
75735         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
75736
75737 2001-04-02  Jim Meyering  <meyering@lucent.com>
75738
75739         * lib/regex.h, regex.c: Update from GNU libc.
75740
75741 2001-03-24  Jim Meyering  <meyering@lucent.com>
75742
75743         * m4/jm-macros.m4: Require autoconf-2.49d.
75744
75745 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
75746
75747         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
75748
75749 2001-03-19  Paul Eggert  <eggert@twinsun.com>
75750
75751         * lib/version-etc.c (version_etc_copyright): Update to 2001.
75752
75753 2001-03-17  Jim Meyering  <meyering@lucent.com>
75754
75755         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
75756         now that the version in autoconf is equivalent.
75757         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
75758
75759         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
75760         Suggestion from Akim Demaille.
75761
75762         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
75763         (jm_PREREQ_TEMPNAME): New function.
75764
75765 2001-03-16  Paul Eggert  <eggert@twinsun.com>
75766
75767         * lib/tempname.c (uint64_t): Define to uintmax_t if
75768         not defined, and if UINT64_MAX is not defined.
75769         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
75770         Reported by John David Anglin.
75771
75772 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
75773
75774         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
75775         resolve alias if codeset is empty.
75776         * lib/config.charset (BeOS): Use wildcard syntax.
75777
75778 2001-03-13  Jim Meyering  <meyering@lucent.com>
75779
75780         * lib/path-concat.c (path_concat)
75781         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
75782         concatenating e.g., `C:' and `foo'.
75783         From Bruno Haible.
75784
75785 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75786
75787         * lib/localcharset.c (locale_charset): Don't use
75788         setlocale(LC_CTYPE,NULL). Don't return NULL.
75789         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
75790
75791 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75792
75793         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
75794         support for DOS/DJGPP.
75795
75796 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75797
75798         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75799         lacks mkstemp.  Compile our own tempname.c if we compile our own
75800         mkstemp.c, as mkstemp relies on tempname.
75801
75802 2001-03-01  Jim Meyering  <meyering@lucent.com>
75803
75804         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75805         AH_VERBATIM really does output its argument verbatim.
75806
75807 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75808
75809         * lib/Makefile.am (libfetish_a_SOURCES):
75810         Add dup-safer.c, fopen-safer.c.
75811         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75812
75813         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75814         * lib/unistd-safer.h: New files.
75815
75816 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75817
75818         The mkstemp replacement is taken from glibc 2.2.2, with some
75819         portability fixes for use outside glibc, as follows:
75820
75821         * lib/tempname.c (struct_stat64): New macro.
75822         (direxists, __gen_tempname): Use it.
75823         This avoids a portability problem with Solaris 8.
75824
75825         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75826         (<stddef.h>, <stdint.h>, <string.h>):
75827         Include only if STDC_HEADERS || _LIBC.
75828         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75829         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75830         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75831         (__set_errno): Define this macro if <errno.h> doesn't.
75832         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75833         Define these macros if <stdio.h> doesn't.
75834         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75835         Define these macros if <sys/stat.h>
75836         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75837         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75838         __xstat64): Define if not _LIBC.
75839         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75840         (__gen_tempname): Invoke gettimeofday only if
75841         HAVE_GETTIMEOFDAY || _LIBC;
75842         otherwise, fall back on plain "time".
75843         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75844
75845         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75846
75847         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75848
75849 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75850
75851         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75852
75853 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75854
75855         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75856         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75857         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75858         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75859
75860 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75861
75862         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75863         Remove workaround macros for hosts that have mbrtowc but not
75864         mbstate_t, as we now insist on proper declarations for both
75865         before using mbrtowc.
75866
75867 2001-02-17  Jim Meyering  <meyering@lucent.com>
75868
75869         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75870         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75871         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75872         UnixWare 7.1.1.
75873
75874         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75875         rather than AC_CACHE_VAL.
75876
75877 2001-02-17  Jim Meyering  <meyering@lucent.com>
75878
75879         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75880         around included file name.
75881
75882         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75883
75884         * lib/strftime.c: Update from GNU libc (the only changes were to
75885         comments).
75886
75887 2001-02-17  Jim Meyering  <meyering@lucent.com>
75888
75889         * lib/regex.c: Update from libc.
75890
75891 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75892
75893         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75894         clash.
75895
75896 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75897
75898         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75899         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75900         Reported by Mark Hounschell via Paul Eggert.
75901
75902 2001-02-07  Jim Meyering  <meyering@lucent.com>
75903
75904         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75905
75906 2001-02-05  Jim Meyering  <meyering@lucent.com>
75907
75908         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75909         it includes the patch required for `large file' support with at least
75910         HP-UX's 10.20 /bin/cc.
75911
75912 2001-02-03  Jim Meyering  <meyering@lucent.com>
75913
75914         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75915         AS_IF, now that it works once again (mysteriously).
75916         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75917
75918 2001-01-30  Jim Meyering  <meyering@lucent.com>
75919
75920         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75921         * m4/chown.m4: Rename conftestchown to conftest.chown.
75922         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75923         s/conftestdir2/conftest.d2/.
75924         * m4/utimes.m4: s/conftestdata/conftest.data/
75925         Inspired by Pavel Roskin's change in autoconf.
75926
75927 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75928
75929         * lib/config.charset: Update for FreeBSD 4.2.
75930
75931 2001-01-27  Jim Meyering  <meyering@lucent.com>
75932
75933         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75934         a use of AS_IF.
75935         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75936
75937 2001-01-26  Jim Meyering  <meyering@lucent.com>
75938
75939         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75940         quotearg.c includes it.
75941
75942 2001-01-26  Jim Meyering  <meyering@lucent.com>
75943
75944         * lib/quotearg.c: Include stddef.h.
75945         * lib/quote.c: Include stddef.h.
75946         Reported by Axel Kittenberger.
75947
75948         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75949         line in double quotes so that it evokes a better diagnostic.
75950         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75951         Reported by Axel Kittenberger.
75952
75953 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75954
75955         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75956         as if it was a `charset'.
75957
75958 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75959
75960         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75961         has const.
75962
75963 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75964
75965         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75966         to avoid a warning.  Add back 'const' to inptr.
75967
75968 2001-01-20  Jim Meyering  <meyering@lucent.com>
75969
75970         Be sure that headers are checked before used in code compiled
75971         for the type checks.
75972         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75973         In place of that, invoke jm_CHECK_ALL_TYPES.
75974         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75975         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75976         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75977         The check for ssize_t was mistakenly run before the test for unistd.h.
75978
75979         The configure-time check for stdbool.h was missing.
75980         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75981         (jm_PREREQ_HASH): New function.
75982
75983 2001-01-17  Jim Meyering  <meyering@lucent.com>
75984
75985         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75986         for autoconf-2.49c.
75987         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75988
75989 2001-01-16  Jim Meyering  <meyering@lucent.com>
75990
75991         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75992         From Bruno Haible.
75993
75994 2001-01-14  Jim Meyering  <meyering@lucent.com>
75995
75996         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75997         foo and bar.  Create conftestdir/ in the script, not in the C code.
75998         Remove directories in the script, not in the C code.
75999         Remove conftestdir{,2} before trying to create the directory.
76000         Make the entire configure script fail if the mkdir fails.
76001
76002 2001-01-14  Jim Meyering  <meyering@lucent.com>
76003
76004         * lib/rename.c: New file.  From Volker Borchert.
76005         Include stdlib.h, string.h or strings.h, and xalloc.h.
76006         Use strip_trailing_slashes rather than open-coding it.
76007
76008 2001-01-03  Paul Eggert  <eggert@twinsun.com>
76009
76010         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
76011
76012 2001-01-03  Jim Meyering  <meyering@lucent.com>
76013
76014         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
76015         of local `inptr' to avoid warning with some system declarations of
76016         iconv.
76017
76018 2001-01-02  Volker Borchert  <bt@teknon.de>
76019
76020         * m4/rename.m4: New file.
76021         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
76022
76023 2001-01-01  Jim Meyering  <meyering@lucent.com>
76024
76025         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
76026         even on systems with utmpx.h.  It's necessary for the declaration of
76027         utmp's ut_user member.  Reported by Andreas Jaeger.
76028
76029         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
76030         available. They are required for the declarations of getgrgid and
76031         getpwuid resp.
76032         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
76033         Reported by Andreas Jaeger.
76034
76035 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
76036
76037         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
76038         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
76039         so `make install' also works in VPATH builds.
76040
76041 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
76042
76043         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
76044         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
76045         can be used in subdirectories.
76046
76047 2000-12-29  Paul Eggert  <eggert@twinsun.com>
76048
76049         * lib/modechange.c: Do not assume that mode_t uses the
76050         traditional octal encoding.  E.g. "chmod 1 FOO" should set
76051         the other-execute bit of FOO even if S_IXOTH != 1.
76052
76053         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
76054         WOTH, XOTH, ALLM): New macros.
76055         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
76056          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
76057         Use them.
76058         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
76059         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
76060         (mode_compile):
76061         No need to use uintmax_t; unsigned long is long enough.
76062         Don't bother to get suffix since we don't use it.
76063
76064 2000-12-26  Jim Meyering  <meyering@lucent.com>
76065
76066         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
76067         better with autoheader.
76068
76069 2000-12-24  Jim Meyering  <meyering@lucent.com>
76070
76071         * lib/hash.c (is_prime): Return explicit boolean values.
76072         (hash_get_first): Return NULL to appease Irix5.6's 89.
76073         Reported by Nelson Beebe.
76074
76075 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
76076
76077         * lib/localcharset.c (locale_charset): Add support for Win32.
76078
76079 2000-12-18  Paul Eggert  <eggert@twinsun.com>
76080
76081         * lib/physmem.h, lib/physmem.c: New files.
76082
76083         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
76084         (noinst_HEADERS): Add physmem.h.
76085
76086         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
76087         't' for compatibility with Solaris 8 sort.
76088
76089 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
76090
76091         * lib/config.charset: Add support for BeOS.
76092
76093 2000-12-17  Jim Meyering  <meyering@lucent.com>
76094
76095         * m4/dos.m4 (jm_AC_DOS): New file and macro.
76096         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
76097
76098 2000-12-16  Jim Meyering  <meyering@lucent.com>
76099
76100         This bug had a serious impact on chown: `chown N:M FILE' (for integer
76101         N and M) would have treated it like `chown N:N FILE'.
76102
76103         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
76104
76105 2000-12-16  Jim Meyering  <meyering@lucent.com>
76106
76107         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
76108         SHELLS_FILE to a file name that's useful on djgpp systems.
76109         Include stdlib.h.
76110         (ADDITIONAL_DEFAULT_SHELLS): Define.
76111         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
76112         Based mostly on a patch from Prashant TR.
76113
76114 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
76115
76116         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
76117         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
76118         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
76119
76120 2000-12-08  Andreas Schwab  <schwab@suse.de>
76121
76122         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
76123         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
76124
76125 2000-12-07  Jim Meyering  <meyering@lucent.com>
76126
76127         * lib/stripslash.c (ISSLASH): Define.
76128         (strip_trailing_slashes): Use ISSLASH rather than comparing against
76129         `/'.
76130         From Prashant TR.
76131
76132         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76133         (dir_name_r): Declare this function as static.
76134         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
76135         manifest itself on a name containing a mix of slashes and
76136         backslashes.
76137         Make this function work with names starting with a DOS-style
76138         drive letter and colon prefix.
76139         (dir_name): Append `.' if necessary.
76140         Based mostly on patches from Prashant TR and Eli Zaretskii.
76141
76142         * lib/dirname.h (dir_name_r): Remove prototype.
76143
76144 2000-12-06  Paul Eggert  <eggert@twinsun.com>
76145
76146         * m4/off_t-format.m4: Remove this file.
76147         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
76148
76149 2000-12-06  Jim Meyering  <meyering@lucent.com>
76150
76151         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
76152         replacement strtoull, we may well need the replacement strtoul, too.
76153         Check for declarations of strtoul and strtoull.
76154         Check for strtol.  Mainly as a cue to cause automake to include
76155         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
76156         Check for limits.h -- strtol.c needs it.
76157
76158 2000-12-05  Jim Meyering  <meyering@lucent.com>
76159
76160         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
76161
76162 2000-12-04  Jim Meyering  <meyering@lucent.com>
76163
76164         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
76165         Also include memory.h, stdlib.h, unistd.h if appropriate.
76166         Reported by Andreas Jaeger (conflicting declaration of malloc).
76167
76168 2000-12-02  Jim Meyering  <meyering@lucent.com>
76169
76170         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
76171         * m4/jm-macros.m4 (jm_MACROS): require it.
76172
76173 2000-12-02  Jim Meyering  <meyering@lucent.com>
76174
76175         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
76176
76177 2000-12-01  Paul Eggert  <eggert@twinsun.com>
76178
76179         * lib/memrchr.c: Include <config.h> before any system include file.
76180
76181 2000-11-30  Jim Meyering  <meyering@lucent.com>
76182
76183         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
76184
76185 2000-11-30  Jim Meyering  <meyering@lucent.com>
76186
76187         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
76188
76189 2000-11-29  Paul Eggert  <eggert@twinsun.com>
76190
76191         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
76192
76193 2000-11-26  Jim Meyering  <meyering@lucent.com>
76194
76195         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
76196
76197 2000-11-22  Paul Eggert  <eggert@twinsun.com>
76198
76199         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
76200         size of (size_t) -1; it's not portable.
76201
76202 2000-11-17  Jim Meyering  <meyering@lucent.com>
76203
76204         * lib/strstr.c: Update from GNU libc.
76205
76206 2000-11-17  Akim Demaille  <akim@epita.fr>
76207
76208         * lib/obstack.h: Formatting changes.
76209         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
76210         prevent type checking.
76211         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
76212         cast the value to (void *): assigning a `foo *' to a `void *'
76213         variable is valid.
76214         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
76215
76216 2000-11-16  Jim Meyering  <meyering@lucent.com>
76217
76218         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
76219
76220 2000-11-11  Jim Meyering  <meyering@lucent.com>
76221
76222         * lib/error.c: Add a couple #includes, merging from GNU libc version.
76223
76224 2000-11-10  Jim Meyering  <meyering@lucent.com>
76225
76226         * lib/obstack.h: Update from GNU libc.
76227         * lib/obstack.c: Likewise.
76228
76229 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
76230
76231         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
76232
76233 2000-11-06  Paul Eggert  <eggert@twinsun.com>
76234
76235         * lib/getusershell.c (setusershell): Use rewind rather than
76236         fseek/fseeko, to avoid configuration hassles with fseeko.
76237         Don't bother opening SHELLS_FILE if shellstream is NULL;
76238         it's not necessary.
76239
76240 2000-11-05  Jim Meyering  <meyering@lucent.com>
76241
76242         * lib/makepath.h (make_dir): Declare.
76243         * lib/makepath.c (make_dir): Remove `static' attribute.
76244         Tweak a comment.
76245
76246 2000-11-04  Jim Meyering  <meyering@lucent.com>
76247
76248         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
76249
76250 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
76251
76252         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
76253         last one in a bucket, advance to the next bucket.
76254
76255 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
76256
76257         * lib/fnmatch.c: Do not comment out all the code if we are using
76258         the GNU C library, because in some cases we are replacing buggy
76259         code in the GNU C library itself.
76260
76261 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
76262
76263         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
76264         (regex_compile): Catch bogus \(\1\).
76265
76266 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76267
76268         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
76269         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
76270         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
76271
76272 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76273
76274         * lib/error.h, getline.h, modechange.h:
76275         Remove "2000" from Copyright line, as the file hasn't been
76276         changed this year other than in the copyright notice.
76277
76278         * lib/xalloc.h: Add "2000" to Copyright line, as this file
76279         was changed this year.
76280
76281 2000-10-29  Jim Meyering  <meyering@lucent.com>
76282
76283         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
76284         renaming.
76285         * m4/ls-mntd-fs.m4: Likewise
76286
76287 2000-10-29  Jim Meyering  <meyering@lucent.com>
76288
76289         * lib/xstat.in: Fix grammar in comment.
76290
76291 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
76292
76293         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
76294         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
76295         doesn't define __restrict_arr.
76296
76297 2000-10-28  Jim Meyering  <meyering@lucent.com>
76298
76299         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
76300         (jm_PREREQ_MEMCHR): New function.
76301
76302 2000-10-28  Jim Meyering  <meyering@lucent.com>
76303
76304         * lib/memchr.c: Update from libc.
76305         Adjust for portability:
76306         [HAVE_STDLIB_H]: Include stdlib.h.
76307         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
76308         Undef __memchr, too.
76309         [!weak_alias]: Define __memchr to memchr.
76310
76311         * lib/regex.c: Update from libc.
76312         * lib/regex.h: Likewise.
76313         * lib/getopt1.c: Likewise.
76314         * lib/memcmp.c: Likewise.
76315
76316         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
76317         Avoid using fseek, when possible -- it's broken by design.
76318         Patch by Ulrich Drepper.
76319
76320 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
76321
76322         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
76323         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
76324         Giving in to popular pressure to shut up the compiler with casts.
76325
76326 2000-10-26  Jim Meyering  <meyering@lucent.com>
76327
76328         * lib/strftime.c: Update from libc.
76329
76330 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
76331
76332         * regex.c: More `unsigned char' -> `re_char' changes.
76333         Also change several `int' into `re_wchar_t'.
76334         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
76335         (PUSH_FAILURE_POINTER): Don't cast any more.
76336         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
76337         We want GCC to complain, since this piece of code makes
76338         re_match non-reentrant, which *should* be fixed.
76339         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
76340         (EXTEND_BUFFER): Use RETALLOC.
76341         (SET_LIST_BIT): Don't cast.
76342         (re_wchar_t): New type.
76343         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
76344         that those two functions will always properly return.
76345         (IMMEDIATE_QUIT_CHECK): Cast to void.
76346         (analyse_first): Use recursion rather than an explicit stack.
76347         (re_compile_fastmap): Can't fail anymore.
76348         (re_search_2): Don't check re_compile_fastmap for failure.
76349         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
76350         Now also sets the new value (passed in a new argument).
76351         (re_match_2_internal): Use it.
76352         Also, use a new var `reg' of type size_t when looping through regs
76353         rather than reuse the inappropriate `mcnt'.
76354
76355 2000-10-25  Jim Meyering  <meyering@lucent.com>
76356
76357         * lib/obstack.c: Update from libc.
76358
76359 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
76360
76361         * regex.c (regex_compile): Change the way of handling a range from
76362         a char less than 256 to a char not less than 256.
76363
76364 2000-10-24  Andrew Innes  <andrewi@gnu.org>
76365
76366         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
76367         NT-Emacs only.
76368         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
76369         so that re_search functions only quit when callers expect them to.
76370
76371 2000-10-23  Jim Meyering  <meyering@lucent.com>
76372
76373         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
76374         wrong.  That set_locale call must not have any side effects.
76375         From Paul Eggert.
76376
76377 2000-10-22  Jim Meyering  <meyering@lucent.com>
76378
76379         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
76380         [CYCLIC]: Remove now-unused definition.
76381
76382         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
76383         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
76384         Suggestion from Ulrich Drepper.
76385
76386 2000-10-21  Jim Meyering  <meyering@lucent.com>
76387
76388         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
76389         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
76390         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
76391
76392 2000-10-21  Jim Meyering  <meyering@lucent.com>
76393
76394         * lib/dirname.c (memrchr): Declare if necessary.
76395         (dir_name): Remove the restriction that there be no
76396         trailing slashes.  Now, this code skips past them, effectively
76397         ignoring them.
76398         [TEST_DIRNAME] (main): New unit tests.
76399
76400         * lib/memrchr.c: New file from GNU libc.
76401         Undef __memrchr, too.
76402         [!weak_alias]: Define __memrchr to memrchr.
76403         Guard weak_alias use with `#ifdef weak_alias'.
76404
76405 2000-10-21  Jim Meyering  <meyering@lucent.com>
76406
76407         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
76408         (dir_name): Use dir_name_r.
76409         * lib/dirname.h (dir_name_r): Declare it.
76410
76411 2000-10-17  Jim Meyering  <meyering@lucent.com>
76412
76413         * lib/quote.h (PARAMS): Define and use.
76414         Reported by Akim Demaille.
76415
76416         * lib/getopt.c: Update from libc.
76417
76418 2000-10-16  Jim Meyering  <meyering@lucent.com>
76419
76420         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
76421         setlocale.
76422         From Jan Fedak.
76423
76424 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
76425
76426         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
76427
76428 2000-09-25  Jim Meyering  <meyering@lucent.com>
76429
76430         * lib/md5.h (rol): Define (from GnuPG).
76431
76432         * lib/sha.c: Give credit (GnuPG) where due.
76433         (M): Use rol rather than open-coding it.
76434         Add a FIXME comment.
76435
76436 2000-09-21  Jim Meyering  <meyering@lucent.com>
76437
76438         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
76439         Reported by Michael Stone.
76440
76441 2000-09-20  Jim Meyering  <meyering@lucent.com>
76442
76443         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
76444         (noinst_HEADERS): Add sha.h.
76445         Based on code from Scott G. Miller and from GnuPG.
76446
76447 2000-09-18  Jim Meyering  <meyering@lucent.com>
76448
76449         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
76450         LIBS. Otherwise, everyone ends up linking with -lelf for some
76451         configurations.
76452         Reported by Mike Stone.
76453
76454 2000-09-15  Jim Meyering  <meyering@lucent.com>
76455
76456         * lib/regex.c: Update from libc.
76457
76458 2000-09-10  Jim Meyering  <meyering@lucent.com>
76459
76460         * lib/getopt.c (_getopt_internal): Update from glibc.
76461
76462 2000-09-09  Jim Meyering  <meyering@lucent.com>
76463
76464         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
76465         think it should be used as a general replacement for isascii.
76466         * lib/fnmatch.c: Likewise.
76467         * lib/mbswidth.c: Likewise
76468         * lib/regex.c: Likewise.
76469
76470         Don't use atoi.
76471         * lib/userspec.c: Include sys/param.h and limits.h.
76472         Include xstrtol.h.
76473         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76474         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
76475         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
76476         UID, GID.  Check range.
76477
76478 2000-09-06  Jim Meyering  <meyering@lucent.com>
76479
76480         * lib/getopt.c (_getopt_internal): Update from glibc.
76481
76482 2000-08-30  Jim Meyering  <meyering@lucent.com>
76483
76484         * lib/strftime.c: Merge in changes from GNU libc.
76485
76486 2000-08-26  Jim Meyering  <meyering@lucent.com>
76487
76488         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
76489         * m4/fpending.m4: New file.
76490
76491 2000-08-26  Jim Meyering  <meyering@lucent.com>
76492
76493         * lib/closeout.c: Include "__fpending.h".
76494         (close_stdout_status): Return right away if there's nothing to flush.
76495
76496         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
76497         * lib/__fpending.c: New file.
76498         * lib/__fpending.h: New file.
76499
76500 2000-08-20  Jim Meyering  <meyering@lucent.com>
76501
76502         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
76503         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
76504         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
76505
76506 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
76507
76508         Improve fileutils installation on systems where running
76509         programs (like install) can't be unlinked.
76510         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
76511         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
76512
76513 2000-08-07  Paul Eggert  <eggert@twinsun.com>
76514
76515         Standardize on "memory exhausted" instead of "Memory exhausted"
76516         or "virtual memory exhausted".
76517         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
76518         "virtual memory exhausted".
76519         * lib/same.c (same_name): Invoke xalloc_die instead of printing
76520         our own message.
76521         * lib/userspec.c (parse_user_spec): Likewise.
76522         * lib/bumpalloc.h: comment fix
76523         * lib/same.c, userspec.c: Include xalloc.h.
76524
76525         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
76526         not char *const and pointing to a constant array.
76527         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
76528         (xrealloc): Comment fix.
76529
76530         * lib/userspec.c (parse_user_spec):
76531         Don't translate a message until just before returning,
76532         to avoid unnecessary translation.
76533
76534 2000-08-07  Jim Meyering  <meyering@lucent.com>
76535
76536         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
76537         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
76538         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
76539         getgroups.c, gethostname.c, getopt.h, group-member.c,
76540         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
76541         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
76542         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
76543         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
76544         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
76545         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
76546         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
76547         yesno.c: Back out Copyright date changes for each file with no change
76548         this year.  This eases coordination with other programs using the same
76549         source code modules.  From Paul Eggert.
76550
76551 2000-08-06  Paul Eggert  <eggert@twinsun.com>
76552
76553         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
76554         not char, for compatibility with glibc 2.1.3 strftime.c.
76555
76556 2000-08-03  Greg McGary  <greg@mcgary.org>
76557
76558         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
76559         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
76560         (EXTEND_BUFFER): Use them.
76561
76562 2000-08-01  Jim Meyering  <meyering@lucent.com>
76563
76564         * lib/dirname.c (ISSLASH): Define.
76565         (BACKSLASH_IS_PATH_SEPARATOR): Define.
76566         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
76567         both `\' and `/' may be use as path separators.
76568         Based on a patch from Prashant TR.
76569
76570 2000-07-31  Paul Eggert  <eggert@twinsun.com>
76571
76572         * lib/quotearg.c (quotearg_n_options): Don't make the initial
76573         slot vector a constant, since it might get modified.
76574
76575 2000-07-31  Jim Meyering  <meyering@lucent.com>
76576
76577         * lib/xmalloc.c: Use `virtual memory exhausted', not
76578         `Memory exhausted'.
76579         * lib/obstack.c (print_and_abort): Likewise.
76580
76581 2000-07-30  Paul Eggert  <eggert@twinsun.com>
76582
76583         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
76584         buffer, so that the caller can always quote one small
76585         component of a "memory exhausted" message in slot 0.
76586         From a suggestion by Jim Meyering.
76587
76588 2000-07-30  Jim Meyering  <meyering@lucent.com>
76589
76590         * lib/makepath.c (make_path): Quote the other instance, too.
76591
76592         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
76593         (STATIC_BUF_SIZE): Define.
76594         (quotearg_n_options): Use only statically allocated storage when
76595         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
76596         than STATIC_BUF_SIZE.
76597
76598 2000-07-29  Jim Meyering  <meyering@lucent.com>
76599
76600         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
76601         * lib/dirname.c (dir_name): Likewise.
76602
76603         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
76604         `/'.
76605
76606         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
76607         (dir_name): Assert that there are no trailing slashes.
76608
76609 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
76610
76611         * lib/mbswidth.h (mbswidth): Add a flags argument.
76612         (mbswidth): New declaration.
76613         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
76614         * lib/mbswidth.c (mbswidth): Add a flags argument.
76615         (mbsnwidth): New function.
76616
76617 2000-07-24  Jim Meyering  <meyering@lucent.com>
76618
76619         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
76620
76621 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76622
76623         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
76624
76625 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76626
76627         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
76628         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
76629         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
76630         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
76631         invoke multibyte primitives.
76632
76633 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76634
76635         * lib/quotearg.c:
76636         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
76637         so that mbstate_t is always defined.
76638
76639         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
76640         be 1 in at least one GCC installation, and this configuration
76641         error is likely to be common.  Ignoring MB_LEN_MAX hurts
76642         performance on hosts that have mbrtowc but have only unibyte
76643         locales, but I assume these hosts are rare.
76644
76645 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76646
76647         * lib/mbswidth.c (_XOPEN_SOURCE):
76648         Don't define; this causes problems on Solaris 7.
76649         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
76650
76651 2000-07-23  Jim Meyering  <meyering@lucent.com>
76652
76653         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
76654         too: getgrgid, getpwuid, getuid.
76655
76656 2000-07-23  Jim Meyering  <meyering@lucent.com>
76657
76658         * lib/basename.c (base_name): Add an assertion.
76659
76660 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
76661
76662         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
76663         shadow its mbsinit function.
76664
76665 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76666
76667         * lib/mbswidth.h: New file.
76668         * lib/mbswidth.c: New file.
76669         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
76670         (noinst_HEADERS): Add mbswidth.h.
76671
76672 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76673
76674         * lib/config.charset: Add support for FreeBSD. Improve support for
76675         HP-UX and IRIX 6.
76676
76677 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
76678
76679         * m4/mbswidth.m4: New file.
76680         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
76681
76682 2000-07-15  Jim Meyering  <meyering@lucent.com>
76683
76684         * lib/makepath.c: Include quote.h.
76685         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
76686         corresponding argument in a `quote (...)' call.
76687         Give better diagnostics.
76688
76689         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
76690         (noinst_HEADERS): Add quote.h.
76691
76692         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
76693         from tar's src/misc.c.
76694         * lib/quote.h: New file.  Prototypes for same.
76695
76696 2000-07-14  Paul Eggert  <eggert@twinsun.com>
76697
76698         From a suggestion by Bruno Haible.
76699         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
76700         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
76701         to decide whether to define the BeOS workaround macro;
76702         this adjusts to the change to AC_MBSTATE_T.
76703
76704 2000-07-14  Jim Meyering  <meyering@lucent.com>
76705
76706         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
76707         jm_AC_TYPE_UINTMAX_T.
76708
76709 2000-07-13  Paul Eggert  <eggert@twinsun.com>
76710
76711         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
76712
76713         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
76714         quotearg_buffer_restyled): Add support for
76715         clocale_quoting_style.  Undo previous change to
76716         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
76717         and "{RIGHT QUOTATION MARK}" msgids.
76718
76719 2000-07-10  Paul Eggert  <eggert@twinsun.com>
76720
76721         From a suggestion by Bruno Haible.
76722         * m4/mbstate_t.m4 (AC_MBSTATE_T):
76723         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
76724         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
76725         and mbstate_t, to a single-part test that simply defines mbstate_t.
76726         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
76727         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
76728
76729 2000-07-10  Jim Meyering  <meyering@lucent.com>
76730
76731         * m4/strerror_r.m4: Mirror the correction made in autoconf.
76732
76733         * m4/gnu-source.m4: Output to confdefs.h directly.
76734         Suggestion from Akim Demaille.
76735
76736 2000-07-09  Paul Eggert  <eggert@twinsun.com>
76737
76738         The old behavior of quoting `like this' doesn't look good with
76739         newer, ISO-style fonts.  See:
76740         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
76741
76742         Instead, quote "like this" by default.  Let the translator
76743         tailor the locale-specific quoting behavior by providing
76744         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
76745
76746         * lib/quotearg.c (N_): New macro.
76747         (gettext_default): New function.
76748         (quotearg_buffer_restyled): Use
76749         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
76750         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
76751
76752 2000-07-09  Jim Meyering  <meyering@lucent.com>
76753
76754         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
76755         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
76756
76757         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
76758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
76759
76760 2000-07-09  Jim Meyering  <meyering@lucent.com>
76761
76762         * lib/Most files: Update copyright dates to include 2000.
76763
76764 2000-07-08  Jim Meyering  <meyering@lucent.com>
76765
76766         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
76767         if not defined.
76768         (xgethostname): Remove now-unnecessary #ifdef.
76769         Move declaration of `err' into loop where it's used.
76770
76771 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76772         and Bruno Haible  <haible@clisp.cons.org>
76773
76774         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
76775         only if the test for an object-type mbstate_t fails.  This
76776         prevents us from mistakenly reporting that mbstate_t is a
76777         system object type after we "#define mbstate_t int" to work
76778         around its lack.
76779
76780 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76781         and Bruno Haible  <haible@clisp.cons.org>
76782
76783         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
76784
76785 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76786
76787         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
76788         to strerror_r.
76789         Include <ctype.h> for use of isalpha.
76790
76791 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76792
76793         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
76794         by allocating a larger buffer. Test the gethostname return value for
76795         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
76796         returns an error and ENAMETOOLONG isn't defined.
76797
76798 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76799
76800         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76801         dimension.
76802
76803 2000-07-04  Jim Meyering  <meyering@lucent.com>
76804
76805         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76806         of the deprecated AC_CHECKING.
76807
76808 2000-07-04  Jim Meyering  <meyering@lucent.com>
76809
76810         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76811         Reported by Bruno Haible.
76812
76813 2000-07-04  Jim Meyering  <meyering@lucent.com>
76814
76815         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76816         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76817         lacks mbrtowc.
76818
76819 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76820
76821         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76822         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76823
76824 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76825         and Bruno Haible  <haible@clisp.cons.org>
76826
76827         * lib/quotearg.c (mbrtowc):
76828         Assign to *pwc, and return 1 only if result is nonzero.
76829         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76830
76831 2000-07-03  Jim Meyering  <meyering@lucent.com>
76832
76833         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76834
76835 2000-07-03  Jim Meyering  <meyering@lucent.com>
76836
76837         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76838         This is necessary to get a definition of e.g., UTMP_FILE on
76839         HP-UX 10.20.
76840         From Bob Proulx.
76841
76842 2000-07-02  Jim Meyering  <meyering@lucent.com>
76843
76844         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76845
76846         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76847         AC_LIBOBJ(function_name).
76848         * m4/chown.m4: Likewise.
76849         * m4/fnmatch.m4: Likewise.
76850         * m4/ftruncate.m4: Likewise.
76851         * m4/getgroups.m4: Likewise.
76852         * m4/getline.m4: Likewise.
76853         * m4/group-member.m4: Likewise.
76854         * m4/jm-macros.m4: Likewise.
76855         * m4/lstat.m4: Likewise.
76856         * m4/malloc.m4: Likewise.
76857         * m4/memcmp.m4: Likewise.
76858         * m4/nanosleep.m4: Likewise.
76859         * m4/putenv.m4: Likewise.
76860         * m4/realloc.m4: Likewise.
76861         * m4/regex.m4: Likewise.
76862         * m4/stat.m4: Likewise.
76863         * m4/strftime.m4: Likewise.
76864
76865 2000-07-02  Jim Meyering  <meyering@lucent.com>
76866
76867         * lib/quotearg.c (mbstate_t): Don't define here.
76868
76869 2000-07-02  Jim Meyering  <meyering@lucent.com>
76870
76871         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76872
76873 2000-07-01  Jim Meyering  <meyering@lucent.com>
76874
76875         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76876
76877 2000-07-01  Jim Meyering  <meyering@lucent.com>
76878
76879         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76880         problem.
76881
76882 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76883
76884         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76885         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76886
76887 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76888
76889         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76890         per change in ../m4/ls-mntd-fs.m4.
76891         (read_filesystem_list): Ignore symbolic links.
76892
76893 2000-06-29  Jim Meyering  <meyering@lucent.com>
76894
76895         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76896         for declaration of strcmp.
76897
76898         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76899
76900         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76901         Avoid warning by casting result to `char *' to remove `const'.
76902
76903 2000-06-28  Jim Meyering  <meyering@lucent.com>
76904
76905         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76906         included by quotearg.c, for which we perform this test.  From
76907         Bruno Haible.
76908
76909 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76910
76911         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76912         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76913         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76914
76915 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76916
76917         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76918
76919 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76920
76921         savedir now sets errno on failure and invokes xmalloc to get memory.
76922         Fix a couple of other minor bugs while we're at it.
76923
76924         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76925         (NAMLEN): Remove macro.
76926         (malloc, realloc): Remove decls.
76927         (stpcpy): Likewise.
76928         ("xalloc.h"): Include.
76929         (NAME_SIZE_DEFAULT): New macro.
76930         (savedir): Use xmalloc / xrealloc to allocate memory.
76931         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76932         Skip "" directory entries.
76933         Use strlen to calculate directory entry length, since the old method
76934         is rarely used these days and isn't worth supporting.
76935         Don't use a pointer after freeing it.
76936         Check for integer overflow when calculating allocation size.
76937         Use memcpy to copy entries, instead of stpcpy.
76938         Set errno properly when returning NULL.
76939         Check for readdir error.
76940
76941 2000-06-26  Jim Meyering  <meyering@lucent.com>
76942
76943         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76944
76945 2000-06-25  Jim Meyering  <meyering@lucent.com>
76946
76947         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76948         Linux header bug when _XOPEN_SOURCE is defined to 500.
76949
76950 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76951
76952         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76953         deficiency.
76954
76955 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76956
76957         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76958         Include xalloc.h.
76959         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76960
76961 2000-06-24  Jim Meyering  <meyering@lucent.com>
76962
76963         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76964         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76965         for which strerror does return char*, but which lacks a conveniently
76966         accessible declaration of the function.  If the compile-test says
76967         strerror_r doesn't work, then resort to a `run'-test that works on
76968         BeOS and segfaults on DEC Unix.
76969
76970 2000-06-24  Jim Meyering  <meyering@lucent.com>
76971
76972         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76973
76974 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76975
76976         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76977         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76978
76979 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76980
76981         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76982         (mbrtowc, mbstate_t): Define substitutes if
76983         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76984         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76985         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76986
76987 2000-06-23  Jim Meyering  <meyering@lucent.com>
76988
76989         * m4/afs.m4: Add missing AC_MSG_RESULT.
76990         Reported by Bruno Haible.
76991
76992         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76993         Suggestion from Bruno Haible.
76994
76995 2000-06-23  Jim Meyering  <meyering@lucent.com>
76996
76997         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76998
76999 2000-06-21  Jim Meyering  <meyering@lucent.com>
77000
77001         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
77002
77003 2000-06-21  Jim Meyering  <meyering@lucent.com>
77004
77005         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
77006         (noinst_HEADERS): Add getstr.h.
77007
77008         * lib/getline.c (getstr): Move into a separate file.
77009         * lib/getstr.c (getstr): New file, extracted from getline.c, with
77010         the following changes: new parameter, delim2; both delim[12]
77011         parameters have type `int', not `char'.  The latter would lose
77012         with 8-bit delimiters.
77013         * lib/getstr.h: New file.
77014
77015 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77016
77017         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
77018         than 1024, return a memory chunk of least possible size, instead
77019         of size PATH_MAX + 2. In the loop, increment the size proportionally.
77020         Use free/xmalloc instead of xrealloc to avoid copying for very long
77021         paths.
77022
77023 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77024
77025         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
77026         the empty string.
77027
77028 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77029
77030         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
77031         address, not strdup.  Include <stdlib.h> and don't declare free().
77032
77033 2000-06-19  Jim Meyering  <meyering@lucent.com>
77034
77035         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
77036
77037 2000-06-18  Jim Meyering  <meyering@lucent.com>
77038
77039         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
77040
77041         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
77042         `checking whether...' message to be consistent with that of the
77043         lstat test.
77044
77045 2000-06-18  Jim Meyering  <meyering@lucent.com>
77046
77047         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
77048         Besides, these days every porting target provides a mkdir function.
77049
77050         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
77051         needed. (this snippet comes from src/system.h).
77052
77053 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
77054
77055         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
77056
77057 2000-06-15  Paul Eggert  <eggert@twinsun.com>
77058
77059         * lib/human.c (adjust_value): New function.
77060         (human_readable_inexact): Apply rounding style even when
77061         printing approximate values.
77062
77063 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77064
77065         * lib/human.c (human_readable_inexact): Allow an input block
77066         size that is not a multiple of the output block size, and vice versa.
77067         Reported by Piergiorgio Sartor.
77068
77069 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77070
77071         * lib/getdate.y (get_date): Apply relative times after time
77072         zone indicator, not before.  Reported by Todd A. Jacobs.
77073
77074 2000-06-13  Jim Meyering  <meyering@lucent.com>
77075
77076         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
77077
77078         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
77079
77080 2000-06-12  Paul Eggert  <eggert@twinsun.com>
77081
77082         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
77083
77084 2000-06-12  Jim Meyering  <meyering@lucent.com>
77085
77086         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
77087         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
77088         optional argument.
77089         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
77090         the optional argument, `lib'.
77091
77092 2000-06-08  Jim Meyering  <meyering@lucent.com>
77093
77094         * m4/largefile.m4: Remove file (now that it's part of autoconf).
77095
77096 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77097
77098         Rewrite largefile configuration so that we don't need to run
77099         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
77100         AC_CANONICAL_HOST in configure.in -- jmm]
77101
77102         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
77103         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
77104         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
77105         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
77106         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
77107         All uses changed.
77108         Instead of inspecting the output of getconf, try to compile the
77109         test program without and with the macro definition.
77110         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
77111         for getconf.  Instead, check for the needed flags by compiling
77112         test programs.
77113
77114 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77115
77116         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
77117
77118 2000-06-04  Jim Meyering  <meyering@lucent.com>
77119
77120         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
77121         SunOS 4.1.4 for which gid_t is an unsigned type.
77122
77123 2000-06-03  Jim Meyering  <meyering@lucent.com>
77124
77125         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
77126         now that autoconf requires that.
77127
77128         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
77129         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
77130         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
77131
77132 2000-06-03  Jim Meyering  <meyering@lucent.com>
77133
77134         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
77135
77136 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77137
77138         * m4/glibc21.m4: New file.
77139         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
77140
77141 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77142
77143         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
77144         newer, don't install charset.alias.
77145         * lib/config.charset: Change the Linux/glibc rules so they become empty
77146         on glibc-2.1 or newer.
77147
77148 2000-06-02  Jim Meyering  <meyering@lucent.com>
77149
77150         * lib/mountlist.c: Back out last change.  Instead, do this...
77151         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
77152         me_dummy member using the same `ignore'-testing code.
77153         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
77154         fs_type strings.
77155         From Mark D. Roth.
77156
77157 2000-05-29  Jim Meyering  <meyering@lucent.com>
77158
77159         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
77160         mounts with the `ignore' attribute.  Based on a patch from
77161         Mark D. Roth.
77162
77163 2000-05-28  Jim Meyering  <meyering@lucent.com>
77164
77165         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
77166         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77167         * m4/stat.m4: Likewise.
77168         * m4/lstat.m4: Likewise.
77169         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
77170
77171         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
77172         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
77173
77174 2000-05-26  Jim Meyering  <meyering@lucent.com>
77175
77176         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
77177
77178 2000-05-24  Jim Meyering  <meyering@lucent.com>
77179
77180         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
77181         autoconf requires that.
77182         * m4/lib-check.m4: Likewise.
77183         * m4/jm-macros.m4: Likewise.
77184         * m4/strftime.m4: Likewise.
77185
77186         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
77187         AC_CHECK_DECLS, now that autoconf requires that.
77188
77189 2000-05-22  Jim Meyering  <meyering@lucent.com>
77190
77191         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77192         * m4/lstat.m4: Likewise.
77193
77194 2000-05-22  Jim Meyering  <meyering@lucent.com>
77195
77196         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
77197
77198 2000-05-20  Jim Meyering  <meyering@lucent.com>
77199
77200         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
77201         (jm_PREREQ): Use it.
77202
77203 2000-05-18  Jim Meyering  <meyering@lucent.com>
77204
77205         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
77206         back, too, since it may have been modified by allocate_entry.
77207         (hash_delete): Rewrite to use neither the assignment operator
77208         nor the comma operator in an if-expression.
77209
77210 2000-05-15  Paul Eggert  <eggert@twinsun.com>
77211
77212         * lib/closeout.c:
77213         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
77214         Remove; no longer needed.
77215         "quotearg.h": Add include.
77216         (file_name): Do not bother to explicitly initialize to NULL; it's less
77217         efficient on some hosts.
77218         (close_stdout_status): Remove test as to whether stdout was already
77219         closed; it breaks for the case "echo x | sort >&-".
77220         Quote file name colons.
77221         Do not assume that _("write error") lacks format strings.
77222
77223 2000-05-15  Jim Meyering  <meyering@lucent.com>
77224
77225         * lib/version-etc.c (version_etc_copyright): Update the copyright
77226         string used in all --version output.
77227
77228 2000-05-14  Jim Meyering  <meyering@lucent.com>
77229
77230         * lib/closeout.c (close_stdout_set_file_name): New function.
77231         (close_stdout_status): Use new file-scoped global.
77232         Return right away if fstat says the stdout file descriptor is invalid.
77233         * lib/closeout.h (close_stdout_set_file_name): Declare.
77234
77235 2000-05-10  Jim Meyering  <meyering@lucent.com>
77236
77237         * lib/closeout.c [default_exit_status]: New file-scoped variable.
77238         (close_stdout_set_status): New function.
77239         * lib/closeout.h (close_stdout_set_status): Declare.
77240
77241 2000-05-09  Jim Meyering  <meyering@lucent.com>
77242
77243         * m4/gettext.m4: Rename this...
77244         * m4/libintl.m4: ...to this.
77245
77246 2000-05-08  Jim Meyering  <meyering@lucent.com>
77247
77248         * lib/long-options.c: Don't include closeout.h.
77249         (parse_long_options): Don't call close_stdout for --version.
77250
77251 2000-05-06  Paul Eggert  <eggert@twinsun.com>
77252
77253         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
77254         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
77255         2.1.3 bug.  This avoids a clash when files like regex.c define
77256         _GNU_SOURCE.
77257
77258 2000-05-06  Jim Meyering  <meyering@lucent.com>
77259
77260         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
77261         (AC_REPLACE_FUNCS): Add strnlen.
77262
77263         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
77264         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
77265
77266         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
77267         AC_SEARCH_LIBS call for nanosleep.
77268         (LIB_NANOSLEEP): Set and AC_SUBST.
77269
77270 2000-05-06  Jim Meyering  <meyering@lucent.com>
77271
77272         * lib/strnlen.c: Undefine __strnlen and strnlen.
77273         [!weak_alias]: Define __strnlen to strnlen.
77274
77275         * lib/atexit.c: New file, from libiberty.
77276
77277 2000-05-06  Jim Meyering  <meyering@lucent.com>
77278
77279         * lib/closeout.c (close_stdout_status): Also check for errors on the
77280         stderr stream.
77281
77282 2000-05-05  Jim Meyering  <meyering@lucent.com>
77283
77284         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
77285         AC_SEARCH_LIBS call for clock_gettime.
77286         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
77287
77288         * m4/search-libs.m4: Update from autoconf.
77289
77290         su doesn't work on Solaris 2.6.
77291         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
77292         <shadow.h>.  Reported by Dragos Harabor.
77293
77294 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
77295
77296         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
77297         memcpy instead of xmalloc, xrealloc, path_concat.
77298         (locale_charset): Treat empty environment variables as absent.
77299         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
77300
77301 2000-05-04  Jim Meyering  <meyering@lucent.com>
77302
77303         * lib/getopt.c: Update from glibc.
77304         * lib/obstack.c: Likewise.
77305         * lib/obstack.h: Likewise.
77306         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
77307         file
77308
77309         * lib/regex.h: Likewise.
77310         * lib/strndup.c: Likewise.
77311         * lib/strnlen.c: New file, from glibc.
77312
77313 2000-05-03  Jim Meyering  <meyering@lucent.com>
77314
77315         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
77316
77317 2000-05-02  Paul Eggert  <eggert@twinsun.com>
77318
77319         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
77320         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
77321         compile-time test, rather than inspecting host and OS, to
77322         decide whether to define _LARGEFILE_SOURCE.
77323
77324 2000-05-01  Jim Meyering  <meyering@lucent.com>
77325
77326         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
77327
77328         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
77329         Based on a patch from Bruno Haible.
77330
77331 2000-05-01  Jim Meyering  <meyering@lucent.com>
77332
77333         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
77334
77335 2000-04-29  Jim Meyering  <meyering@lucent.com>
77336
77337         * lib/path-concat.c: Declare strdup only if it's not defined.
77338         * lib/canon-host.c: Likewise.
77339
77340 2000-04-28  Jim Meyering  <meyering@lucent.com>
77341
77342         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
77343         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
77344         is included first, then limits.h is included by locale.h by libintl.h.
77345         From John David Anglin.
77346
77347 2000-04-25  Jim Meyering  <meyering@lucent.com>
77348
77349         * lib/makepath.c (S_IRWXUGO): Define.
77350         (make_path): Always perform explicit chmod if MODE specifies any
77351         of the `special' permission bits.  Prompted by a bug report against
77352         install from Mate Wierdl and Joost van Baal.
77353
77354 2000-04-18  Jim Meyering  <meyering@lucent.com>
77355
77356         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
77357         (jm_PREREQ): Use it.
77358
77359 2000-04-18  Jim Meyering  <meyering@lucent.com>
77360
77361         * lib/README: New file.
77362
77363         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
77364         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
77365
77366 2000-04-17  Jim Meyering  <meyering@lucent.com>
77367
77368         Get it right :-)
77369         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
77370         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
77371         Suggestion from Akim Demaille.
77372
77373 2000-04-17  Jim Meyering  <meyering@lucent.com>
77374
77375         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
77376         the definition of it to rpl_strftime also defined-away the system's
77377         declaration.
77378
77379 2000-04-15  Jim Meyering  <meyering@lucent.com>
77380
77381         Use `C' to denote so-called `contiguous' files, the same way
77382         that tar does.
77383         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
77384         (ftypelet): Use S_ISCTG.
77385         From Michael Deutschmann.
77386
77387 2000-04-14  Jim Meyering  <meyering@lucent.com>
77388
77389         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
77390         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
77391         clobbered.
77392
77393 2000-04-14  Jim Meyering  <meyering@lucent.com>
77394
77395         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
77396
77397 2000-04-13  Jim Meyering  <meyering@lucent.com>
77398
77399         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
77400         AH_VERBATIM to insert required #ifndef into config.h.in.
77401         Suggestion from Akim Demaille.
77402
77403 2000-04-12  Jim Meyering  <meyering@lucent.com>
77404
77405         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
77406         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
77407         Christian Krackowizer.
77408
77409         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
77410         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
77411         (AC_SYS_LARGEFILE): Require.
77412         (AM_C_PROTOTYPES): Require.
77413
77414 2000-04-08  Jim Meyering  <meyering@lucent.com>
77415
77416         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
77417         names don't conflict.  Reported by Eli Zaretskii.
77418
77419 2000-04-07  Jim Meyering  <meyering@lucent.com>
77420
77421         * lib/putenv.c: Move inclusion of errno.h so it follows that of
77422         sys/types.h, to work around system header problems on AIX 3.2.5.
77423         From Bruno Haible.
77424
77425 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
77426
77427         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
77428         bug.  Deal with the different error behavior of Irix iconv.
77429
77430 2000-04-05  Paul Eggert  <eggert@twinsun.com>
77431
77432         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
77433         IRIX if the installer said otherwise.
77434
77435 2000-04-05  Jim Meyering  <meyering@lucent.com>
77436
77437         Portability tweaks required for ultrix4.3.
77438         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
77439         (jm_CHECK_DECLS): Add getutent to the list of functions.
77440         (_jm_DECL_HEADERS): Add utmpx.h.
77441         From John David Anglin.
77442
77443         * m4/strftime.m4: Back out the 2000-04-02 change.
77444         Instead of that change, simply undefine putenv in the test program.
77445
77446 2000-04-05  Jim Meyering  <meyering@lucent.com>
77447
77448         Portability tweaks required for ultrix4.3.
77449         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
77450         getutent.
77451         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
77452         * lib/canon-host.c: Declare strdup.
77453         * lib/path-concat.c: Likewise.
77454         From John David Anglin.
77455
77456 2000-04-04  Jim Meyering  <meyering@lucent.com>
77457
77458         Be more DOS 8.3-friendly.
77459         * lib/ref-add.sin: Renamed from ref-add.sed.in.
77460         * lib/ref-del.sin: Renamed from ref-del.sed.in.
77461         * lib/Makefile.am: Reflect renaming.
77462         Reported by Eli Zaretskii.
77463
77464         Use a temporary file name that won't clash with `charset.alias'
77465         in the DOS 8.3 name space.
77466         * lib/Makefile.am (charset_tmp): Define.
77467         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
77468         (uninstall-local): Likewise.
77469         Reported by Eli Zaretskii.
77470
77471 2000-04-03  Jim Meyering  <meyering@lucent.com>
77472
77473         * m4/gettext.m4: Fix typo in comment.
77474
77475         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
77476         textutils/configure.in).  Suggestion from Paul Eggert.
77477         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
77478
77479 2000-04-02  Paul Eggert  <eggert@twinsun.com>
77480
77481         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
77482         variable in the shell rather than using putenv, which isn't
77483         portable.  This avoids the configure-time inter-test dependency
77484         on the potentially-renamed putenv function.
77485
77486 2000-03-30  Paul Eggert  <eggert@twinsun.com>
77487
77488         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
77489         before checking struct stat.st_blksize, so that
77490         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
77491
77492 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77493
77494         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
77495         since strftime.c uses HAVE_STRFTIME to decide whether to use
77496         the underlying strftime.
77497
77498 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77499
77500         * lib/time/strftime.c (my_strftime): Make sure we call the system
77501         strftime, not ourselves, when invoking the underlying strftime.
77502
77503 2000-03-24  Jim Meyering  <meyering@lucent.com>
77504
77505         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
77506         (charset_alias): Define.
77507         (install-exec-local): Factor out common code.
77508         (uninstall-local): Split lines longer than 80.
77509         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
77510         (SUFFIXES): Define.
77511         (.sed.in.sed): New rule.  Don't redirect directly to $@.
77512         (CLEANFILES): Add ref-add.sed and ref-del.sed.
77513
77514 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
77515
77516         * lib/config.charset: Output a line containing "Packages using this
77517         file".
77518         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
77519         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
77520         ref-del.sed): New rules.
77521
77522 2000-03-17  Jim Meyering  <meyering@lucent.com>
77523
77524         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
77525         Otherwise, include <strings.h>
77526
77527 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
77528
77529         * lib/unicodeio.c (utf8_wctomb): New function.
77530         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
77531         format instead of in UCS-4 with platform dependent endianness.
77532
77533 2000-03-10  Jim Meyering  <meyering@lucent.com>
77534
77535         * m4/lib-check.m4: Look for getspnam in -lgen, too.
77536         From Marco Franzen.
77537
77538 2000-03-07  Paul Eggert  <eggert@twinsun.com>
77539
77540         * lib/savedir.c (savedir): Work even if directory size is
77541         negative; this can happen with some screwy NFS configurations.
77542
77543 2000-03-06  Jim Meyering  <meyering@lucent.com>
77544
77545         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
77546         if it's NULL (because we ran out of memory).  From Bruno Haible.
77547
77548 2000-03-05  Jim Meyering  <meyering@lucent.com>
77549
77550         * lib/localcharset.c ("path-concat.h"): Include.
77551         (get_charset_aliases): Use path_concat instead of ANSI string
77552         concatenation.
77553
77554         * lib/unicodeio.h (PARAMS): Define.
77555         Use it to guard prototype.
77556
77557 2000-03-04  Jim Meyering  <meyering@lucent.com>
77558
77559         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
77560         for lib/localcharset.c.
77561
77562 2000-03-04  Jim Meyering  <meyering@lucent.com>
77563
77564         * lib/Makefile.am (install-exec-local): Create $(libdir) before
77565         installing into it.
77566         (uninstall-local): Uncomment this rule so `make distcheck' works
77567         once again.
77568
77569         * lib/unicodeio.c (<errno.h>): Include it.
77570         (errno): Declare if not defined.
77571
77572         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
77573
77574         * lib/config.charset: New version, incorporating remarks from a linux
77575         i18n mailing list.  From Bruno Haible.
77576
77577 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
77578
77579         * m4/codeset.m4: New file.
77580         * m4/iconv.m4: New file.
77581         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
77582
77583 2000-03-03  Jim Meyering  <meyering@lucent.com>
77584
77585         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
77586
77587 2000-03-02  Jim Meyering  <meyering@lucent.com>
77588
77589         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
77590         the messages come out on separate lines.
77591
77592         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
77593         rather than jm_CHECK_DECLARATIONS.
77594         * m4/decl.m4: Remove now-unused file.
77595
77596         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
77597         geteuid.
77598
77599 2000-03-02  Jim Meyering  <meyering@lucent.com>
77600
77601         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
77602
77603 2000-03-01  Jim Meyering  <meyering@lucent.com>
77604
77605         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
77606         * lib/unicodeio.c: Likewise.
77607
77608 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
77609
77610         * lib/config.charset: New file.
77611         * lib/localcharset.c: New file.
77612         * lib/unicodeio.h, lib/unicodeio.c: New files.
77613         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
77614         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
77615         (noinst_HEADERS): Add unicodeio.h.
77616         (all-local, install-exec-local, charset.alias): New targets.
77617
77618 2000-02-28  Paul Eggert  <eggert@twinsun.com>
77619
77620         * lib/quotearg.c (ALERT_CHAR): New macro.
77621         (quotearg_buffer_restyled): Use it.
77622
77623 2000-02-27  Jim Meyering  <meyering@lucent.com>
77624
77625         * m4/check-decl.m4: Add getenv to the list.
77626
77627 2000-02-27  Jim Meyering  <meyering@lucent.com>
77628
77629         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
77630         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
77631
77632         * lib/backupfile.c: Guard inclusion of stdlib.h with
77633         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
77634         Declare malloc if needed.
77635
77636         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
77637         `#ifndef HAVE_DECL..'
77638         now that autoconf always defines the HAVE_DECL_ symbols.
77639         * lib/human.c: Likewise.
77640         * lib/same.c: Likewise.
77641         * lib/strtoumax.c: Likewise.
77642
77643         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
77644         declaration check was not run.
77645         * lib/hash.c: Likewise.
77646         * lib/human.c: Likewise.
77647         * lib/same.c: Likewise.
77648         * lib/strtoumax.c: Likewise.
77649
77650         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
77651         `.', then first look up the entire `.'-containing string as a login
77652         name.
77653
77654 2000-02-23  Jim Meyering  <meyering@lucent.com>
77655
77656         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
77657         in place of my hack.
77658
77659 2000-02-18  Paul Eggert  <eggert@twinsun.com>
77660
77661         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
77662         (textint): New typedef.
77663         (parser_control): Member year changed from int to textint.
77664         All uses changed.
77665         (YYSTYPE): Removed; replaced by %union with int and textint members.
77666         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
77667         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
77668         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
77669         (tSNUMBER, tUNUMBER): Now of type <textintval>.
77670         (date, number, to_year): Use width of number in digits, not its value,
77671         to determine whether it's a 2-digit year, or a 2-digit time.
77672         (yylex): Store number of digits of numeric tokens.
77673         Reported by John Kendall.
77674
77675         (parser_control): Changed from struct parser_control to typedef (for
77676         consistency).  All uses changed.
77677
77678         (tID): Removed; not used.
77679         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
77680
77681 2000-02-14  Paul Eggert  <eggert@twinsun.com>
77682
77683         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
77684         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
77685
77686 2000-02-12  Jim Meyering  <meyering@lucent.com>
77687
77688         * lib/userspec.c (ISDIGIT): Define it.
77689         (isdigit): Remove definition.
77690         (is_number): Use ISDIGIT, not isdigit.
77691         <libintl.h>: Include.
77692         (_ and N_): Define.
77693         (parse_user_spec): Mark translatable strings.
77694
77695 2000-02-10  Jim Meyering  <meyering@lucent.com>
77696
77697         With these changes, nanosleep.[ch] are finally enough like the other
77698         lib/* replacement files to compile on a few more losing systems.
77699
77700         * lib/nanosleep.h: Don't include config.h.
77701         Remove prototype from declaration of nanosleep.
77702         (PARAMS): Remove now-unneeded definition.
77703         * lib/nanosleep.c: #undef nanosleep.
77704         (rpl_nanosleep): Rename from nanosleep.
77705
77706 2000-02-10  Jim Meyering  <meyering@lucent.com>
77707
77708         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
77709         gnu_nanosleep to rpl_nanosleep.
77710
77711 2000-02-09  Jim Meyering  <meyering@lucent.com>
77712
77713         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
77714         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
77715
77716 2000-02-08  Akim Demaille  <akim@epita.fr>
77717
77718         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
77719         `[' and `]' and remove uses of `changequote'.
77720         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
77721         (AC_SYS_LARGEFILE): Likewise.
77722         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
77723         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
77724         of changequote.
77725         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
77726         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
77727         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
77728         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
77729
77730 2000-02-05  Jim Meyering  <meyering@lucent.com>
77731
77732         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
77733         Remove explicit use of AC_HEADER_TIME.  It is required by
77734         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
77735         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
77736         in autoconf whereby the expansion of the latter ended up preceding
77737         the expansion of its prerequisite, AC_HEADER_TIME.
77738         Reported by Volker Borchert.
77739
77740 2000-02-03  Jim Meyering  <meyering@lucent.com>
77741
77742         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
77743
77744 2000-02-03  Jim Meyering  <meyering@lucent.com>
77745
77746         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
77747         rather than with `#if HAVE_UTMPNAME'.
77748
77749 2000-02-02  Jim Meyering  <meyering@lucent.com>
77750
77751         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
77752         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
77753         Reported by Eli Zaretskii.
77754
77755 2000-02-01  Jim Meyering  <meyering@lucent.com>
77756
77757         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
77758
77759 2000-01-31  Jim Meyering  <meyering@lucent.com>
77760
77761         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
77762         functions.  Add the time.h and sys/time.h headers along with the
77763         AC_REQUIRE'ment of AC_HEADER_TIME.
77764
77765 2000-01-31  Jim Meyering  <meyering@lucent.com>
77766
77767         * lib/nanosleep.h (nanosleep): Guard declaration with
77768         `#if ! HAVE_DECL_NANOSLEEP'.
77769         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
77770         the declaration in that vendor's sys/timers.h.
77771         Reported by Christian Krackowizer.
77772
77773         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
77774         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
77775         (ISPRINT): Likewise.
77776         Reported by Tom Tromey.
77777
77778 2000-01-30  Jim Meyering  <meyering@lucent.com>
77779
77780         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
77781
77782         * m4/prereq.m4 (utmp_includes): Define.
77783         Check for ut_user and ut_name members in both struct utmpx
77784         and struct utmp.
77785
77786 2000-01-30  Jim Meyering  <meyering@lucent.com>
77787
77788         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
77789         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
77790         header files where only utmpx.ut_user is declared.
77791
77792         * lib/readutmp.h (UT_USER): Define.
77793
77794 2000-01-29  Jim Meyering  <meyering@lucent.com>
77795
77796         * m4/lib-check.m4: New file containing library-related checks from
77797         fileutils and sh-utils (textutils had none).
77798
77799 2000-01-28  Jim Meyering  <meyering@lucent.com>
77800
77801         * m4/perl.m4: Change format of warning message to look more like that
77802         from the missing script.  Suggestion from François Pinard.
77803
77804 2000-01-25  Jim Meyering  <meyering@lucent.com>
77805
77806         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77807         well as time.h in the compile check.
77808         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77809         Fix typo in cross-compiling case: s/yes/no/.
77810
77811 2000-01-23  Jim Meyering  <meyering@lucent.com>
77812
77813         * m4/jm-macros.m4: Move df-related tests here from
77814         fileutils/configure.in
77815
77816         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77817         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77818
77819         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77820         s/space/ac_fsusage_space/.
77821         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77822
77823         * m4/ftruncate.m4: New file (derived from part of
77824         fileutils/configure.in).
77825         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77826         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77827
77828         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77829         AC_SUBST these here, rather than just in sh-util/configure.in, so
77830         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77831         all the same.
77832         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77833         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77834         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77835         (AC_SUBST(POW_LIBM)): Likewise.
77836         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77837
77838 2000-01-23  Jim Meyering  <meyering@lucent.com>
77839
77840         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77841         obstack.c.
77842
77843 2000-01-22  Jim Meyering  <meyering@lucent.com>
77844
77845         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77846
77847         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77848
77849         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77850         configure.in
77851         (AC_CHECK_HEADERS): Likewise for sh-utils.
77852         (AC_CHECK_HEADERS): Likewise for textutils.
77853         Merge the three lists of headers.
77854
77855         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77856         from fileutils' configure.in.
77857
77858         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77859         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77860         check-decl.m4.
77861
77862         * m4/check-decl.m4: Use #if rather than #ifdef.
77863         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77864         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77865         (_jm_DECL_HEADERS): Define new function.
77866         (jm_CHECK_DECLARATIONS): Require it.
77867
77868 2000-01-22  Jim Meyering  <meyering@lucent.com>
77869
77870         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77871         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77872         Required for some AIX systems.  Reported by Christian Krackowizer.
77873         [TESTING] (main): New function.
77874
77875         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77876         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77877         letters.
77878
77879         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77880         iswprint.
77881
77882         * lib/strverscmp.c (ISDIGIT): Define.
77883         (strverscmp): Use ISDIGIT, not isdigit.
77884
77885 2000-01-19  Jim Meyering  <meyering@lucent.com>
77886
77887         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77888         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77889         defines `struct timespec' in <sys/time.h>
77890
77891         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77892         Thanks to Akim for explaining.
77893
77894 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77895
77896         * lib/nanosleep.c (nanosleep):
77897         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77898         POSIX.1 doesn't require SA_INTERRUPT and some systems
77899         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77900         it's been part of POSIX.1 since day 1 (in 1988).
77901
77902 2000-01-17  Jim Meyering  <meyering@lucent.com>
77903
77904         * lib/interlock: Remove unused file.  Reported by François Pinard.
77905
77906 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77907
77908         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77909         alert, backslash, formfeed, and vertical tab unnecessarily in
77910         shell quoting style.
77911
77912 2000-01-16  Jim Meyering  <meyering@lucent.com>
77913
77914         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77915         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77916         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77917         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77918
77919 2000-01-16  Jim Meyering  <meyering@lucent.com>
77920
77921         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77922         because the latter didn't work.
77923
77924 2000-01-15  Jim Meyering  <meyering@lucent.com>
77925
77926         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77927         (AC_REPLACE_FUNCS): Add memcpy and memset.
77928         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77929         Add strpbrk.
77930         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77931
77932 2000-01-12  Jim Meyering  <meyering@lucent.com>
77933
77934         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77935         (jm_PREREQ): Use it.
77936         (jm_PREREQ_READUTMP): New macro.
77937         (jm_PREREQ): Use it.
77938
77939 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77940
77941         Quote multibyte characters correctly.
77942         * m4/c-bs-a.m4: New file.
77943         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77944         (jm_PREREQ): Use it.
77945
77946 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77947
77948         * m4/uintmax_t.m4: Port to autoconf 2.13.
77949
77950 2000-01-08  Jim Meyering  <meyering@ascend.com>
77951
77952         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77953         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77954
77955 2000-01-04  Jim Meyering  <meyering@ascend.com>
77956
77957         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77958         jm_STRUCT_DIRENT_D_TYPE.
77959         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77960         jm_STRUCT_DIRENT_D_INO.
77961         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77962         jm_STRUCT_UTIMBUF.
77963         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77964         renamings.
77965         * m4/utime.m4: Likewise.
77966
77967         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77968         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77969
77970 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77971
77972         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77973         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77974
77975 2000-01-02  Jim Meyering  <meyering@ascend.com>
77976
77977         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77978         remember if this is necessary.
77979
77980 1999-12-26  Jim Meyering  <meyering@ascend.com>
77981
77982         * m4/jm-macros.m4: Use it here.
77983         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77984
77985 1999-12-23  Jim Meyering  <meyering@ascend.com>
77986
77987         * m4/jm-macros.m4: Check for clock_gettime (moved from
77988         fileutils/configure.in)
77989         Check for gettimeofday.
77990
77991 1999-12-20  Jim Meyering  <meyering@ascend.com>
77992
77993         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77994         autoconf-2.14a-1999-12-20.
77995
77996 1999-12-19  Jim Meyering  <meyering@ascend.com>
77997
77998         * m4/lstat-slash.m4: New file.
77999         * m4/jm-macros.m4: Use the new macro:
78000         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78001
78002 1999-12-07  Jim Meyering  <meyering@ascend.com>
78003
78004         * m4/perl.m4: Require that File::Compare be available, too.
78005         Too many systems seem to lack it.
78006
78007         * m4/strftime.m4: Add checks for most of the cpp macros tested in
78008         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
78009
78010 1999-11-18  Paul Eggert  <eggert@twinsun.com>
78011
78012         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
78013         problem with the QNX 4.25 shell, which doesn't propagate exit
78014         status of failed commands inside shell assignments.
78015
78016 1999-11-17  Jim Meyering  <meyering@ascend.com>
78017
78018         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
78019
78020 1999-11-07  Jim Meyering  <meyering@ascend.com>
78021
78022         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
78023
78024 1999-11-06  Jim Meyering  <meyering@ascend.com>
78025
78026         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
78027         * m4/jm-macros.m4 (jm_MACROS): Use it here.
78028
78029 1999-11-05  Jim Meyering  <meyering@ascend.com>
78030
78031         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
78032         configure.in of textutils, fileutils, and sh-utils into this one
78033         (shared between those packages) file.
78034         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
78035         AC_STRUCT_ST_BLKSIZE.
78036
78037 1999-11-03  Jim Meyering  <meyering@ascend.com>
78038
78039         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
78040         of AC_CHECK_TYPE checks includes unistd.h.
78041         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
78042         Suggestion from Akim Demaille.
78043
78044 1999-10-30  Jim Meyering  <meyering@ascend.com>
78045
78046         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
78047         m4-quoted string.
78048         * m4/ls-mntd-fs.m4: Likewise.
78049         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
78050         * m4/jm-winsz1.m4: Likewise.
78051
78052         * m4/const.m4: Remove file, since the fix made it into the experimental
78053         version of autoconf.
78054         * m4/mktime.m4: Likewise.
78055
78056         * m4/check-type.m4: Remove file, now that the latest version of
78057         AC_CHECK_TYPE takes a third arg to specify additional #includes.
78058
78059         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
78060         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
78061         AC_CHECK_TYPE.
78062
78063 1999-10-04  Jim Meyering  <meyering@ascend.com>
78064
78065         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
78066
78067 1999-09-22  Paul Eggert  <eggert@twinsun.com>
78068
78069         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
78070         2.95.1 bug with HP-UX 10.20.
78071
78072 1999-09-17  Jim Meyering  <meyering@ascend.com>
78073
78074         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
78075         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
78076         due to missing strdup (against sh-utils-2.0).
78077
78078 1999-08-29  Jim Meyering  <meyering@ascend.com>
78079
78080         * m4/jm-macros.m4: Require jm_BISON.
78081         * m4/bison.m4: New file.
78082
78083 1999-08-17  Paul Eggert  <eggert@twinsun.com>
78084
78085         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
78086         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
78087
78088 1999-08-05  Jim Meyering  <meyering@ascend.com>
78089
78090         * m4/getline.m4: Rename test file from conftestdata to conftest.data
78091         to avoid conflicts with `conftest' on 8+3 filesystems.
78092         Suggestion from Eli Zaretskii.
78093
78094 1999-08-04  Jim Meyering  <meyering@ascend.com>
78095
78096         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
78097         fileutils and sh-utils (textutils's getline test was inadequate).
78098         (AM_FUNC_GETLINE): Run this test.
78099         (AC_CHECK_FUNCS): Check for getdelim.
78100         Reported by Bob Proulx.
78101
78102 1999-08-02  Jim Meyering  <meyering@ascend.com>
78103
78104         * m4/jm-macros.m4: Add a comment.
78105
78106 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78107
78108         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
78109         <inttypes.h> defines strtoumax as a macro (and not as a
78110         function).
78111
78112 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78113
78114         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
78115         that we can shift, multiply and divide unsigned long long
78116         values; Ultrix cc can't do it.
78117
78118 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78119
78120         * m4/mktime.m4: New file, which is a preview of what should appear
78121         in the next public autoconf release.
78122
78123 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78124
78125         * m4/lfs.m4: Remove this file.
78126         * m4/largefile.m4: New file.  It contains the old contents of
78127         lfs.m4, except that all names with prefix AC_LFS have been
78128         changed to use the prefix AC_SYS_LARGEFILE instead, to be
78129         compatible with future autoconf versions.  Also, some minor m4
78130         quoting problems have been fixed.
78131
78132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78133
78134         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
78135         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
78136         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
78137         and simplify the shell code.
78138
78139 1999-08-01  Jim Meyering  <meyering@ascend.com>
78140
78141         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
78142         m4.
78143
78144 1999-07-20  Jim Meyering  <meyering@ascend.com>
78145
78146         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
78147
78148 1999-07-15  Jim Meyering  <meyering@ascend.com>
78149
78150         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
78151
78152 1999-05-22  Jim Meyering  <meyering@ascend.com>
78153
78154         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
78155
78156 1999-05-20  Jim Meyering  <meyering@ascend.com>
78157
78158         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
78159         Add a colon after each `then' in case $4 is empty.
78160
78161 1999-05-16  Jim Meyering  <meyering@ascend.com>
78162
78163         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
78164
78165 1999-05-10  Jim Meyering  <meyering@ascend.com>
78166
78167         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
78168
78169         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
78170         AC_FUNC_MKTIME.
78171
78172 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
78173
78174         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
78175
78176 1999-05-04  Paul Eggert  <eggert@twinsun.com>
78177
78178         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
78179         not CPPFLAGS, so that linking works correctly in IRIX.
78180
78181 1999-04-30  Paul Eggert  <eggert@twinsun.com>
78182
78183         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
78184
78185 1999-04-20  Paul Eggert  <eggert@twinsun.com>
78186
78187         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
78188         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
78189         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
78190         jm_AC_TYPE_UNSIGNED_LONG_LONG.
78191         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
78192
78193         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
78194
78195 1999-04-20  Jim Meyering  <meyering@ascend.com>
78196
78197         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
78198         AC_REPLACE xstroull if necessary.  From Paul Eggert.
78199         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
78200
78201 1999-04-18  Jim Meyering  <meyering@ascend.com>
78202
78203         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
78204         * m4/jm-macros.m4: Use it.
78205
78206 1999-04-06  Jim Meyering  <meyering@ascend.com>
78207
78208         * m4/strftime.m4: Remove test for %f.
78209
78210 1999-03-29  Jim Meyering  <meyering@ascend.com>
78211
78212         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
78213         superset of the AC_TYPE_* checks in the textutils, fileutils,
78214         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
78215         AC_TYPE_PID_T.
78216
78217 1999-03-28  Jim Meyering  <meyering@ascend.com>
78218
78219         * m4/jm-macros.m4: Define GNU_PACKAGE here.
78220         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
78221         replaced e.g., in the *.sh files of the sh-utils.
78222
78223 1999-03-20  Jim Meyering  <meyering@ascend.com>
78224
78225         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
78226         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
78227         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
78228
78229 1999-03-19  Jim Meyering  <meyering@ascend.com>
78230
78231         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
78232
78233 1999-03-12  Jim Meyering  <meyering@ascend.com>
78234
78235         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
78236
78237 1999-03-07  Jim Meyering  <meyering@ascend.com>
78238
78239         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
78240         declared.
78241
78242 1999-02-17  Jim Meyering  <meyering@ascend.com>
78243
78244         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
78245         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
78246
78247 1999-02-07  Jim Meyering  <meyering@ascend.com>
78248
78249         * m4/group-member.m4: New file -- extracted from sh-utils'
78250         configure.in.
78251
78252         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
78253         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
78254
78255 1999-02-06  Jim Meyering  <meyering@ascend.com>
78256
78257         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
78258         * m4/fnmatch.m4: Likewise.
78259         * m4/getgroups.m4: Likewise.
78260         * m4/lstat.m4: Likewise.
78261         * m4/malloc.m4: Likewise.
78262         * m4/putenv.m4: Likewise.
78263         * m4/realloc.m4: Likewise.
78264         * m4/regex.m4: Likewise.
78265         * m4/stat.m4: Likewise.
78266         * m4/strftime.m4: Likewise.
78267         Suggestion from Alain Magloire.
78268
78269         * m4/chown.m4: Use `.$ac_objext', not `.o'.
78270         * m4/fnmatch.m4: Likewise.
78271         * m4/getgroups.m4: Likewise.
78272         * m4/getline.m4: Likewise.
78273         * m4/lstat.m4: Likewise.
78274         * m4/malloc.m4: Likewise.
78275         * m4/memcmp.m4: Likewise.
78276         * m4/putenv.m4: Likewise.
78277         * m4/realloc.m4: Likewise.
78278         * m4/regex.m4: Likewise.
78279         * m4/stat.m4: Likewise.
78280         * m4/strftime.m4: Likewise.
78281         Suggestion from Alain Magloire.
78282
78283         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
78284         an argument.
78285
78286         * m4/regex.m4: Add a run-time Test for proper operation of
78287         re_compile_pattern.
78288
78289 1999-01-31  Jim Meyering  <meyering@ascend.com>
78290
78291         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
78292
78293 1999-01-30  Jim Meyering  <meyering@ascend.com>
78294
78295         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
78296
78297         * m4/jm-mktime.m4: Make this a wrapper around the official
78298         AM_FUNC_MKTIME rather than my private copy, now that the official one
78299         is up to date.
78300         * m4/mktime.m4: Remove file.
78301
78302         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
78303         * m4/uptime.m4: Likewise.
78304         * m4/uintmax_t.m4: Likewise.
78305
78306 1999-01-28  Jim Meyering  <meyering@ascend.com>
78307
78308         * m4/jm-macros.m4: Use jm_AFS.
78309         * m4/afs.m4: New file (from fileutils' configure.in).
78310
78311         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
78312         * m4/chown.m4: Likewise.
78313         * m4/d-ino.m4: Likewise.
78314         * m4/d-type.m4: Likewise.
78315         * m4/fnmatch.m4: Likewise.
78316         * m4/getgroups.m4: Likewise.
78317         * m4/gettext.m4: Likewise.
78318         * m4/jm-mktime.m4: Likewise.
78319         * m4/jm-winsz2.m4: Likewise.
78320         * m4/lcmessage.m4: Likewise.
78321         * m4/ls-mntd-fs.m4: Likewise.
78322         * m4/malloc.m4: Likewise.
78323         * m4/memcmp.m4: Likewise.
78324         * m4/putenv.m4: Likewise.
78325         * m4/realloc.m4: Likewise.
78326         * m4/st_mtim.m4: Likewise.
78327         * m4/strftime.m4: Likewise.
78328
78329 1999-01-16  Jim Meyering  <meyering@ascend.com>
78330
78331         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
78332         (ARGMATCH_DIE_DECL): Define.
78333
78334 1999-01-12  Jim Meyering  <meyering@ascend.com>
78335
78336         * m4/Makefile.am.in: Rewrite to avoid using fmt.
78337         Reported by Lars Hecking.
78338
78339 1999-01-10  Jim Meyering  <meyering@ascend.com>
78340
78341         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
78342         gross kludge.
78343         * m4/inttypes_h.m4: Likewise.
78344         * m4/lstat.m4: Likewise.
78345         * m4/malloc.m4: Likewise.
78346         * m4/readdir.m4: Likewise.
78347         * m4/realloc.m4: Likewise.
78348         * m4/st_dm_mode.m4: Likewise.
78349         * m4/stat.m4: Likewise.
78350         * m4/utimbuf.m4: Likewise.
78351         * m4/utimes.m4: Likewise.
78352
78353         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
78354         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
78355         comments in config.h.in are meaningful.
78356
78357         * m4/jm-macros.m4: Require autoconf-2.13 here.
78358
78359         * m4/regex.m4: By default, don't use the included regex.c on systems
78360         with glibc 2.  Suggestion from Uli Drepper.
78361
78362 1999-01-02  Jim Meyering  <meyering@ascend.com>
78363
78364         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
78365
78366 1998-12-18  Jim Meyering  <meyering@ascend.com>
78367
78368         * m4/Makefile.am.in (Makefile.am): Simplify rule.
78369         Based on a suggestion from Lars Hecking.
78370
78371 1998-11-16  Paul Eggert  <eggert@twinsun.com>
78372
78373         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
78374
78375 1998-11-16  Jim Meyering  <meyering@ascend.com>
78376
78377         * m4/lfs.m4: Double-quote the `uname...` expression.
78378
78379 1998-11-14  Jim Meyering  <meyering@ascend.com>
78380
78381         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
78382         * m4/stat.m4: Likewise.
78383
78384 1998-11-03  Jim Meyering  <meyering@ascend.com>
78385
78386         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
78387         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
78388
78389 1998-10-18  Jim Meyering  <meyering@ascend.com>
78390
78391         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
78392
78393 1998-10-17  Jim Meyering  <meyering@ascend.com>
78394
78395         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
78396         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
78397         calls for those previously hard-coded headers.  Instead, take a new
78398         parameter.
78399         (jm_CHECK_DECLARATIONS): Reflect interface change.
78400         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
78401         (jm_CHECK_DECL_LOCALTIME_R): New macro.
78402
78403         * m4/mktime.m4: Test for spring-forward gap before long-running test.
78404
78405 1998-10-14  Jim Meyering  <meyering@ascend.com>
78406
78407         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
78408         instead of "TZ=America/Vancouver".  From Paul Eggert.
78409
78410 1998-10-11  Jim Meyering  <meyering@ascend.com>
78411
78412         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
78413         This adds a test for a recently added compatibility fix for mktime.c.
78414         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
78415
78416 1998-09-27  Jim Meyering  <meyering@ascend.com>
78417
78418         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
78419
78420         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
78421         ../configure.in, including a change from Gordon Matzigkeit to allow
78422         cross-compiling for the Hurd.
78423
78424         * m4/glibc.m4: New file/macro to test for the GNU C Library
78425         versions 1 and 2.  From Gordon Matzigkeit.
78426         Indent.
78427
78428 1998-09-21  Jim Meyering  <meyering@ascend.com>
78429
78430         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
78431
78432 1998-08-18  Paul Eggert  <eggert@twinsun.com>
78433
78434         Port nanosecond-resolution times to UnixWare 2.1.2 and
78435         pedantic Solaris 2.6.
78436
78437         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
78438         AC_STRUCT_ST_MTIM.
78439         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
78440         Generate name of ns member, instead of just 1 or undef.
78441         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
78442
78443 1998-08-15  Jim Meyering  <meyering@ascend.com>
78444
78445         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
78446         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
78447         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
78448         instead of jm_TYPE_SSIZE_T.
78449
78450 1998-08-12  Jim Meyering  <meyering@ascend.com>
78451
78452         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
78453
78454 1998-08-02  Jim Meyering  <meyering@ascend.com>
78455
78456         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
78457         in acconfig.h manually.
78458
78459 1998-07-31  Paul Eggert  <eggert@twinsun.com>
78460
78461         * m4/st_mtim.m4: New file.
78462
78463 1998-07-28  Jim Meyering  <meyering@ascend.com>
78464
78465         * m4/utimes.m4: Undef stat.
78466
78467 1998-07-25  Jim Meyering  <meyering@ascend.com>
78468
78469         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
78470         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
78471
78472 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
78473
78474         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
78475         uid and gid actually remain unchanged.
78476
78477 1998-07-07  Jim Meyering  <meyering@ascend.com>
78478
78479         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
78480
78481 1998-07-04  Jim Meyering  <meyering@ascend.com>
78482
78483         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
78484         to prove that this macro can be used in packages without regex.c.
78485
78486 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
78487
78488         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
78489         is to be used.
78490
78491 1998-07-03  Jim Meyering  <meyering@ascend.com>
78492
78493         * m4/gettext.m4: Add -lintl if it's found to be necessary.
78494
78495         * m4/gettext.m4: New file -- from gettext-0.10.35.
78496         * m4/lcmessage.m4: Likewise.
78497         * m4/progtest.m4: Likewise.
78498
78499         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
78500         * m4/jm-macros.m4: Require the new macro.
78501
78502 1998-06-29  Jim Meyering  <meyering@ascend.com>
78503
78504         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
78505         for the definition of NGROUPS (used in a system header included
78506         by sys/mount.h).
78507
78508 1998-06-28  Jim Meyering  <meyering@ascend.com>
78509
78510         * m4/ls-mntd-fs.m4: New file.
78511         * m4/fstypename.m4: New file.
78512
78513         * m4/jm-macros.m4: Require the new macro.
78514         * m4/jm-glibc-io.m4: New file.
78515
78516 1998-05-19  Jim Meyering  <meyering@ascend.com>
78517
78518         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
78519         * m4/lchown.m4: New file.
78520
78521         * m4/Makefile.am.in: New file.
78522         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
78523
78524 1998-05-14  Jim Meyering  <meyering@ascend.com>
78525
78526         * m4/Makefile.am (EXTRA_DIST): Add them.
78527         * m4/jm-macros.m4: New file.
78528         * m4/utimbuf.m4: New file.
78529
78530 1998-05-12  Jim Meyering  <meyering@ascend.com>
78531
78532         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
78533
78534 1998-05-11  Jim Meyering  <meyering@ascend.com>
78535
78536         * m4/isc-posix.m4: New file.
78537
78538 1998-05-10  Jim Meyering  <meyering@ascend.com>
78539
78540         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
78541
78542 1998-05-09  Jim Meyering  <meyering@ascend.com>
78543
78544         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
78545         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
78546         with automake.
78547
78548         * m4/ssize_t.m4: New file.
78549         * m4/mktime.m4: Remove file -- the new automake has this now.
78550
78551 1998-04-26  Jim Meyering  <meyering@ascend.com>
78552
78553         * m4/assert.m4: New file.
78554         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
78555
78556 1998-04-05  Jim Meyering  <meyering@ascend.com>
78557
78558         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
78559         (jm_PREREQ): Use it here.
78560
78561 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
78562
78563         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
78564         in acconfig.h.
78565
78566 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
78567
78568         * m4/prereq.m4: New file.
78569         * m4/error.m4: New file.
78570         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
78571
78572 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
78573
78574         * m4/getline.m4: Don't set am_cv_func_working_getline before the
78575         cache-check for the same variable -- that defeated the purpose of
78576         the test; the test program was never run.  This was a problem only
78577         on systems with losing getline functions -- HP-UX 10.20 is one.
78578         Reported by Bjorn Helgaas.
78579
78580 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
78581
78582         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
78583
78584 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
78585
78586         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
78587
78588         * m4/const.m4: New file.  Use an initializer in this declaration
78589         typedef int charset[2]; const charset x;
78590         Reported by Bob Glickstein.
78591
78592 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
78593
78594         * m4/chown.m4: Fix reversed types on -1 args to chown.
78595         From Kaveh Ghazi.
78596
78597 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
78598
78599         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
78600         Add lseek and memchr.
78601
78602         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
78603         T.E.Dickey <dickey@clark.net> said that some older preprocessors
78604         have a 20-character limit on names.
78605
78606 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
78607
78608         * m4/inttypes_h.m4: New file.
78609         * m4/uintmax_t.m4: New file.
78610         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
78611
78612
78613         -----
78614
78615         Local Variables:
78616         coding: utf-8
78617         End:
78618
78619         Copyright (C) 1997-2011 Free Software Foundation, Inc.
78620
78621         Copying and distribution of this file, with or without
78622         modification, are permitted provided the copyright notice
78623         and this notice are preserved.